@charset "UTF-8";

@font-face {
  font-family: "neue";
  src: url("/fonts/NeueHaasDisplayRoman.ttf");
}
@font-face {
  font-family: "neue-bold";
  src: url("/fonts/NeueHaasDisplayBold.ttf");
}
@font-face {
  font-family: "neue-med";
  src: url("/fonts/NeueHaasDisplayMediu.ttf");
}
@font-face {
  font-family: "ivy-ita";
  src: url("/fonts/ivy-presto-display-light.otf") format('opentype');
}
@font-face {
  font-family: "ad-frank";
  src: url("/fonts/AdobeHandwriting-Frank.ttf");
}
@font-face {
  font-family: "ad-ernie";
  src: url("/fonts/AdobeHandwriting-Ernie.ttf");
}

body, html {
  overflow: visible !important;
  z-index: -1;
}

.mobile {
  display: none;
}
.desktop {
  display: block;
}    
.left {
  text-align: left;
}
.right {
  text-align: right;
}
.center {
  text-align: center;
}
.caps {
  text-transform: uppercase;
}
.row {
  display: flex;
  flex-direction: row;
  width: 100%;
}
.center-row {
  align-items: center;
}
.w-5 {
  width: 5%;
}
.w-20 {
  width: 20%;
}
.w-25 {
  width: 25%;
}
.w-30 {
  width: 30%;
}
.w-33 {
  width: 33%;
}
.w-35 {
  width: 35%;
}
.w-40 {
  width: 45%;
}
.w-50 {
  width: 50%;
}
.w-60 {
  width: 60%;
}
.w-65 {
  width: 65%;
}
.w-70 {
  width: 70%;
}
.w-75 {
  width: 75%;
}
.w-80 {
  width: 80%;
}
.white {
  color: #fff;
}
.dark-green {
  color: #00483C;
}
.italics {
  font-family: "ivy-ita";
}
body {
  margin: 0;
}        

.btn {
  background: #9C6742 0% 0% no-repeat padding-box;  
  border: none;
  padding: 0.7rem 1.5rem;
  font-family: "neue-bold";
  color: #F9F5EA;
  font-size: 1.2rem;
  letter-spacing: 0.5px;
  border-radius: 37px;
  cursor: pointer;
  position: fixed;
  bottom: 10%;
  right: 4%;
  z-index: 20;
}

/* Animation */
.animate {
  opacity: 0;
  transform: translateY(40px);
  transition: opacity 1.2s ease-out, transform 1.2s ease-out;
}
.animate.visible {
  opacity: 1;
  transform: translateY(0);
}

h1 {
  font-size: 4.2rem;
  font-family: "neue-bold";
  font-weight: normal;
  letter-spacing: 0px;
  line-height: 1;
  margin-block: 1%;
  color: #2B4237;
}
h2 {
  font-size: 4rem;
  font-family: "neue-bold";
  font-weight: normal;
  letter-spacing: 0px;
  margin-block: 1%;
  line-height: 1;
}
h3 {
  color: #00483C;
  font-size: 2.3rem;
  font-family: "neue-bold";
  font-weight: normal;
  margin-block: 4%;
}
h4 {
  font-size: 0.9rem;
  letter-spacing: 2px;
  font-family: "neue-med";
  font-weight: normal;
  text-transform: uppercase;
}
p, td {
  font-size: 1.2rem;
  font-family: "neue";
  font-weight: normal;
  letter-spacing: 0.5px;
  line-height: 1.4;
  animation-delay: 0.5s;
}

i {
  font-family: "ivy-ita";
  font-style: normal;
}
hr {
  margin: 0%;
  margin-block-start: 18%;
  width: 150%;
}
.btn-text {
  font-family: "neue-bold";
  letter-spacing: 0px;
  color: #F9F5EA;
  opacity: 1;
}
.bold {
  font-family: "neue-bold";
}
.hand1 {
  font-family: ad-frank;
  font-size: 1.5rem;
}
.hand2 {
  font-family: ad-ernie;
  font-size: 1.6rem;
}

