*{
  margin: 0;
  padding: 0;
  box-sizing: border-box;
}

body{
  font-family: 'Montserrat', sans-serif;
  font-size: 16px;
  line-height:25px;
  color: #707070;
}

img{
  border: 0;
  max-width:100%;
  vertical-align:middle;
}

a{
  text-decoration: none;
  cursor:pointer;
  transition:.7s color, .7s background-color, .7s  opacity;
  color:#3D7FB3;
}
a:focus{
  outline: none;
}
a:hover{
  transition:.3s color, .3s background-color, .3s opacity;
}

h2{
  font-weight: 400;
  font-size: 28px;
  line-height:30px;
  margin: 0 0 20px 0;
}

h3.bluetitle{
  font-weight: 400;
  font-size: 28px;
  line-height:30px;
  margin: 0 0 20px 0;
  color:#2066A0;
}

p{
  margin-bottom: 15px;
}

ul, ol{
  margin: 0 0 15px 30px;
}

.clear{ clear: both; }

.container{
  margin: 0 auto;
  width: 96%;
  max-width: 1200px;
}
.container .container{
  width:100%;
}
.container.narrow{
  max-width: 980px;
}


.header{
  display:flex;
}
.header h1{
  padding: 30px 50px;
  width: 70%;
}
.header h1 img{
  height: 200px;
  display:block;
  margin-bottom: 10px;
}


.header .toplink{
  width: 30%;
  background-color: #C4DCF3;
  padding: 50px 100px 0 50px;
  color: #0F4769;
  font-weight: 700;
  font-size: 20px;
  text-transform:uppercase;
}
.header .toplink .apply{
  color:#3D7FB3;
  display:inline-block;
  background-color:#FFF;
  background-color:#FFF;
  padding: 5px 15px;
  border-radius:10px;
  margin-top: 15px;
  transition:.7s background-color;
}
.header .toplink:hover .apply{
  background-color: #3D7FB3;
  color:#FFF;
  transition:.3s background-color;
}

.nav{
  background-color: #2066A0;
  border-bottom: 20px solid #0F4769;
}
.nav ul{
  list-style-type:none;
  margin:0 auto;
  max-width: 1500px;
  text-align:right;
  padding: 0 50px;
}
.nav ul li{
  display:inline;
}
.nav ul li a{
  display: inline-block;
  color:#FFF;
  margin-left: 40px;
  padding: 15px 0;
  font-size: 19px;
}
.nav ul li a.current{
  color:#B9C9BA;
  text-transform:uppercase;
  font-weight:900;
}

.photobar{
  display:flex;
  border-top: 5px solid #FFF;
  margin-bottom: 40px;
}
.photobar img{
  display:block;
  width:20%;
  height:auto;
  border-right: 5px solid #FFF;
}
.photobar img:last-child{
  border:0;
}

.pagetitle{
  display:block;
  position:relative;
  top: -100px;
  z-index:1;
  text-align:center;
}
.pagetitle h1{
  display: inline-block;
  background-color: #0F4769;
  color:#FFF;
  font-weight:300;
  font-size:40px;
  line-height:40px;
  padding: 20px 80px;
  text-transform:uppercase;
}

.centered{
  text-align:center;
  max-width: 800px;
  margin: 0 auto;
}
.centered p{
  margin: 0 auto 15px auto;
  max-width:600px;
}
.blue{
  color:#3D7FB3;
}
.light{
  font-weight:300;
}

.blocks{
  display:flex;
  margin: 80px 0;
  flex-wrap:wrap;
}
.blocks .block{
  border: 2px solid #000;
  position:relative;
  padding: 25px;
  text-align:center;
  font-size: 15px;
  line-height:22px;
  margin-bottom: 100px;
}
.blocks .block.blue{
  border-color: #3D7FB3;
}
.blocks .block.gold{
  border-color: #A06A28;
}
.blocks .block.green{
  border-color: #B9C9BA;
}

.blocks .block.small{
  width: 22%;
  height: 260px;
}
.blocks .block.large{
  width: 50%;
  margin-left: 3%;
  margin-right: 3%;
  height: 260px;
}

.blocks .block.fullwidth{
  width:100%;
}
.blocks .block.third{
  width: 30%;
  text-align:left;
}
.blocks .block.third:nth-child(3n+2){
  margin-left: 5%;
  margin-right: 5%;
}
.blocks .block.third label{
  display:block;
  margin-bottom: 5px;
}

.blocks .block.halfblock{
  width: 48%;
  text-align:left;
}
.blocks .block.halfblock:nth-child(2n+2){
  margin-left: 4%;
}

