body {
  margin: 0;
  padding: 0;
  font-family: 'Titillium Web', system-ui;
  font-size: 1rem;
  text-rendering: optimizeLegibility;
  background-color: #ddd;
  overflow-x: hidden;
}

body .is-layout-constrained>*+* {
  margin-block-start: 0 !important;
}

::-webkit-scrollbar {
  width: 6px;
  height: 6px;
  background-color: transparent;
}

::-webkit-scrollbar-track {
  -webkit-box-shadow: inset 0 0 6px rgba(26, 78, 46, 0.1);
  background-color: transparent;
  border-radius: 10px;
}

::-webkit-scrollbar-thumb {
  border-radius: 10px;
  -webkit-box-shadow: inset 0 0 6px rgba(26, 78, 46, 0.1);
  background: #00bf63;
}


nav {
  position: sticky;
  top: 0;
  background-color: #423126;
  z-index: 3;
}

nav ul {
  margin: 0 auto;
  padding: 0;
  max-width: 800px;
  list-style: none;
  display: flex;
  justify-content: space-between;
  column-gap: 15px;
}

nav ul li {
  display: inline;
}

nav ul li a,
.schbag-post-body nav ul li a {
  color: #fff;
  text-decoration: none;
  font-size: .9rem;
  font-weight: normal;
  text-transform: uppercase;
  padding: 3px 0;
  transition: font-weight 0.3s ease;
}

nav ul li a.active {
  font-weight: bold;
  color: #00bf63;
}

.progress-container {
  position: fixed;
  top: 24px;
  width: 100%;
  height: 3px;
  background-color: #ddd;
  z-index: 4;
}

.progress-bar {
  height: 3px;
  width: 0;
  background-color: #00bf63;
}

.header {
  position: absolute;
  width: 100%;
  z-index: 2;
  padding: 20px 15px;
}

.logo {
  display: grid;
  grid-template-columns: min-content 1fr min-content;
  align-items: center;
  justify-items: end;
  max-width: 1400px;
  margin: 0 auto;
  opacity: .8;
}

.logo img {
  max-width: 128px;
}

.logo-btm {
  margin: 0 auto;
  text-align: center;
  padding-top: 30vh;
  opacity: .8;
}

.content-wrapper {
  max-width: 1200px;
  margin-left: auto;
  margin-right: auto;
}

section {
  position: relative;
  min-height: 100%;
  padding-top: 100vh;
}

.bg-wrap {
  position: absolute;
  top: 0;
  left: 0;
  width: 100vw;
  height: 100vh;
  z-index: 1;
}

.bg {
  position: absolute;
  top: 0;
  left: 0;
  width: 100vw;
  height: 100vh;
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
  /*overflow-x: hidden*/
  overflow: hidden;
}

.scroll-box {
  display: block;
  position: relative;
  height: 100vh;
  z-index: 2;
}

.content-box {
  margin-left: 40px;
  padding: .8rem .9rem 1.25rem;
  color: #fff;
  background-color: #127d49;
  max-width: 400px;
  opacity: .85;
}

.content-box p {
  margin: 0;
  font-size: 1.35rem;
  line-height: 1.8rem;
}

.content-box p b {
  font-size: 1.5rem;
}

.content-box-transparent {
  margin-left: auto;
  margin-right: auto;
  padding: .6rem .9rem 1.25rem;
  background-color: transparent;
  color: #fff;
  max-width: 700px;
  font-size: 1.35rem;
  line-height: 1.8rem;
}

.heading {
  font-size: 1.4rem !important;
  font-weight: bold;
  padding-bottom: .7rem;
}

.heading2 {
  font-size: 2rem !important;
  font-weight: bold;
  padding-bottom: .7rem;
}

.sub-heading {
  color: #1e5168;
  font-size: 2rem;
  line-height: 2.2rem;
  padding: 0 1rem 10px 1rem;
}

p.date {
  padding-top: 40px;
  font-size: 1rem !important;
}

.quote-title {
  padding: 1rem 1rem 1rem 1rem;
  font-weight: bold;
}

.quote {
  padding: 0 1rem .8rem 1rem;
  font-size: 1.6rem !important;
  font-weight: bold;
  line-height: 2rem !important;
}

p.cite {
  padding: 0 1rem 0 1rem;
  font-size: 1rem;
  line-height: 1.3rem;
}

.flex-center {
  min-height: 100vh;
  padding: 2rem;
  display: flex;
  justify-content: center;
  align-items: center;
  flex-wrap: wrap;
  color: #fff;
  margin-left: auto;
  margin-right: auto;
  font-size: 1.35rem;
}

