@charset "utf-8";
@import url("https://use.typekit.net/cwz1dtw.css");
@font-face {
  font-family:'Recife Text';
  src: url('../fonts/RecifeTextWeb-Regular.woff2') format('woff2'),
      url('../fonts/RecifeTextWeb-Regular.woff') format('woff');
  font-weight: 400;
  font-style: normal;
}
@font-face {
  font-family:'Recife Text';
  src: url('../fonts/RecifeTextWeb-Bold.woff2') format('woff2'),
      url('../fonts/RecifeTextWeb-Bold.woff') format('woff');
  font-weight: 700;
  font-style: normal;
}
.scroll > .container,
.scroll > .container-lg {
  opacity: 1;
}
.scroll.ready > .container,
.scroll.ready > .container-lg {
  opacity: 1;
  animation: fadeInUp 1.2s both;
}
/*===========================================================================================================*/
/*=========================================== GENERAL SETTINGS ==============================================*/
/*===========================================================================================================*/
body {
	margin: 0;
	padding: 0;
	font-size: 10px;
	-webkit-font-smoothing: antialiased;
	color: #000;
	font-family: "lektorat-text-variable", sans-serif;
	font-size: 20px;
	font-style: normal;
	font-weight: 400;
	line-height: 150%; /* 27px */
}
b, strong {
	font-weight: bold;
}
strong.stronger {
  font-weight: 900;
}
* {
  margin: 0;
  box-sizing: border-box;
}
.text-center { text-align: center; }
.break-word {
  -webkit-word-wrap: break-word;
  -moz-word-wrap: break-word;
  -ms-word-wrap: break-word;
  -o-word-wrap: break-word;
  word-wrap: break-word;
}
p {margin: 0 0 34px;}
.list-unstyled {
	list-style: none;
	padding: 0;
}
.list-unstyled li {
	display: block;
	margin: 0;
}
.list-inline {
	list-style: none;
	padding: 0;
}
.list-inline li {
	display: inline-block;
	margin: 0;
}
.list-inline li:not(:last-child) {margin-right: 20px;}
ul, ol {
  margin: 0 0 30px;
}
ul *, ol * {
  vertical-align: top;
}
li {
	margin: 0 0 10px;
}
td, th {
	margin: 0 0 25px;
}
a {
  color: #17875A;
  text-decoration: none;
}
a:hover, a:focus {
	color: #2a5236;
}
a img {
  border: none;
}
img {
  max-width: 100%;
  height: auto;
}

h1, .h1-style {
	font-family: "Recife Text";
	font-size: 48px;
	font-style: normal;
	font-weight: 700;
	line-height: 1.3em; /* 116.667% */
	margin: 0 0 33px;
}
h1 small, .h1-style small {
	display: block;
	font-family: "lektorat-text-variable", sans-serif;
	font-size: 20px;
	font-style: normal;
	font-weight: 400;
	line-height: 150%; /* 27px */
}
h2 {
	font-family: "Recife Text";
	font-size: 36px;
	font-style: normal;
	font-weight: 700;
	line-height: 125%; /* 45px */
	margin: 0 0 8px;
}
h2 small {
	display: block;
	font-family: "lektorat-text-variable", sans-serif;
	font-size: 18px;
	font-style: normal;
	font-weight: 400;
	line-height: 150%; /* 27px */
}
h3 {
	font-family: "lektorat-text-variable", sans-serif;
	font-size: 32px;
	font-style: normal;
	font-weight: 700;
	line-height: 125%; /* 40px */
	margin: 0 0 13px;
}
h4 {
	font-family: "lektorat-text-variable", sans-serif;
	font-size: 24px;
	font-style: normal;
	font-weight: 700;
	line-height: 125%; /* 30px */
	margin: 30px 0 15px;
}