.content-wrap {
  background: #F9F5EA 0% 0% no-repeat padding-box;
  padding-block: 0%;
  color: #2B4237;
}
.event-details h3 {
  font-size: 2rem;
  margin-block: 2.5% 3%;
}
.center-txt {
  position: relative;
  left: 10%;
}
.right-txt {
  position: relative;
  left: 17%;
}
.color {
  color: #2B4237;
}

/* Top banner */
.event-details {
  width: 87%;
  margin-inline: 0%;
  padding-inline: 13% 0%;
  top: 0%;
  background: #ECF1B8 0% 0% no-repeat padding-box;
  border: 1px solid #707070;
  align-items: center;
  position: fixed;    
  z-index: 25;
}
.event-details .row {
  align-items: center;
}
.event-text .w-50 p {
  margin-inline-start: 10%;
  width: 90%;
}
.w-60 .hand2 {
  margin-inline-start: 8%;
}

.event-text {
  padding-block: 5%;
  padding-inline: 4%;
}
.banner-text {
  position: absolute;
  top: 12rem;
  left: 27rem;
  text-align: center;
}

.banner1 {
  width: 44rem;
  padding-block: 6%;
}
.banner2 {
  width: 22rem;
  position: absolute;
  top: 7rem;
  right: 5%;
}
.banner3 {
  width: 21rem;
  position: absolute;
  top: 34rem;
  right: 19rem;
}
.underline {
  width: 60%;
  position: absolute;
  top: 7.7rem;
  left: 14rem;
}

.video {
  width: 80%;
  margin-inline-start: 8%;
  padding-block: 5% 0%;
  cursor: pointer;
}

/* Youtube video */
.popup {
  display: none;
  position: fixed;
  z-index: 2000;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  background-color: rgba(0, 0, 0, 0.8);
  pointer-events: auto;
}
.popup-content {
  position: relative;
  margin: 10% auto;
  padding: 0;
  width: 80%;
  max-width: 800px;
  background: #000;
}
.close-button {
  position: absolute;
  top: 10px;
  right: 20px;
  color: #fff;
  font-size: 30px;
  font-weight: bold;
  cursor: pointer;
  z-index: 100000;
}
.popup-content iframe {
  width: 100%;
  height: 500px;
  border: none;
  pointer-events: auto;
}

