body {
   overflow-x: unset !important;
}
/* *********************************** */
/*              HOMEPAGE HEADER            */
/* *********************************** */
.homepage .heading {
   background: url('/Content?applicationId=25d6b416-1480-486f-bc43-14a214991993&fileName=peruvian-dancers-1920x1080.jpg') no-repeat;
   color: var(--dark-content);
   background-position: bottom center;
   background-size: cover;
   background-color: var(--dark-01);
   min-height: 24rem;
   height: calc(100vh - 15rem);
   display: flex;
   align-items: end;
}

   .homepage .heading .wrapper {
       background-color: rgb(35, 40, 103, 0.9);
       margin: -.75rem;
       padding: .75rem;
       width: 100vw;
   }

   .homepage .heading h2 {
       color: var(--dark-content);
       font-size: var(--text-base);
       text-transform: uppercase;
       letter-spacing: 0.05rem;
   }

   .homepage .heading h1 {
       color: #F0C51F;
       font-size: var(--text-7xl);
       line-height: 1.3;
       padding-bottom: .75rem;
   }

   .homepage .heading p {
       font-weight: 500;
       font-size: var(--text-2xl);
       padding-bottom: 1.5rem;
       line-height: 1.5;
   }

   .homepage .heading .buttons {
       display: flex;
       gap: .5rem;
   }

       .homepage .heading .buttons a {
           text-decoration: none;
           width: 100%;
           display: flex;
           justify-content: center;
           align-items: center;
           height: 3rem;
           font-weight: 600;
           font-size: var(--text-lg);
       }

       .homepage .heading .buttons .primary {
           background-color: var(--base-01);
           border: 1px solid transparent;
           color: var(--primary);
       }

           .homepage .heading .buttons .primary:hover {
               background-color: var(--base-03);
               color: var(--dark-focus);
           }

       .homepage .heading .buttons .secondary {
           background-color: transparent;
           border: 1px solid var(--base-01);
           color: var(--dark-content);
       }

           .homepage .heading .buttons .secondary:hover {
               background-color: var(--dark-focus);
           }
/* *********************************** */
/*            HOMEPAGE INTRO           */
/* *********************************** */
.homepage .intro h2 {
   font-size: var(--text-4xl);
   padding-bottom: .75rem;
   color: var(--base-emphasis);
}

.homepage .intro .sub-heading {
   font-size: var(--text-base);
   padding-bottom: 1.5rem;
}

.homepage .four-columns {
   margin-bottom: 1rem;
}

   .homepage .four-columns .column:not(:last-of-type) {
       margin-bottom: 1.75rem;
   }

   .homepage .four-columns .icon-container {
       margin-bottom: .75rem;
       width: 3.5rem;
       height: 3.5rem;
       border-radius: 100%;
       display: flex;
       justify-content: center;
       align-items: center;
   }

   .homepage .four-columns h3 {
       padding-bottom: .5rem;
       color: var(--base-emphasis);
       font-size: var(--text-xl);
   }

   .homepage .four-columns .hybrid .icon-container {
       background-color: rgb(36, 40, 104, 0.125);
   }

   .homepage .four-columns .hybrid i {
       color: var(--primary);
   }

   .homepage .four-columns .hubs .icon-container {
       background-color: rgba(97, 133, 195, 0.125);
   }

   .homepage .four-columns .hubs i {
       color: rgba(97, 133, 195, 1);
   }

   .homepage .four-columns .theme .icon-container {
       background-color: rgba(107, 197, 146, 0.2);
   }

   .homepage .four-columns .theme i {
       color: rgba(107, 197, 146, 1);
   }

   .homepage .four-columns .members .icon-container {
       background-color: rgba(227, 69, 96, 0.125);
   }

   .homepage .four-columns .members i {
       color: rgba(227, 69, 96, 1);
   }

.homepage .intro .cta-container p {
   font-size: var(--text-sm);
   padding-bottom: .75rem;
}

   .homepage .intro .cta-container p a {
       font-size: var(--text-sm);
       font-weight: 600;
       color: var(--primary);
   }

       .homepage .intro .cta-container p a:hover {
           color: var(--primary-focus);
       }

.homepage .intro .cta-container a {
   font-size: var(--text-base);
   font-weight: 600;
   color: var(--primary);
}

   .homepage .intro .cta-container a:hover {
       color: var(--primary-focus);
   }

   .homepage .intro .cta-container a i {
       padding-left: .5rem;
   }

   .homepage .intro .cta-container a:hover i {
       animation: bounce 1s infinite;
   }

