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

html {
  scroll-behavior: smooth;
}


body{
  font-size: 16px;
  line-height: 165%;
  font-family: "Montserrat", sans-serif;
  font-optical-sizing: auto;
  font-weight: 400;
  font-style: normal;
  color: #7A7C82;
}

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

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

h1{
  font-size: 50px;
  line-height: 60px;
  text-shadow: 0 0 15px #000;
}

h2{
  font-family: "Baloo 2", sans-serif;
  font-size: 40px; 
  font-weight: 700;
  line-height: 1.1;
  margin-bottom: 15px;
}


h3{
  color: #003B5C;
  font-family: "Baloo 2", sans-serif;
  font-size: 46px;
  font-weight: 600; 
  line-height: 1;
  margin-top: 40px;
  margin-bottom: 15px;
}


h4{
  font-size: 20px;
  line-height: 1.2;
  font-weight: 400;
  margin: 30px 0 5px 0;
  color: #04A9C7;
}

h4 + h3{
  margin-top:10px;
}

h3:first-child, h4:first-child{
  margin-top:0;
}

p{
  margin-bottom: 15px;
}
p:last-child{
  margin-bottom:0;
}

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

p + ul{
  margin-top: -15px; 
}

.large{
  font-size: 20px;
  line-height: 35px;
}
.small{
  font-size: 14px;
  line-height: 20px;
}

.light{
  font-weight:300;
}
.semi{
  font-weight: 600;
}

.clear{ clear: both; }

.container{
  margin: 0 auto;
  width: 96%;
  max-width: 1500px;
  position:relative;
}
.container.narrow{
  max-width: 850px;
}

.flex{
  display:flex;
}
.flex.wrap{
  flex-wrap:wrap;
}
.flex.end{
  align-items:flex-end;
}
.flex.vert{
  align-items:center;
}

.flex.swap{
  flex-direction:row-reverse;
}

.flex .half{
  width: 47%;
  margin-right: 6%;
}
.flex .half:nth-child(2n+2){
  margin-right:0;
}
.flex.swap .half{
  margin-right: 0;
}
.flex.swap .half:nth-child(2n+2){
  margin-right: 6%; 
}

.flex .third{
  width: 32.5%; 
  margin-right: 1.25%;
}
.flex .third:nth-child(3n+3){
  margin-right:0;
}

.flex .twothirds{
  width: 66%;
}

.flex .full{
  width: 100%; 
}

.flex .icon{
  width: 60px;
}
.flex .icon img{
  display:block;
  width: 100%;
  max-width: 60px;
  max-height: 60px;
}
.flex .has-icon{
  width: calc(100% - 60px);
  padding-left: 20px;

  color: #003B5C;
  font-size: 20px;
  font-weight: 600; 
}

.margined{
  margin: 100px auto;
}
.margined-small{
  margin: 20px auto;
}
.margined-tiny{
  margin: 10px auto;
}

.topmargin{
  margin-top: 75px;
}
.bottommargin{
  margin-bottom: 75px;
}

.topmargin-small{
  margin-top: 30px; 
}
.bottommargin-small{
  margin-bottom: 30px; 
}

.padded{
  padding: 50px;
}

.left{
  text-align:left;
}
.center{
  text-align:center;
}
.right{
  text-align:right;
}

.relative{
  position:relative; 
}

.button{
  font-family: "Baloo 2", sans-serif;
  font-size: 18px; 
  font-weight: 600;
  display: inline-block;
  border-radius: 50px;
  background-color:#04A9C7;
  color:#FFF !important;
  text-align:center;
  padding: 10px 25px;
  margin-right: 15px;
  border:0; 
  cursor:pointer; 
  transition:.3s background-color, .3s color; 
}
.button:last-child{
  margin-right:0;
}