/*===========================================================================================================*/
/*=========================================== TOP ===========================================================*/
/*===========================================================================================================*/
.menu {
  display: block;
  position: relative;
  z-index: 11;
  top: 0;
  left: 0;
  right: 0;
  padding: 0;
  transition: all .4s ease;
  opacity: 1;
  background: #fff;
  margin: 0 auto 58px;
}
.menu.ready {
  opacity: 1;
  animation: fadeInDown .6s both;
}
.menu.actived {
  padding: 10px 20px;
  box-shadow: 0 0 12px rgb(0 0 0 / 8%);
}
.menu.behaved {
  background-color: transparent;
  overflow: hidden;
  box-shadow: none;
  box-shadow: none!important;
  margin: 0;
}
.menu.home {
	position: absolute;
	top: 0;
	background: transparent;
}
.menu > .container {
  position: relative;
  display: flex;
  gap: 40px;
  align-items: center;
  justify-content: space-between;
}
.menu > .container:after {
	content: '';
	display: block;
	position: absolute;
	top: 100%;
	width: calc(100% - 20px);
	height: 1px;
	background: #CDCDCD;
}
.menu.behaved > .container:after {
	display: none;
}
.menu.home > .container {
	align-items: start;
}
.menu.behaved > .container {
  position: static;
}
.customize-support .menu.home {
  top: 32px;
}
.menu.actived:before {
  top: -43px;
}
.menu.actived:behaved {
  top: -200px;
}
.menu .logo-nav .mobile-nav {
    display: none;
}
.menu .mobile-nav ul {
	margin: 0 0;
}
.menu .mobile-nav ul li:not(:last-child) {
	margin-right: 23px;
}
.menu > div .navigation {
  display: block;
  background: none;
  color: #17875A;
  background: #DFF2F1;
  letter-spacing: 0px;
  font-weight: 400;
  line-height: 1em;
  text-transform: capitalize;
  position: relative;
  text-decoration: none;
  float: right;
  width: 53px;
  height: 50px;
  -webkit-transition: all .3s ease;
  -moz-transition: all .3s ease;
  -ms-transition: all .3s ease;
  -o-transition: all .3s ease;
  transition: all .3s ease;
}
.menu > div .navigation:hover, .menu > div .navigation:focus {
  text-decoration: none;
}
.menu.actived > div .navigation {
 margin: 23px 0;
 margin-right: 36px;
}
.menu.behaved > div .navigation {
  color: #17875A;
  /* margin: 32px 0; */
  margin-right: 0;
  top: 0;
  width: 53px;
}
.menu.behaved > div .navigation:hover {
	color: #17875A;
}
.menu > div a.navigation > .txt {
	position: absolute;
	right: 100%;
	top: 2px;

	margin-right: 6px;
}
.menu > div a.navigation > .txt:before {
  font-family: "Recife Text";
  content: 'Menu';
  font-size: 14px;
  font-weight: 600;
  color: #17875A;
  letter-spacing: 0;
  position: relative;
  text-transform: capitalize;
  top: 11px;
  margin-right: 5px;
}
.menu.behaved > div a.navigation > .txt:before {content: 'Close';color: #fff;}
.menu > div a.navigation > .bar {
  position: absolute;
  left: 11px;
  width: 32px;
  height: 4px;
  border-radius: 0;
  background-color: #17875A;
  -webkit-transition: top .3s ease, transform .4s ease, opacity .3s ease;
  -moz-transition: top .3s ease, transform .4s ease, opacity .3s ease;
  -ms-transition: top .3s ease, transform .4s ease, opacity .3s ease;
  -o-transition: top .3s ease, transform .4s ease, opacity .3s ease;
  transition: top .3s ease, transform .4s ease, opacity .3s ease;
}
.menu.actived > div a.navigation > .bar {
  
}
.menu.behaved > div a.navigation > .bar {
  background-color: #17875A
  width: 17px;
}
.menu > div a.navigation > span:first-child {
  top: 14px;
}
.menu > div a.navigation > span:nth-child(2) {
  top: 23px;
}

.menu > div a.navigation > span:nth-child(3) {
  top: 32px;
}
/*
.menu > div a.navigation:hover > span:first-child {
  top: -2px;
}
.menu > div a.navigation:hover > span:nth-child(3) {
  top: 18px;
}
*/
.menu > div a.navigation.behaved > span:first-child {
  top: 23px;
  transform: rotate(135deg);
}
.menu > div a.navigation.behaved > span:nth-child(2) {
  display: none;
}
.menu > div a.navigation.behaved > span:nth-child(3) {
  top: 23px;
  transform: rotate(-135deg);
}
.menu .logo-nav {
  position: relative;
  display: block;
  max-width: 223px;
  transition: all .3s ease;
}
.menu.behaved .logo-nav img.mobile-nav {
  opacity: 1;
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  display: block;
}
.menu .logo-nav:hover { opacity: .9!important }

.menu .logo-nav img {
  position: relative;
  z-index: 2;
  display: block;
  width: 100%;
  -webkit-transition: all .3s ease;
  -moz-transition: all .3s ease;
  -ms-transition: all .3s ease;
  -o-transition: all .3s ease;
  transition: all .3s ease;
}
.menu.actived .logo-nav {
}
.menu.behaved .logo-nav img {
 opacity: 0;
}
.menu.behaved .logo-nav .mobile-nav {
 opacity: 1;
}
.menu.behaved .social-nav {
  opacity: 0;
}
.menu > div {
  position: relative;
  padding: 36px 20px;
}
.menu.behaved > div {
  background-color: transparent;
  border-color: transparent;
}


.menu .collapse-menu > li > ul {
  /* display: none; */
  background: #ffff;
  backdrop-filter: blur(2px);
  box-shadow: 0px 6px 10px 0px rgba(6, 28, 24, 0.15), 0px 3px 3px -5px rgba(6, 28, 24, 0.20);
  position: absolute;
  top: 100%;
  left: -8px;
  right: unset;
  z-index: 5;
  padding: 0;
  width: 250px;
  margin-top: 0!important;
  opacity: 0;
  height: 0;
  overflow: hidden;
  transition: all .3s ease;
  display: block;
  border-radius: 8px;
}
.menu .collapse-menu > li > ul:focus-within,
.menu .collapse-menu > li:hover > ul {
	padding: 7px 0;
	opacity: 1;
	margin-top: 0!important;
	height: auto;
	/* display: block!important; */
}
.menu .collapse-menu > li > ul > li {
  display: block;
  padding: 0;
  font-size: 15px;
  font-style: normal;
  line-height: normal;
  text-align: left;
  text-transform: capitalize;
  margin: 0 0!important;
}
.menu .collapse-menu > li > ul > li:hover {
	background-color: #fff
}
.menu .collapse-menu > li > ul > li a {
  display: block;
  position: relative;
  color: #17875A
  text-shadow: none;
  padding: 10px 18px!important;
  border-bottom: solid 0px transparent;
}
.menu .collapse-menu > li > ul > li a:hover {
  color: #17875A
}
.menu .collapse-menu > li > ul > li a:focus {
  color: #17875A
  text-decoration: none;
}
.menu .collapse-menu > li > ul > li.current-menu-item a {
  color: #17875A
}
.menu .collapse-menu > li > ul > li a:before,
.menu .collapse-menu > li > ul > li a:after {
  content: '\f105';
  font-family: 'Font Awesome 6 Pro';
  position: relative;
  top: -1px;
  transition: all .3s ease;
  opacity: 0;
  font-size: .8em;
}
.menu .collapse-menu > li > ul > li a:before {
  left: 0;
  position: absolute;
  top: 12px;
}
.menu .collapse-menu > li > ul > li.current-menu-item a:before {
  opacity: 1;
  left: 6px;
}
.menu .collapse-menu > li > ul > li a:after {
  margin-left: 0;
  background: none;
  background: none!important;
}
.menu .collapse-menu > li > ul > li:not(.current-menu-item) a:not(:focus):hover:after {
  opacity: 1;
  margin-left: 4px;
  background: none;
}
.menu .collapse-menu {
	width: 100%;
	max-width: 568px;
	margin: 0;
	display: flex;
	justify-content: space-between;
}
.menu .collapse-menu li {
	position: relative;
	color: #000;
	font-size: 24px;
	font-style: normal;
	font-weight: 600;
	line-height: 125%;
}
.menu .collapse-menu li:not(:last-child) {margin-right: 0;}
.menu .collapse-menu li:not(:last-child) a:before {
	content: '';
	display: block;
	width: 6px;
	height: 6px;
	background: #C3DB6C;
	position: absolute;
	right: -1.3em;
	top: 50%;
	transform: translateY(-50%) rotate(-45deg);
}
.menu .collapse-menu li .fal {
	margin-top: 3px;
}
.menu .collapse-menu li a {
	display: inline-block;
	position: relative;
	color: #000;
}
.menu .collapse-menu li.current-menu-item > a,
.menu .collapse-menu li.current-page-ancestor > a {
	color: #17875A;
	background: none;
}
.menu .collapse-menu li strong {
	margin-right: 5px
}
.menu .collapse-menu li:hover a,
.menu .collapse-menu li:focus a,
.menu .collapse-menu li a:hover,
.menu .collapse-menu li a:focus {
	color: #17875A;
	text-decoration: none;
}
.menu .collapse-menu li a:after {
  content: '';
  position: absolute;
  top: 100%;
  left: unset;
  right: 0;
  width: 0;
  height: 2px;
  background-color: transparent;
  transition: all .3s ease;
}
.menu .collapse-menu li.current-menu-item > a:after,
.menu .collapse-menu li.current-page-ancestor > a:after,
.menu .collapse-menu li:hover a:after,
.menu .collapse-menu li:focus a:after{
 left: 0;
 right: unset;
 width: 100%;
 background-color: #17875A;
}

.menu.home .collapse-menu > li > a {
	color: #fff;
}
.menu.home .collapse-menu > li.current-menu-item > a,
.menu.home .collapse-menu > li.current-page-ancestor > a {
	color: #fff;
}
.menu.home .collapse-menu > li:hover > a,
.menu.home .collapse-menu > li:focus > a,
.menu.home .collapse-menu > li > a:hover,
.menu.home .collapse-menu > li > a:focus {
	color: #fff;
}
.menu.home .collapse-menu > li.current-menu-item > a:after,
.menu.home .collapse-menu > li.current-page-ancestor > a:after,
.menu.home .collapse-menu > li:hover a:after,
.menu.home .collapse-menu > li:focus a:after{
 background-color: #fff;
}

.menu.home > div a.navigation:not(.behaved) > .bar {
	background-color: #fff;
}

.navigation-overlay {
  display: none;
  position: fixed;
  z-index: 10;
  top: 0;
  right: -105px;
  bottom: 0;
  width: 100%;
  padding: 244px 35px 50px;
  overflow-x: hidden;
  overflow-y: auto;
  transition: right .6s ease;
  border: none;
  background: var(--Forest-Green---Primary, #2A5236);
}
.navigation-overlay.behaved {
  right: 0;
}

.navigation-overlay > ul {
  opacity: 0;
  margin: 0;
  padding: 0;
  text-align: center;
}
.navigation-overlay.behaved > ul {
  opacity: 1;
}
.navigation-overlay > ul > li {margin-bottom: 70px!important;}
.navigation-overlay > ul > li > a {
	position: relative;
	display: inline-block;
	padding: 0 30px;
	background: none;
	color: #FFF;
	font-family: "Recife Text";
	font-size: 32px;
	font-style: normal;
	font-weight: 700;
	line-height: 1.2em; /* 300% */
	letter-spacing: -0.32px;
}
.navigation-overlay > ul > li > a span {
	position: relative;
	border-bottom: solid 2px transparent;
}
.navigation-overlay > ul > li > a:hover {
	color: #C7DF6F;
}
.navigation-overlay > ul > li > a:focus {
  color: #C7DF6F;
  text-decoration: none;
}
.navigation-overlay > ul > li > a:focus span {
  border-color: #C7DF6F;
}
.navigation-overlay > ul > li > a i {
	/* float: right; */
}
.navigation-overlay > ul > li.current-menu-item > a,
.navigation-overlay > ul > li.current-menu-ancestor > a {
  text-decoration: none;
  color: #C7DF6F;
}
.navigation-overlay > ul > li.current-menu-item > a > span,
.navigation-overlay > ul > li.current-menu-ancestor > a > span {
	border-color: transparent
}
.navigation-overlay > ul > li.current-menu-item > a:before,
.navigation-overlay > ul > li.current-menu-item > a:after,
.navigation-overlay > ul > li.current-menu-ancestor > a:before,
.navigation-overlay > ul > li.current-menu-ancestor > a:after {
	content: '';
	display: block;
	width: 6px;
	height: 6px;
	background: #C3DB6C;
	position: absolute;
	top: 50%;
	transform: translateY(-50%) rotate(-45deg);
}
.navigation-overlay > ul > li.current-menu-item > a:before,
.navigation-overlay > ul > li.current-menu-ancestor > a:before {
	left: 0
}
.navigation-overlay > ul > li.current-menu-item > a:after,
.navigation-overlay > ul > li.current-menu-ancestor > a:after {
	right: 0;
}
.navigation-overlay > ul > li ul {
  display: block;
  border-left: solid 2px #C7DF6F;
  padding-left: 23px;
  margin-left: 17px;
  margin-top: 12px;
  margin-bottom: 10px;
}


.navigation-overlay > ul > li > ul li {margin-bottom: 11px!important;}
.navigation-overlay > ul > li > ul li a {
  text-transform: capitalize;
  font-size: 22px;
  font-style: normal;
  font-weight: 700;
  line-height: normal;
  text-decoration: none;
  color: #C7DF6F;
  background: none;
}
.navigation-overlay > ul > li > ul li a span {
	border-bottom: solid 2px transparent;
}
.navigation-overlay > ul > li > ul li a:hover {
  text-decoration: none;
  color: #C7DF6F;
}
.navigation-overlay > ul > li > ul li a:focus {
  text-decoration: none;
  color: #C7DF6F;
}
.navigation-overlay > ul > li > ul li a:focus span {
	border-color: #C7DF6F;
}
.navigation-overlay > ul > li.current-menu-ancestor > ul li.current-menu-item a {
  text-decoration: none;
  color: #C7DF6F;
}
.navigation-overlay > ul > li.current-menu-ancestor > ul li.current-menu-item a span {
	border-color: transparent;
}
.navigation-overlay > ul > li.current-menu-ancestor > ul li.current-menu-item a:before {
  content: '\f105';
  font-family: 'Font Awesome 6 Pro';
  font-weight: 300;
  position: relative;
  top: -3px;
  margin-right: 5px;
  font-size: .7em;
}
.navigation-overlay > ul > li > a .fal  {
	display: none
}


body.behaved {
  overflow: hidden;
}
body.actived {
  overflow: hidden;
}
.page {
  background-color: #fff;
  position: relative;
  overflow: hidden;
}

@media screen and (min-width: 992px) {
  /*============== TOP ================*/
  .menu .navigation,
  .menu .mobile-nav,
  .navigation-overlay {
    display: none !important;
  }
}
@media screen and (max-width: 991px) {
	.menu > .container:after {
		width: calc(100% - 40px);
	}
	.menu > .container {
		padding: 20px 20px;
		align-items: center;
		gap: 20px;
	}
	.menu.home > .container {
		padding: 30px 50px;
	}
  .menu .collapse-menu { display: none }
  h1 > span, .h1-style > span { font-size: 16px }
  /*============== TOP ================*/
  body.actived {
    overflow: auto !important;
  }
  .menu {top: 0;padding: 0;}
  .menu.actived {
    background: #fff;
    padding: 5px 2vw;
}
  .menu.behaved,
  .menu.behaved:before {
    background-image: none;
    border: transparent;
    background: transparent;
  }
  .menu.behaved:after {
	background-color: transparent;
  }
  .menu > div .navigation {
  }
  .menu.actived > div .navigation {
    margin: 0;
    margin-right: 0px;
  }
  .menu .services-menu,
  .menu .bottom {
    display: none;
  }
  .menu .logo-nav {
  max-width: 175px;
  }
  .menu.actived .logo-nav {
  top: 4px;
  font-size: 49px;
  max-width: 105px;
  }
}
@media screen and (max-width: 650px) {
  .menu.home > .container {
		padding: 30px 20px;
	}

  /*============== TOP NAV ================*/
  /*.menu div > a > .txt {
    display: none;
  }*/
  .menu.behaved > div .navigation {
  	/* width: 24px; */
  	padding: 0;
  	margin-right: 0;
  }
  .navigation-overlay > ul > li > a {
  }
  .navigation-overlay > ul > li > ul > li a {
  }
  .menu .donate {
    top: 7px
  }
  .menu.actived .donate {
    top: 1px
  }
}
@media screen and (max-width: 910px) {
  .customize-support .menu.home, .customize-support .menu.actived{
    top: 32px;
  }
  .customize-support .navigation-overlay,
  .customize-support .menu.actived + .navigation-overlay {
    /* margin-top: 34px; */
  }
}
@media screen and (max-width: 782px) {
  .customize-support .menu.home, .customize-support .menu.actived{
    top: 46px;
  }
  .customize-support .navigation-overlay,
  .customize-support .menu.actived + .navigation-overlay {
    /* margin-top: 46px; */
  }
}
@media screen and (max-width: 600px) {
  .customize-support .menu.home {
    top: 46px;
  }
  .customize-support .menu.actived {
    top: 0;
  }
  .customize-support .navigation-overlay {
    /* margin-top: 46px; */
  }
  .customize-support .menu.actived + .navigation-overlay {
    margin-top: 0;
  } 
}
@media (max-width: 370px) {
	.menu .mobile-nav ul li:not(:last-child) {
		margin-right: 5px;
	}
}

/*===========================================================================================================*/
/*=========================================== PUMP COUNTER ====================================================*/
/*===========================================================================================================*/
.pump-counter {
  display: flex;
  justify-content: center;
  overflow: hidden;
  margin: 0 auto;
}
.counter-symbol {/* margin-right: 0.1em; */}
.digit {display: inline-block; min-width: .1em;}
.comma { display: inline-block; width: 0.45em;; }

/*===========================================================================================================*/
/*=========================================== BTN-LAYOUT ====================================================*/
/*===========================================================================================================*/
.btn-layout:after { 
	content: "\f061";
	color: #CAF042;
	font-size: 15px;
	font-family: "Font Awesome 6 Pro";
}
.btn-layout[target="_blank"]:after {
	content: '\f08e';
	font-size: 15px;
	font-family: "Font Awesome 6 Pro";
}
.btn-layout {
  cursor: pointer;
  display: inline-flex;
  align-items: center;
  gap: 7px;
  position: relative;
  font-size: 20px;
  font-style: normal;
  font-weight: 700;
  line-height: 150%; /* 30px */
  border-radius: 0;
  color: #fff;
  border: 1px solid #17875A;
  background: #17875A;
  backdrop-filter: blur(2px);
  padding: 7px 22px;
  -webkit-transition: all 0.3s;
  -moz-transition: all 0.3s;
  -o-transition: all 0.3s;
  transition: all 0.3s;
}
.btn-layout:hover,
.btn-layout:focus {
  color: #fff;
  gap: 14px;
  padding-right: 15px;
  background-color: #2A5236;
  border-color: #2A5236;
  text-decoration: none;
}
.btn-layout.white {
  color: #17875A;
  background-color: #fff;
  border: solid 1px #fff;
}
.btn-layout.white:hover,
.btn-layout.white:focus {
  color: #fff;
  background-color: #17875A;
  border-color: #17875A;
  text-decoration: none;
}
.btn-layout.hollow {
  color: #17875A;
  background-color: transparent;
  border-color: #17875A;
}
.btn-layout.hollow:hover,
.btn-layout.hollow:focus {
  color: #fff;
  background-color: #17875A;
  border-color: #17875A;
  text-decoration: none;
}
.btn-layout.white.hollow {
  color: #fff;
  background-color: transparent;
  border-color: #fff;
}
.btn-layout.white.hollow:hover,
.btn-layout.white.hollow:focus {
  color: #17875A;
  background-color: #fff;
  border-color: #fff;
  text-decoration: none;
}
.btn-layout.small {
  padding: 8px 15px;
  text-align: center;
}

.link-arrow {
	display: inline-block;
  cursor: pointer;
	position: relative;
	color: #17875A;
	background: none;
	border: none;
	font-size: 20px;
	font-style: normal;
	font-weight: 600;
	line-height: 150%; /* 30px */
	text-decoration: none!important;
	font-family: "indivisible", sans-serif;
}
.link-arrow:not(.reverse, .no-arrow):after {
	position: absolute;
	content: '\f061';
	font-size: 0.8em;
	font-family: "Font Awesome 6 Pro";
	margin-left: 7px;
	transition: all .3s ease;
}
.link-arrow:not(.reverse, .no-arrow):hover:after {
	margin-left: 14px;
}
.link-arrow.reverse {
	margin-left: 20px
}
.link-arrow.reverse:before {
	content: '\f060';
	font-size: 0.8em;
	font-family: "Font Awesome 6 Pro";
	right: 100%;
	margin-right: 7px;
	transition: all .3s ease;
	position: absolute;
}
.link-arrow.reverse:hover:before {
	margin-right: 14px;
}

/*===========================================================================================================*/
/*=========================================== FOMRS =========================================================*/
/*===========================================================================================================*/
.gfield {
  display: grid;
  grid-template-areas: "label" "validation";
}
.gfield_label {
  grid-area: label;
}
.validation_message {
  grid-area: validation;
}
.gform_wrapper.gravity-theme .gform_validation_errors>h2 {
	font-family: lektorat-text-variable, sans-serif;
}
.gform_wrapper.gravity-theme .gfield_validation_message, .gform_wrapper.gravity-theme .validation_message {
	padding: 10px!important;
	margin: 0 0 5px!important;
	line-height: 1.2em!important;
}
.gform_wrapper.gravity-theme .gf_progressbar_blues {
	border-radius: 0;
}
.gform_wrapper.gravity-theme .gf_progressbar_percentage.percentbar_blues {
    background: linear-gradient(270deg, #77a046 0, #9CD25B 100%);
    color: #fff;
	border-radius: 0;
}
.section-white .gform_wrapper {
	max-width: 922px;
	margin: auto;
}
.section-white .gform_wrapper form {
}
.gform_legacy_markup_wrapper {
	margin-top: 0!important;
}
label {
  display: block;
  text-align: left;
  color: #000!important;
  font-size: 20px!important;
  font-style: normal!important;
  font-weight: 600!important;
  line-height: normal!important;
  margin: 0;
  margin-bottom: 0;
  text-transform: unset;
}
input[type='text'], 
input[type='email'], 
input[type='tel'], 
input[type='url'], 
input[type='password'], 
input[type='number'], 
input[type='date'], 
textarea, 
select {
  width: 100%;
  height: 41px;
  border-radius: 0;
  padding: 0 17px;
  color: #000;
  font-size: 16px!important;
  border: 1px solid #2A5236;
  background: #FFF;
}
textarea {
  padding: 12px 17px;
  min-height: 170px;
  max-height: 170px;
}
.gform_wrapper .gform_footer input.button:after, 
.gform_wrapper .gform_footer input[type=submit]:after,
.gform_wrapper .gform_page_footer input.button:after, 
.gform_wrapper .gform_page_footer input[type=submit]:after {
	content: '';
	background: url(../img/arrow-right.svg);
	width: 34px;
	height: 21px;
}
.gform_wrapper .gform_footer {
	margin-top: 20px!important
}
.gform_wrapper .gform_footer input.button, 
.gform_wrapper .gform_footer input[type=submit],
.gform_wrapper .gform_page_footer input.button, 
.gform_wrapper .gform_page_footer input[type=submit] {
  cursor: pointer;
  display: inline-flex;
  align-items: center;
  gap: 7px;
  position: relative;
  font-size: 20px;
  font-style: normal;
  font-weight: 700;
  line-height: 150%; /* 30px */
  border-radius: 0;
  color: #fff;
  border: 1px solid #17875A;
  background: #17875A;
  backdrop-filter: blur(2px);
  padding: 7px 22px;
  padding-right: 32px;
  -webkit-transition: all 0.3s;
  -moz-transition: all 0.3s;
  -o-transition: all 0.3s;
  transition: all 0.3s;
	background-image: url(../img/arrow.svg);
	background-repeat: no-repeat;
	background-position: 90% center;
}
.gform_wrapper .gform_footer input.button:hover, 
.gform_wrapper .gform_footer input[type=submit]:hover, 
.gform_wrapper .gform_page_footer input.button:hover, 
.gform_wrapper .gform_page_footer input[type=submit]:hover {
  color: #fff;
  background-color: #2A5236;
  border-color: #2A5236;
  text-decoration: none;
	background-position: 95% center;
}
.gform_wrapper .gform_footer input.button:active, 
.gform_wrapper .gform_footer input.button:focus, 
.gform_wrapper .gform_footer input[type=submit]:active, 
.gform_wrapper .gform_footer input[type=submit]:focus, 
.gform_wrapper .gform_page_footer input.button:active, 
.gform_wrapper .gform_page_footer input.button:focus, 
.gform_wrapper .gform_page_footer input[type=submit]:active, 
.gform_wrapper .gform_page_footer input[type=submit]:focus {
	transform: scale(.9);
}

/*===========================================================================================================*/
/*=========================================== INTERIOR ======================================================*/
/*===========================================================================================================*/
.section-white {
  padding: 50px 0;
}
.section-white.grey {
  background: #F9F9F9;
}
.section-white > .container,
.section-white > .container-fluid {
  opacity: 1
}
.section-white > .container,
.section-white > .container-fluid {
  opacity: 1;
  animation: fadeIn 1.2s both;
}

/* Container */
.container,
.container-lg {
	margin: 0 auto;
	max-width: 1920px;
	padding: 0 20px;
}
.container {
	width: 100%;
	max-width: 1248px;
	gap: 0;
}
.container.container-1 {
	max-width: 1038px;
}
.container.container-2 {
	max-width: 934px;
}
@media (min-width: 1920px) {
	.container {
	    max-width: 1440px;
	}
}

/* Columns Even */
.columns-even.image-side img {
	border-radius: 10px;
	width: 100%;
	height: 100%;
    object-fit: cover;
}
.columns-even {
	display: flex;
	flex-direction: column;
	gap: 30px;
}
@media (min-width: 769px) { 
  .columns-even {
    flex-direction: row;
    justify-content: space-evenly;
  }
  .columns-even .col { 
    width: 100% 
  }
  .columns-even.x3 {
	flex-wrap: wrap;
  }
  .columns-even.x3 .col {
	width: calc(33.3333% - 20px);
  }
  .columns-even.image-side {
	  align-items: center;
  }
  .columns-even.image-side .col {
	  height: 100%;
  }
}
@media (max-width: 768px) {
	.columns-even.reverse {
	    display: flex;
		flex-direction: column-reverse;
	}
	.columns-even img {
		margin: 0 0 30px;
	}
}

/* Parallax Section */
.parallax-section {
	position: relative;
	overflow: hidden;
	padding: 150px 0;
	color: #fff;
	border-top: solid 1px #FFF;
	border-bottom: solid 1px #FFF;
}
.parallax-section .parallax {
	position: absolute;
	left: 0;
	top: 0;
	width: 100%;
	height: 100%;
	background-position: center;
	background-repeat: no-repeat;
	background-size: cover;
	background: #000;
}
.parallax-section .parallax img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	opacity: .4;
}
.parallax-section h2,
.parallax-section h3,
.parallax-section h4,
.parallax-section h5 { color: #fff }
.parallax-section > .container,
.parallax-section > .container-lg {
  position: relative;
  opacity: 1
}
.parallax-section.ready > .container,
.parallax-section.ready > .container-lg {
  opacity: 1;
  animation: fadeIn 1.2s both;
}

/*===========================================================================================================*/
/*=========================================== SECTIONS ======================================================*/
/*===========================================================================================================*/

/*=========================================== HERO ==============================================*/
.hero-section {
  max-width: 1920px;
  position: relative;
  min-height: 680px;
  margin: 0 auto 65px;
}
.hero-section img {
  position: absolute;
  z-index: 1;
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.hero-caption {
  display: block;
  position: absolute;
  z-index: 2;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  display: flex;
  justify-content: start;
  align-items: center;
}
.hero-section .container {
  opacity: 1
}
.hero-section.ready .container {
  opacity: 1;
  animation: fadeInUp 1.2s both;
}
.hero-section .hero-title {
  background: var(--Grass-Green---Primary, #17875A);
  backdrop-filter: blur(5px);
  padding: 24px 36px;
  color: #FFF;
  font-family: "Recife Text";
  font-size: 40px;
  font-style: normal;
  font-weight: 700;
  line-height: 48px; /* 120% */
  max-width: 532px;
  position: relative;
  z-index: 2;
  margin: 0;
}
.hero-section .hero-text {
  background: var(--Light-Sky-Blue---Secondary-2, #DFF2F1);
  backdrop-filter: blur(5px);
  padding: 21px;
  font-size: 18px;
  max-width: 546px;
  margin: -6px 0 0 23px;
}

@media (max-width: 1200px) {}
@media (max-width: 991px) {}
@media (max-width: 768px) {
	.hero-section {
		min-height: 0;
		margin: 0 0 40px
	}
	.hero-section img {
		height: 47vw;
		position: static;
	}
	.hero-caption {
		align-items: end;
		position: static;
		margin-top: -20px;
	}
	.hero-section .hero-title {
		background: #dff2f1;
		color: #2A5236;
		font-family: "Recife Text";
		font-size: 24px;
		font-style: normal;
		font-weight: 700;
		line-height: 30px; /* 125% */
		max-width: 100%;
		padding: 20px 20px 0;
		margin: 0 0 0;
	}
	.hero-section .hero-text {
		margin: 0;
		max-width: 100%;
		font-size: 16px;
		line-height: 1.5em;
		padding-top: 5px;
	}
}

/*=========================================== Feature ==============================================*/
.feature {
  padding: 75px 0;
}
.feature > .container-lg {
  padding: 0;
  opacity: 1
}
.feature.ready > .container-lg {
  opacity: 1;
  animation: fadeInUp 1.2s both;
}
.feature-grid {
	margin: 0 auto;
}
.feature-grid .columns-even {
	gap: 0;
}
.feature-grid.columns-even .feature-media {
	margin: 41px 0;
	position: relative;
	z-index: 2;
}
.feature-grid.columns-even .feature-media img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    margin: 0;
}
.feature-grid.columns-even .feature-content {
	background: rgba(176, 223, 219, 0.40);
	padding: 50px 96px;
	display: flex;
	flex-direction: column;
	justify-content: center;
	align-items: center;
}
@media (min-width: 992px) {
	.feature--right .feature-grid.columns-even .feature-content {
	   margin-left: -200px;
	   padding-left: 277px;
	}
	.feature--left .feature-grid.columns-even .feature-content {
	   margin-right: -200px;
	   padding-right: 277px;
	}
}
.feature-grid.columns-even .feature-content .section-title {
	color: #2A5236;
	font-family: "Recife Text";
	font-size: 40px;
	font-style: normal;
	font-weight: 700;
	line-height: 125%; /* 50px */
	margin: 0 0 14px;
	max-width: 442px;
}
.feature-grid.columns-even .feature-content p {
	margin: 0 0 29px;
	max-width: 442px;
}

@media (max-width: 1200px) {}
@media (max-width: 991px) {
	.feature {
	    padding: 22px 15px;
	    background-color: #dff2f1;
		margin: 0 0 55px
	}
	.feature-grid.columns-even .feature-content {
		background: none;
		padding: 0;
	}
	.feature-grid.columns-even .feature-content .section-title {
		font-size: 20px;
	}
	.feature--right {
	  margin-left: 45px
	}
	.feature--left {
		margin-right: 45px
	}
	.feature-grid.columns-even .feature-media,
	.feature-grid.columns-even .feature-media img {
		margin: 0;
	}
	.feature-grid.columns-even .feature-media img {
		width: calc(100% + 60px);
		max-width: none;
	}
	.feature--right .feature-grid.columns-even .feature-media img {
	  margin-left: -60px;
	}
	.feature--left .feature-grid.columns-even .feature-media img  {
		margin-right: -60px;
	}
}
@media (max-width: 768px) {}

/*=========================================== Participants ==============================================*/
.participants-section {
  padding: 75px 0;
}
.participants-section > .container {
  opacity: 1
}
.participants-section.ready > .container {
  opacity: 1;
  animation: fadeInUp 1.2s both;
}
.participants-section .section-kicker {
    margin: 0 0 69px;
}
.participants-section .logo-list {
    max-width: 1035px;
    margin: 0 auto;
    display: flex;
    justify-content: space-between;
    align-items: center;
}
.participants-section .logo-list .logo-item {}

@media (max-width: 1200px) {}
@media (max-width: 991px) {}
@media (max-width: 768px) {}

/*=========================================== Video ==============================================*/
.callout-video-section {
  padding: 95px 0 75px;
}
.callout-video-section > .container {
  opacity: 1
  max-width: 1334px;
}
.callout-video-section.ready > .container {
  opacity: 1;
  animation: fadeInUp 1.2s both;
}
.callout-grid {
    gap: 0;
}
.callout-grid .callout-card {
    background: #17875A;
    color: #fff;
    padding: 34px;
    padding-right: 148px;
    margin-right: -122px;
    max-width: 555px;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-content: start;
}
.callout-grid .callout-card .callout-title {
    margin: 0 0 25px;
}
.callout-grid .callout-card p {
    margin: 0 0 25px;
}
.callout-grid .video-card {
	margin: 27px 0;
}
.callout-grid .video-card a {
	position: relative;
	display: block;
	height: 100%;
	width: 100%;
}
.callout-grid .video-card a img:not(.play-icon) {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
	margin: 0;
}
.callout-grid .video-card a .play-icon {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	display: flex;
	justify-content: center;
	align-items: center;
	transition: all .3s ease;
}
.callout-grid .video-card a:hover .play-icon {
	opacity: .7;
}
.callout-grid .video-card a .play-icon img {
	width: 177px;
	height: auto;
}


@media (max-width: 1200px) {}
@media (max-width: 991px) {}
@media (max-width: 768px) {
	.callout-video-section {
	  padding: 45px 0;
	}
	.callout-video-section > .container {
		flex-direction: column-reverse;
		padding: 0;
	}
	.callout-grid .video-card {
		margin: 0 20px -20px;
	}
	.callout-grid .video-card a .play-icon img {
		margin: 0 0;
		width: 60px;
	}
	.callout-grid .callout-card {
		max-width: 100%;
		padding: 60px 20px 20px
	}
}

/*=========================================== News ==============================================*/
.news-section {
  padding: 75px 0;
}
.news-section > .container {
  opacity: 1
}
.news-section.ready > .container {
  opacity: 1;
  animation: fadeInUp 1.2s both;
}
.news-section .section-kicker {
  border-bottom: solid 1px #D5D5D5;
  padding: 0 0 13px;
  margin: 0 0 37px;
}
.news-section .news-grid {
    gap: 25px;
    margin: 0 0 34px;
}
.news-section .news-grid .news-card {
    background: #DFF2F1;
}
.news-section .news-grid .news-card .news-link {}
.news-section .news-grid .news-card .news-link .news-media {
    position: relative;
    display: block;
    height: 184px;
}
.news-section .news-grid .news-card .news-link .news-media img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}
.news-section .news-grid .news-card .news-link .news-meta {
    padding: 16px;
    display: flex;
    gap: 25px;
    justify-content: space-between;
	transition: all .3s ease;
}
.news-section .news-grid .news-card .news-link:hover .news-meta {
	gap: 30px;
	padding-right: 11px;
}
.news-section .news-grid .news-card .news-link .news-meta:after {
	content: "\f061";
	color: #C3DB6C;
	font-family: "Font Awesome 6 Pro";
	font-size: 24px;
	font-style: normal;
	font-weight: 900;
	line-height: 125%; /* 30px */
	background: #17875A;
	display: flex;
	min-width: 37px;
	min-height: 37px;
	max-width: 37px;
	max-height: 37px;
	flex-direction: column;
	justify-content: center;
	align-items: center;
}
.news-section .news-grid .news-card .news-link:hover .news-meta:after {
	color: #CAF042;
}
.news-section .news-grid .news-card .news-link .news-meta .news-title {
    color: #2A5236;
    font-size: 15px;
    font-style: normal;
    font-weight: 600;
    line-height: normal;
    margin: 0;
}

@media (max-width: 1200px) {}
@media (max-width: 991px) {}
@media (max-width: 768px) {}

/*=========================================== Page Title ==============================================*/
.page-title {}
.page-title > .container {
  opacity: 1
}
.page-title.ready > .container {
  opacity: 1;
  animation: fadeInUp 1.2s both;
}
@media (max-width: 1200px) {}
@media (max-width: 991px) {}
@media (max-width: 768px) {}

/*=========================================== Intro Banner ==============================================*/
.intro-banner {
    margin: 0 0 62px;
}
.intro-banner > .container {
  opacity: 1
}
.intro-banner.ready > .container {
  opacity: 1;
  animation: fadeInUp 1.2s both;
}
.intro-banner .banner-card {
	position: relative;
	background: var(--Grass-Green---Primary, #17875A);
	color: #fff;
	font-size: 36px;
	line-height: 1.2em;
	padding: 47px;
}
.intro-banner .banner-card .banner-caption p {
	max-width: 824px;
	margin: 0;
}
.intro-banner .banner-card img {
	position: absolute;
	right: 47px;
	top: 50%;
	max-height: 90%;
	transform: translateY(-50%);
}
@media (max-width: 1200px) {
	.intro-banner .banner-card {
		padding-right: 243px;
	}
}
@media (max-width: 991px) {}
@media (max-width: 768px) {
	.intro-banner .banner-card {
		padding: 20px;
	}
	.intro-banner .banner-card img {
		right: 20px;
		width: 47px;
		height: auto;
	}
	.intro-banner .banner-card {
		padding-right: 77px;
	}
}

/*=========================================== Section ==============================================*/
.section {}
.section > .container {
  opacity: 1
}
.section.ready > .container {
  opacity: 1;
  animation: fadeInUp 1.2s both;
}
.section .section-header {
	position: relative;
	max-width: 824px;
}
.section .section-header .tilted-square {
	position: absolute;
	top: 6px;
	right: 100%;
	margin-right: 20px;
	width: 30.369px;
	height: 30.369px;
	transform: rotate(-45deg);
	border: 2.895px solid #2A5236;
	background: #C3DB6C;
	color: #2A5236;
	text-align: center;
	font-size: 22px;
	font-style: normal;
	font-weight: 700;
	line-height: 26.031px; /* 118.322% */
	letter-spacing: -0.723px;
}
.section .section-header .tilted-square span {
	transform: rotate(45deg);
	display: block;
}
.section .fineprint {
	padding: 13px;
}
@media (max-width: 1200px) {}
@media (max-width: 991px) {}
@media (max-width: 768px) {
	.section .section-header .tilted-square {
		top: 6px;
		margin-right: 10px;
		width: 20px;
		height: 20px;
		font-size: 14px;
		line-height: 1.3em;
		letter-spacing: 1px;
	}
}

/*=========================================== Award Components ==============================================*/
.award-components {
    margin: 0 0 110px;
}
.award-components > .container {
  opacity: 1
}
.award-components.ready > .container {
  opacity: 1;
  animation: fadeInUp 1.2s both;
}
.award-components p {
	max-width: 824px;
	margin: 0 0 19px;
}
@media (max-width: 1200px) {}
@media (max-width: 991px) {}
@media (max-width: 768px) {}

/*=========================================== Table Wrap ==============================================*/
.table-wrap {
	margin: 0 0 0;
}
.table-wrap table {
	border-collapse: collapse;
	text-align: center;
	font-size: 18px;
	width: 100%;
	max-width: 828px;
}
.table-wrap table thead {}
.table-wrap table thead tr {
	background: #B0DFDB;
	text-align: center;
}
.table-wrap table thead tr th {}
.table-wrap table tbody {}
.table-wrap table tbody tr {
	text-align: center;
}
.table-wrap table tbody tr:nth-child(even) {
	background-color: #EAEEEB;
}
.table-wrap table tbody tr td {}
@media (max-width: 1200px) {}
@media (max-width: 991px) {
	.table-wrap table td,
	.table-wrap table th {
		font-size: 12px
	}
}
@media (max-width: 768px) {}

/*=========================================== Award ==============================================*/
.award {
    max-width: 828px;
    background: rgba(176, 223, 219, 0.40);
    padding: 29px 33px 29px 25px;
    gap: 60px;
}
.award .col:nth-child(2) {
	background: #fff;
	padding: 17px 21px;
}
.award h2 {
	color: var(--Forest-Green---Primary, #2A5236);
	font-family: "Recife Text";
	font-size: 24px;
	font-style: normal;
	font-weight: 700;
	line-height: 125%; /* 30px */
	margin: 0 0 12px;
}
.award p {
	margin: 0;
}
.award .award-row {
	font-weight: 700;
	margin: 0 0 10px
}
.award .award-label.space {
	margin-left: 14px;
}
.award .award-row:nth-last-child(3),
.award .award-row:last-child {
	margin: 0;
}
.award hr {
	margin: 6px 0;
}
.award .total-amount {
	color: var(--Grass-Green---Primary, #17875A);
	font-size: 24px;
	font-style: normal;
	font-weight: 700;
	line-height: 24px; /* 100% */
}
@media (max-width: 1200px) {}
@media (max-width: 991px) {}
@media (max-width: 768px) {
	.award .award-row {
		font-size: 12px;
		line-height: 1.2em;
		letter-spacing: 0;
	}
	.award .total-amount {
		font-size: 16px
	}
}

/*=========================================== Classroom Growth ==============================================*/
.classroom-growth {
	margin: 0 0 99px;
	padding: 0 50px
}
.classroom-growth .award .award-row {
	display: flex;
	justify-content: space-between;
}
@media (max-width: 1200px) {}
@media (max-width: 991px) {
	.classroom-growth {
		padding: 0 0 0 50px
	}
}
@media (max-width: 768px) {
	.classroom-growth {
		padding: 0 0 0 21px
	}
}

/*=========================================== Classroom Growth ==============================================*/
.individual-advancement {
	margin: 0 0 99px;
	padding: 0 50px
}
.individual-advancement .award .total-amount {
	margin-left: 14px;
}
@media (max-width: 1200px) {}
@media (max-width: 991px) {
	.individual-advancement {
		padding: 0 0 0 50px
	}
}
@media (max-width: 768px) {
	.individual-advancement {
		padding: 0 0 0 21px
	}
}

/*=========================================== Participants Map ==============================================*/
.participants-map {}
.participants-map > .container {
  opacity: 1
}
.participants-map.ready > .container {
  opacity: 1;
  animation: fadeInUp 1.2s both;
}
.participants-map h2 {
	margin: 0 0 49px
}
.map-grid {
  display: grid;
  grid-template-columns: 201px 1fr;
  align-items: center;
  gap: 0;
  position: relative;
}
.stat-cards {
  position: relative;
  display: grid;
  gap: 22px;
  z-index: 2; /* sit above the map frame */
}
.stat-card {
  color: #17875A;
  background: #fff;
  border: 4px solid #244c3b;
  padding: 28px 24px 22px;
  text-align: center;
  min-width: 201px;
  min-height: 189px;
  display: grid;
  place-items: center;
  gap: 6px;
}
.stat-card .stat-value {
	font-size: 96px;
	font-style: normal;
	font-weight: 700;
	line-height: .7em; /* 120px */
}
.stat-card .stat-label {
	text-transform: uppercase;
	font-size: 20px;
	font-style: normal;
	font-weight: 700;
	line-height: 125%; /* 25px */
	letter-spacing: 2px;
}
.map-figure {
  position: relative;
  padding: clamp(16px, 2vw, 28px);
  background: #ffffff;
  border: 10px solid #2A5236; /* thick green frame */
  min-height: 380px;          /* room for the SVG map include */
  display: grid;
  place-items: center;
}
@media (min-width: 769px) {
	.map-figure {
	  margin-left: -97px;
	}
}
.map-figure svg,
.map-figure img {
  max-width: 100%;
  height: auto;
  display: block;
}
@media (max-width: 900px) {
  .map-grid {
    grid-template-columns: 1fr;
    gap: 20px;
  }
  .stat-cards {
    grid-auto-flow: column;
    grid-auto-columns: 1fr;
    justify-content: start;
  }
}
@media (max-width: 768px) {
	.stat-card .stat-value {
		font-size: 36px
	}
	.stat-card .stat-label {
		font-size: 14px
	}
}
@media (max-width: 560px) {
  .stat-card {
    min-height: 120px;
    padding: 20px;
    min-width: auto;
  }
  .stat-value { font-size: clamp(38px, 10vw, 56px); }
}


/*=========================================== Counties Accordion ==============================================*/
.counties-accordion {
    margin: 110px 0 187px;
}
.counties-accordion > .container {
  opacity: 1
}
.counties-accordion.ready > .container {
  opacity: 1;
  animation: fadeInUp 1.2s both;
}
.sr-only {
  position: absolute !important;
  width: 1px;
  height: 1px;
  overflow: hidden;
  clip: rect(0 0 0 0);
  white-space: nowrap;
  clip-path: inset(50%);
}
.accordion-item {
  margin: 14px 0;
}
.accordion-trigger {
  list-style: none;
  cursor: pointer;
  display: block;
  position: relative;
  padding: 16px 60px 16px 14px;
  font-weight: 700;
  color: #000;
  user-select: none;
  border: 2px solid #17875A;
  background: rgba(176, 223, 219, 0.40);
  font-size: 20px;
  font-style: normal;
  font-weight: 600;
   /* 240% */
}
.accordion-trigger::after {
  content: "";
  position: absolute;
  inset: 8px 8px auto auto;
  width: 36px;
  height: 36px;
  border: 4px solid #17875A;
  background: #17875A;
}
.accordion-trigger::before {
  content: "+";
  position: absolute;
  z-index: 2;
  width: 36px;
  height: 36px;
  color: #C3DB6C;
  font-size: 48px;
  font-style: normal;
  font-weight: 700;
  line-height: 48px; /* 100% */
  right: 12px;
  top: 50%;
  transform: translateY(-53%);
  display: flex;
  justify-content: center;
  align-items: center;
}
.accordion-item[open] .accordion-trigger::before {
  content: "-";
}
.accordion-panel {
  border: 2px solid #178458;
  border-top: none;
  padding: 28px 28px 36px;
  background: #fff;
  color: #2A5236;
}
.accordion-panel > * + * {
  margin-top: 18px;
}
.accordion-panel p {
  margin: 0;
}
.accordion-panel p strong {
  display: block;
}
.accordion-panel .list-unstyled {
  list-style: none;
  padding-left: 0;
}
.accordion-panel .list-unstyled li {
  margin: 6px 0;
  line-height: 1.55;
}
.accordion-item[open] .accordion-panel {
  padding: 40px 7.5vw;
}
.accordion-trigger:hover {
  filter: brightness(0.98);
}
.accordion-trigger:focus-visible {
  outline: 3px dashed #17855b;
  outline-offset: 3px;
}
@media (max-width: 1200px) {}
@media (max-width: 991px) {}
@media (max-width: 768px) {}

/*=========================================== Photo Break ==============================================*/
.photo-break {}
.photo-break > .container {
  opacity: 1
}
.photo-break.ready > .container {
  opacity: 1;
  animation: fadeInUp 1.2s both;
}
.photo-break .photo-figure {
  margin: 0;
  position: relative;
  padding-bottom: 42%;
}
.photo-break .photo-figure img {
  position: absolute;
  width: 100%;
  height: 100%;
  display: block;
  object-fit: cover;
}
@media (max-width: 1200px) {}
@media (max-width: 991px) {}
@media (max-width: 768px) {}

/*=========================================== Roster Rules ==============================================*/
.roster-rules {
    margin: 171px 0 161px;
}
.roster-rules > .container {
  opacity: 1
}
.roster-rules.ready > .container {
  opacity: 1;
  animation: fadeInUp 1.2s both;
}
.roster-rules .rules-card {
	background: #DFF2F1;
	padding: 56px 0 100px;
}
.roster-rules .rules-card h2 {
	margin: 0 0 54px 30px;
}
.roster-rules .rules-card ul {
	list-style: none;
    padding-left: 0;
	margin: 0;
}
.roster-rules .rules-card ul li {
	position: relative;
    padding-left: 28px;
}
.roster-rules .rules-card ul li::before {
  content: "";
  position: absolute;
  left: 0;
  top: .4em;
  width: 12px;
  height: 12px;
  background: url('../img/list-style.svg') no-repeat center / contain;
  background-size: 12px;
}
@media (max-width: 1200px) {}
@media (max-width: 991px) {}
@media (max-width: 768px) {}

/*=========================================== Hero Image ==============================================*/
.hero-image {
    margin: 0 0 100px;
}
.hero-image > .container {
  opacity: 1
}
.hero-image.ready > .container {
  opacity: 1;
  animation: fadeInUp 1.2s both;
}
.hero-image .lede {
  font-size: 26px;
  line-height: 1.5em;
  max-width: 824px;
  margin-bottom: 49px;
}
.media-figure {
  margin: 0;
  position: relative;
  padding-bottom: 42%;
}
.media-figure img {
  position: absolute;
  width: 100%;
  height: 100%;
  display: block;
  object-fit: cover;
}
@media (max-width: 1200px) {}
@media (max-width: 991px) {}
@media (max-width: 768px) {}

/*=========================================== KPI Banner ==============================================*/
.kpi-banner {margin: 0 0 84px;}
.kpi-banner > .container {
  opacity: 1
}
.kpi-banner.ready > .container {
  opacity: 1;
  animation: fadeInUp 1.2s both;
}
.kpi-eyebrow {
	padding: 7px 8px;
	display: inline-block;
	color: #2A5236;
	font-weight: 700;
	line-height: 1em;
	text-transform: uppercase;
	margin-bottom: 10px;
	background: #C3DB6C;
	margin: 0 0 30px;
}
.kpi-headline {
  margin-bottom: 12px;
}
.kpi-subheadline {
}
@media (max-width: 1200px) {}
@media (max-width: 991px) {}
@media (max-width: 768px) {}

/*=========================================== Impact Explainer ==============================================*/
.impact-explainer {
    background: rgba(176, 223, 219, 0.40);
    margin: 0 0 107px;
}
/*
.impact-explainer > .container {
  opacity: 0;
}
.impact-explainer.ready > .container {
  opacity: 1;
  animation: fadeInUp 1.2s both;
}*/
.impact-explainer .panel {
  padding: 59px 0;
  color: #2A5236;
}
.panel-title {
  margin-bottom: 70px;
}
.icon-block {
  display: flex;
  align-items: flex-start;
  gap: 20px;
}
.icon-block:not(:last-child) {
  margin-bottom: 110px;
}
.icon-block__icon img {
  min-width: 71px;
  height: auto;
  display: block;
}
.icon-block__title {
  margin-bottom: 23px;
}
@media (max-width: 1200px) {}
@media (max-width: 991px) {}
@media (max-width: 768px) {
	.icon-block__icon img {
		min-width: 20px;
		margin-top: 7px
	}
}

/*=========================================== By The Numbers ==============================================*/
.by-the-numbers {
	margin: 0 0 110px;
}
.by-the-numbers > .container {
  opacity: 1
}
.by-the-numbers.ready > .container {
  opacity: 1;
  animation: fadeInUp 1.2s both;
}
.icon-block__content p {
  margin-bottom: 25px;
}
.by-the-numbers h2 {margin: 0 0 61px;}
.by-the-numbers h3 {margin: 0 0 41px;}
.sub-kicker {
  font-size: 1rem;
  color: #666;
  margin-bottom: 30px;
}
.stats-grid {
  display: flex;
  gap: 0;
  flex-wrap: wrap;
}
.stat-tile {
  width: 50%;
  padding: 58px 45px;
  text-align: center;
}
.stat-tile:nth-child(1) {
	background-color: #c3db6c;
	  color: #2a5236;
}
.stat-tile:nth-child(2) {
	background-color: #2a5236;
	  color: #fff;
}
.stat-tile:nth-child(3) {
	background-color: #b0dfdb;
	  color: #2a5236;
}
.stat-tile:nth-child(4) {
	background-color: #17875a;
	  color: #fff;
}
.stat-value {
	font-size: 96px;
	font-style: normal;
	font-weight: 900;
	line-height: 125%; /* 120px */
	letter-spacing: -1.496px;
	text-transform: uppercase;
}
.stat-label {
	display: block;
	font-size: 32px;
	font-style: normal;
	font-weight: 700;
	line-height: normal;
	text-transform: uppercase;
	text-align: center;
}
@media (max-width: 1040px) {
	.stat-tile {
		padding: 4vw;
	}
	.stat-value {
		font-size: 10vw;
	}
	.stat-label {
		font-size: 2.8vw;
	}
}
@media (max-width: 991px) {}
@media (max-width: 768px) {
	.stat-tile {
		width: 100%;
		padding: 6vw;
	}
	.stat-value {
		font-size: 14vw;
	}
	.stat-label {
		font-size: 4.8vw;
	}
}

/*=========================================== Teacher Spolight ==============================================*/
.teacher-spotlight {
    margin: 0 0 184px;
}
.teacher-spotlight > .container {
  opacity: 1
}
.teacher-spotlight.ready > .container {
  opacity: 1;
  animation: fadeInUp 1.2s both;
}
.teacher-spotlight .spotlight-grid {
  display: flex;
  flex-wrap: wrap;
  gap: 30px;
  align-items: center;
}
.teacher-spotlight img {
  width: 100%;
  height: auto;
  display: block;
  border-radius: 0px;
}
.teacher-spotlight .badge {
	padding: 7px 8px;
	display: inline-block;
	color: #2A5236;
	font-weight: 700;
	line-height: 1em;
	text-transform: uppercase;
	margin-bottom: 10px;
	background: #C3DB6C;
	margin: 0 0 30px;
}
.spotlight-name {
	color: #2A5236;
	font-family: "Recife Text";
	font-size: 48px;
	font-style: normal;
	font-weight: 700;
	line-height: 1.2em; /* 72px */
	margin: 0 0 68px;
}
.spotlight-quote {
	position: relative;
	color: #2A5236;";
	font-size: 20px;
	font-style: normal;
	font-weight: 400;
	line-height: 150%; /* 30px */
}
.spotlight-quote:before {
	content: '“';
	color: #17875A;
	font-family: "Recife Text";
	font-size: 100px;
	font-style: normal;
	font-weight: 700;
	line-height: .01em;
	position: absolute;
	top: 18px;
	right: 100%;
	margin-right: 12px;
}
.spotlight-quote p {
  margin-bottom: 15px;
}
@media (max-width: 1200px) {}
@media (max-width: 991px) {
	.spotlight-quote:before {
		font-size: 60px
	}
	.teacher-spotlight .feature-grid.columns-even .feature-content {
		padding-left: 40px;
	}
}
@media (max-width: 768px) {}

/*=========================================== Pull Quote  ==============================================*/
.pull-quote {
	margin: 61px 0;
	padding: 54px 0 28px;
	background: rgba(176, 223, 219, 0.40);
}
.pull-quote > .container {
  opacity: 1
}
.pull-quote.ready > .container {
  opacity: 1;
  animation: fadeInUp 1.2s both;
}
.pull-quote .quote-card {
  position: relative;
}
.pull-quote .quote-card:before {
	content: '“';
	color: #17875A;
	font-family: "Recife Text";
	font-size: 100px;
	font-style: normal;
	font-weight: 700;
	line-height: .01em;
	position: absolute;
	top: 18px;
	right: 100%;
	margin-right: 12px;
}
.quote-card p {
	color: #2A5236;
	font-family: "Recife Text";
	font-size: 36px;
	font-style: normal;
	font-weight: 700;
	line-height: 150%; /* 54px */
	margin-bottom: 12px;
}
.quote-footer {
	color: #000;
	text-align: right;
	font-size: 20px;
	font-style: normal;
	font-weight: 400;
	line-height: 125%; /* 25px */
}

@media (max-width: 1050px) {
	.pull-quote .quote-card {
	  margin-left: 58px;
	}
}
@media (max-width: 991px) {}
@media (max-width: 768px) {
	.pull-quote .quote-card {
	  margin-left: 37px;
	}
	.pull-quote .quote-card:before {
		font-size: 60px;
	}
	.quote-card p {
		font-size: 22px;
	}
}

/*=========================================== Milestones ==============================================*/
.milestones {
	margin: 160px 0 133px;
}
.milestones > .container {
  opacity: 1
}
.milestones.ready > .container {
  opacity: 1;
  animation: fadeInUp 1.2s both;
}
.milestones h2 {
	margin: 0 0 29px;
}
.milestones-header {
  margin-bottom: 60px;
  text-align: center;
}
.milestone-icon {
  display: flex;
	align-items: center;
	gap: 27px;
}
.milestone-number {
  display: flex;
  justify-content: center;
  align-items: center;
  color: #fff;
  font-size: 36px;
  font-style: normal;
  font-weight: 700;
  line-height: 2em;
  letter-spacing: -1px;
  padding-top: 9px;
  min-width: 156px;
  min-height: 149px;
  background: url(../img/star.svg);
}

.milestone-label {
  display: block;
	color: #000;
	font-family: "Recife Text";
	font-size: 24px;
	font-style: normal;
	font-weight: 700;
	line-height: 125%; /* 30px */
}
.milestone-list {
  display: grid;
  gap: 30px;
}
.milestone-year {
	
}
.year-label {
  padding: 10px 11px;
  display: inline-block;
  background: #C3DB6C;
  margin: 0;
  color: #2A5236;
  text-align: center;
  font-size: 20px;
  font-style: normal;
  font-weight: 700;
  line-height: 1em; /* 30px */
  text-transform: uppercase;
}
.bullet-list {
  border-top: solid 1px #000;
  padding: 27px 38px;
  margin: 0;
  list-style: none;
}
.bullet-list li {
  position: relative;
  padding-left: 28px;
	margin: 0 0 24px
}
.bullet-list li::before {
  content: "";
  position: absolute;
  left: 0;
  top: .4em;
  width: 12px;
  height: 12px;
  background: url('../img/list-style.svg') no-repeat center / contain;
  background-size: 12px;
}
@media (max-width: 1200px) {}
@media (max-width: 991px) {}
@media (max-width: 768px) {
	.milestone-icon {
		flex-direction: column
	}
	.bullet-list {
	  padding: 27px 8px;
	}
}


/*=========================================== Beemok Education ==============================================*/
.beemok-education {
    margin: 0 0 148px;
}
.beemok-education > .container {
  opacity: 1;
}
.beemok-education.ready > .container {
  opacity: 1;
  animation: fadeInUp 1.2s both;
}
.beemok-education-card {
    padding: 129px 20px 158px;
    background: #DFF2F1;
    color: #2A5236;
}
.beemok-education h2 {margin: 0 0 19px;}
.beemok-education p {}
.logo-list {
  padding: 0;
  margin: 90px 0 0;
  display: flex;
  gap: 30px;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
}
.logo-list li {
  list-style: none;
  margin: 0;
  vertical-align: middle;
}
.logo-list img {
  display: block;
  max-width: 373px;
  max-height: 165px;
}
@media (max-width: 1200px) {
	.logo-list img {
	  max-height: 100px
	}
}
@media (max-width: 991px) {
	.logo-list {
		flex-direction: column;
		gap: 49px;
		margin: 40px 0 0;
	}
}
@media (max-width: 768px) {
	.beemok-education-card {
	    padding: 35px 20px 80px;
	    color: #2A5236;
	}
	.logo-list img {
	  max-height: 200px;
	  max-width: 250px;
	}
}


/*===========================================================================================================*/
/*=========================================== FOOTER ========================================================*/
/*===========================================================================================================*/
.footer {
  padding: 0;
  text-align: center;
}
.footer .container {
  opacity: 1;
  max-width: 1050px;
}
.footer.ready .container {
  opacity: 1;
  animation: fadeInUp 1.2s both;
}
.footer .footer-top {
    background: #2A5236;
    padding: 67px 0 74px;
}
.footer .footer-top .footer-grid {
    display: flex;
    justify-content: space-between;
    align-items: center;
}
.footer .footer-top .footer-grid .footer-brand {}
.footer .footer-top .footer-grid .footer-brand .logo {}
.footer .footer-top .footer-grid .footer-brand .logo img {}
.footer .footer-top .footer-grid .navigations {}
.footer .footer-top .footer-grid .navigations ul {
    margin: 0;
}
.footer .footer-top .footer-grid .navigations ul li:not(:last-child) {
	margin-right: 25px;
}
.footer .footer-top .footer-grid .navigations ul li {
    vertical-align: middle;
}
.footer .footer-top .footer-grid .navigations ul li a {
	position: relative;
	display: block;
    color: #fff;
}
.footer .footer-top .footer-grid .navigations ul li a:after {
  content: '';
  position: absolute;
  top: 100%;
  left: unset;
  right: 0;
  width: 0;
  height: 2px;
  background-color: transparent;
  transition: all .3s ease;
}
.footer .footer-top .footer-grid .navigations ul li a:hover:after,
.footer .footer-top .footer-grid .navigations ul li a:focus:after {
 left: 0;
 right: unset;
 width: 100%;
 background-color: #fff
}
.footer .footer-top .footer-grid .navigations ul li:last-child {}
.footer .footer-top .footer-grid .navigations ul li:last-child a {}
.footer .footer-top .footer-grid .navigations ul li:last-child a:after {
	position: static;
	content: "\f061";
	color: #CAF042;
	font-size: 15px;
	width: auto;
	height: auto;
	font-family: "Font Awesome 6 Pro";
	background: none!important
}
.footer .footer-top .footer-grid .navigations ul li:last-child a[target="_blank"]:after {
	content: '\f08e';
	font-size: 15px;
	font-family: "Font Awesome 6 Pro";
}
.footer .footer-top .footer-grid .navigations ul li:last-child a {
  display: inline-flex;
  align-items: center;
  gap: 7px;
  position: relative;
  font-size: 20px;
  font-style: normal;
  font-weight: 700;
  line-height: 150%; /* 30px */
  border-radius: 0;
  color: #fff;
  border: 1px solid #17875A;
  background: #17875A;
  backdrop-filter: blur(2px);
  padding: 7px 22px;
  -webkit-transition: all 0.3s;
  -moz-transition: all 0.3s;
  -o-transition: all 0.3s;
  transition: all 0.3s;
}
.footer .footer-top .footer-grid .navigations ul li:last-child a:hover,
.footer .footer-top .footer-grid .navigations ul li:last-child a:focus {
  color: #fff;
  gap: 14px;
  padding-right: 15px;
  background-color: #1e3e28;
  border-color: #1e3e28;
  text-decoration: none;
}
.footer .footer-bottom {
    padding: 44px 0;
}
.footer .footer-bottom .copyright {
    margin: 0;
    font-size: 12px;
}
.footer .footer-bottom .copyright a {
    color: #000;
    text-decoration: underline;
    margin-left: 29px;
}
.footer .footer-bottom .copyright a:hover {
	text-decoration: none;
}

@media (max-width: 1400px) {}
@media (max-width: 991px) {
	.footer .footer-top .footer-grid {
		flex-direction: column;
		gap: 49px
	}
}
@media (max-width: 768px) {
	h1, .h1-style {
		font-size: 32px;
	}
	h2 {
	    font-size: 28px;
	}
	h3 {
    font-size: 22px;
}
	h4 {}
	p, li, td, th, label {
	    font-size: 16px;
	    line-height: 1.4em;
	}
	.btn-layout {
	    font-size: 18px;
	}

	.footer .footer-top .footer-grid .navigations ul li {
		display: block;
		margin: 0 0 27px!important;
	}
	.footer .footer-bottom .copyright a {
		margin: 20px 0 0;
		display: block;
	}
}
@media (max-width: 560px) {}



/*===========================================================================================================*/
/*=========================================== KEY FRAMES ====================================================*/
/*===========================================================================================================
@keyframes fadeIn {
	from {
		opacity: 0;
	}
	to {
		opacity: 1;
	}
}
@keyframes fadeOut {
	from {
		opacity: 1;
	}
	to {
		opacity: 0;
	}
}
@keyframes fadeInDown {
	from {
		opacity: 0;
		transform: translateY(-20%);
		-webkit-transform: translateY(-20%);
		-moz-webkit-transform: translateY(-20%);
		-o-webkit-transform: translateY(-20%);
	}
	to {
		opacity: 1;
		transform: translateY(0);
		-webkit-transform: translateY(0);
		-moz-transform: translateY(0);
		-o-transform: translateY(0);
	}
}
@keyframes fadeInUp {
	from {
		opacity: 0;
		transform: translateY(20%);
		-webkit-transform: translateY(20%);
		-moz-webkit-transform: translateY(20%);
		-o-webkit-transform: translateY(20%);
	}
	to {
		opacity: 1;
		transform: translateY(0);
		-webkit-transform: translateY(0);
		-moz-transform: translateY(0);
		-o-transform: translateY(0);
	}
}
@keyframes fadeInLeft {
	from {
		opacity: 0;
		transform: translateX(-20%);
	}
	to {
		opacity: 1;
		transform: translateX(0);
		-webk9t-transform: translateX(0);
		-moz-transform: translateX(0);
		-o-transform: translateX(0);
	}
}
@keyframes fadeInRight {
	from {
		opacity: 0;
		transform: translateX(20%);
		-webkit-transform: translateX(20%);
		-moz-transform: translateX(20%);
		-o-transform: translateX(20%);
	}
	to {
		opacity: 1;
		transform: translateX(0);
		-webk9t-transform: translateX(0);
		-moz-transform: translateX(0);
		-o-transform: translateX(0);
	}
}*/
