@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, .mob-row {
  display: flex;
  flex-direction: row;
  width: 100%;
}
.center-row {
  align-items: center;
}
.w-5 {
  width: 5%;
}
.w-10 {
  width: 10%;
}
.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: 5%;
  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 {
  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 {
  background-image: url(../images/ld26dec/top-bg.png);
  background-color: #FFFDF8;
  background-size: 100% auto;
  background-repeat: no-repeat;
  padding-block: 5%;
  padding-inline: 4%;
}
.event-text .center-row {
  justify-content: center;
}
.banner-text {
  padding-block: 5% 0%;
  padding-inline: 10%;
}
.banner-text .row {
  gap: 10%;
}

.banner {
  width: 100%;
  padding-block: 0% 10%;
}
.banner2 {
  width: 22rem;
  position: absolute;
  top: 7rem;
  right: 5%;
}
.banner3 {
  width: 21rem;
  position: absolute;
  top: 34rem;
  right: 19rem;
}
.underline {
  width: 25%;
  position: absolute;
  top: 14rem;
  right: 22rem;
}

.video {
  width: 50%;
  display: block;
  margin-inline: auto;
  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-section {
  background: rgba(236, 241, 184, 0.5);
  padding-block: 30% 10%;
  margin-block-start: -26%;
}
.activities-section .row {
  width: 100%;
  align-items: flex-start;
  gap: 5%;
}
.activities-section h4 {
  padding-block-start: 1%;
}
.activities-section p {
  width: 45%;
}
.activities-section h4, .activities-section h2, .activities-section p {
  margin-block: 0;
  color: #2B4237;
}

/* New slider */
.activity-img {
  width: 100%;
  display: block;
  padding-block: 5%;
}
.activities-slider-container {
  display: flex;
  flex-direction: column;
}
.activities-section .w-20 {
  text-align: center;
}
.activities-arrows {
  padding-block-start: 2%;
}
.activities-arrows img {
  width: 40px;
  height: auto;
  cursor: pointer;
}
.activities-section .w-80 {
  display: flex;
  gap: 5%;
}
.activities-section .w-80 h4 {
  width: 5%;
}
.activities-section .w-80 h2 {
  width: 30%;
}
.activities-section .w-70 p {
}

.activities-section .w-80 h2, .speakers .w-30 h2 {
  font-size: 2.5rem;
}


/* Living is an art section */
.living {
  background: #2B4237 0% 0% no-repeat padding-box;
  padding-block: 10%;
  padding-inline: 10%;
}
.living img {
  width: 90%;
}
.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: 90%;
}
.va img {
  width: 100%;
  margin-block-start: 10%;
}

/* 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: rgba(236, 241, 184, 0.5);
  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";
  text-transform: uppercase;
}
.quote h2 {
  position: relative;
  z-index: 2;
  font-size: 3rem;
  letter-spacing: 0px;
}

/* Faculty  */
.speakers {
  background: #FFFDF8 0% 0% no-repeat padding-box;
  padding-block: 10% 0%;
}
.speakers .row {
  position: relative;
  align-items: center;
  gap: 0%;
  padding-block: 0%;
  padding-inline: 10% 5%;
  width: 85%;
  /*background: rgba(236, 241, 184, 0.5);*/
}
.speakers .row::before {
  content: "";
  position: absolute;
  left: 0;
  width: 100%;
  height: 63%;
  background: rgba(236, 241, 184, 0.5);
  top: 23%; 
  z-index: 0;
}

.speakers .row > * {
  position: relative;
  z-index: 1;
  padding-block-start: 5%;
}
.speakers .w-30 h2, .speakers p {
  text-align: left;
  color: #333333;
  padding-inline-start: 5%;
}
.speakers h1 {

}
.speakers p {
  padding-block-end: 5%;
}

.w-30 .speakers h2 {
  padding-block-start: 10%;
}
.faculty-img {
  width: 100%;
  /*aspect-ratio: 605 / 480;*/
  object-fit: cover;
  display: block;
  padding-block-start: 10%;
}
.faculty-name {
  font-size: 1.2rem;
  font-family: "neue";
  text-transform: uppercase;
  cursor: pointer;
  color: #F9F5EA;
  margin-block-start: -5%;
  float: right;
}
.w-70 .faculty-name {
  position: absolute;
}
.speakers .left-name {
  left: 35%;
}
.speakers .right-name {
  right: 8%;
}
.faculty-name.active {
  color:#ECF1B8;
  text-decoration:underline;
}
.faculty-img {
  opacity: 1;
  transition: opacity 0.5s ease-in-out;
}
#facultyLogos img{
  width: 70%;
  padding-inline-start: 5%;
}
.fade-out {
  opacity: 0;
}



