a {
  text-decoration: none;
}

.hidden {
  opacity: 0;
}

.translucent {
  filter: brightness(0.6) blur(5px);
}

.transformTranslucent {
  filter: brightness(0.6) blur(5px);
}

.absolute {
  position: absolute;
}

/* Fonts */
@font-face {
  font-family: DMSans;
  src: url("./fonts/DMSans-Regular.ttf");
}
/* No Select */
.noselect,
img {
  -webkit-touch-callout: none; /* iOS Safari */
  -webkit-user-select: none; /* Safari */ /* Konqueror HTML */
  -moz-user-select: none; /* Old versions of Firefox */ /* Internet Explorer/Edge */
  user-select: none; /* Non-prefixed version, currently
   supported by Chrome, Edge, Opera and Firefox */
}

.invisible {
  opacity: 0 !important;
  pointer-events: none !important;
}

input,
textarea,
button,
select,
a,
svg,
div {
  -webkit-tap-highlight-color: rgba(0, 0, 0, 0);
}

*::-moz-selection {
  color: #57C264;
  background-color: #E7F5DC;
  text-shadow: none;
}

*::selection {
  color: #57C264;
  background-color: #E7F5DC;
  text-shadow: none;
}

/* width */
::-webkit-scrollbar {
  width: 0;
  -webkit-user-select: auto;
          user-select: auto;
}

/* Track */
/* Handle */
/* Defaults */
* {
  margin: 0;
  padding: 0;
  box-sizing: border-box;
}

html {
  font-size: 10px;
  width: 100%;
  height: 100vh;
  overflow-x: hidden;
  overflow-y: scroll;
  background-color: #E7F5DC;
  /* cursor: none; */
}

body {
  z-index: 100;
  box-sizing: border-box;
  width: 100%;
  overflow-x: hidden;
  font-size: 10px;
  background-color: #E7F5DC;
}

.webgl {
  position: fixed;
  outline: none;
  box-sizing: border-box;
  width: 100vw;
  height: 100vh;
  z-index: 99999;
  pointer-events: none;
}

main {
  position: relative;
  z-index: 1;
  background-color: #E7F5DC;
  pointer-events: auto;
}

.scrollStartSection {
  width: 100%;
}

/* Loading Page */
.loadingPage {
  position: fixed;
  width: 100vw;
  height: 100vh;
  z-index: 9999999999;
  display: flex;
  justify-content: center;
  align-items: center;
  pointer-events: none;
  background-color: #E7F5DC;
}

/* Hero Section */
.heroSection {
  position: relative;
  width: 100vw;
  height: 100vh;
  display: flex;
  justify-content: center;
  align-items: center;
}

.heroSectionOverlays {
  position: absolute;
  width: 100vw;
  display: flex;
  justify-content: flex-start;
  align-items: center;
  flex-direction: column;
  z-index: 20;
  margin-bottom: 30vh;
}

.smallLogoTextSVG {
  margin-bottom: 4rem;
}

.largeLogoDiv {
  display: flex;
  justify-content: center;
  align-items: center;
}

.largeTextSVG {
  width: min(90vw, 100%);
}

.heroSectionText {
  width: min(73rem, 90vw);
  text-align: center;
  font-size: 2.2rem;
  margin-top: 6.2rem;
  margin-bottom: 6.2rem;
}

/* Hero Layers */
.heroLayersDiv, .heroFrontLayerDiv, .heroRightMidLayerDiv, .heroLeftMidLayerDiv, .heroBackLayerDiv, .heroBackgroundDiv, .heroBushDiv, .heroPondDiv, .heroLargeLotusPhotoDiv, .heroSmallLotusPhotoDiv {
  position: absolute;
  display: flex;
  justify-content: center;
  align-items: center;
}

.heroSmallLotusPhotoDiv {
  z-index: 1000;
}

.heroLargeLotusPhotoDiv {
  z-index: 11;
}

.heroBushDiv {
  position: absolute;
  z-index: 12;
}

.heroPondDiv {
  z-index: 10;
}

.heroFrontLayerDiv {
  z-index: 6;
}

.heroRightMidLayerDiv {
  z-index: 4;
}

.heroLeftMidLayerDiv {
  z-index: 5;
}