/* Activities section */
.activities {
  background: #2B4237 0% 0% no-repeat padding-box;
  border: 1px solid #707070;
  padding-block: 10%;
  padding-inline: 5%;
}
.activities-arrows, .faculty-arrows {
  position: relative;
  width: 100%;
  max-width: 100%;
  display: flex;
  justify-content: space-between;
  margin-bottom: 10px;
  padding-inline: 10px;
}
.activities-arrows img, .faculty-arrows img {
  position: absolute;
  width: 40px;
  height: auto;
  cursor: pointer;
}
.arrow-left {
  left: 0;
}
.arrow-right {
  right: 2%;
}
.activities-slider {
  display: flex;
  overflow-x: hidden;
  gap: 2.5%;
  padding-block-start: 5%;
}
.slide {
  flex: 0 0 auto;
  width: 20rem;
}
.slide img {
  width: 100%;
  display: block;
}
.info {
  padding: 15px;
  color: #2B4237;
  height: 10rem;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  text-align: center;
}
.info.active {
  align-items: flex-start;
  text-align: left;
}
.info h3 {
  margin-bottom: 0;
  font-size: 1.5rem;
  color: #2B4237;
}
.read-more {
  cursor: pointer;
  color: #2B4237;
  position: relative;
  z-index: 5;
  -webkit-tap-highlight-color: rgba(0,0,0,0);
  font-size: 1rem;
}
.desc {
  display: none;
  margin-top: 10px;
  color: #2B4237;
  font-size: 0.9rem;
  line-height: 1.4;
}
.c1 { background: #ECF1B8; }
.c2 { background: #D2AE70; }
.c3 { background: #F4DCFA; }
.c4 { background: #F9F5EA; }


/* Living is an art section */
.living {
  background: #F9F5EA 0% 0% no-repeat padding-box;
  padding-block: 10%;
  padding-inline: 10%;
}
.living img {
  width: 96%;
}
.living p {
  margin-block-start: 7rem;
}

/* VA section */
.va {
  background: #9C6742 0% 0% no-repeat padding-box;
  padding-block: 10%;
  padding-inline: 10%;
}
.va p {
  width: 80%;
}
.va img {
  width: 100%;
}

/* VA Images */
.va-images {
  background:
    linear-gradient(#9C6742 50%, #ECF1B8 0),
    linear-gradient(#707070, #707070);
  background-size:
    100% 100%,
    100% 1px;
  background-position:
    0 0,
    0 calc(50% - 0.5px);
  background-repeat: no-repeat;
  padding-inline: 2%;
  position: relative;
}
.va-images img {
  width: 100%;
  position: relative;
  z-index: 2;
}
.va-images .row {
  gap: 2%;
}
.va-images::after {
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  top: 50%;
  height: 1px;
  background: #707070;
}

/* Quote section */
.quote {
  background: #ECF1B8 0% 0% no-repeat padding-box;
  padding-block: 10%;
  padding-inline: 10%;
  position: relative;
}
.quote img {
  width: 10%;
  position: absolute;
  z-index: 0;
}
.start-quote {
  left: 8%;
  top: 18%;
}
.end-quote {
  right: 20%;
  top: 39%;
}
.quote h4 {
  font-size: 1.4rem;
  font-family: "neue";
}
.quote h2 {
  position: relative;
  z-index: 2;
  font-size: 3rem;
  letter-spacing: 0px;
}

/* Faculty  */
.faculty {
  background: #2B4237 0% 0% no-repeat padding-box;
  border: 1px solid #707070;
  padding-block: 10%;
  padding-inline: 10%;
}
.faculty .row {
  gap: 2%;
  padding-block: 5%;
}
.faculty h3 {
  color: #ECF1B8;
  text-align: center;
  font-size: 2rem;
  letter-spacing: 0px;
}
.faculty img {
  width: 100%;
  padding-block-end: 5%;
}
.speaker-img {
  position: relative;
}
.speaker-img p {
  position: absolute;
  font-size: 1.1rem;
  top: -1.2rem;
  left: 0;
  right: 0;
  background: #9C6742;
  color: #F9F5EA;
  text-align: center;
  padding: 2rem 1rem;
  opacity: 0;
  transition: 0.3s ease;
  height: 66.5%;
}
.speaker-img:hover p {
  opacity: 1;
}


/* FAQs */
.faqs {
  background: #F9F5EA 0% 0% no-repeat padding-box;
  padding-block: 10%;
  padding-inline: 10%;
  position: relative;
}
.faqs img {
  width: 90%;
  display: block;
  margin-block-start: 10%;
}
.faqs .row {
  padding-block: 5% 0%;
}
.faqs .row > .w-50:last-child {
  /*max-height: 80vh;       
  overflow-y: auto;*/           
}
.accordion {
  width: 100%;
  max-width: 620px;
  margin: 0 auto;
  padding-block: 10%;
  border-radius: 8px;
  overflow: visible; 
  position: relative;
}
.accordion-item {
  border-bottom: 0.5px solid #707070;
  position: relative; 
}
.accordion-header {
  color: #2B4237;
  background-color: #F9F5EA;
  border: none;
  padding: 1.25rem 0 1.25rem 2.5rem;
  width: 100%;
  text-align: left;
  font-family: 'neue-med';
  font-size: 1.5rem;
  cursor: pointer;
  outline: none;
  position: relative;
  z-index: 2; 
}
.accordion-btn {
  position: relative;
  padding-left: 24px;
  cursor: pointer;
}
.accordion-header:hover {}
.accordion-content {
  display: none;
  padding: 15px;
  background: #F9F5EA;
}

.accordion-content.show {
  display: block;
}
.accordion-content p {
  margin: 0;
  font-size: 1.1rem;
  color: #2B4237;
}
.accordion-header::before {
  content: "▼";
  position: absolute;
  left: 0;
  top: 50%;
  transform: translateY(-50%);
  color: #D2AE70;
  transition: transform 0.3s, color 0.3s;
  font-size: 1rem;
}
.accordion-header.active::before {
  content: "▲";
  color: #2B4237;
}


/* Footer */
.footer {
  background: #2B4237 0% 0% no-repeat padding-box;
  border: 1px solid #707070;
  padding-block: 5%;
  padding-inline: 5%;
}
.footer h2 {
  color: #ECF1B8;
  margin-block: 2% 5%;
  font-size: 3rem;
}
.footer p {
  padding: 0%;
  margin: 0;
  color: #fff;
}
.footer a {
  color: #ECF1B8;
  text-decoration: none;
}

@media only screen and (max-width: 768px) {
 .desktop {
    display: none;
  }
  .mobile {   
    display: block;
  }
  .row {
    flex-direction: column; 
  }
  .rev {
    flex-direction: column-reverse !important;
  }
  .w-5, .w-20, .w-25, .w-30, .w-33, .w-35, .w-40, .w-50, .w-60, .w-65, .w-70, .w-75, .w-80 {
    width: 100%;
  }

  .btn {
    position: fixed;
    top: 10px;
    right: 0%;
    padding: 5px;
    font-size: 10px;
    z-index: 20;
  }
  .btn-text {
    font-size: 15px;
  }
  h1 {
    font-size: 3rem;
    line-height: 1.2;
  }
  h2 {
    font-size: 2.3rem;
    margin-block: 5%;
  }
  h3 {
    margin-block: 0% 3%;
  }
  h4 {
    font-size: 0.8rem;
    letter-spacing: 0.5px;
    margin-block: 2%;
  }
  p {
    font-size: 1rem;
  }
  hr {
    width: 100%;
  }
  .content-wrap {
    width: 100%;
  }
  .event-text {
    width: 90%;
    padding-block: 15%;
    padding-inline: 5%;
  }
  .event-text h1 {
    text-align: center;
  }
  .event-details {
    top: 0%;
    width: 100%;
    padding-inline: 0%;
  }
  .event-details p {
    margin-block: 1%;
    font-size: 1rem;
  }
  .event-details .row {
    flex-direction: row;
    padding-inline: 2.5% 0%;
    padding-block: 3%;
    top: 1%;
  }
  .event-details .w-40 {
    width: 40%;
  }
  .event-details .w-60 {
    width: 60%;
  }
  .event-details h3 {
    font-size: 1.5rem;
  }
  .event-text .w-50 p {
    margin-inline-start: 50%;
    width: 45%;
    text-align: center;
    font-size: 1.4rem;
  }
  .banner1 {
    width: 100%;
    padding-block: 10% 0%;
  }
  .banner2 {
    position: unset;
    width: 100%; 
    margin-block-start: -30%;
  }
  .banner3 {
    width: 57%;
    top: 37rem;
    left: 1rem;
  }
  .underline {
    width: 59%;
    top: 26.6rem;
    left: 9rem;
  }
  .btn {
    top: unset;
    bottom: 5%;
    right: 5%;
    padding: 0.7rem 1.5rem;
    font-size: 0.9rem;
  }
  .video {
    width: 100%;
    margin-inline-start: 0%;
  }
  .w-60 .hand2 {
    margin-inline-start: 0%;
    margin-block: 3% 5%;
    font-size: 1.4rem;
    text-align: right;
  }

  .activities {
    padding-block: 20%;
  }
  .activities-slider {
    padding-block-start: 15%;
    gap: 6%;
  }
  .slide {
    width: 16rem;
  }
  .arrow-right {
    right: 5%;
  }

  .desc {
    font-size: 0.8rem;
    line-height: 1.2;
  }

  .living {
    padding-block: 10% 15%;
    padding-inline: 5%;
  }

  .living img {
    padding-block: 0% 5%;
    width: 100%;
  }
  .living p {
    margin-block-start: 0%;
  }
  .living h2 {
    line-height: 1.2;
  }

  .va {
    padding-block: 15%;
    padding-inline: 5%;
    border: none !important;
  }
  .va .row, .faqs .row {
    flex-direction: column-reverse;
  }
  .va p {
    width: 100%;
  }
  .va img {
    padding-block-start: 10%;
  }

  .va-images {
    background: linear-gradient(#9C6742 50%, #F9F5EA 0);
    padding-inline: 5%;
    margin-block-start: -1%;
    border: none !important;
  }
  .va-arrows {
    display: flex;
    justify-content: space-between;
    padding: 0 10px;
    margin-bottom: 15%;
    position: relative;
  }
  .va-arrows img {
    width: 40px !important;
    height: auto;
    cursor: pointer;
    position: absolute;
  }
  .va-images .row {
    flex-direction: row;
    display: flex;
    overflow-x: auto;
    scroll-behavior: smooth;
    scroll-snap-type: x mandatory;
    -webkit-overflow-scrolling: touch;
    gap: 0%;
  }
  .va-images .row > div {
    flex: 0 0 100%;
    scroll-snap-align: start;
  }
  .va-images img {
    width: 100%;
    display: block;
    z-index: 10;
  }
  .va-left,
  .va-right {
    
    opacity: 1;
  }
  .va-left {
    left: 0%;
  }
  .va-right {
    right: 0%;
  }
  .va-images::after {
    display: none;
  }

  .quote {
    background-color: #F9F5EA;
  }
  .quote h2 {
    font-size: 2rem;
  }
  .quote img {
    width: 20%;
  }
  .start-quote {
    left: 3%;
    top: 3%;
  }
  .end-quote {
    right: 10%;
    top: 58%;
  }
  .quote h4 {
    font-size: 1rem;
    margin-block-start: 15%;
  }

  .speaker-img p {
    padding: 0.7rem 0.5rem;
    height: 78%;
    pointer-events: none;
  }
  .speaker-img.active p {
    opacity: 1;
  }
  .faculty .row {
    display: flex;
    flex-direction: unset;
    overflow-x: hidden;
    overflow-y: clip;
    scroll-snap-type: x mandatory;
    -webkit-overflow-scrolling: touch;
    gap: 10%;
    padding-block: 10% 0%;
  }
  .faculty .row .speaker-img {
    flex: 0 0 80%;
    scroll-snap-align: start;
  }
  .faculty h3 {
    font-size: 1.6rem;
    text-decoration: underline;
  }
  .faculty img {
    padding-block-end: 10%;
  }
  .faculty-arrows img {
    width: 10%;
  }

  .faqs {
    padding-block: 15%;
    padding-inline: 5%;
  }
  .faqs .lower {
    width: 70%;
    left: 16%;
    top: 76.5%;
  }
  .faqs img {
    width: 100%;
  }
  .accordion {
    padding-block: 5%;
  }
  .accordion-header {
    padding: 1rem 0 1rem 1.5rem;
    font-size: 1.2rem;
  }
  .accordion-header::before {
    font-size: 0.8rem;
  }


  .footer {
    padding-block: 10% 5%;
  }
  .footer h2 {
    font-size: 2rem !important;
    margin-block: 2% 10%;
  }
  .footer h3 {
    font-size: 1.8rem;
    margin: 0%;
  }
  .footer-text {
    top: 74%;
  }
  .footer .row {
    flex-direction: row;
    padding: 3% 0%;
  }
  .footer p {
    font-size: 12px;
    padding-block: 1% 0%;
    padding-inline: 0% 4%;
  }
} 