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

:root{
  --green:#1E4B50;
  --midgreen: #36575B;
  --lightgreen:#3A5E62;
  --lightergreen: #5C7B7F; 
  --lightestgreen: #EBF1F1; 
  --lime: #DBE99B; 
  --white: #FFFFFF; 
  --grey: #A0A0A0;
}

html {
  scroll-behavior: smooth;
}

body{
  font-size: 1rem;
  line-height: 1.5;
  font-family: "Figtree", sans-serif;
  font-optical-sizing: auto;
  font-weight: 400;
  font-style: normal;  
  background-color: #FBFCFC;
  color: #245A5F;
}

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

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

h2{
  font-size: 3rem;
  line-height: 1;
  font-weight: 700;
  margin-bottom: 20px; 
  color: var(--green);
}


h3{
  font-size: 2.5rem;
  line-height: 1.1;
  margin-top: 40px;
  margin-bottom: 10px;
  font-weight: 700;
  color: var(--green);
}


h4{
  font-size: 1.3rem;
  font-weight: 700;
  line-height: 1.1;
  color: var(--green);
  margin: 10px 0 10px 0;
}

h5{
  font-size: 1.3rem;
  font-weight: 400;
  line-height: 1.1;
  color: var(--green);
  margin: 10px 0 10px 0;
}


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

.regular{
  font-weight:400;
}
.bold,b{
  font-weight: 700;
}
.italic{
  font-style:italic; 
}

.weight-300{ font-weight: 300; }
.weight-400{ font-weight: 400; }
.weight-500{ font-weight: 500; }
.weight-600{ font-weight: 600; }
.weight-700{ font-weight: 700; }

.transparent-50{
  opacity: .5;
}

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

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

.large{
  font-size: 1.2rem;
}
.small{
  font-size: 0.8rem;
}

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

.clear{ clear: both; }