.heroBackLayerDiv {
  z-index: 3;
}

.heroBackgroundDiv {
  z-index: 2;
}

#heroFrontLeftPhoto {
  position: absolute;
  z-index: 11;
  transform: translateX(-41vw) translateY(34vh);
}

#heroPondPhoto {
  position: absolute;
  z-index: 10;
  transform: translateX(45vw) translateY(26.5vh);
}

#heroBigLotusPhoto {
  position: absolute;
  z-index: 15;
  transform: translateX(45vw) translateY(32vh);
}

#heroSmallLotusPhoto {
  position: absolute;
  z-index: 15;
  transform: translateX(40vw) translateY(46vh);
}

#heroTopRightPadPhoto {
  position: absolute;
  z-index: 15;
  transform: translateX(40vw) translateY(25.5vh);
}

#heroFrontHillPhoto {
  position: absolute;
  z-index: 9;
  transform: translateX(3vw) translateY(51vh);
}

#heroRightMidHillPhoto {
  position: absolute;
  z-index: 8;
  transform: translateX(30vw) translateY(-10vh);
}

#heroLeftMidBushPhoto {
  position: absolute;
  z-index: 8;
  transform: translateX(-42vw) translateY(5vh);
}

#heroLeftMidHillPhoto {
  position: absolute;
  z-index: 7;
  transform: translateX(-25vw) translateY(-7vh);
}

#heroBackMountainPhoto {
  position: absolute;
  z-index: 6;
  transform: translateX(20vw) translateY(0vh);
}

#heroSunPhoto {
  position: absolute;
  z-index: 1;
  transform: translateX(0vw) translateY(0vh);
}

#heroSmallCloudPhoto {
  position: absolute;
  z-index: 2;
  transform: translateX(0vw) translateY(0vh);
}

#heroLargeCloudPhoto {
  position: absolute;
  z-index: 3;
  transform: translateX(0vw) translateY(0vh);
}

#heroBackgroundPhoto {
  position: absolute;
  z-index: 0;
  transform: translateX(0vw) translateY(-10vh);
}

/* Lottie Animations */
.lottieDiv {
  position: absolute;
  transform: translateY(22.5vh);
  z-index: 100;
  display: flex;
  justify-content: center;
  align-items: center;
  pointer-events: none;
}

.wispLottie {
  position: absolute;
  transform: translateX(-32vw) translateY(0vh);
  z-index: 1000;
  width: 25rem;
  height: 25rem;
}

.mossLottie {
  position: absolute;
  transform: translateX(35vw) translateY(9vh);
  z-index: 1000;
  width: 25rem;
  height: 25rem;
}

.cheeseLottie {
  position: absolute;
  transform: translateX(20vw) translateY(-12vh);
  z-index: 1000;
  width: 22.5rem;
  height: 22.5rem;
}

.wispLottieDiv, .mossLottieDiv, .cheeseLottieDiv {
  display: flex;
  justify-content: center;
  align-items: center;
}

.fireflyEffect {
  pointer-events: auto;
}

.introSection {
  padding-inline: min(20rem, 10vw);
  padding-top: min(20rem, 10vw);
  width: 100%;
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  gap: 15rem;
  position: relative;
  z-index: 10;
}

.introSectionOthersDiv {
  display: flex;
  justify-content: flex-start;
  align-items: flex-end;
  width: 37rem;
  pointer-events: none;
  z-index: 10;
}

.interSectionOthers {
  display: flex;
  justify-content: center;
  align-items: center;
  position: absolute;
  width: 0;
  height: 0;
  z-index: 10;
  margin-bottom: 5rem;
}

.introSectionOtherImage {
  position: absolute;
}

.introSectionProtectorImage {
  transform: scale(0.7);
}

.introSectionShroomImage {
  transform: scale(0.7) translateX(-10rem) translateY(4rem);
}

.introSectionText {
  font-family: "Cambria";
  font-size: 4.5rem;
  color: #153E35;
  font-weight: 600;
  display: flex;
  justify-content: flex-start;
  align-items: flex-start;
  flex-direction: column;
  gap: 5rem;
}

.introSectionImageDiv {
  position: relative;
  width: 100%;
  display: flex;
  justify-content: flex-end;
  align-items: flex-end;
  flex-direction: column;
  gap: 4rem;
  padding-top: 14rem;
  perspective: 1000px;
}