.flex-static-content {
  z-index: 2;
  overflow-y: auto;
}

.full-screen-video,
.full-screen-video2 {
  height: 100%;
  width: 100%;
  object-fit: cover;
}

.imagemap-container {
  width: 100%;
}

.imagemap-instructions {
  line-height: 1.2rem;
}

.imagemap-wrapper {
  width: 100%;
  overflow-x: scroll;
  -webkit-scrollbar-track: #818d92;
  scrollbar-color: #818d92 #818d92;
}

.imagemap-instructions {
  padding-top: 1rem;
  font-size: 1rem;
}

svg#greensch {
  display: block;
  width: 100%;
  max-width: 100%;
  height: auto;
}

/*g[data-toggle="tooltip"] {
  cursor: pointer;
}*/

.video-overlay {
  position: absolute;
  top: 50%;
  left: 50%;
  margin: 0;
  width: 75%;
  transform: translate(-50%, -50%);
  z-index: 2;
  font-size: 2.6rem;
  line-height: 1.2;
  color: #fff;
  text-align: center;
  /*text-shadow: 0 0 20px rgb(0 0 0 / 30%);*/
  text-shadow: 1px 1px 2px rgba(0, 0, 0, .2);
}

.video-overlay h1 {
  font-size: clamp(50px, 3.3rem + ((1vw - 7.68px) * 0.721), 64px);
  font-weight: 700;
  line-height: 1.2;
}

.video-overlay p {
  font-size: 1.4rem;
  line-height: 1.9rem;
  letter-spacing: .3px;
  max-width: 800px;
  margin: 0 auto;
  text-align: center;
}

.scroll-indicator {
  margin-top: 10vh;
  font-size: 0.9rem;
}

.fa-computer-mouse {
  font-size: 24px;
  margin-bottom: 8px;
}

.box-yellow {
  font-size: 1.1rem;
  text-align: center;
  padding: 20px;
  border: 4px solid #19b999;
  border-radius: 20px;
  background-color: #f6f6e9;
  color: #127d49;
}

/* Carousel & Swiper */
.carousel-bg {
  background-color: #fffbea;
  padding-bottom: 1.5rem;
}

.carousel-header {
  max-width: 1200px;
  margin: 0 auto;
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  row-gap: 0;
  column-gap: 15px;
  color: #54a464;
  font-size: 1.2rem;
  padding: 0 2rem;
}

.carousel-header h1 {
  font-size: 1.8rem;
  line-height: 1.9rem;
  font-weight: bold;
}

.carousel-caption {
  max-width: 700px;
  margin: 0 auto;
  font-size: 1.3rem;
  line-height: 1.7rem;
  padding: 0 2rem 2rem 2rem;
}

.carousel-school {
  font-weight: 700;
  line-height: 1.4rem;
  text-align: right;
}

.swiper-container {
  width: 100%;
  height: auto;
}

.swiper-pagination-bullet {
  background: #fff;
  opacity: .4;
}

.swiper-pagination-bullet-active {
  opacity: 1;
}

.swiper-slide {
  display: flex;
  justify-content: center;
  align-items: center;
  height: 500px;
  overflow: clip;
}

.swiper-slide img {
  max-width: fit-content;
  max-height: 100%;
  cursor: pointer;
  object-fit: cover;
  object-position: center center;
}

.nav-buttons {
  position: absolute;
  top: 50%;
  right: 0;
  width: 100%;
  color: #fff;
  display: flex;
  justify-content: space-between;
  transform: translateY(-50%);
}

#prev-photo,
#next-photo {
  background: none;
  border: none;
  cursor: pointer;
}

#prev-photo::after,
#next-photo::after {
  font-family: swiper-icons;
  font-size: var(--swiper-navigation-size);
  text-transform: none !important;
  letter-spacing: 0;
  font-variant: initial;
  line-height: 1;
}

#prev-photo::after {
  content: 'prev';
}

#next-photo::after {
  content: 'next';
}

/* Modal */
.bg-hi-opacity {
  background-color: rgb(0, 0, 0, 0.8);
}

.bg-low-opacity {
  background-color: rgb(0, 0, 0, 0.2);
}

.blocker::before {
  margin: 0
}

#tooltip-modal {
  text-align: center;
  font-size: 1.3rem;
  line-height: 1.7rem;
}


#photo-modal.modal {
  /* Modal max-width should not be percentage, as it will cause issues on large screens */
  max-width: 900px;
  max-height: 90%;
  margin: 0;
  background-color: transparent;
  box-shadow: none;
}