.container{
  margin: 0 auto;
  width: 95%;
  max-width: 1400px;
  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.justify{
  justify-content: space-between;
  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;
  margin-left:6%;
}
.flex.swap .half:nth-child(2n+2){
  margin-left:0;
}

.flex .third{
  width: 32%;
  margin-right: 2%;
}
.flex .third:nth-child(3n+3){
  margin-right:0;
}
.flex .third-twothirds{
  width: 66%; 
}

.flex .flex-photo{
  width: 90px; 
}
.flex .flex-has-photo{
  width:calc(100% - 90px);
  padding-left: 15px; 
}



.grid-6{
  display: grid;
  grid-template-columns: repeat(6, 1fr); 
  gap: 20px; 
}

.grid-5{
  display: grid;
  grid-template-columns: repeat(5, 1fr); 
  gap: 20px; 
}

.grid-4{
  display: grid;
  grid-template-columns: repeat(4, 1fr); 
  gap: 20px; 
}

.grid-3 {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 30px;
}

.grid-2 {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 30px;
}

.grid-form-gap{
  gap: 20px 40px;
}
.grid-gap{
  gap: 50px !important;
}
.grid-vert{
  align-items: center;
}
.grid-center{
  justify-content: center;
}

.grid-span-1 {
  grid-column: span 1;
}
.grid-span-2 {
  grid-column: span 2;
}
.grid-span-3 {
  grid-column: span 3;
}
.grid-span-4 {
  grid-column: span 4;
}
.grid-span-5 {
  grid-column: span 5;
}
.grid-span-6 {
  grid-column: span 6;
}


.nomargin{
  margin:0;
}
.margined{
  margin: 75px auto;
}
.margined-med{
  margin: 50px auto; 
}

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

.topmargin{
  margin-top: 75px;
}
.topmargin-med{
  margin-top:50px; 
}


.topmargin-small{
  margin-top: 25px; 
}

.bottommargin{
  margin-bottom: 75px;
}

.padded{
  padding: 50px;
}
.padded-med{
  padding: 25px; 
}
.padded-small{
  padding: 15px; 
} 

.vpadded{
  padding-top: 100px;
  padding-bottom: 100px;
}
.vpadded-med{
  padding-top: 50px;
  padding-bottom: 50px;
}
.vpadded-tiny{
  padding-top: 15px;
  padding-bottom: 15px;
}

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

.relative{
  position:relative;
}

.button{
  display: inline-block;
  border-radius: 12px;
  background-color:var(--lime);
  color:var(--green);
  padding: 10px 25px;
  position:relative;
  top:0;
  transition:.7s top;
  border:0;
  cursor:pointer; 
  font-size: 1rem;
  line-height: 1.5;
  font-family: "Figtree", sans-serif;
  font-optical-sizing: auto;  
  font-weight: 600;
  margin-bottom: 10px; 
  text-decoration: none !important; 
}
.button:has(+ .button) {
  margin-right: 10px; 
}



.button.lightergreen{
  background-color: var(--lightergreen);
  color:var(--white);
}
.button.lightestgreen{
  background-color: var(--lightestgreen);
  color:var(--green);
}

.button.with-detail{
  padding:0;
}
.button.with-detail .main{
  display:inline-block;
  padding: 10px 25px 10px 25px;
  border-radius: 12px;
}
.button.with-detail .detail{
  display:inline-block;
  background-color: #FAFBFB;
  border: 1px solid #D8E2E2;
  color:#638185;
  padding: 10px 15px 10px 10px;
  border-radius: 12px;
  font-weight: 400;
}

.button:hover{
  top:-3px;
  transition:.3s top;
}

.inline{
  display:inline;
}
.inlineblock{
  display:inline-block;
}
.block{
  display:block;
}
.block-img{
  display:block;
  width:100%;
}
.block-img-small{
  display:block;
  width: 75%; 
}

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


.bg-green{background-color: var(--green);}
.bg-midgreen{background-color: var(--midgreen);}
.bg-lightgreen{background-color: var(--lightgreen);}
.bg-lightestgreen{background-color: var(--lightestgreen);}
.bg-lime{background-color: var(--lime);}
.bg-white{ background-color: var(--white); }

.text-green{color: var(--green);}
.text-midgreen{color: var(--midgreen);}
.text-lightgreen{color: var(--lightgreen);}
.text-lightestgreen{color: var(--lightestgreen);}
.text-lime{color: var(--lime);}
.text-white{ color: var(--white); }
.text-grey{ color: var(--grey); }


header nav a{
  display:inline-block;
  color:#FFF; 
  padding: 16px 12px;
  margin: 0 20px 0 0;
  font-weight: 600;
  font-size: 1.2rem; 
  line-height: 1;
  border-bottom: 2px solid var(--green);
  transition:.3s border; 
}
header nav a:hover{
  /*border-color: var(--lightergreen); */
  transition:.3s border; 
}

header nav a span{
  display:block;
  opacity: .5;
  font-style:italic;
  font-size: 0.9rem;
  font-weight:300;
  padding-top: 5px; 
}

header nav a.header-logo span{
  font-style: normal;
  opacity: .5;
  font-size: 1rem;
  font-weight: 500;
}


header nav a.right-border{
  border-right: 1px solid var(--lightgreen);
  margin-right: 25px; 
  background: none !important;
  padding-right: 25px; 
  padding-left:0;
}

nav a.featured{
  border-radius: 10px; 
  background-color: #36575B;
  padding: 8px 20px;
  border:none !important; 
  transition:.3s background-color;
}
header nav a.featured:hover{
  background-color:var(--lightergreen);
  transition:.3s background-color;
}

header nav a.current{
  background-color:#325156;
  border-bottom: 2px solid #DBE99B !important;
}


header nav .nav-item{
  position:relative; 
}

header nav .nav-item .dropdown{
  position:absolute;
  top:35px;
  left:0;
  z-index: 10; 
  width:220px;
  background-color: var(--green);
  border-radius: 0 0 10px 10px;
  overflow:hidden;
  box-shadow: rgba(50, 50, 93, 0.25) 0px 6px 12px -2px, rgba(0, 0, 0, 0.3) 0px 3px 7px -3px;
  border: 1px solid var(--lightgreen);
  border-top:none;
  display:none;
}

header nav .nav-item .dropdown a{
  display:block;
  font-size: 1rem;
  font-weight: 400;
  margin:0;
  padding: 12px;
  border-bottom: 1px solid var(--lightgreen);
}
header nav .nav-item .dropdown a:last-child{
  border-bottom:none;
}
header nav .nav-item .dropdown a:hover{
  background-color: var(--lightgreen);
}


header nav .nav-item:hover .dropdown{
  display:block;
}


.subnav{
  background-color:#2E5358;
  border-top: 1px solid #496B6F;
  border-bottom: 1px solid #496B6F;
}
.subnav nav a{
  font-size: 1rem;
  padding: 8px 0;
  margin: 0 30px 0 0;
  border-color:  #2E5358;
}
.subnav nav a span{
  font-size: 0.8rem;
  padding-top: 3px; 
}
.subnav nav a:hover{
  border-color: var(--lightergreen); 
}

.subnav nav a.current{
  color: var(--lime) !important;
}



.feather-bg{
  background-image:url('images/feather.svg');
  background-repeat: no-repeat;
  background-position: right center;
  background-size: 500px auto;
}
.feather-bg.feather-right{
  background-position: center right; 
}


.hero-mask{
  width: 40%;
  background-color:var(--lightgreen);
}
.hero-mask.no-photo{
  width: 70%;
}

.hero-img{
  position:absolute;
  right:0;
  top:0;
  object-fit: cover;
  width: 60%;
  height: 100%;
}

.hero-shape{
  position:absolute;
  left: 40%; 
  top:0;
  height: 100%;
  display:block;
}

.icon{
  height: 30px;
  vertical-align: top;
  margin-right: 5px; 
}
.icon-small{
  width: 25px;
  vertical-align: top;
  margin-right: 5px; 
  margin-bottom:5px; 
}



.round{
  border-radius: 15px;
  overflow:hidden;
}
.circle{
  border-radius: 100%;
}

.bordered{
  border: 1px solid #D8E2E2; 
}

.top-thick-border{
  border-top: 10px solid #D8E2E2;
}
.top-thick-border-lime{
  border-top: 10px solid var(--lime);
}
.left-border{
  border-left: 1px solid #D8E2E2;
  padding-left: 20px; 
}

.bottom-border{
  border-bottom: 1px solid #D8E2E2;
  padding-bottom: 20px; 
}


.img-fit{
  object-fit: cover
}
.aspect-landscape{
  aspect-ratio: 6/4;
}
.aspect-video{
  aspect-ratio: 16/9;
}
.aspect-square{
  aspect-ratio: 1/1;
}

.hover-rise{
  position:relative;
  top:0;
  transition:.5s top;
}
.hover-rise:hover{
  top:-3px;
  transition:.2s top;
}

.hover-slide{
  position:relative;
  left:0;
  transition:.5s left;
}
.hover-slide:hover{
  left:3px;
  transition:.2s left;
}

.hover-underline:hover{
  text-decoration: underline;
}

.mountain{
  display: block;
}

.mountain h4{
  position:absolute;
  top:0;
  left:0;
  padding: 15px; 
}
.mountain span{
  position:absolute;
  bottom: 15px;
  right: 15px;
}



.bg-arrow{
  background-image:url('images/arrow-bg.svg');
  background-size: auto 100%;
  background-position: right center;
  background-repeat: no-repeat;
  padding: 50px 80px 50px 30px; 
}


footer{
  border-top: 1px solid #D8E2E2;
  margin-top: 75px;
}
footer .logo{
  max-width: 300px; 
}

.logo-img{
  max-height: 100px;
  max-width: 100px;
}

.play{
  position:absolute;
  width: 100px;
  left: calc(50% - 50px);
  top: calc(50% - 50px);
  opacity: .6;
  transition:.3s opacity;
}
a:hover .play{
  opacity: 1;
  transition:.3s opacity;
}

.right-float-logo{
  float:right;
  margin: 0 0 15px 20px;
  width: 100px; 
}
.right-float-img{
  float:right;
  margin: 0 0 15px 20px;
  max-width: 50%; 
  max-height: 80vh; 
}

.pagination{
  text-align:center;
}
.pagination a{
  display:inline-block;
  border-radius: 100px;
  width: 35px;
  height: 35px;
  text-align:center;
  line-height: 35px;
  color: var(--green);
  margin-right: 5px; 
  transition:.3s background-color; 
}
.pagination a:hover{
  background-color: var(--lightestgreen);
}
.pagination a.current{
  background-color: var(--lightergreen);
  color:#FFF; 
}

.light-bar{
  height: 80px; 
}
.light-bar-short{
  height: 15px; 
}

.pull-up{
  margin-top: -40px;
}

label{
  display:block;
  font-weight: 600;
  margin: 0 0 5px 0;
}
.input{
  display:block;
  width: 100%;
  height: 40px;
  padding: 0 10px;
  border-radius: 8px;
  border: 1px solid #D8E2E2; 
  background-color:#FBFCFC;
  font-size: 1rem;
  line-height: 1.5;
  font-family: "Figtree", sans-serif;
  font-optical-sizing: auto;
  font-weight: 400;
  color:#000;  
}

.partner-logo{
  display:inline-block;
  margin: 10px 20px; 
  width: 180px;
  text-align:center;
  vertical-align:middle; 
}
.partner-logo img{
  width:100%;
}


.intro-restrict{
  text-overflow:ellipsis; 
  display: -webkit-box;
  -webkit-line-clamp: 3;
  -webkit-box-orient: vertical;
  overflow: hidden;  
}

.links-underlined a{
  text-decoration: underline;
}

.clear{
  clear:both;
}