.introSectionImageContainer {
  position: relative;
  width: 37rem;
  height: 37rem;
  overflow: hidden;
  display: flex;
  justify-content: center;
  align-items: center;
  border-radius: 1.5rem;
  transform-style: preserve-3d;
}

.introSectionImage {
  width: 100%;
  height: 100%;
}

.introSectionImageName {
  width: 100%;
  height: 100%;
  display: flex;
  justify-content: center;
  align-items: flex-end;
  padding-bottom: 2rem;
  font-family: "Cambria";
  font-weight: 600;
  font-size: 3rem;
  position: absolute;
  color: #E7F5DC;
  text-shadow: -1px -1px 0 rgba(0, 0, 0, 0.6274509804), 1px -1px 0 rgba(0, 0, 0, 0.6274509804), -1px 1px 0 rgba(0, 0, 0, 0.6274509804), 1px 1px 0 rgba(0, 0, 0, 0.6274509804);
}

.introSectionImageLabel {
  width: 37rem;
  font-family: "Cambria";
  font-weight: 300;
  font-size: 1.6rem;
  color: #153E35;
}

.marqueeSection {
  width: 100%;
  display: flex;
  justify-content: flex-start;
  align-items: center;
  padding-block: 20rem;
  perspective: 1000px;
}

.marqueeSectionSlider {
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 4rem;
}

.marqueeSectionSliderCard {
  display: flex;
  justify-content: center;
  align-items: center;
  position: relative;
  transform: rotateZ(-2deg);
}

.marqueeSectionImageContainer {
  width: calc(85rem - 100px);
  height: 44rem;
  overflow: hidden;
  border-radius: 1.5rem;
  display: flex;
  justify-content: flex-end;
  align-items: flex-end;
  box-shadow: 0.25rem 0.25rem 1rem 0 rgba(0, 0, 0, 0.3137254902);
}

.marqueeSectionImage {
  height: calc(100% + 20px);
}

.marqueeSectionSliderCardOutline1 {
  position: absolute;
  width: calc(85rem - 100px);
  height: 44rem;
  border-radius: 1.5rem;
  border: 1px solid #57C264;
  pointer-events: none;
  z-index: -1;
  opacity: 0;
}

.marqueeSectionSliderCardOutline2 {
  position: absolute;
  width: calc(85rem - 100px);
  height: 44rem;
  border-radius: 1.5rem;
  border: 1px solid #57C264;
  opacity: 0.7;
  pointer-events: none;
  z-index: -1;
  opacity: 0;
}

.marqueeSectionSliderCardOutline3 {
  position: absolute;
  width: calc(85rem - 100px);
  height: 44rem;
  border-radius: 1.5rem;
  border: 1px solid #57C264;
  opacity: 0.4;
  pointer-events: none;
  z-index: -1;
  opacity: 0;
}

.cursorSection {
  width: 100vw;
  height: 100vh;
  position: fixed;
  z-index: 20;
  top: 0;
  left: 0;
  display: flex;
  justify-content: center;
  align-items: center;
  pointer-events: none;
  perspective: 1000px;
}

.cursorFollower {
  position: absolute;
  width: 0rem;
  height: 0rem;
  border-radius: 50%;
  background-color: #57C264;
  display: flex;
  justify-content: center;
  align-items: center;
  overflow: hidden;
  box-shadow: 0 0 2px 0 #153E35;
}

.workSection {
  position: relative;
  z-index: 30;
  width: calc(100% - min(40rem, 20vw));
  margin-inline: min(20rem, 10vw);
  margin-bottom: min(20rem, 10vw);
  display: flex;
  justify-content: center;
  align-items: center;
  flex-direction: column;
  gap: 5.5rem;
}

.workSectionTextContainer {
  width: 100%;
  display: flex;
  justify-content: space-between;
  align-items: center;
}

.workSectionText {
  white-space: nowrap;
  font-size: 9.5rem;
  color: #57C264;
  font-family: "Cambria";
  font-weight: 300;
  z-index: 1;
  pointer-events: auto;
  cursor: default;
}