#tooltip-modal.modal {
  margin-left: -30px;
}

#photo-modal img {
  max-width: 100%;
}

.close-modal {
  border-radius: 50%;
  border: 4px solid #19b999;
}

#photo-modal .close-modal {
  top: 0 !important;
  right: 15px !important;
  border: 3px solid #fff;
}

h3#modal-title {
  font-size: 1.8rem;
  font-weight: bold;
  line-height: .1rem;
}

.video-container {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 30px;
  max-width: 1400px;
  margin: 0 auto;
  padding: 20px 20px 40px 20px;
  overflow-x: auto;
  white-space: nowrap;
  justify-items: center;
}

.profiles-wrapper {
  width: 100%;
  margin-bottom: 20px;
  padding: 20px 30px;
}

.profiles-container {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 20px;
  width: 100%;
  max-width: 1200px;
  margin: 0 auto;
}

.profile {
  display: flex;
  flex-direction: column;
  overflow: hidden;
}


.profile img {
  max-width: 100%;
  width: 100%;
  height: auto;
}

.profile-info {
  display: flex;
  flex-direction: column;
  margin-top: 10px;
  overflow: hidden;
}

.profile-info p {
  margin: 0;
  padding-top: 6px;
}

p.title {
  font-size: 1.3rem;
  font-weight: bold;
  line-height: 1.5rem;
  padding-top: 0;
}

p.name {
  font-size: 1.1rem;
  line-height: 1.3rem;
}

p.school {
  font-size: 1rem;
  line-height: 1.2rem;
}

.video-container video {
  max-width: 100%;
  height: auto;
  max-height: 100%;
  border: 3px solid #00bf63;
  aspect-ratio: 9/16;
  cursor: pointer;
}

.audio-wrapper {
  position: fixed;
  bottom: 70px;
  right: 50px;
  color: #333;
  width: 190px;
  background: #fff;
  opacity: .7;
  padding: 2px;
  border-radius: 10px;
  z-index: 3;
}

.audio-container {
  display: flex;
  flex-wrap: nowrap;
  align-items: center;
  justify-content: center;
  column-gap: 5px;
  font-size: 1rem;
  line-height: 1.2rem;
  cursor: pointer;
}

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

#sound_button {
  background-color: #fff;
  border: none;
  color: #00bf63;
  padding: 10px;
  text-align: center;
  border-radius: 50%;
  flex: 0 0 50px;
  font-size: 1.5rem;
}

#sound_button:hover {
  color: #008080;
  cursor: pointer;
}

.check-marks .fa-circle-check {
  font-size: 1.4rem;
  margin-right: 8px;
  margin-bottom: 10px;
}

.culture_name {
  position: absolute;
  top: 100px;
  right: 30px;
  width: 250px;
  color: #fff;
  background: #008080;
  border: 3px solid #fdcc27;
  padding: 10px;
  z-index: 2;
  opacity: .85;
}

.culture_name p {
  font-size: 1.35rem;
  line-height: 1.7rem;
  margin: .6rem;
}

.culture_name p b {
  font-size: 1.5rem;
}


/* Utilities */
.d-none {
  display: none;
}

.d-block {
  display: block;
}

.w-100 {
  width: 100%;
}

.w-700px {
  max-width: 700px;
}

.m-auto {
  margin: 0 auto;
}

.mtop-8px {
  margin-top: 8px;
}

.mtop-15px {
  margin-top: -15px;
}

.p-0 {
  padding: 0;
}

.ptop-0 {
  padding-top: 0;
}

.ptop-15px {
  padding-top: 15px;
}

.ptop-2rem {
  padding-top: 2rem;
}

.text-normal {
  font-weight: normal;
}

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

.color-white {
  color: #fff;
}

.color-blue {
  color: #1e5168;
}

.color-green,
.schbag-post-body a.color-green,
a.color-green {
  color: #127d49;
}

.bg-green-teal {
  background-color: #008080;
}

.button-green {
  background-color: #00bf63;
  padding: 10px 40px;
  color: #fff;
  font-weight: bold;
  border: 0;
  border-radius: 30px;
  cursor: pointer;
}

.button-green:hover {
  background-color: #008080;
  color: #fff;
}

.top {
  margin-top: 1rem;
}


/* Poll */
.pds-box {
  width: 100% !important;
  font-family: 'Titillium Web' !important;
  font-size: 1.1rem !important;
  line-height: 1.5rem !important;
  background: none !important;
  border: none !important;
  margin: 0 auto !important;
  padding: 4px !important;
  color: #333 !important;
}