@keyframes bounce {
   0%, 100% {
       transform: translateX(0);
       animation-timing-function: cubic-bezier(0.8, 0, 1, 1);
   }

   50% {
       transform: translateX(25%);
       animation-timing-function: cubic-bezier(0, 0, 0.2, 1);
   }
}
/* *********************************** */
/*           HOMEPAGE DOWNLOADS        */
/* *********************************** */
.homepage .downloads {
   background: var(--base-01);
}

.homepage .downloads .two-columns {
display: flex;
flex-direction: column;
gap: 2.5rem;
}

.homepage .downloads h3 {
font-size: var(--text-4xl);
padding-bottom: .75rem;
color: var(--base-emphasis);
}

.homepage .downloads .column .programme-img-container {
display: block;
overflow: hidden;
margin-bottom: 1rem;
margin-bottom: 1rem;
border-radius: .5rem;
box-shadow: 0px 2px 8px 0px #0000001c;
height: auto;
}

.homepage .downloads .column .programme-img {
transform: scale(1);
transition: var(--five);
}

.homepage .downloads .column:hover .programme-img {
transform: scale(1.025);
}

.homepage .downloads p {
margin-bottom: 1.25rem;
}
.homepage .downloads .download-button {
text-decoration: none;
background-color: var(--primary);
color: var(--primary-content);
font-size: var(--text-lg);
width: 100%;
display: flex;
justify-content: center;
align-items: center;
height: 3rem;
font-weight: 600;
}
.homepage .downloads .download-button:hover {
   background-color: var(--primary-focus);
}
.homepage .downloads .download-button i {
   margin-left: 1rem;
   position: relative;
   top: -2px;
}
.homepage .downloads .download-button i::after {
   position: absolute;
   content: "";
   bottom: -12px;
   left: -.25rem;
   right: -.25rem;
   background-color: var(--primary-content);
   height: 2px;
   border-radius: 100%;
}
.homepage .downloads .download-button.disabled {
   cursor: not-allowed;
   background-color: var(--border-color);
   color: var(--base-mute);
}
.homepage .downloads .download-button.disabled:hover {
   cursor: not-allowed;
   background-color: var(--border-color);
   color: var(--base-mute);
}
a.download-button:not(first-of-type) {
   margin-top: .5rem;
}

.homepage .downloads + .sponsors {
   background-color: var(--base-02);
}

.download-disclaimer-modal-reveal {
   color: var(--primary);
   text-decoration: underline;
   font-size: var(--text-sm);
   padding-top: .75rem;
   font-style: italic;
   display: block;
}

   .download-disclaimer-modal-reveal:hover {
       color: var(--primary-focus);
   }

.disclaimer-modal .disclaimer-text {
   padding: .75rem 1rem;
   text-wrap: wrap;
}
/* *********************************** */
/*           HOMEPAGE SPONSORS         */
/* *********************************** */
.homepage .sponsors {
   background: var(--base-01);
}

   .homepage .sponsors h2 {
       font-size: var(--text-4xl);
       padding-bottom: .75rem;
       color: var(--base-emphasis);
   }

   .homepage .sponsors p {
       padding-bottom: 2rem;
       font-size: var(--text-lg);
   }

   .homepage .sponsors .two-columns {
       display: flex;
       flex-direction: column;
       gap: 2rem;
       justify-content: center;
       align-items: center;
       padding-bottom: 1rem;
   }

   .homepage .sponsors .sponsor-logo {
       filter: grayscale(100);
       max-width: 14rem;
   }

   .homepage .sponsors a:first-of-type .sponsor-logo {
       filter: grayscale(100) brightness(1.7);
       transition: var(--five);
   }

   .homepage .sponsors a:hover .sponsor-logo {
       filter: none;
       transition: var(--five);
   }
/* *********************************** */
/*           HOMEPAGE SCHEDULE         */
/* *********************************** */
.homepage .schedule {
   background: rgb(49, 53, 73, 0.5);
   background: linear-gradient(to right, rgb(35, 40, 103, 0.95) 0%, rgb(35, 40, 103, .95) 100%), url('/Content?applicationId=25d6b416-1480-486f-bc43-14a214991993&fileName=peruvian-pattern-1920x1283.jpg') no-repeat;
   background-position: center;
   background-size: cover;
}

   .homepage .schedule header {
       padding-bottom: .75rem;
   }

       .homepage .schedule header h2 {
           font-size: var(--text-4xl);
           padding-bottom: .75rem;
           color: var(--dark-content);
       }

       .homepage .schedule header p {
           color: var(--dark-content);
           font-size: var(--text-sm);
       }

@media only screen and (min-width: 360px) {
   /* CSS rules */
}