.workSectionImageContainer {
  opacity: 0;
  position: absolute;
  width: 100%;
  height: 100%;
  display: flex;
  justify-content: center;
  align-items: center;
  overflow: hidden;
}

.workSectionImage {
  position: absolute;
  height: 100%;
}

.showcaseSection {
  position: relative;
  width: 100%;
  padding-inline: min(20rem, 10vw);
  display: flex;
  justify-content: space-between;
  align-items: center;
}

.showcaseSectionText {
  position: relative;
  width: 35%;
  display: flex;
  justify-content: center;
  align-items: flex-start;
  flex-direction: column;
  gap: 4rem;
}

.showcaseSectionTextHeader {
  font-family: "Cambria";
  font-weight: 600;
  font-size: 5rem;
  color: #153E35;
}

.showcaseSectionTextBody {
  font-family: "Cambria";
  font-weight: 300;
  font-size: 2.2rem;
  color: #153E35;
}

.showcaseSectionImageDiv {
  position: relative;
  width: 65%;
  display: flex;
  justify-content: center;
  align-items: center;
}

.showcaseSectionBackgroundImage {
  width: 100%;
}

.showcaseSectionImageContainer {
  position: absolute;
  margin-left: 0.25%;
  margin-top: 1.25%;
  border-radius: 1.5%;
  width: 69%;
  height: 72%;
  display: flex;
  justify-content: center;
  align-items: flex-start;
  overflow: hidden;
}

.showcaseSectionImage {
  width: 100%;
}

.specialSection {
  position: relative;
  width: 100%;
  padding-block: min(20rem, 10vw);
  display: flex;
  justify-content: center;
  align-items: center;
  flex-direction: column;
}

.specialSectionHeader {
  font-family: "Cambria";
  font-weight: 600;
  font-size: 5rem;
  color: #153E35;
  margin-bottom: 8rem;
  position: relative;
  z-index: 1;
}

.specialSectionDiv {
  position: relative;
  width: 100%;
  display: flex;
  justify-content: center;
  align-items: center;
}

.specialSectionCardContainer {
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 5rem;
}

.specialSectionCard {
  width: min(40rem, 90vw);
  display: flex;
  justify-content: center;
  align-items: center;
  overflow: hidden;
  border-radius: 20px;
}

.specialSectionCardText {
  width: 100%;
  height: 100%;
  position: absolute;
  background-color: rgba(21, 62, 53, 0.7019607843);
  padding: 5.5rem;
  z-index: 10;
  display: flex;
  justify-content: center;
  align-items: flex-end;
  color: #ffffff;
  font-size: 2.4rem;
  opacity: 0;
}

.specialCardBackgroundImage {
  width: 100%;
}

.specialCardImage {
  position: absolute;
  z-index: 1;
  width: 50%;
}

.specialSectionSlider {
  width: 50%;
  margin-top: 6rem;
  -webkit-appearance: none;
  height: 0.5rem;
  background-color: #553838;
  border-radius: 20%;
  outline: none;
}

.specialSectionSlider::-webkit-slider-thumb {
  -webkit-appearance: none;
  appearance: none;
  width: 2.5rem;
  height: 2.5rem;
  border-radius: 100%;
  background-color: #57C264;
  cursor: pointer;
  box-shadow: 0 0.2rem 1rem 0 rgba(0, 0, 0, 0.4666666667), inset 0 -0.2rem 0.5rem 0 #37a244;
}

.specialSectionCardOverlay {
  width: 100%;
  height: 100%;
  position: absolute;
  z-index: 1;
  display: flex;
  justify-content: center;
  align-items: center;
  flex-direction: column;
  gap: 3rem;
}

.specialCardOverlayText {
  font-family: "Cambria";
  font-size: 4rem;
  color: #E7F5DC;
  font-weight: 600;
  text-align: center;
}