.blocks .block h3{
  font-weight: 700;
  font-size: 20px;
  margin-bottom: 15px;
  text-transform:uppercase;
}
.blocks .block.blue h3{
  color: #3D7FB3;
}
.blocks .block.gold h3{
  color: #A06A28;
}
.blocks .block.green h3{
  color: #B9C9BA;
}
.blocks img{
  max-height: 210px;
}


.block.backgrounded{
  background-color: #B9C9BA;
  color:#FFF;
  font-size: 25px;
  font-weight:700;
  line-height:30px;
  text-transform:uppercase;
  text-align:center !important ;
}


.blocks .block .labelcontainer{
  position:absolute;
  left:0;
  top: -25px;
  width:100%;
  text-align:center;
}
.blocks .block .labelcontainer .label{
  display:inline-block;
  color:#FFF;
  padding: 5px 20px;
  text-transform:uppercase;
  font-weight:400;
}
.blocks .block.blue .labelcontainer .label{
  background-color: #3D7FB3;
}
.blocks .block.gold .labelcontainer .label{
  background-color: #A06A28;
}
.blocks .block.green .labelcontainer .label{
  background-color: #B9C9BA;
}

.blocks .block a{
  display:inline-block;
  color:#FFF;
  padding: 5px 15px;
  border-radius:10px;
  font-weight: 900;
  margin-top: 15px;
  text-transform:uppercase;
  opacity: .7;
  transition:.7s opacity;
}


.blocks .block.blue a{
  background-color: #3D7FB3;
}
.blocks .block.gold a{
  background-color: #A06A28;
}
.blocks .block.green a{
  background-color: #B9C9BA;
}
.blocks .block a:hover{
  opacity: 1;
  transition:.3s opacity;
}

.mainsponsors{
  display:flex;
  justify-content: center;
}
.blocks .mainsponsors a, .mainsponsors span{
  display:block;
  width:33%;
  margin: 0 20px;
  padding: 0;
  border-radius:0;
  margin-top: 0;
  opacity: 1;
  line-height:200px;
  background:none !important;
}
.blocks .mainsponsors a img, .blocks .mailsponsors span img{
  max-height: 200px;
  vertical-align:middle;
}

.footer{
  margin: 100px 0 50px 0;
}
.footer .footerlogo{
  text-align:center;
  border-bottom: 20px solid #3D7FB3;
  margin-bottom: 40px;
}
.footer .footerlogo img{
  display:inline-block;
  max-width: 1200px;
}

.footer .footerlinks{
  display:flex;
  max-width: 900px;
  margin: 0 auto;
}
.footer .footerlinks .footercolumn{
  width: 33.333%;
  text-align:center;
  list-style-type:none;
}
.footer .footerlinks .footercolumn a{
  color: #2066A0;
  font-size: 12px;
  font-weight:300;
}
.footer .footerlinks .footercolumn a:hover{
  opacity:.7;
}

.footer .footerlinks .footercolumn li:first-child a{
  font-size: 15px;
  font-weight:700;
  text-transform:uppercase;
  margin-bottom:10px;
}


.cols{
  display:flex;
}
.cols .half{
  width:48%;
}
.cols .half:nth-child(2n+2){
  margin-left: 4%;
}

.copy{
  margin: 30px;
  color:#666;
  font-size: 12px;
  font-weight:300;
  text-align:center;
}
.copy a{
  color:#666;
}


.videoWrapper {
	position: relative;
	padding-bottom: 56.25%; /* 16:9 */
	padding-top: 25px;
	height: 0;
}
.videoWrapper iframe {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
}


.colourtitle{
  border-bottom: 2px solid #000;
  margin: 80px 0 50px 0;
  position:relative;
}
.colourtitle h3{
  display:inline-block;
  color:#FFF;
  font-weight: 400;
  font-size:19px;
  padding: 10px 20px;
  text-transform:uppercase;
  position:relative;
  top: 10px;
}