@media only screen and (min-width: 500px) {
   /* *********************************** */
   /*            HOMEPAGE HEADER          */
   /* *********************************** */
   .homepage .heading .wrapper {
       padding: 1.25rem .75rem;
   }
   /* *********************************** */
   /*            HOMEPAGE INTRO           */
   /* *********************************** */
   .homepage .four-columns {
       display: flex;
       flex-wrap: wrap;
       row-gap: 1.5rem;
       column-gap: 1rem;
   }

       .homepage .four-columns .column {
           width: calc(50% - .5rem);
       }

           .homepage .four-columns .column:not(:last-of-type) {
               margin-bottom: 0;
           }

   .homepage .intro .cta-container > a {
       display: block;
       text-align: center;
   }
   /* *********************************** */
   /*           HOMEPAGE DOWNLOADS        */
   /* *********************************** */
   .homepage .downloads .two-columns {
       flex-direction: row;
       gap: 1.5rem;
       flex-wrap: wrap;
   }

   .homepage .downloads .column {
       width: calc((100% - 1.5rem) / 2);
   }

   .homepage .downloads .column {
       width: 100%;
   }

   .homepage .downloads .download-button i {
       display: none;
   }
   /* *********************************** */
   /*           HOMEPAGE SPONSORS         */
   /* *********************************** */
   .homepage .sponsors .two-columns {
       flex-direction: row;
       gap: 1.5rem;
       align-items: unset;
   }
}

@media only screen and (min-width: 640px) {
   /* *********************************** */
   /*            HOMEPAGE HEADER          */
   /* *********************************** */
   .homepage .heading {
       padding: 1.25rem;
       height: calc(100vh - 15rem);
   }

       .homepage .heading .wrapper {
           margin: -1.25rem;
           padding: 1.25rem;
       }

   /* *********************************** */
   /*               HOMEPAGE INTRO              */
   /* *********************************** */
   .homepage .intro h2 {
       font-size: var(--text-5xl);
   }

   .homepage .intro .sub-heading {
       padding-bottom: 2rem;
       font-size: var(--text-lg);
   }

   .homepage .four-columns {
       padding-bottom: 2rem;
   }
   /* *********************************** */
   /*           HOMEPAGE DOWNLOADS        */
   /* *********************************** */
   .homepage .downloads h2 {
       font-size: var(--text-5xl);
   }

   .homepage .downloads .download-button i {
       display: unset;
   }

   .homepage .downloads .download-button {
       padding: 0 1.5rem;
       width: fit-content;
   }
   /* *********************************** */
   /*           HOMEPAGE SPONSORS         */
   /* *********************************** */
   .homepage .sponsors h2 {
       font-size: var(--text-5xl);
   }

   .homepage .sponsors p {
       padding-bottom: 2rem;
       font-size: var(--text-lg);
   }

   .homepage .sponsors .two-columns {
       gap: 0;
       justify-content: space-evenly;
   }
   /* *********************************** */
   /*           HOMEPAGE SCHEDULE         */
   /* *********************************** */
   .homepage .schedule header h2 {
       font-size: var(--text-5xl);
   }

   .homepage .schedule header p {
       font-size: var(--text-base);
   }
}

@media only screen and (min-width: 768px) {
}

@media only screen and (min-width: 1024px) {
   /* *********************************** */
   /*            HOMEPAGE HEADER          */
   /* *********************************** */
   .homepage .heading {
       padding: 1.25rem;
       height: calc(100vh - 22rem);
   }

       .homepage .heading .wrapper {
           padding: 2rem 2.5rem;
           margin: 2rem 2.5rem;
           text-align: center;
       }

       .homepage .heading .buttons {
           justify-content: center;
       }

       .homepage .heading h2 {
           font-size: var(--text-xl);
           padding-bottom: .5rem;
       }

       .homepage .heading h1 {
           font-size: 3.75rem;
           padding-bottom: 1.5rem;
       }

       .homepage .heading p {
           font-size: var(--text-5xl);
           padding-bottom: 2.25rem;
       }

       .homepage .heading .buttons {
           gap: 1rem;
       }

           .homepage .heading .buttons a {
               width: unset;
               padding: 0 2rem;
               height: 3.5rem;
               font-size: var(--text-xl);
           }

   .homepage .four-columns {
       column-gap: 2rem;
   }

       .homepage .four-columns .column {
           width: calc((100% - 6rem) / 4);
       }
   /* *********************************** */
   /*            HOMEPAGE INTRO           */
   /* *********************************** */
   .homepage .intro h2 {
       font-size: var(--text-6xl);
       text-align: center;
   }

   .homepage .intro .sub-heading {
       font-size: var(--text-xl);
       text-align: center;
       text-wrap: balance;
       padding-bottom: 3rem;
   }

   .homepage .intro .cta-container p {
       font-size: var(--text-base);
       text-align: center;
   }

   .homepage .schedule header h2 {
       font-size: var(--text-6xl);
       text-align: center;
   }

   .homepage .four-columns h3 {
       font-size: var(--text-2xl);
   }
   /* *********************************** */
   /*           HOMEPAGE DOWNLOADS        */
   /* *********************************** */
   .homepage .downloads h2 {
       font-size: var(--text-6xl);
       text-align: center;
       padding-bottom: 1.5rem;
   }

   .homepage .downloads .two-columns {
       justify-content: space-evenly;
       padding: 3rem 0;
   }
   .homepage .downloads .column {
      display: flex;
      position: relative;
      padding: 3rem 0;
      align-items: center;
      background: linear-gradient(90deg, rgba(0,0,0,0) 0%, rgba(0,0,0,0) 53%, var(--base-05) 53%, var(--base-05) 100%);
   }
.homepage .downloads .column.congress-guide {
   background: linear-gradient(-90deg, rgba(0,0,0,0) 0%, rgba(0,0,0,0) 53%, var(--base-05) 53%, var(--base-05) 100%);

}
   .homepage .downloads .column .programme-img-container {
      flex-basis: 58.33%;
      width: 58.33%;
   }
   .homepage .downloads .column .programme-img-container > div > div:first-of-type {
      border: none !important;
   }
   .homepage .downloads .column .download-details {
      flex-basis: 41.67%;
      padding: 0 3rem;
   }

   /* *********************************** */
   /*           HOMEPAGE SPONSORS         */
   /* *********************************** */
   .homepage .sponsors h2 {
       font-size: var(--text-6xl);
       text-align: center;
   }

   .homepage .sponsors p {
       font-size: var(--text-xl);
       text-align: center;
       padding-bottom: 3rem;
   }
}