.visitSection {
  position: relative;
  width: 100%;
  display: flex;
  justify-content: center;
  align-items: center;
  flex-direction: column;
  background-image: linear-gradient(to top, #DBF2AA 0%, #E7F5DC 50%, rgba(231, 245, 220, 0) 100%);
}

.visitSectionCard {
  position: relative;
  width: calc(100vw - min(40rem, 20vw));
  height: calc((100vw - min(40rem, 20vw)) * 58 / 147);
  overflow: hidden;
  display: flex;
  justify-content: center;
  align-items: center;
  border-radius: min(3rem, 1.5vw);
  margin-bottom: -100px;
  box-shadow: 0 0 1rem 0 #000000;
  z-index: 1;
}

.visitSectionImage {
  position: absolute;
  width: 105%;
}

.visitCardOverlay {
  position: relative;
  z-index: 1;
  width: 100%;
  height: 100%;
  display: flex;
  justify-content: center;
  align-items: center;
  flex-direction: column;
  gap: 2.7rem;
  background-color: rgba(21, 62, 53, 0.7019607843);
}

.visitSectionLogo {
  width: min(60vw, 100%);
}

.visitSectionEndContainer {
  position: relative;
  margin-top: 20rem;
  display: flex;
  justify-content: center;
  align-items: flex-end;
  z-index: 0;
}

.visitSectionEndMountain {
  width: 100%;
  display: flex;
  justify-content: flex-end;
  z-index: 0;
  padding-bottom: 15%;
}

.visitMountainImage {
  width: 50%;
}

.visitSectionEndHill {
  position: relative;
  width: 100%;
  z-index: 1;
}

.visitHillImage {
  width: 100%;
}

.visitSectionEndRockLeft {
  width: 100%;
  display: flex;
  justify-content: flex-start;
  z-index: 2;
}

.visitSectionEndRockMid {
  width: 100%;
  display: flex;
  justify-content: center;
  z-index: 2;
}

.visitSectionEndRockRight {
  width: 100%;
  display: flex;
  justify-content: flex-end;
  z-index: 2;
}

.CTAButton {
  position: relative;
  width: 22rem;
  height: 5.6rem;
  border-radius: 2.8rem;
  display: flex;
  justify-content: center;
  align-items: center;
  color: #E7F5DC;
  background-image: linear-gradient(to bottom, #6CC96A 0%, #1F9D57 100%);
  font-family: "Cambria";
  font-size: 2.2rem;
  color: #E7F5DC;
  font-weight: 300;
  filter: brightness(1);
  box-shadow: 0 0.1rem 0.1rem rgba(0, 0, 0, 0.4666666667);
}

.CTAButtonAlt {
  background-image: linear-gradient(to bottom, #E7F5DC 0%, #c7d5bC 100%);
  color: #57C264;
}

/* Responsive */
@media screen and (max-width: 1800px) {
  html {
    font-size: 9px;
  }
}
@media screen and (max-width: 1600px) {
  html {
    font-size: 8px;
  }
  .workSection {
    margin-bottom: 20rem;
  }
  .workSectionTextContainer {
    flex-direction: column;
    gap: 5.5rem;
  }
  .workSectionText {
    white-space: wrap;
  }
  .workSectionTextLeft {
    width: 100%;
    text-align: left;
  }
  .workSectionTextRight {
    width: 100%;
    text-align: right;
  }
}
@media screen and (max-width: 1300px) {
  html {
    font-size: 7px;
  }
}
@media screen and (max-width: 950px) {
  .introSection {
    justify-content: flex-start;
    align-items: center;
    flex-direction: column;
    gap: 0rem;
  }
  .showcaseSection {
    flex-direction: column;
  }
  .showcaseSectionText {
    width: 90%;
  }
  .showcaseSectionImageDiv {
    width: 100%;
  }
  .specialSectionSlider {
    width: 90vw;
  }
  .specialSectionSlider::-webkit-slider-thumb {
    width: 5rem;
    height: 5rem;
  }
  .visitSectionCard {
    position: relative;
    width: 90vw;
    height: 33vh;
    overflow: hidden;
    display: flex;
    justify-content: center;
    align-items: center;
    border-radius: min(3rem, 1.5vw);
    margin-bottom: -100px;
    box-shadow: 0 0 1rem 0 #000000;
    z-index: 1;
  }
  .visitSectionImage {
    height: 100%;
    width: auto;
  }
}
@media screen and (max-width: 750px) {
  html {
    font-size: 6px;
  }
  .heroSectionHeaderText {
    font-size: 8rem;
  }
  .heroSectionHeaderOutline {
    font-size: 8rem;
  }
  .introSectionImageLabel {
    font-size: 2.4rem;
  }
}/*# sourceMappingURL=index.css.map */