/* FAQs */
.faqs {
  background-image: url(../images/ld26dec/bottom-bg.png);
  background-color: #FFFDF8;
  background-size: 100% 100%;
  background-repeat: no-repeat;
  margin-block-start: -7%;
  padding-block: 15% 5%;
  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: transparent;
  border: none;
  padding: 1.25rem 0 1.25rem 2.5rem;
  width: 100%;
  text-align: left;
  font-family: 'neue-med';
  font-size: 1.2rem;
  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: transparent;
}

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


/* 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: 744px) {
  .underline {
    width: 50%;
    top: 25.5rem;
    left: 10rem;
  }
}

@media only screen and (max-width: 768px) {
 .desktop {
    display: none;
  }
  .mobile {   
    display: block;
  }
  .row {
    flex-direction: column; 
  }
  .mob-row {
    flex-direction: row !important;
  }
  .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 {
    background-image: url(../images/ld26dec/top-bg_mob.png);
    width: 90%;
    padding-block: 20% 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 {
    width: 75%;
    text-align: center;
    font-size: 1.4rem;
  }
  .banner1 {
    width: 100%;
    padding-block: 10% 0%;
  }
  .underline {
    width: 80%;
    top: 17.6rem;
    left: 2rem;
  }
  .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-section {
    padding-block: 60% 10%;
    margin-block-start: -65%;
  }
  .activities-section .w-20 {
    width: 25%;
    padding-block-start: 7%;
  }
  .activities-section .w-80 {
    width: 75%;
    flex-direction: column;
  }
  .activities-section .w-80 h2 {
    width: 100%;
  }
  .activities-section .w-80 p {
    width: 90%;
    padding-inline-start: 0%;
  }
  .activities-arrows img {
    width: 30px;
  }
  .activity-stuff {
    position: unset;
    padding-block: 5% 2%;
    margin-block-start: 14rem;
  }
  .activities-section p {
    width: 100%;
    padding-block: 1rem 0%;
    padding-inline: 0%;
  }
  .activities-section .row {
    gap: 0%;
    width: 93%;
  }
  .activity-img {
    width: 100%;
  }

  .arrow-left {
    left: 75%;
  }
  .arrow-right {
    left: 90%;
  }


  .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 {
  }

  .va-images {
    background: linear-gradient(#9C6742 50%, #ECF1B8 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: #ECF1B8;
  }
  .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%;
  }

  .speakers .w-40 {
    width: 45% !important;
  }
  .speakers .w-5 {
    width: 10% !important;
  }
  .speakers .row {
    padding-inline: 5%;
    width: 90%;
  }
  .speakers .row::before {
    top: 35%;
    height: 70%;
  }
  .speakers .mob-row {
  }
  .speakers .w-70 {
    padding-block-end: 10%;
  }
  .speakers .w-30 {
    margin-block-start: 5%;
  }
  .speakers .faculty-name {
    font-size: 1rem;
  }
  .activities-section .w-80 h2, .speakers .w-30 h2 {
    font-size: 1.8rem;
  }
  .faculty-info-row {
    width: 100%;
    display:flex;
    align-items:flex-start;
  }
  .faculty-info-row #facultyName {
    width: 30%;
    padding-inline: 0%;
  }
  .faculty-info-row #facultyText {
    width: 70%;
    padding-inline: 10% 0%;
  }
  #facultyLogos img {
    width: 55%;
    padding-inline: 35% 0%;
  }
  .speakers .left-name {
    left: 25%;
  }
  .speakers .right-name {
    right: 2%;
  }
  .faculty-name {
    margin-block-start: -7%;
  }

  .faqs {
    padding-block: 15%;
    padding-inline: 5%;
    margin-block-start: 8%;
  }
  .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%;
  }
} 