.pds-question-top {
  font-size: 1.7rem !important;
  font-weight: 700 !important;
  line-height: 2rem !important;
  text-align: center !important;
  color: #127d49;
}

.pds-answer-row {
  line-height: 1.4rem !important;
}

.pds-box .pds-answer {
  border: none !important;
}

.pds-box .pds-vote-button-load,
.pds-box .pds-vote-button {
  font-size: 1.2rem !important;
  border: none !important;
  border-radius: 30px;
  background-color: #00bf63 !important;
  padding: 10px 40px !important;
  cursor: pointer;
}

.pds-box input[type='checkbox'] {
  width: 20px;
  height: 20px;
  background: #fff;
  border-radius: 3px;
  border: 1px solid #127d49;
}

.pds-votebutton-outer {
  text-align: center;
}

.pds-links,
.pds-pd-link,
#pds-sharing,
#pds-sharing+div {
  display: none !important;
}

/* Pages */

#home h1 {
  color: #fff;
}

#home .bg {
  overflow-y: hidden;
  background-color: #333;
}

#p2 .bg {
  background-color: #98dbdc;
  background-image: url('/wp-content/uploads/2024/10/eco-stewards-intro-bg.png');
  background-size: cover;
  background-position: bottom;
}

#p3 .bg2 {
  background: linear-gradient(180deg, #98dbdc 50%, #818d92 50%);
}

#campus .bg {
  background-color:#54a464;
}

#curriculum .bg,
#culture .bg,
#community .bg,
#p5 .bg2,
#p6 .bg2,
#p7 .bg2,
#p8 .bg2,
#p9 .bg2,
#p10 .bg2 {
  background-color: #54a464;
}


#p19 .bg {
  background-image: url('/wp-content/uploads/2024/10/eco-stewards-campus-18.jpg');
}

#p21 .bg {
  background-image: url('/wp-content/uploads/2024/10/eco-stewards-campus-20.jpg');
}

#p22 .bg {
  background-image: url('/wp-content/uploads/2024/10/eco-stewards-campus-24.jpg');
}

#p23 .bg {
  background-image: url('/wp-content/uploads/2024/10/eco-stewards-campus-22.jpg');
}

#p24 .bg {
  background-image: url('/wp-content/uploads/2024/10/eco-stewards-campus-23.jpg');
}

#p26 h1 {
  margin-bottom: 20px;
  text-align: center;
}

#p16 .bg2,
#p26 .bg2 {
  background-color: rgb(8%, 59%, 50%);
  background-image: url('/wp-content/uploads/2024/10/eco-stewards-culture-bg.png');
  background-size: cover;
}

#p27 .bg {
  background-image: url('/wp-content/uploads/2024/10/eco-stewards-culture-26.jpg');
  background-position: top;
}

/*#p28 .bg {
  background-image: url('/wp-content/uploads/2024/10/eco-stewards-culture-27.jpg');
}*/

#p29 .bg {
  background-image: url('/wp-content/uploads/2024/10/eco-stewards-culture-28.jpg');
}

#p30 .bg {
  background-image: url('/wp-content/uploads/2024/10/eco-stewards-culture-29.jpg');
  background-position: top;
}

#p31 .bg {
  background-image: url('/wp-content/uploads/2024/10/eco-stewards-culture-30.jpg');
  background-position: top;
}

/*#p32 .bg {
  background-image: url('/wp-content/uploads/2024/10/eco-stewards-culture-31.jpg');
  background-position: top;
}*/

#p33 .bg {
  background-image: url('/wp-content/uploads/2024/10/eco-stewards-culture-32.jpg');
}

#p34 .bg {
  background-image: url('/wp-content/uploads/2024/10/eco-stewards-culture-33.jpg');
  background-position: top;
}

/*#p35 .bg {
  background-image: url('/wp-content/uploads/2024/10/eco-stewards-culture-34.jpg');
}*/

#p36 .bg {
  background-image: url('/wp-content/uploads/2024/10/eco-stewards-culture-35.jpg');
}

#p37 .bg {
  background-image: url('/wp-content/uploads/2024/10/eco-stewards-culture-36.jpg');
}

/*#p38 .bg {
  background-image: url('/wp-content/uploads/2024/10/eco-stewards-culture-37.jpg');
}*/

#p40 .bg {
  background-image: url('/wp-content/uploads/2024/10/eco-stewards-community-40.jpg');
}

/*#p41 .bg {
  background-image: url('/wp-content/uploads/2024/10/eco-stewards-community-42.jpg');
  background-position: top;
}*/