.button.green{ background-color: #43B02A; }
.button.white{ background-color: #FFFFFF; color:#003B5C !important; }

.button:hover{
  color:#FFF;
  background-color: #005776;
  transition:.3s background-color, .3s color; 
}

.button.white:hover{
  background-color: #EEEC77; 
}

.button.multiline{
  font-family: "Baloo 2", sans-serif;
  line-height: 120%;
  font-size: 17px; 
  padding: 10px 35px; 
}
.button.multiline span{
  display: block;
  font-weight: 600;
  text-transform:uppercase;
  font-size: 14px; 
  letter-spacing: 1px;
}



.inline{
  display:inline;
}
.inlineblock{
  display:inline-block;
}
.block{
  display:block;
}

.bgcover{
  background-size:cover;
  background-position: center center;
}


.top{
  background-color: #003B5C;
  color:#FFFFFF;
  padding: 4px 0;
  margin-bottom: 15px; 
  font-size: 14px; 
  text-align:right; 
}
.top a{
  color:#FFFFFF; 
} 
.top span{
  font-weight: 700;
}
.top img{
  height: 20px; 
  vertical-align: middle;
  margin-left: 2px; 
}

.header h1 img{
  width: 256px; 
}

.header .header-logo{
  width: 256px; 
}
.header .header-nav{
  width: calc(100% - 256px); 
}


.navlink{
  display:inline-block;
  margin-right: 25px;
  font-size: 16px; 
  font-weight: 600; 
}
.navlink:last-child{
  margin-right:0;
}
.navlink a{
  color: #003B5C;
}
.navlink a.current,  .navlink a:hover{
  color: #04A9C7; 
}

.subnav{
  position:absolute;
  top:100%;
  left:0;
  background-color:#FFF;
  z-index: 10;
  text-align:left; 
  box-shadow: rgba(0, 0, 0, 0.16) 0px 1px 4px;
  white-space: nowrap;
  border-radius: 5px; 
  display:none; 
}
.subnav a{
  display:block;
  padding: 10px; 
  font-size: 14px; 
}

.navlink:hover .subnav{
  display: block; 
}


.hero{
  border-radius: 0 150px 0 0;
  padding-top: 375px; 
}

.hero .overlay{
  background:linear-gradient(rgba(0,59,92,.8) 15%,#003b5c 47%); 
  padding: 30px 60px 30px 60px; 
}

.hero .buttons{
  margin: 20px 0 0 0;
}

.hero.standard{
  padding-top: 300px; 
  border-radius: 0 100px 0 0;
}
.hero.standard .overlay{
  background:linear-gradient(90deg,#003b5c 24%,rgba(89,128,149,.5));
  padding: 30px; 
} 
.hero.standard h2{
  font-size: 30px; 
}

.hero .tag{
  position:absolute;
  top: -33px;
  left:30px; 
  background-color:#FFF;
  color: #04A9C7; 
  text-transform: uppercase;
  font-size: 20px; 
  font-weight: 600; 
  padding: 10px 25px; 
  border-radius: 20px 0 20px 0;
}


.text-white{ color:#FFF; }
.text-lightblue{ color: #CCD8DE; }
.text-midblue{ color: #04A9C7; }

.lightblue{ background-color:#04A9C7; }
.darkblue{ background-color:#003B5C; }
.green{ background-color:#43B02A; }

.round{
  border-radius: 45px; 
}
.round-top{
  border-radius: 45px 45px 0 0;
}

.restrict{
  max-width: 900px; 
}

.block-img{
  display:block;
  width:100%;
}
.cut-img{
  border-radius: 150px 0 150px 0; 
}
.corner-cut-img{
  border-radius: 0 75px 0 0 ;
}

.cut-img-left{
  border-radius: 75px 0 0 0;
}
.cut-img-left:nth-child(2){
  border-radius: 0 0 75px 0; 
}

.cut-img-right{
  border-radius: 0 75px 0 0;
}
.cut-img-right:nth-child(2){
  border-radius: 0 0 0 75px;
}

.light{
  font-weight: 300;
}
.uppercase{
  text-transform: uppercase; 
}

.partner-logo{
  display:block;
  max-width: 200px; 
  max-height: 150px; 
  margin: 0 25px 0 0; 
}

.splide__arrow, .splide__pagination  {
  display:none !important;
}

.habit-pattern-bg{
  background-image: url('images/habit-pattern.svg');
  background-position: right top; 
  background-repeat: no-repeat; 
  background-size: auto 80%; 
}

h2.subheader{
  background:linear-gradient(32deg,#003b5c 3%,#015b7b 57%,#04a9c7); 
  border-radius: 0 75px 0 0;
  overflow:hidden;
  color:#FFFFFF;
}

h2.subheader span{
  display:block;
  background-image: url('images/habit-pattern.svg');
  background-repeat: no-repeat; 
  background-position: right center; 
  background-size: 35% auto;
  padding: 30px; 
}


.sublinks{
  columns:2;
}
.sublinks a{
  display:block; 
  border: 1px solid #04A9C7;
  padding: 12px 20px; 
  font-size: 20px; 
  font-weight: 700;
  line-height: 35px;  
  font-family: "Baloo 2", sans-serif;
  margin-bottom: 15px; 
  border-radius: 20px; 
  transition:1s padding; 
}
.arrow{
  display:block;
  float:right;
  background-color: #43B02A;
  background-image: url('images/arrow.svg');
  background-repeat: no-repeat; 
  background-size: 80% auto;
  background-position: center center; 
  border-radius: 100%;
  width: 35px;
  height: 35px;
  line-height: 35px; 
  text-align:center; 
  margin-left: 20px; 
}
.sublinks a:hover{
  padding: 12px 20px 12px 30px; 
  transition:.3s padding; 
}


.largebutton{
  display: block;
  border-radius: 15px; 
  text-align:center;
  padding: 25px; 
  color:#FFFFFF;
  transition:.6s transform; 
  margin-bottom: 1.25%; 
}
.largebutton span{
  display:block;
  font-size: 24px; 
  font-weight: 700; 
  margin-bottom: 10px; 
}

.largebutton:hover{
  transform:scale(.95); 
  transition:.3s transform; 
}


.contact-item{
  display: block; 
  box-shadow: rgba(99, 99, 99, 0.2) 0px 2px 8px 0px;
  padding: 10px 20px; 
  margin-bottom: 20px; 
  border-radius: 15px;
  border: 2px solid #FFF;  
  transition:.7s border;
  max-width: 600px; 
}
.contact-item span{
  display: block; 
  color: #04A9C7;
  font-weight: 700;
}
a.contact-item:hover{
  border: 2px solid #003B5C;
  transition:.3s border;
}

.label{
  margin: 30px 0 10px 0;
  font-weight: 700;
  color: #003B5C;
}

.input{
  width:100%;
  padding: 15px; 
  box-shadow: rgba(99, 99, 99, 0.2) 0px 2px 8px 0px;
  border: 1px solid #FFF; 
  border-radius: 10px; 
  transition:.3s border;
  font-size: 16px;
  line-height: 165%;
  font-family: "Montserrat", sans-serif;
  font-optical-sizing: auto;
  font-weight: 400; 
}
.input:focus{
  border: 1px solid #003B5C;
  outline: none;
  transition:.3s border; 
}

.shadow{
  box-shadow: rgba(99, 99, 99, 0.2) 0px 2px 8px 0px;
}



.accordion-item {
  padding: 20px; 
  margin-bottom: 25px;
  overflow: hidden;
  border-radius: 25px; 
  position:relative; 

  box-shadow: rgba(99, 99, 99, 0.2) 0px 2px 8px 0px;
}
.accordion-item .accordion-btn{
  display:block;
  color: #003B5C;
  font-weight: 700;
  font-size: 20px; 
  padding-right: 65px; 
  transition:.3s padding-left;
}
.accordion-item .accordion-btn:hover{
  padding-left: 10px; 
  transition:.3s padding-left;
}
.accordion-item-content {
  max-height: 0;
  overflow: hidden;
  transition: max-height 0.3s ease-out;
}
.accordion-item-content .accordion-padding{
  padding-top: 20px; 
}
.accordion-item .arrow{
  float:none;
  position:absolute;
  right: 20px;
  top:15px; 
  transition:.7s transform;
} 
.accordion-item.open .arrow{
  transform: rotate(90deg);
  transition:.3s transform;
}
.accordion-item.open .accordion-btn{
  padding-left:0;
}

.desktopgone{
  display:none;
}

table{
  border-collapse: collapse;
  margin: 0 0 20px 0; 
  width:100%; 
}
table td{
  padding: 10px 20px; 
  border: 1px solid #CCC; 
}

table tr td:last-child{
  background-color:#E7F1F1;
  color: #003B5C;
  font-weight:700; 
  text-align:center; 
}

.faqvideo{
  aspect-ratio: 16/8;
  position:relative; 
  margin-bottom: 25px; 
}
.faqvideo .videofade{
  position:absolute;
  top:0;
  left:0;
  width:100%;
  height:100%;
  background-color:#003b5c ;
  opacity:.5; 
  transition:.3s opacity; 
}
.faqvideo:hover .videofade{
  opacity: .3;
  transition:.3s opacity; 
}
.faqvideo .videotitle{
  position:absolute;
  bottom:20px;
  left:20px;
  font-size: 30px; 
  color:#FFF; 
  z-index:3;
}


.anchor-links{
  margin-top: 15px; 
}

.anchor-links .anchor-links-heading{
  color: #43B02A;
  font-weight: 700; 
}
.anchor-links a{
  display:inline-block;
  border-right: 1px solid #43B02A;
  padding: 0 20px 0 0;
  margin: 0 0 0 20px;
  font-weight:600;
}
.anchor-links a:last-child{
  border-right:0;
}
.anchor-links a:hover{
  text-decoration:underline; 
}

.list-columns ul{
  columns: 2; 
  column-gap: 40px; 
}

.footer{
  background-color: #232c3a;
  border-radius: 20px 20px 0 0;
  color:#FFF; 
  padding: 50px; 
}
.footer a{
  color:#FFF; 
}

.footer-logo{
  height: 50px; 
}