.colourtitle.platinum{ border-color: #999; }
.colourtitle.platinum h3{ background-color:#999; }

.colourtitle.diamond, .colourtitle.blue{ border-color: #3D7FB3; }
.colourtitle.diamond h3, .colourtitle.blue h3{ background-color:#3D7FB3; }

.colourtitle.gold{ border-color: #A06A28; }
.colourtitle.gold h3{ background-color:#A06A28; }

.colourtitle.silver, .colourtitle.green{ border-color: #B9C9BA; }
.colourtitle.silver h3, .colourtitle.green h3{ background-color:#B9C9BA; }

.colourtitle.bronze{ border-color: #0F4769; }
.colourtitle.bronze h3{ background-color:#0F4769; }

.colourtitle.grants{ border-color: #000000; }
.colourtitle.grants h3{ background-color:#000000; }



.sponsors{
  display:flex;
  flex-wrap:wrap;
}
.sponsors a, .sponsors span{
  display:block;
  width:30%;
  margin-bottom: 80px;
  padding: 0 !important;
  background: none !important;
  border-radius:0 !important;
  opacity: 1 !important;
  text-align:center;
  height: 200px;
  vertical-align:middle;
  line-height:200px;
}
.sponsors a:nth-child(3n+2){
  margin-right:5%;
  margin-left:5%;
}
.sponsors a:nth-child(1),.sponsors a:nth-child(2),.sponsors a:nth-child(3),.sponsors a:nth-child(4){
  margin-top:0;
}

.sponsors a img, .sponsors span img{
  vertical-align:middle;
  max-height: 200px;
  max-width: 400px;
}


.vert{
  display:block;
  position: relative;
  top: 50%;
  transform: translateY(-50%);
}

.section{
  display:flex;
}
.section .sidepiece{
  width:22%;
}
.section .side{
  width:100%;
  border: 2px solid #000;
  padding: 20px;
  text-align:center;
}
.section.sectionblue .side{ border-color: #3D7FB3; }
.section.sectiongold .side{ border-color: #A06A28; }
.section.sectiongreen .side{ border-color: #B9C9BA; }

.section .main{
  width: 70%;
  margin-left: 10%;
  padding-top: 20px;
  max-width: 700px;
}

.section h1, .section h2, .section h3{
  text-transform:uppercase;
  font-size:25px;
  line-height: 32px;
  font-weight:700;
  margin: 0 0 20px 0;
  max-width: 450px;
}
.section.sectionblue h1, .section.sectionblue h2, .section.sectionblue h3{ color: #3D7FB3; }
.section.sectiongold h1, .section.sectiongold h2, .section.sectiongold h3 { color: #A06A28; }
.section.sectiongreen h1, .section.sectiongreen h2, .section.sectiongreen h3 { color: #B9C9BA; }

.button{
  display:inline-block;
  color:#FFF;
  padding: 5px 15px;
  border-radius:10px;
  font-weight: 900;
  margin-top: 15px;
  text-transform:uppercase;
  border:0;
  cursor:pointer;
}
.button.bluebutton{ background-color: #3D7FB3; }
.button.goldbutton{ background-color: #A06A28; }
.button.greenbutton{ background-color: #B9C9BA; }

.section .side .button{
  margin-bottom:20px;
}
.section .side img{
  display:block;
}

input.button, button.button{
  padding: 10px 30px;
}

.results{
  columns:3;
  font-weight:300;
}

.results h1, .results h2, .results h3{
  color: #B9C9BA;
  font-weight:700;
  font-size: 15;
  margin: 30px 0 10px 0;
}
.results h1:first-child, .results h2:first-child, .results h3:first-child{
  margin-top:0;
}

.field{
  margin-bottom: 20px;
  text-transform:uppercase;
  font-weight:300;
  font-size: 13px;
}
.input, .textarea, .select{
  width:100%;
  padding: 10px;
  border:1px solid #CCC;
}

.totalprice{
  font-weight:700;
  margin-top: 10px;
}

.mobileonly{
  display:none !important;
}

.leftalign{
  text-align:left;
}

.dontbreak{
  break-inside: avoid;
}

.space{
  height: 80px;
}
.contact{
  float:left;
  width: 47%;
  border: 2px solid #2066A0;
  padding: 20px;
}
.contactdetails{
  float:right;
  width: 47%;
}

.contact .input, .contact .textarea{
  display:block;
  width:100%;
  padding: 15px;
  background-color:#E2F2FF;
  color: #2066A0;
  font-size: 19px;
  font-family: 'Montserrat', sans-serif;
  border:0;
  margin-bottom: 15px;
}
.input::placeholder,.textarea::placeholder{
  color: #2066A0;
}
.textarea{
  height: 150px;
}

.rightalign{
  text-align:right;
}


.gallery{
  display:flex;
  flex-wrap:wrap;
}
.gallery a{
  display:block;
  width:25%;
  border: 5px solid #FFF;
  padding: 0 !important;
  background: none !important;
  border-radius:0 !important;
  opacity: 1 !important;
  margin: 0 !important;
  text-align:center;
}
.gallery a img{
  display:block;
  width:100%;
  height:auto;
  max-height:800px !important;
}

.gallery a.more{
  display:block;
  background-color: #B9C9BA !important;
  position:relative;
}
.gallery a.hidden{
  display:none;
}

.block .select{
  text-align:center;
}
.block .select option{
  text-align:center;
}