#p42 .bg {
  background-image: url('/wp-content/uploads/2024/10/eco-stewards-community-41.jpg');
  background-position: top;
}

#p43 .bg,
#p44 .bg2 {
  background-color: #98dbdc;
  background-image: url('/wp-content/uploads/2024/10/eco-stewards-community-bg.png');
  background-size: cover;
  background-position: bottom;
}

#p46 .bg {
  background-image: url('/wp-content/uploads/2024/10/eco-stewards-community-43.jpg');
  background-position: top;
}

#p47 .bg {
  background-image: url('/wp-content/uploads/2024/10/eco-stewards-community-44.jpg');
  background-position: top;
}

#p48 .bg {
  background-image: url('/wp-content/uploads/2024/10/eco-stewards-community-45.jpg');
  background-position: top;
}



/* Required by Lenis */
html.lenis,
html.lenis body {
  height: auto;
}

.lenis.lenis-smooth {
  scroll-behavior: auto !important;
}

.lenis.lenis-smooth [data-lenis-prevent] {
  overscroll-behavior: contain;
}

.lenis.lenis-stopped {
  overflow: hidden;
}

.lenis.lenis-scrolling iframe {
  pointer-events: none;
}


/* Media Queries
-------------------------------------------- */


@media (min-width: 361px) and (max-width: 768px) {

  .flex-center {
    padding-left: 0;
    padding-right: 0;
  }

  svg#greensch {
    max-width: 140%;
    width: 140%;
  }

  .video-container {
    display: flex;
    flex-wrap: nowrap;
    overflow-x: scroll;
    column-gap: 30px;
  }

  .video-container video {
    width: 50%;
    height: auto;
    flex: 0 0 auto;
  }

  .profiles-container {
    grid-template-columns: repeat(2, 1fr);
  }

  .profile-info {
    font-size: 1.3rem;
    line-height: 1.6rem;
  }


}

@media only screen and (max-width: 767px) {

  nav ul li a {
    font-size: .8rem !important;
  }

  .logo img,
  .logo-btm img {
    width: 100px;
    height: auto;
  }

  .video-overlay {
    font-size: 2.2rem;
    width: 85%;
  }

  .video-overlay p {
    font-size: 1.2rem;
    line-height: 1.65rem;
  }

  .video-container video {
    width: 70%;
    height: auto;
  }

  .culture_name {
    left: 0;
    right: 0;
    width: 450px;
    margin-inline: auto;
  }

  .content-box {
    margin-left: auto;
    margin-right: auto;
    max-width: 450px;
  }

  .content-box.check-marks p b {
    font-size: 1.4rem;
  }

  .w-700px {
    max-width: 450px;
  }

  .carousel-header {
    flex-wrap: wrap;
  }

  .carousel-header h1 {
    margin-bottom: 15px;
  }

  .carousel-school {
    margin-top: -25px;
    text-align: left;
  }

  .carousel-caption {
    font-size: 1rem;
    line-height: 1.3rem;
  }

  .blocker {
    padding: 10px;
  }

  #photo-modal.modal {
    max-width: 98%;
  }

  #p22 .bg {
    background-position: 35% 0;
  }

  #p23 .bg {
    background-position: 61% 0;
  }

  #p24 .bg {
    background-position: 72% 0;
  }

  #p27 .bg {
    background-position: 65% 100%;
  }

  /*#p28 .bg {
    background-position: 60% 0;
  }*/

  #p30 .bg {
    background-position: 49% 0;
  }

  #p31 .bg {
    background-position: 62% 0;
  }

  /*#p32 .bg {
    background-position: 0 0;
  }*/

  #p33 .bg {
    background-position: 69% 0;
  }

  #p34 .bg {
    background-position: 33% 0;
  }

  /*#p35 .bg {
    background-position: 22% 0;
  }*/

  #community .bg {
    background-position: 80% 0;
  }

  #p40 .bg {
    background-position: 20% 0;
  }

  /*#p41 .bg {
    background-position: 45% 0;
  }*/

  #p43 .bg {
    background-position: 35% 0;
  }
}


@media only screen and (max-width: 500px) {

  svg#greensch {
    max-width: 250%;
    width: 250%;
  }

  .content-box,
  .w-700px {
    max-width: 320px;
  }

  .culture_name {
    width: 320px !important;
  }


}




@media only screen and (min-width: 320px) and (max-width: 767px) and (orientation: landscape) {
  html {
    transform: rotate(-90deg);
    transform-origin: left top;
    width: 100vh;
    position: absolute;
    top: 100%;
    left: 0;
  }
}