@media only screen and (min-width: 1280px) {
   /* *********************************** */
   /*            HOMEPAGE HEADER          */
   /* *********************************** */
   .homepage .heading {
       background-position: right center;
       padding: 0;
       align-items: unset;
       height: calc(100vh - 17rem);
   }

       .homepage .heading .wrapper {
           margin: 0;
           align-items: center;
           display: flex;
           text-align: left;
           background: linear-gradient(to right, rgb(35, 40, 103, 0.85) 50%, rgb(35, 40, 103, .7) 100%)
       }

       .homepage .heading .buttons {
           justify-content: start;
       }

   .homepage .intro .cta-container p,
   .homepage .intro .cta-container p a {
       font-size: var(--text-lg);
       text-wrap: balance;
   }

   .homepage .intro .cta-container > a {
       font-size: var(--text-xl);
   }

   .homepage .intro .cta-container p {
       padding-bottom: 1.5rem;
   }

   .homepage .intro .sub-heading {
       padding-bottom: 3rem;
   }

   .homepage .heading {
       position: relative;
       margin-bottom: .625rem;
   }

       .homepage .heading::after {
           position: absolute;
           content: "";
           left: 0;
           right: 0;
           width: 100%;
           height: .625rem;
           bottom: -.625rem;
           margin: 0;
           background: rgb(49, 53, 73, 0.5);
           background: linear-gradient(140deg, rgba(21, 72, 108, 0.6) 0%, rgba(26, 33, 119, 0.6) 100%);
           box-shadow: 0 4px 8px rgba(0, 0, 0, 0.25);
           backdrop-filter: blur(5px);
           -webkit-backdrop-filter: blur(5px);
       }
   /* *********************************** */
   /*           HOMEPAGE DOWNLOADS        */
   /* *********************************** */
   .homepage .downloads h2 {
       padding-bottom: 2rem;
   }

   .homepage .downloads .download-button {
       height: 3.5rem;
       padding: 0 2rem;
   }
   /* *********************************** */
   /*           HOMEPAGE SPONSORS         */
   /* *********************************** */
   .homepage .sponsors .two-columns {
       width: 50%;
       margin: 0 auto;
   }
}

@media only screen and (min-width: 1536px) {
   .homepage .full-width .wrapper {
       padding: 1rem 0;
   }

   .heading.full-width .wrapper {
       max-width: 100%;
   }

   .homepage .heading {
       background-position: right center;
       padding: 0;
       align-items: unset;
       height: calc(100vh - 19rem);
   }

   .homepage .intro .sub-heading,
   .homepage .four-columns {
       padding-bottom: 4rem;
       margin-bottom: 0;
   }

   .heading.full-width .content {
       max-width: 90rem;
       width: 100%;
       margin: 0 auto;
   }

   .homepage .schedule header {
       padding-bottom: 1rem;
   }
   /* *********************************** */
   /*           HOMEPAGE DOWNLOADS        */
   /* *********************************** */
   .homepage .downloads h2 {
       padding-bottom: 2.5rem;
   }
   .homepage .downloads .column .download-details {
      padding: 0 5rem;
   }
}
