html {
  scroll-behavior: smooth;
}
body{box-sizing: border-box;font-size:62.5%;margin:0;font-family: 'Barlow Condensed', sans-serif;}

.cursive{font-family: 'Homemade Apple', cursive;font-weight: 400;text-transform:none;}
.aqua{color:#66c7be;}

a{text-decoration: none;-webkit-transition: all 0.25s ease-in;transition: all 0.25s ease-in;color: #357ae8;}
a:hover {color: #1D2754;}
p{font-size: 2em;line-height: 30px; font-weight: 100;}
.content li{font-size: 2em;line-height: 25px; font-weight: 100;}
h2 + p{margin:0;}


.material-symbols-rounded {
  vertical-align:middle;
  font-variation-settings:
  'FILL' 0,
  'wght' 400,
  'GRAD' 0,
  'opsz' 48
}

.headerNav{display: flex;justify-content: space-between;padding:20px 4%;}
.headerNav .logo a img{width:155px;}
.headerNav .logo a:hover{opacity: .5;}

.navWrap{display: flex;flex-direction: column;align-items:flex-end;justify-content: center;}

.handle{display:none;}

nav.mainNav{width:100%;position: relative;z-index: 999;}
nav.mainNav ul{
    display: flex;
    justify-content: space-between;
    width: 100%;
    padding-left: 0;
    list-style-type: none;
}

nav.mainNav ul li{
    text-align: center;
    padding-left: 25px;
    
}

nav.mainNav ul li > span{cursor: pointer;}
nav.mainNav ul li > a, nav.mainNav  ul li > span{
    color:#FFF;
    font-weight: 600;
    font-size: 1.75em;
}

nav.mainNav ul li .mainLink::after{
    font-family: 'Material Symbols Rounded';
    content:"\e5cf";
    font-size: 1em;
    line-height: 1;
    vertical-align: middle;
    color:#FFF;
	padding-left:0;
}

nav.mainNav ul li.active > a, nav.mainNav  ul li.active > span{border-bottom: 3px solid #FFF;}
nav.mainNav ul li .subWrap .sub ul li::after{border-bottom: 0;}

nav.mainNav ul li.hasSub .subWrap{display: none;}
nav.mainNav ul li .subWrap{position: absolute;}

nav.mainNav ul li .subWrap .sub{margin-top:12px;padding:20px 20px 20px 0;background-color:#FFF;text-align: left;width: auto;display: flex;}

nav.mainNav ul li .subWrap .sub ul{display: block;width: auto;}
nav.mainNav ul li .subWrap .sub ul li{text-align: left;padding-bottom: 10px;}
nav.mainNav ul li .subWrap .sub ul li a{font-size: 1.5em;font-weight: 600; color:#8d8d8d;}
nav.mainNav ul li .subWrap .sub ul li:hover > a{color:#000;}

/** Nav Animations **/
.animateLink{position: relative;}
.link__graphic {
  position: absolute;
  top: 0;
  left: 0;
  pointer-events: none;
  fill: none;
  stroke: #FFF;
  stroke-width: 1px;
  padding-top:5px;
}
.link__graphic--stroke path {
    stroke-dasharray: 1;
    stroke-dashoffset: 1;
}

.animateLink:hover .link__graphic--stroke path {
    stroke-dashoffset: 0;
}

.link__graphic--scribble {
  top: 100%;
}
.link__graphic--scribble path {
    transition: stroke-dashoffset 0.6s cubic-bezier(0.7, 0, 0.3, 1);
}

.animateLink:hover .link__graphic--scribble path {
    transition-timing-function: cubic-bezier(0.8, 1, 0.7, 1);
    transition-duration: 0.3s;
}


.btn{display: inline-block;margin:10px 0;padding: 10px 30px;border: 1px solid #000;border-radius: 5px; color:#000;font-size: 1.75em;font-weight: 600;text-decoration: none !important;}

.btn::after{content:"\eac9";font-family: 'Material Symbols Rounded';color:#000;vertical-align: middle;margin-left: 10px;}
.btn:hover{background-color:#66c7be;color:#000;}
.btn:hover span{color:#FFF;}
.btn:hover::after{color:#000 !important;}

.btn.white{color:#FFF;border-color: #FFF;}
.btn.white::after{color:#FFF;}
.btn.white:hover::after{color:#FFF !important;}

.homeHeader{background-image: url(images/header-home.jpg);background-size: cover;}
.homeHeader .headerText{padding:0 10%;text-align: center;}
.homeHeader .headerText h2{color:#FFF;font-size: 2em;margin:200px 0 0;}
.homeHeader .headerText h3{color:#FFF;margin:-20px 0 10px;font-size: 10em;text-transform: uppercase;line-height: 100px;}
.homeHeader .headerText .extras{display: flex;margin-top: 20px; padding-bottom: 80px; padding:0 10%;justify-content: center;}
.homeHeader .headerText .extras span{vertical-align: middle;padding-right:5px;}
.homeHeader .headerText .extras a{margin:0 20px;color:#FFF;font-size: 1.65em;font-weight: 400;}
.homeHeader .headerText .extras a:hover{color:#66c7be;}
.homeHeader .headerWave{display: block;margin-top: 200px;}

.internalHeader{background-size: cover;}
.internalHeader .headerText{padding:0 10%;text-align: center;}
.internalHeader .headerText h1{color:#FFF;font-size: 10em;margin:50px 0 0;}
.internalHeader .headerWave{display: block;margin-top: 100px;}


.waveGray{background-image: url(images/header-wave.svg);height:200px;background-repeat: no-repeat;background-size:cover;overflow: hidden;}
.waveGrayInverted{background-image: url(images/wave-inverted.svg);height:200px;background-repeat: no-repeat;background-size: cover;}
.waveWhite{background-image: url(images/wave-white.svg);height:200px;background-repeat: no-repeat;background-size: cover;}

.gray{background-color: #ededed;background-image: url(images/texture-background.jpg);background-repeat: repeat;}
hr{margin:80px 0;border: 0;background-image:url(images/hr.svg);background-position: center; background-size: cover;height:100px;}
.content{padding:10px 0 0;}
.content h2{font-size:8em;font-weight: 800;line-height: 90%;margin:0 0 20px;text-transform: uppercase;}
.content h2 span.cursive{font-size:35% !important;line-height: 15px !important;}
.content p a{color:#4c938a;}
.content p a:hover{color:#66c7be;}

.textImage{display: flex;align-items: center;padding:0 10%;}
.textImage div:first-child{margin-right: 40px;}
.textImage .text{flex-basis: 40%;}
.textImage .img{flex:1; text-align: center;max-width: 100%;}
.textImage .img img{max-width: 100%;}

.textTwoCol{display: flex;align-items: center;padding:0 10%;}
.textTwoCol div:first-child{margin-right: 40px;}
.textTwoCol .textOne{flex-basis: 60%;}
.textTwoCol .textTwo{flex:1;}

.banner{text-align: center;background-position: center;}
.banner.white{color: #FFF;}
.bannerContent{padding:80px 40px;}
.bannerContent p{margin-bottom: 10px;}

.sponsors{display: flex;flex-wrap: wrap;align-items: center;}
.sponsors a{display: block;flex-basis: 20%;margin:40px 10px 10px 40px;}
.sponsors a img{max-width: 80%;}
.sponsors a:hover{opacity: .5;}

.twoBlocks{display: flex;flex-wrap: wrap;justify-content: center;margin:0 10%;}
.twoBlocks .block{flex-basis: 40%;display: flex;flex-direction: column;align-items: center;margin-bottom: 40px;text-align: center;}
.twoBlocks .block:nth-child(odd){margin-right:10%}
.twoBlocks .block .text{padding:20px;}
.twoBlocks .block .text p{margin-top: 0;}

form fieldset{display:block; margin-top:30px;border: 0;}
form fieldset div{display: inline-block;}

label{
	color:#454545;
	font-weight:bold;
	display:block;
	margin-bottom:3px;
    font-size:1.7em;
    margin-top:20px;
}

input{
	padding:10px;
    font-size:1.4em;
    width:100%;
    box-sizing:border-box;
}

textarea{	
    padding:10px;
    font-size:1.4em;
    width:100%;
    box-sizing:border-box;
}

input[type=submit]{display:block;background-color:#FFF;width:auto;-webkit-transition: all 0.25s ease-in;transition: all 0.25s ease-in;}

.thankYou{padding:20px;border:3px solid #f15f3e;text-align:center;}

/* Back to Top */
#topBtn {
  display: none; /* Hidden by default */
  position: fixed; /* Fixed/sticky position */
  bottom: 20px; /* Place the button at the bottom of the page */
  right: 30px; /* Place the button 30px from the right */
  z-index: 99; /* Make sure it does not overlap */
  border: none; /* Remove borders */
  outline: none; /* Remove outline */
  background-color: #4c938a; /* Set a background color */
  color: white; /* Text color */
  cursor: pointer; /* Add a mouse pointer on hover */
  padding: 15px; /* Some padding */
  border-radius: 10px; /* Rounded corners */
  font-size: 18px; /* Increase font size */
  -webkit-transition: all 0.25s ease-in;transition: all 0.25s ease-in;
}

#topBtn:hover {
  background-color: #66c7be; /* Add a dark-grey background on hover */
}

footer{margin-top: 80px;}
.footerContent{padding:20px 10%;display: flex;justify-content: space-between;}
.footerContent .footerInfo{display: flex;}
.footerContent .footerInfo .ctbLogo{flex-basis: 10%;margin-right: 20px;}
.footerContent .footerInfo .ctbLogo img{width: 130px;}
.footerContent .footerInfo .info p{margin-top: 0;line-height: 30px;}
.footerContent .footerInfo .info p a, footer .copy a{color:#4c938a;}
.footerContent .footerInfo .info p a:hover, footer .copy a:hover{color:#66c7be;}
.footerContent .footerInfo .social a{color:#000;margin-right: 20px;}
.footerContent .footerInfo .social a:last-of-type{margin-right: 0;}
.footerContent .footerInfo .social a:hover{color:#66c7be;}

.footerContent .footerLinks{display: flex;}
.footerContent .footerLinks .links{margin-left:40px;}
.footerContent .footerLinks .links h3{font-size: 2em; text-decoration: underline;margin-top: 0;margin-bottom: 0;}
.footerContent .footerLinks .links ul{list-style-type: none;padding-left: 0;}
.footerContent .footerLinks .links ul li{font-size: 1.85em;margin-bottom: 5px;}
.footerContent .footerLinks .links ul li a{color:#4c938a;}
.footerContent .footerLinks .links ul li a:hover{color:#66c7be;}
footer .copy{padding:40px;text-align: center;font-size: 1.55em;}

/* SOCIAL ICONS */
@font-face {
    font-family: social;
    src: url(./font/social-media.ttf);
    src: url(./font/social-media.woff);
}
i[class*="icon"]{font-family: social;font-style: normal;font-weight: 400;font-size: 2em;}

.icon-tiktok:before {
  content: "\e901";
}
.icon-x:before {
  content: "\e900";
}
.icon-facebook:before {
  content: "\ea90";
}
.icon-instagram:before {
  content: "\ea92";
}
.icon-youtube:before {
  content: "\ea9d";
}

/* Content hidden from display but readable by screen readers*/
.sr-only {
position:absolute;
left:-10000px;
top:auto;
width:1px;
height:1px;
overflow:hidden;
}


@media (min-width:881px){
    nav.mainNav button {display: none;}
    [hidden]{display: block;}
}


@media only screen and (max-width: 880px) {
    header .navWrap{flex-direction: column;align-items:center;}

    
    [hidden]{display: none !important;} 
    nav.mainNav button{
        background-color: transparent;
        border: 0;
        color:#FFF;
        font-size: 3em;
        cursor: pointer;
    }
    nav.mainNav button span{font-size:1.25em;}

    nav.mainNav{text-align: center;margin: 20px 0;order: -1;}
    nav.mainNav.desktop{
        position: absolute;
        top: 0;
        right: 0;
        left: 0;
        background-color: #66c7be;
        padding:20px 0;
        margin:0;
        z-index: 1;
    }
    nav.mainNav.desktop .bars{display: none;}
    nav.mainNav .close{display: none;}
    nav.mainNav.desktop .close{display: block;}
    nav.mainNav ul{
        height: 100vh;
        flex-direction: column;
        justify-content: flex-start;
    }
    
    nav.mainNav ul li{margin:10px 0;width:100%;text-align: center;padding: 0;}
    nav.mainNav ul li a{padding: 0;}
    
    nav.mainNav ul li .subWrap .sub{flex-direction: column;text-align:center;padding:40px 20px;background-color: #4c938a;} 
    nav.mainNav ul li.hasSub .subWrap{width: 100%;left:0;position: relative;}
    nav.mainNav ul li .subWrap .sub ul{padding: 0;height: auto;}
    nav.mainNav ul li .subWrap .sub ul li{text-align: center;}
    nav.mainNav ul li .subWrap .sub ul li a{color:#000;}
    nav.mainNav ul li .subWrap .sub ul li a:after{display: none;}
    nav.mainNav ul li::after{display: none;}
    
    .homeHeader .headerText .extras span{display: block;padding-right:0;padding-bottom: 5px;}
    
    .textImage{flex-direction: column;}
    .textImage div:first-child{margin-right: 0;}
    .textImage .text{flex-basis: 100%;}

    .textTwoCol{flex-direction: column;align-items:stretch;}
    .textTwoCol div:first-child{margin-right: 0;}
    .textTwoCol .textOne{flex-basis: 100%;}

    
    .footerContent{flex-direction: column;}
    .footerContent .footerInfo{flex-direction: column;align-items: center;}
    .footerContent .footerInfo .ctbLogo{margin-right: 0;margin-bottom: 20px;}
    .footerContent .footerInfo .info p{text-align: center;}
    .footerContent .footerInfo .social{text-align: center;}   
    .footerContent .footerLinks{flex-direction: column;text-align: center;margin-top:22px;}
    .footerContent .footerLinks .links{margin-top: 40px; margin-left:0;}
    


    
}