@import url(https://fonts.googleapis.com/css2?family=Urbanist:ital,wght@0,600;1,600&display=swap);
/* Box sizing rules */
*,
*::before,
*::after {
  margin: 0;
  padding: 0;
  box-sizing: border-box;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

/* Remove list styles on ul, ol elements with a list role, which suggests default styling will be removed */
ul[role=list],
ol[role=list] {
  list-style: none;
}

/* Set core root defaults */
html:focus-within {
  scroll-behavior: smooth;
}

/* Set core body defaults */
body {
  min-height: 100vh;
  text-rendering: optimizeSpeed;
  line-height: 1.5;
}

/* A elements that don't have a class get default styles */
a:not([class]) {
  -webkit-text-decoration-skip: ink;
          text-decoration-skip-ink: auto;
}

/* Inherit fonts for inputs and buttons */
input,
button,
textarea,
select {
  font: inherit;
}

/* Remove all animations, transitions and smooth scroll for people that prefer not to see them */
@media (prefers-reduced-motion: reduce) {
  html:focus-within {
    scroll-behavior: auto;
  }
  *,
  *::before,
  *::after {
    animation-duration: 0.01ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: 0.01ms !important;
    scroll-behavior: auto !important;
  }
}
html {
  scroll-behavior: smooth;
}

html,
body {
  width: 100%;
}

a {
  color: inherit;
}

fieldset {
  border: 0;
  min-width: 0;
}

/* === Colours === */
/* === Fonts === */
html, body {
  width: 100%;
  overflow-x: hidden;
  font-family: "Montserrat", sans-serif;
  font-weight: 400;
  background: #F2E2D3;
  margin: 0;
}

body.ns {
  height: 100vh;
  overflow: hidden;
}

.container-wide {
  max-width: 1820px !important;
  margin: 0 auto;
  padding: 0 50px;
}
@media (max-width: 768px) {
  .container-wide {
    max-width: 100%;
    padding: 0 30px;
  }
  .container-wide .col-12 {
    padding: 0;
  }
}

.container-1600 {
  max-width: 1600px !important;
  margin: 0 auto;
  padding: 0 50px;
}
@media (max-width: 768px) {
  .container-1600 {
    padding: 0 30px;
  }
}

.container {
  max-width: 1320px !important;
  margin: 0 auto;
}
@media (max-width: 768px) {
  .container {
    max-width: 90%;
  }
}

[class*=col-] {
  padding-top: 0 !important;
  padding-bottom: 0 !important;
}

.festivalHero__cursor {
  opacity: 0;
}

.bg-white {
  background: white;
}

.bg-sand {
  background: #F2E2D3;
}

.bg-purple {
  background: #6039B8;
}

.bg-dark {
  background: #0F091F;
}

.page {
  position: relative;
}
.page:before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 800px;
  transition: 0.3s ease;
}
.page section {
  position: relative;
  z-index: 1;
}

.hero-style-purple:before {
  background: linear-gradient(180deg, #6039B8 -3.66%, transparent 88.61%);
}

.hero-style-pink:before {
  background: linear-gradient(321.24deg, #F2E2D3 46.08%, #FF66FD 105.63%);
}

.hero-style-dark:before {
  background: linear-gradient(321.24deg, #0F091F 46.08%, #FF66FD 105.63%);
}
.hero-style-dark .header__container nav a {
  color: white;
}

[v-cloak] {
  display: none;
}

.cardTilt {
  position: relative;
  transform-style: preserve-3d;
  overflow: hidden;
  will-change: transform;
}

.flex-center {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
}

.mx-auto {
  margin: 0 auto;
}

.pt-30 {
  padding-top: 30px;
}
@media (max-width: 768px) {
  .pt-30 {
    padding-top: 15px;
  }
}

.py-60 {
  padding: 60px 0;
}
@media (max-width: 768px) {
  .py-60 {
    padding: 40px 0;
  }
}

.py-80 {
  padding: 80px 0 150px;
}
@media (max-width: 768px) {
  .py-80 {
    padding: 60px 0 80px;
  }
}

.py-100 {
  padding: 100px 0;
}
@media (max-width: 768px) {
  .py-100 {
    padding: 60px 0;
  }
}

.py-150 {
  padding: 150px 0;
}
@media (max-width: 768px) {
  .py-150 {
    padding: 60px 0;
  }
}

.padding-default {
  padding: 150px 0;
}
@media (max-width: 768px) {
  .padding-default {
    padding: 50px 0;
  }
}

.padding-top {
  padding: 150px 0 0;
}
@media (max-width: 768px) {
  .padding-top {
    padding: 50px 0 0;
  }
}

.padding-bottom {
  padding: 0 0 150px;
}
@media (max-width: 768px) {
  .padding-bottom {
    padding: 0 0 50px;
  }
}

.mb-50 {
  margin-bottom: 50px;
}
@media (max-width: 768px) {
  .mb-50 {
    margin-bottom: 30px;
  }
}

@font-face {
  font-family: "Vitesse Sans";
  src: url("/wp-content/themes/nisciencefest/assets/fonts/VitesseSans-Black.eot");
  src: url("/wp-content/themes/nisciencefest/assets/fonts/VitesseSans-Black.eot?#iefix") format("embedded-opentype"), url("/wp-content/themes/nisciencefest/assets/fonts/VitesseSans-Black.woff2") format("woff2"), url("/wp-content/themes/nisciencefest/assets/fonts/VitesseSans-Black.woff") format("woff"), url("/wp-content/themes/nisciencefest/assets/fonts/VitesseSans-Black.ttf") format("truetype");
  font-weight: 900;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: "SF Mono";
  src: url("/wp-content/themes/nisciencefest/assets/fonts/SFMono-Semibold.eot");
  src: url("/wp-content/themes/nisciencefest/assets/fonts/SFMono-Semibold.eot?#iefix") format("embedded-opentype"), url("/wp-content/themes/nisciencefest/assets/fonts/SFMono-Semibold.woff2") format("woff2"), url("/wp-content/themes/nisciencefest/assets/fonts/SFMono-Semibold.woff") format("woff"), url("/wp-content/themes/nisciencefest/assets/fonts/SFMono-Semibold.ttf") format("truetype");
  font-weight: 600;
  font-style: normal;
  font-display: swap;
}
body {
  font-family: "Urbanist", sans-serif;
  color: #0F091F;
  font-weight: 600;
  font-size: 16px;
  line-height: 1.3;
}

h1, h2, h3, h4, h5, .heading-font {
  font-family: "Vitesse Sans", sans-serif;
  text-transform: uppercase;
  font-weight: 900;
  font-style: normal;
  margin: 0;
  padding: 0;
}

/* Text Colours */
.fc-white {
  color: white;
}

.fc-pink {
  color: #FF66FD;
}

.fc-pink-500 {
  color: #E775A8;
}

.fc-purple {
  color: #6039B8;
}

.fc-sand {
  color: #F2E2D3;
}

.fc-orange {
  color: #F38C49;
}

/* Sizes */
h1, .h1 {
  font-size: clamp(55px, 4.43vw + 34px, 120px);
  line-height: 0.9;
}

h2, .h2 {
  font-size: clamp(40px, 2.22vw + 22.93px, 56px);
  line-height: 1;
}

h3, .h3 {
  font-size: clamp(28px, 1.67vw + 15.14px, 40px);
  line-height: 1.2;
}

h4, .h4 {
  font-size: clamp(18px, 1.39vw + 7.29px, 28px);
  line-height: 1.2;
}

h5, .h5 {
  font-size: clamp(16px, 0.37vw + 13.14px, 18px);
  line-height: 1.3;
}

h6, .h6 {
  font-family: "SF Mono", serif;
  font-size: 16px;
  line-height: 1.3;
  text-transform: uppercase;
}

p {
  font-family: "Urbanist", sans-serif;
  font-weight: 600;
  font-size: 16px;
  line-height: 1.3;
}
p.small {
  font-family: "SF Mono", serif;
  text-transform: uppercase;
  font-size: 14px;
  letter-spacing: 0px;
  font-weight: 600;
}
p.large {
  font-size: 24px;
  line-height: 1.3;
}

a.small {
  font-family: "SF Mono", serif;
  text-transform: uppercase;
  font-size: 14px;
  letter-spacing: 0px;
  font-weight: 600;
}

.rte a {
  color: inherit;
  text-decoration: underline;
}
.rte a:hover {
  text-decoration: none;
}

.rte p {
  margin-bottom: 15px;
}
.rte p:last-child {
  margin-bottom: 0;
}
.rte ul {
  font-size: 16px;
  line-height: 26px;
  margin-left: 20px;
  margin-top: 30px;
}
@media (max-width: 1024px) {
  .rte ul {
    font-size: 14px;
    line-height: 22px;
    margin-left: 15px;
    margin-top: 15px;
  }
}

/* === Weights === */
.fw-900 {
  font-weight: 900;
}

.fw-800 {
  font-weight: 800;
}

/* === Alignment === */
.text-right {
  text-align: right;
}

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

/* === Links === */
.text-link {
  color: inherit;
  text-decoration: underline;
  text-underline-offset: 3px;
  text-decoration-color: inherit;
  transition: 0.3s ease-in-out;
}

a {
  color: inherit;
  text-decoration: none;
  transition: 0.3s ease-in-out;
}
a:hover {
  text-decoration: underline;
  text-underline-offset: 3px;
  text-decoration-color: inherit;
}

:root {
  --reflex-columns: 12;
  --reflex-grid-spacing: 15px;
  --reflex-xs: 576px;
  --reflex-sm: 768px;
  --reflex-md: 992px;
  --reflex-lg: 1200px;
  --reflex-xlg: 1600px;
  --reflex-xxs-max: 575px;
  --reflex-xs-max: 767px;
  --reflex-sm-max: 991px;
  --reflex-md-max: 1199px;
  --reflex-lg-max: 1599px;
}

.container, .container-full {
  box-sizing: border-box;
  width: 100%;
  margin-right: auto;
  margin-left: auto;
  padding-right: 30px;
  padding-left: 30px;
}

.container .grid, .container-full .grid {
  margin-right: -15px;
  margin-left: -15px;
}

@media (min-width: 576px) {
  .container {
    max-width: 576px;
  }
}
@media (min-width: 768px) {
  .container {
    max-width: 768px;
  }
}
@media (min-width: 992px) {
  .container {
    max-width: 992px;
  }
}
@media (min-width: 1200px) {
  .container {
    max-width: 1200px;
  }
}
@media (min-width: 1600px) {
  .container {
    max-width: 1600px;
  }
}
.grid {
  box-sizing: border-box;
  display: block;
  display: flex;
  flex-wrap: wrap;
  padding: 0;
  margin: 0 auto;
  position: relative;
  letter-spacing: -0.31em;
  *letter-spacing: normal;
  word-spacing: -0.43em;
  list-style-type: none;
}

.grid::before, .grid::after {
  box-sizing: border-box;
  letter-spacing: normal;
  word-spacing: normal;
  white-space: normal;
}

[class*=col-] {
  box-sizing: border-box;
  letter-spacing: normal;
  word-spacing: normal;
  white-space: normal;
  position: relative;
  width: 100%;
  vertical-align: top;
  padding: 15px;
  display: inline-block;
  *display: inline;
  zoom: 1;
}

[class*=col-]::before, [class*=col-]::after {
  box-sizing: border-box;
  letter-spacing: normal;
  word-spacing: normal;
  white-space: normal;
}

[class*=col-] .grid {
  flex: 1 1 auto;
  margin: -15px;
}

.col-12 {
  width: 100%;
  *width: 99.9%;
}

.col-11 {
  width: 91.6666666667%;
  *width: 91.5666666667%;
}

.col-10 {
  width: 83.3333333333%;
  *width: 83.2333333333%;
}

.col-9 {
  width: 75%;
  *width: 74.9%;
}

.col-8 {
  width: 66.6666666667%;
  *width: 66.5666666667%;
}

.col-7 {
  width: 58.3333333333%;
  *width: 58.2333333333%;
}

.col-6 {
  width: 50%;
  *width: 49.9%;
}

.col-5 {
  width: 41.6666666667%;
  *width: 41.5666666667%;
}

.col-4 {
  width: 33.3333333333%;
  *width: 33.2333333333%;
}

.col-3 {
  width: 25%;
  *width: 24.9%;
}

.col-2 {
  width: 16.6666666667%;
  *width: 16.5666666667%;
}

.col-1 {
  width: 8.3333333333%;
  *width: 8.2333333333%;
}

@media (min-width: 576px) {
  .col-xs-12 {
    width: 100%;
    *width: 99.9%;
  }
  .col-xs-11 {
    width: 91.6666666667%;
    *width: 91.5666666667%;
  }
  .col-xs-10 {
    width: 83.3333333333%;
    *width: 83.2333333333%;
  }
  .col-xs-9 {
    width: 75%;
    *width: 74.9%;
  }
  .col-xs-8 {
    width: 66.6666666667%;
    *width: 66.5666666667%;
  }
  .col-xs-7 {
    width: 58.3333333333%;
    *width: 58.2333333333%;
  }
  .col-xs-6 {
    width: 50%;
    *width: 49.9%;
  }
  .col-xs-5 {
    width: 41.6666666667%;
    *width: 41.5666666667%;
  }
  .col-xs-4 {
    width: 33.3333333333%;
    *width: 33.2333333333%;
  }
  .col-xs-3 {
    width: 25%;
    *width: 24.9%;
  }
  .col-xs-2 {
    width: 16.6666666667%;
    *width: 16.5666666667%;
  }
  .col-xs-1 {
    width: 8.3333333333%;
    *width: 8.2333333333%;
  }
}
@media (min-width: 768px) {
  .col-sm-12 {
    width: 100%;
    *width: 99.9%;
  }
  .col-sm-11 {
    width: 91.6666666667%;
    *width: 91.5666666667%;
  }
  .col-sm-10 {
    width: 83.3333333333%;
    *width: 83.2333333333%;
  }
  .col-sm-9 {
    width: 75%;
    *width: 74.9%;
  }
  .col-sm-8 {
    width: 66.6666666667%;
    *width: 66.5666666667%;
  }
  .col-sm-7 {
    width: 58.3333333333%;
    *width: 58.2333333333%;
  }
  .col-sm-6 {
    width: 50%;
    *width: 49.9%;
  }
  .col-sm-5 {
    width: 41.6666666667%;
    *width: 41.5666666667%;
  }
  .col-sm-4 {
    width: 33.3333333333%;
    *width: 33.2333333333%;
  }
  .col-sm-3 {
    width: 25%;
    *width: 24.9%;
  }
  .col-sm-2 {
    width: 16.6666666667%;
    *width: 16.5666666667%;
  }
  .col-sm-1 {
    width: 8.3333333333%;
    *width: 8.2333333333%;
  }
}
@media (min-width: 992px) {
  .col-md-12 {
    width: 100%;
    *width: 99.9%;
  }
  .col-md-11 {
    width: 91.6666666667%;
    *width: 91.5666666667%;
  }
  .col-md-10 {
    width: 83.3333333333%;
    *width: 83.2333333333%;
  }
  .col-md-9 {
    width: 75%;
    *width: 74.9%;
  }
  .col-md-8 {
    width: 66.6666666667%;
    *width: 66.5666666667%;
  }
  .col-md-7 {
    width: 58.3333333333%;
    *width: 58.2333333333%;
  }
  .col-md-6 {
    width: 50%;
    *width: 49.9%;
  }
  .col-md-5 {
    width: 41.6666666667%;
    *width: 41.5666666667%;
  }
  .col-md-4 {
    width: 33.3333333333%;
    *width: 33.2333333333%;
  }
  .col-md-3 {
    width: 25%;
    *width: 24.9%;
  }
  .col-md-2 {
    width: 16.6666666667%;
    *width: 16.5666666667%;
  }
  .col-md-1 {
    width: 8.3333333333%;
    *width: 8.2333333333%;
  }
}
@media (min-width: 1200px) {
  .col-lg-12 {
    width: 100%;
    *width: 99.9%;
  }
  .col-lg-11 {
    width: 91.6666666667%;
    *width: 91.5666666667%;
  }
  .col-lg-10 {
    width: 83.3333333333%;
    *width: 83.2333333333%;
  }
  .col-lg-9 {
    width: 75%;
    *width: 74.9%;
  }
  .col-lg-8 {
    width: 66.6666666667%;
    *width: 66.5666666667%;
  }
  .col-lg-7 {
    width: 58.3333333333%;
    *width: 58.2333333333%;
  }
  .col-lg-6 {
    width: 50%;
    *width: 49.9%;
  }
  .col-lg-5 {
    width: 41.6666666667%;
    *width: 41.5666666667%;
  }
  .col-lg-4 {
    width: 33.3333333333%;
    *width: 33.2333333333%;
  }
  .col-lg-3 {
    width: 25%;
    *width: 24.9%;
  }
  .col-lg-2 {
    width: 16.6666666667%;
    *width: 16.5666666667%;
  }
  .col-lg-1 {
    width: 8.3333333333%;
    *width: 8.2333333333%;
  }
}
@media (min-width: 1600px) {
  .col-xlg-12 {
    width: 100%;
    *width: 99.9%;
  }
  .col-xlg-11 {
    width: 91.6666666667%;
    *width: 91.5666666667%;
  }
  .col-xlg-10 {
    width: 83.3333333333%;
    *width: 83.2333333333%;
  }
  .col-xlg-9 {
    width: 75%;
    *width: 74.9%;
  }
  .col-xlg-8 {
    width: 66.6666666667%;
    *width: 66.5666666667%;
  }
  .col-xlg-7 {
    width: 58.3333333333%;
    *width: 58.2333333333%;
  }
  .col-xlg-6 {
    width: 50%;
    *width: 49.9%;
  }
  .col-xlg-5 {
    width: 41.6666666667%;
    *width: 41.5666666667%;
  }
  .col-xlg-4 {
    width: 33.3333333333%;
    *width: 33.2333333333%;
  }
  .col-xlg-3 {
    width: 25%;
    *width: 24.9%;
  }
  .col-xlg-2 {
    width: 16.6666666667%;
    *width: 16.5666666667%;
  }
  .col-xlg-1 {
    width: 8.3333333333%;
    *width: 8.2333333333%;
  }
}
.col-auto {
  flex: 1 0 0px;
  width: auto;
}

@media (min-width: 576px) {
  .col-xs-auto {
    flex: 1 0 0px;
    width: auto;
  }
}
@media (min-width: 768px) {
  .col-sm-auto {
    flex: 1 0 0px;
    width: auto;
  }
}
@media (min-width: 992px) {
  .col-md-auto {
    flex: 1 0 0px;
    width: auto;
  }
}
@media (min-width: 1200px) {
  .col-lg-auto {
    flex: 1 0 0px;
    width: auto;
  }
}
@media (min-width: 1600px) {
  .col-xlg-auto {
    flex: 1 0 0px;
    width: auto;
  }
}
.order-12 {
  order: 12;
}

.order-11 {
  order: 11;
}

.order-10 {
  order: 10;
}

.order-9 {
  order: 9;
}

.order-8 {
  order: 8;
}

.order-7 {
  order: 7;
}

.order-6 {
  order: 6;
}

.order-5 {
  order: 5;
}

.order-4 {
  order: 4;
}

.order-3 {
  order: 3;
}

.order-2 {
  order: 2;
}

.order-1 {
  order: 1;
}

.order-0 {
  order: 0;
}

@media (min-width: 576px) {
  .order-xs-12 {
    order: 12;
  }
  .order-xs-11 {
    order: 11;
  }
  .order-xs-10 {
    order: 10;
  }
  .order-xs-9 {
    order: 9;
  }
  .order-xs-8 {
    order: 8;
  }
  .order-xs-7 {
    order: 7;
  }
  .order-xs-6 {
    order: 6;
  }
  .order-xs-5 {
    order: 5;
  }
  .order-xs-4 {
    order: 4;
  }
  .order-xs-3 {
    order: 3;
  }
  .order-xs-2 {
    order: 2;
  }
  .order-xs-1 {
    order: 1;
  }
  .order-xs-0 {
    order: 0;
  }
}
@media (min-width: 768px) {
  .order-sm-12 {
    order: 12;
  }
  .order-sm-11 {
    order: 11;
  }
  .order-sm-10 {
    order: 10;
  }
  .order-sm-9 {
    order: 9;
  }
  .order-sm-8 {
    order: 8;
  }
  .order-sm-7 {
    order: 7;
  }
  .order-sm-6 {
    order: 6;
  }
  .order-sm-5 {
    order: 5;
  }
  .order-sm-4 {
    order: 4;
  }
  .order-sm-3 {
    order: 3;
  }
  .order-sm-2 {
    order: 2;
  }
  .order-sm-1 {
    order: 1;
  }
  .order-sm-0 {
    order: 0;
  }
}
@media (min-width: 992px) {
  .order-md-12 {
    order: 12;
  }
  .order-md-11 {
    order: 11;
  }
  .order-md-10 {
    order: 10;
  }
  .order-md-9 {
    order: 9;
  }
  .order-md-8 {
    order: 8;
  }
  .order-md-7 {
    order: 7;
  }
  .order-md-6 {
    order: 6;
  }
  .order-md-5 {
    order: 5;
  }
  .order-md-4 {
    order: 4;
  }
  .order-md-3 {
    order: 3;
  }
  .order-md-2 {
    order: 2;
  }
  .order-md-1 {
    order: 1;
  }
  .order-md-0 {
    order: 0;
  }
}
@media (min-width: 1200px) {
  .order-lg-12 {
    order: 12;
  }
  .order-lg-11 {
    order: 11;
  }
  .order-lg-10 {
    order: 10;
  }
  .order-lg-9 {
    order: 9;
  }
  .order-lg-8 {
    order: 8;
  }
  .order-lg-7 {
    order: 7;
  }
  .order-lg-6 {
    order: 6;
  }
  .order-lg-5 {
    order: 5;
  }
  .order-lg-4 {
    order: 4;
  }
  .order-lg-3 {
    order: 3;
  }
  .order-lg-2 {
    order: 2;
  }
  .order-lg-1 {
    order: 1;
  }
  .order-lg-0 {
    order: 0;
  }
}
@media (min-width: 1600px) {
  .order-xlg-12 {
    order: 12;
  }
  .order-xlg-11 {
    order: 11;
  }
  .order-xlg-10 {
    order: 10;
  }
  .order-xlg-9 {
    order: 9;
  }
  .order-xlg-8 {
    order: 8;
  }
  .order-xlg-7 {
    order: 7;
  }
  .order-xlg-6 {
    order: 6;
  }
  .order-xlg-5 {
    order: 5;
  }
  .order-xlg-4 {
    order: 4;
  }
  .order-xlg-3 {
    order: 3;
  }
  .order-xlg-2 {
    order: 2;
  }
  .order-xlg-1 {
    order: 1;
  }
  .order-xlg-0 {
    order: 0;
  }
}
.offset-11 {
  margin-left: 91.6666666667%;
  *margin-left: 91.5666666667%;
}

.offset-10 {
  margin-left: 83.3333333333%;
  *margin-left: 83.2333333333%;
}

.offset-9 {
  margin-left: 75%;
  *margin-left: 74.9%;
}

.offset-8 {
  margin-left: 66.6666666667%;
  *margin-left: 66.5666666667%;
}

.offset-7 {
  margin-left: 58.3333333333%;
  *margin-left: 58.2333333333%;
}

.offset-6 {
  margin-left: 50%;
  *margin-left: 49.9%;
}

.offset-5 {
  margin-left: 41.6666666667%;
  *margin-left: 41.5666666667%;
}

.offset-4 {
  margin-left: 33.3333333333%;
  *margin-left: 33.2333333333%;
}

.offset-3 {
  margin-left: 25%;
  *margin-left: 24.9%;
}

.offset-2 {
  margin-left: 16.6666666667%;
  *margin-left: 16.5666666667%;
}

.offset-1 {
  margin-left: 8.3333333333%;
  *margin-left: 8.2333333333%;
}

@media (min-width: 576px) {
  .offset-xs-11 {
    margin-left: 91.6666666667%;
    *margin-left: 91.5666666667%;
  }
  .offset-xs-10 {
    margin-left: 83.3333333333%;
    *margin-left: 83.2333333333%;
  }
  .offset-xs-9 {
    margin-left: 75%;
    *margin-left: 74.9%;
  }
  .offset-xs-8 {
    margin-left: 66.6666666667%;
    *margin-left: 66.5666666667%;
  }
  .offset-xs-7 {
    margin-left: 58.3333333333%;
    *margin-left: 58.2333333333%;
  }
  .offset-xs-6 {
    margin-left: 50%;
    *margin-left: 49.9%;
  }
  .offset-xs-5 {
    margin-left: 41.6666666667%;
    *margin-left: 41.5666666667%;
  }
  .offset-xs-4 {
    margin-left: 33.3333333333%;
    *margin-left: 33.2333333333%;
  }
  .offset-xs-3 {
    margin-left: 25%;
    *margin-left: 24.9%;
  }
  .offset-xs-2 {
    margin-left: 16.6666666667%;
    *margin-left: 16.5666666667%;
  }
  .offset-xs-1 {
    margin-left: 8.3333333333%;
    *margin-left: 8.2333333333%;
  }
  .offset-xs-0 {
    margin-left: 0;
    *margin-left: -0.1%;
  }
}
@media (min-width: 768px) {
  .offset-sm-11 {
    margin-left: 91.6666666667%;
    *margin-left: 91.5666666667%;
  }
  .offset-sm-10 {
    margin-left: 83.3333333333%;
    *margin-left: 83.2333333333%;
  }
  .offset-sm-9 {
    margin-left: 75%;
    *margin-left: 74.9%;
  }
  .offset-sm-8 {
    margin-left: 66.6666666667%;
    *margin-left: 66.5666666667%;
  }
  .offset-sm-7 {
    margin-left: 58.3333333333%;
    *margin-left: 58.2333333333%;
  }
  .offset-sm-6 {
    margin-left: 50%;
    *margin-left: 49.9%;
  }
  .offset-sm-5 {
    margin-left: 41.6666666667%;
    *margin-left: 41.5666666667%;
  }
  .offset-sm-4 {
    margin-left: 33.3333333333%;
    *margin-left: 33.2333333333%;
  }
  .offset-sm-3 {
    margin-left: 25%;
    *margin-left: 24.9%;
  }
  .offset-sm-2 {
    margin-left: 16.6666666667%;
    *margin-left: 16.5666666667%;
  }
  .offset-sm-1 {
    margin-left: 8.3333333333%;
    *margin-left: 8.2333333333%;
  }
  .offset-sm-0 {
    margin-left: 0;
    *margin-left: -0.1%;
  }
}
@media (min-width: 992px) {
  .offset-md-11 {
    margin-left: 91.6666666667%;
    *margin-left: 91.5666666667%;
  }
  .offset-md-10 {
    margin-left: 83.3333333333%;
    *margin-left: 83.2333333333%;
  }
  .offset-md-9 {
    margin-left: 75%;
    *margin-left: 74.9%;
  }
  .offset-md-8 {
    margin-left: 66.6666666667%;
    *margin-left: 66.5666666667%;
  }
  .offset-md-7 {
    margin-left: 58.3333333333%;
    *margin-left: 58.2333333333%;
  }
  .offset-md-6 {
    margin-left: 50%;
    *margin-left: 49.9%;
  }
  .offset-md-5 {
    margin-left: 41.6666666667%;
    *margin-left: 41.5666666667%;
  }
  .offset-md-4 {
    margin-left: 33.3333333333%;
    *margin-left: 33.2333333333%;
  }
  .offset-md-3 {
    margin-left: 25%;
    *margin-left: 24.9%;
  }
  .offset-md-2 {
    margin-left: 16.6666666667%;
    *margin-left: 16.5666666667%;
  }
  .offset-md-1 {
    margin-left: 8.3333333333%;
    *margin-left: 8.2333333333%;
  }
  .offset-md-0 {
    margin-left: 0;
    *margin-left: -0.1%;
  }
}
@media (min-width: 1200px) {
  .offset-lg-11 {
    margin-left: 91.6666666667%;
    *margin-left: 91.5666666667%;
  }
  .offset-lg-10 {
    margin-left: 83.3333333333%;
    *margin-left: 83.2333333333%;
  }
  .offset-lg-9 {
    margin-left: 75%;
    *margin-left: 74.9%;
  }
  .offset-lg-8 {
    margin-left: 66.6666666667%;
    *margin-left: 66.5666666667%;
  }
  .offset-lg-7 {
    margin-left: 58.3333333333%;
    *margin-left: 58.2333333333%;
  }
  .offset-lg-6 {
    margin-left: 50%;
    *margin-left: 49.9%;
  }
  .offset-lg-5 {
    margin-left: 41.6666666667%;
    *margin-left: 41.5666666667%;
  }
  .offset-lg-4 {
    margin-left: 33.3333333333%;
    *margin-left: 33.2333333333%;
  }
  .offset-lg-3 {
    margin-left: 25%;
    *margin-left: 24.9%;
  }
  .offset-lg-2 {
    margin-left: 16.6666666667%;
    *margin-left: 16.5666666667%;
  }
  .offset-lg-1 {
    margin-left: 8.3333333333%;
    *margin-left: 8.2333333333%;
  }
  .offset-lg-0 {
    margin-left: 0;
    *margin-left: -0.1%;
  }
}
@media (min-width: 1600px) {
  .offset-xlg-11 {
    margin-left: 91.6666666667%;
    *margin-left: 91.5666666667%;
  }
  .offset-xlg-10 {
    margin-left: 83.3333333333%;
    *margin-left: 83.2333333333%;
  }
  .offset-xlg-9 {
    margin-left: 75%;
    *margin-left: 74.9%;
  }
  .offset-xlg-8 {
    margin-left: 66.6666666667%;
    *margin-left: 66.5666666667%;
  }
  .offset-xlg-7 {
    margin-left: 58.3333333333%;
    *margin-left: 58.2333333333%;
  }
  .offset-xlg-6 {
    margin-left: 50%;
    *margin-left: 49.9%;
  }
  .offset-xlg-5 {
    margin-left: 41.6666666667%;
    *margin-left: 41.5666666667%;
  }
  .offset-xlg-4 {
    margin-left: 33.3333333333%;
    *margin-left: 33.2333333333%;
  }
  .offset-xlg-3 {
    margin-left: 25%;
    *margin-left: 24.9%;
  }
  .offset-xlg-2 {
    margin-left: 16.6666666667%;
    *margin-left: 16.5666666667%;
  }
  .offset-xlg-1 {
    margin-left: 8.3333333333%;
    *margin-left: 8.2333333333%;
  }
  .offset-xlg-0 {
    margin-left: 0;
    *margin-left: -0.1%;
  }
}
.wrap {
  flex-wrap: wrap;
}

.no-wrap {
  flex-wrap: nowrap;
}

.no-wrap [class*=col-] {
  flex-shrink: 1;
}

.wrap-reverse {
  flex-wrap: wrap-reverse;
}

.direction-row {
  flex-direction: row;
}

.direction-row-reverse {
  flex-direction: row-reverse;
}

.direction-column {
  flex-direction: column;
}

.direction-column-reverse {
  flex-direction: column-reverse;
}

.align-start {
  align-items: flex-start;
}

.align-end {
  align-items: flex-end;
}

.align-end [class*=col-] {
  vertical-align: bottom;
}

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

.align-center [class*=col-] {
  vertical-align: middle;
}

.align-baseline {
  align-items: baseline;
}

.align-content-start {
  align-content: flex-start;
}

.align-content-end {
  align-content: flex-end;
}

.align-content-end [class*=col-] {
  vertical-align: bottom;
}

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

.align-content-space-between {
  align-content: space-between;
}

.align-content-space-around {
  align-content: space-around;
}

.align-self-stretch {
  align-self: stretch;
}

.align-self-start {
  align-self: flex-start;
}

.align-self-end {
  align-self: flex-end;
  vertical-align: bottom;
}

.align-self-center {
  align-self: center;
  vertical-align: middle;
}

.align-self-baseline {
  align-self: baseline;
  vertical-align: baseline;
}

.justify-start {
  justify-content: flex-start;
}

.justify-start.grid {
  text-align: left;
}

.justify-end {
  justify-content: flex-end;
}

.justify-end.grid {
  text-align: right;
  -moz-text-align-last: right;
  text-align-last: right;
}

.justify-end.grid [class*=col-] {
  text-align: left;
  text-align: start;
  -moz-text-align-last: left;
  -moz-text-align-last: start;
  text-align-last: left;
  text-align-last: start;
}

.justify-center {
  justify-content: center;
}

.justify-center.grid {
  text-align: center;
  -moz-text-align-last: center;
  text-align-last: center;
}

.justify-center.grid [class*=col-] {
  text-align: left;
  text-align: start;
  -moz-text-align-last: left;
  -moz-text-align-last: start;
  text-align-last: left;
  text-align-last: start;
}

.justify-space-between {
  justify-content: space-between;
}

.justify-space-between.grid {
  text-align: justify;
  -moz-text-align-last: justify;
  text-align-last: justify;
}

.justify-space-between.grid [class*=col-] {
  text-align: left;
  text-align: start;
  -moz-text-align-last: left;
  -moz-text-align-last: start;
  text-align-last: left;
  text-align-last: start;
}

.justify-space-around {
  justify-content: space-around;
}

.justify-space-around.grid {
  text-align: justify;
  -moz-text-align-last: justify;
  text-align-last: justify;
}

.justify-space-around.grid [class*=col-] {
  text-align: left;
  text-align: start;
  -moz-text-align-last: left;
  -moz-text-align-last: start;
  text-align-last: left;
  text-align-last: start;
}

.grid-bleed [class*=col-] {
  padding: 0;
}

.col-grid {
  display: flex;
  flex-direction: column;
}

.col-grid.direction-row {
  flex-direction: row;
}

.col-bleed {
  padding: 0;
}

.col-bleed-x {
  padding: 15px 0;
}

.col-bleed-y {
  padding: 0 15px;
}

.flex-img {
  display: block;
  flex: 0 0 auto;
  max-width: 100%;
  height: auto;
  width: 100%;
  *width: auto;
}

.flex-footer {
  width: 100%;
  margin-top: auto;
  margin-bottom: 0;
}

.flex-footer > :last-child {
  margin-bottom: 0;
}

@media (min-width: 0px) and (max-width: 575px) {
  .hidden-xxs {
    display: none;
  }
}
@media (min-width: 576px) {
  .hidden-xs-up {
    display: none;
  }
}
@media (max-width: 767px) {
  .hidden-xs-down {
    display: none;
  }
}
@media (min-width: 576px) and (max-width: 767px) {
  .hidden-xs {
    display: none;
  }
}
@media (min-width: 768px) {
  .hidden-sm-up {
    display: none;
  }
}
@media (max-width: 991px) {
  .hidden-sm-down {
    display: none;
  }
}
@media (min-width: 768px) and (max-width: 991px) {
  .hidden-sm {
    display: none;
  }
}
@media (min-width: 992px) {
  .hidden-md-up {
    display: none;
  }
}
@media (max-width: 1199px) {
  .hidden-md-down {
    display: none;
  }
}
@media (min-width: 992px) and (max-width: 1199px) {
  .hidden-md {
    display: none;
  }
}
@media (min-width: 1200px) {
  .hidden-lg-up {
    display: none;
  }
}
@media (max-width: 1599px) {
  .hidden-lg-down {
    display: none;
  }
}
@media (min-width: 1200px) and (max-width: 1599px) {
  .hidden-lg {
    display: none;
  }
}
@media (min-width: 1600px) {
  .hidden-xlg {
    display: none;
  }
} 
.header {
  padding: 20px 50px;
  position: relative;
  z-index: 1;
}
@media (max-width: 768px) {
  .header {
    padding: 20px 30px;
  }
}
.header--floating {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  background: transparent;
  z-index: 2;
}
.header--floating_light {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  background: transparent;
  z-index: 2;
}
.header--floating_light .header__container nav a {
  color: white;
}
.header__container {
  width: 100%;
  max-width: 1840px;
  margin: 0 auto;
  display: flex;
  align-items: center;
  justify-content: space-between;
}
@media (max-width: 768px) {
  .header__container--logo img {
    max-height: 60px;
  }
}
.header__container nav {
  display: flex;
  align-items: center;
  gap: 10px;
}
@media (max-width: 768px) {
  .header__container nav {
    display: none;
  }
}
.header__container nav a {
  height: 35px;
  width: auto;
  padding: 10px;
  font-family: "SF Mono", serif;
  font-weight: 600;
  font-size: 16px;
  text-transform: uppercase;
  background: rgba(250, 250, 250, 0.1);
  color: #0F091F;
  box-shadow: 0px 0px 2px 0px rgba(73, 48, 128, 0.6) inset;
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: 4px;
  text-decoration: none;
}
.header__container nav a:hover {
  text-decoration: none;
  background: rgba(15, 9, 31, 0.1019607843);
}
.header__container nav a:hover .hover-text,
.header__container nav a:hover .text {
  transform: translateY(-40px);
}
.header__container nav a.active {
  background: #0F091F;
  color: white;
}
.header__container--menuBtn {
  height: 35px;
  width: auto;
  padding: 10px;
  font-family: "SF Mono", serif;
  font-weight: 600;
  font-size: 16px;
  text-transform: uppercase;
  color: #0F091F;
  border: none;
  background: white;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
  border-radius: 4px;
  text-decoration: none;
  cursor: pointer;
  transition: 0.3s ease-in-out;
}
.header__container--menuBtn:hover {
  text-decoration: none;
  box-shadow: 0px 0px 2px 0px rgba(73, 48, 128, 0.6) inset;
}

.error404 .header {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  background: transparent;
  z-index: 2;
}
.error404 .header .header__container nav a {
  color: white;
}

.footer {
  padding: 40px 0 90px;
  background: #F2E2D3;
  position: relative;
  z-index: 2;
}
@media (max-width: 768px) {
  .footer {
    padding: 30px 0;
  }
}
.footer__contents {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  width: 100%;
  gap: 30px;
}
@media (max-width: 768px) {
  .footer__contents {
    flex-direction: column-reverse;
    gap: 60px;
  }
}
.footer__contents--logo h3 {
  color: #E775A8;
  font-family: "Vitesse Sans", sans-serif;
  font-weight: 425;
  font-style: Black;
  font-size: 40px;
  leading-trim: CAP_HEIGHT;
  line-height: 90%;
  letter-spacing: 0%;
  vertical-align: bottom;
}
.footer__contents--thankyou {
  max-width: 380px;
  padding: 20px 30px;
  display: flex;
  flex-direction: column;
  gap: 40px;
}
@media (max-width: 768px) {
  .footer__contents--thankyou {
    padding: 0;
  }
}
.footer__newsletter {
  padding: 90px 0;
}
@media (max-width: 768px) {
  .footer__newsletter {
    padding: 40px 0;
  }
}
.footer__newsletter form {
  width: 100%;
  max-width: 380px;
  display: flex;
  align-items: center;
  gap: 15px;
}
@media (max-width: 768px) {
  .footer__newsletter form {
    max-width: 100%;
  }
  .footer__newsletter form input {
    width: 100%;
  }
}
.footer__btm {
  display: grid;
  grid-template-columns: 1fr 1fr 1fr;
  gap: 160px;
}
@media (max-width: 768px) {
  .footer__btm {
    display: flex;
    flex-direction: column;
    gap: 20px;
  }
}
.footer__btm--details {
  display: flex;
  flex-direction: column;
  gap: 60px;
  height: 100%;
}
@media (max-width: 768px) {
  .footer__btm--details {
    gap: 30px;
  }
}
.footer__btm--details .contact {
  margin: 20px 0;
}
.footer__btm--details .contact a {
  text-decoration: underline;
  text-underline-offset: 6px;
}
.footer__btm--details .contact a:hover {
  text-decoration: none;
}
.footer__btm--details .copy {
  margin-top: auto;
}
.footer__btm--links {
  display: flex;
  flex-direction: column;
  gap: 12px;
  align-items: flex-start;
}
@media (max-width: 768px) {
  .footer__btm--links {
    padding-top: 30px;
    flex-direction: row;
    flex-wrap: wrap;
    justify-content: flex-start;
  }
}
.footer__btm--credit {
  align-self: flex-end;
  text-align: right;
}
@media (max-width: 768px) {
  .footer__btm--credit {
    align-self: flex-start;
    text-align: center;
    padding-top: 30px;
  }
}

.mainNav {
  display: none;
  position: fixed !important;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: 10 !important;
  padding: 32.5px 30px 0 0;
}
@media (max-width: 768px) {
  .mainNav {
    padding: 0;
    border-radius: 0;
    overflow-y: scroll;
  }
}
.mainNav.active {
  display: flex;
  align-items: flex-start;
  justify-content: flex-end;
}
@media (max-width: 768px) {
  .mainNav.active {
    justify-content: center;
  }
}
.mainNav__overlay {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: rgba(15, 9, 31, 0.5);
  z-index: 2;
}
.mainNav__box {
  position: relative;
  z-index: 3;
  background: #6039B8;
  border-radius: 8px;
  padding: 20px 20px 50px 50px;
  padding-right: 20px;
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 20px 60px;
}
@media (max-width: 768px) {
  .mainNav__box {
    align-items: flex-start;
    grid-template-columns: 1fr;
    gap: 30px;
    padding: 30px;
    border-radius: 0;
    padding: 20px 30px;
    height: auto;
    width: 100%;
  }
}
.mainNav__box--header {
  grid-column: span 2;
  display: flex;
  align-items: center;
  justify-content: flex-end;
  width: 100%;
}
@media (max-width: 768px) {
  .mainNav__box--header {
    justify-content: space-between;
  }
}
.mainNav__box--header img {
  display: none;
  height: 60px;
}
@media (max-width: 768px) {
  .mainNav__box--header img {
    display: flex;
  }
}
.mainNav__box--header .close {
  font-family: "SF Mono", serif;
  font-weight: 600;
  height: 35px;
  padding: 10px;
  outline: none;
  color: white;
  letter-spacing: 0;
  display: flex;
  align-items: center;
  gap: 8px;
  font-size: 16px;
  justify-content: center;
  background: rgba(250, 250, 250, 0.1019607843);
  box-shadow: 0px 0px 2px 0px rgba(73, 48, 128, 0.6) inset;
  transition: 0.3s ease-in-out;
}
.mainNav__box--header .close:hover {
  background: linear-gradient(90deg, rgba(255, 255, 255, 0.2) 0%, rgba(153, 153, 153, 0.2) 100%);
  box-shadow: 0px 0px 60px 0px rgba(255, 255, 255, 0.1019607843);
}
.mainNav__box nav {
  display: flex;
  flex-direction: column;
  gap: 15px;
}
@media (max-width: 768px) {
  .mainNav__box nav {
    gap: 20px;
    grid-column: span 2;
  }
}
.mainNav__box nav .nav-item {
  color: rgba(250, 246, 242, 0.5019607843);
  display: flex;
  align-items: center;
  gap: 20px;
  overflow: hidden;
  position: relative;
  transition: 0.3s ease-in-out;
}
.mainNav__box nav .nav-item svg {
  position: absolute;
  left: 0;
  top: 15px;
  opacity: 0;
  margin-left: 0;
  transition: 0.3s ease-in-out;
}
@media (max-width: 768px) {
  .mainNav__box nav .nav-item svg {
    top: 6px;
  }
}
.mainNav__box nav .nav-item:hover, .mainNav__box nav .nav-item.active {
  color: white;
  padding-left: 30px;
  text-decoration: none;
}
.mainNav__box nav .nav-item:hover svg, .mainNav__box nav .nav-item.active svg {
  opacity: 1;
  margin-left: 0;
}
.mainNav__box nav .nav-item.mobile-only {
  display: none;
}
@media (max-width: 768px) {
  .mainNav__box nav .nav-item.mobile-only {
    display: flex;
  }
}
.mainNav__box nav .subMenu {
  display: flex;
  flex-direction: column;
  gap: 10px;
}
@media (max-width: 768px) {
  .mainNav__box nav .subMenu {
    margin-bottom: 10px;
  }
}
.mainNav__box nav .subMenu a {
  color: rgba(250, 246, 242, 0.5019607843);
  transition: 0.3s ease-in-out;
}
.mainNav__box nav .subMenu a:hover {
  color: white;
  text-decoration: none;
}
.mainNav__box--callout {
  background: white;
  background: linear-gradient(90deg, rgba(255, 255, 255, 0.1) 0%, rgba(153, 153, 153, 0.1) 100%);
  border-radius: 4px;
  grid-column: span 2;
  transition: 0.3s ease-in-out;
}
.mainNav__box--callout:hover {
  background: linear-gradient(90deg, rgba(255, 255, 255, 0.2) 0%, rgba(153, 153, 153, 0.2) 100%);
  box-shadow: 0px 0px 60px 0px rgba(255, 255, 255, 0.1019607843);
}
@media (max-width: 768px) {
  .mainNav__box--callout {
    width: 100%;
  }
}
.mainNav__box--callout .imageBox {
  width: 100%;
  height: auto;
  aspect-ratio: 1.8/1;
  border-top-left-radius: 4px;
  border-top-right-radius: 4px;
}
@media (max-width: 768px) {
  .mainNav__box--callout .imageBox {
    display: none;
  }
}
.mainNav__box--callout .imageBox img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  border-top-left-radius: 4px;
  border-top-right-radius: 4px;
}
.mainNav__box--callout .details {
  padding: 12px 20px;
  display: flex;
  align-items: center;
  justify-content: flex-start;
  gap: 12px;
  color: #FAF6F2;
  width: 100%;
}
.mainNav__box--callout .details:hover {
  text-decoration: none;
}
.mainNav__box--callout .details img, .mainNav__box--callout .details svg {
  flex-shrink: 0;
}
.mainNav__box--callout .details h5 {
  padding: 8px 0 4px;
  margin: 0;
  color: #FAF6F2;
}
.mainNav__box--callout .details svg {
  margin-left: auto;
}
.mainNav__box--contact {
  margin-top: 30px;
  background: linear-gradient(90deg, rgba(255, 255, 255, 0.1) 0%, rgba(153, 153, 153, 0.1) 100%);
  border-radius: 4px;
  padding: 12px 20px;
  transition: 0.3s ease-in-out;
}
.mainNav__box--contact:hover {
  background: linear-gradient(90deg, rgba(255, 255, 255, 0.2) 0%, rgba(153, 153, 153, 0.2) 100%);
  box-shadow: 0px 0px 60px 0px rgba(255, 255, 255, 0.1019607843);
}
@media (max-width: 768px) {
  .mainNav__box--contact {
    margin-top: 20px;
    width: 100%;
  }
}
.mainNav__box--contact a {
  width: 100%;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  text-decoration: none;
}
.mainNav__box--contact a img, .mainNav__box--contact a svg {
  flex-shrink: 0;
}
.mainNav__box--contact a p {
  color: #FAF6F2;
}
.mainNav__box--contact a h5 {
  padding: 8px 0 4px;
  margin: 0;
  color: #FAF6F2;
}

.btn {
  width: auto;
  height: 45px;
  padding: 0 10px;
  border: none;
  outline: none;
  border-radius: 4px;
  font-size: 16px;
  font-family: "SF Mono", serif;
  text-transform: uppercase;
  font-weight: 400;
  transition: 0.3s ease;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  letter-spacing: 1px;
}
@media (max-width: 768px) {
  .btn {
    font-size: 14px;
  }
}
.btn:hover {
  text-decoration: none;
  cursor: pointer;
}
.btn--hasIcon {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
}
.btn--hasIcon svg {
  flex-shrink: 0;
}
.btn__pink {
  background: #E775A8;
  color: #0F091F;
}
.btn__pink:hover {
  background: rgba(231, 117, 168, 0.7);
}
.btn__white {
  background: white;
  color: #0F091F;
}
.btn__white:hover {
  box-shadow: 0px 0px 2px 0px #493080 inset;
}
.btn__sand {
  background: #F2E2D3;
  color: #0F091F;
}
.btn__sand:hover {
  background: transparent;
  color: #F2E2D3;
  border: 1px solid #F2E2D3;
}
.btn__sand:hover svg path {
  fill: #F2E2D3;
}
.btn__sandOutline {
  background: transparent;
  color: #F2E2D3;
  border: 1px solid #F2E2D3;
}
.btn__sandOutline:hover {
  background: #F2E2D3;
  color: #0F091F;
}
.btn__sandOutline:hover svg path {
  fill: #0F091F;
}
.btn__small {
  height: 35px;
}
.btn__small.textFlipBtn:hover .hover-text,
.btn__small.textFlipBtn:hover .text {
  transform: translateY(-40px);
}
.btn__default {
  background: rgba(250, 250, 250, 0.1);
  color: #0F091F;
}
.btn__default:hover {
  background: white;
}
.btn__transparent {
  background: rgba(250, 250, 250, 0.1019607843);
  box-shadow: 0px 0px 2px 0px rgba(73, 48, 128, 0.6) inset;
  color: white;
}
.btn__transparent:hover {
  background: white;
  color: #0F091F;
}
.btn__light {
  background: rgba(15, 9, 31, 0.07);
  color: #0F091F;
  box-shadow: 0px 0px 2px 0px rgba(73, 48, 128, 0.6) inset;
}
.btn__light:hover {
  background: white;
}
.btn__dark {
  background: #0F091F;
  color: #F2E2D3;
}
.btn__dark:hover {
  background: #F2E2D3;
  color: #0F091F;
}
.btn__dark:hover svg path {
  fill: #0F091F;
}
.btn__dashedOutline {
  color: white;
  border: 1px dashed #978B8B;
  box-shadow: 0px 0px 2px 0px rgba(73, 48, 128, 0.6) inset;
  background: rgba(255, 255, 255, 0.2);
}
.btn__dashedOutline:hover {
  background: rgba(255, 255, 255, 0.1333333333);
}
.btn__text {
  background: none;
  padding: 0;
  color: #978B8B;
}
.btn__grey {
  background: rgba(151, 139, 139, 0.1019607843);
  color: #0F091F;
  height: 80px;
  padding: 0 30px;
  font-family: "Vitesse Sans", sans-serif;
  font-weight: bold;
  font-size: clamp(16px, 0.37vw + 13.14px, 18px);
}
.btn__grey:hover {
  background: #FAF6F2;
}

.buttonCol {
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  gap: 30px;
}

.textFlipBtn {
  position: relative;
  overflow: hidden;
}
.textFlipBtn .text,
.textFlipBtn .hover-text {
  transform: translateY(0%);
  transition: transform 0.4s cubic-bezier(0.16, 1, 0.3, 1);
}
.textFlipBtn .hover-text {
  position: absolute;
  bottom: -100%;
}
.textFlipBtn:hover {
  cursor: pointer;
}
.textFlipBtn:hover .hover-text,
.textFlipBtn:hover .text {
  transform: translateY(-55px);
}

form {
  font-family: "SF Mono", serif;
}
form input {
  height: 50px;
  background: rgba(15, 9, 31, 0.07);
  padding: 10px 20px;
  text-transform: uppercase;
  border: none;
  outline: none;
  border-radius: 4px;
}
form textarea {
  padding: 10px 20px;
}

.saved-events-page::before {
  display: none;
}

.save {
  width: 48px;
  height: 48px;
  padding: 10px;
  border-radius: 4px;
  box-shadow: 0px 0px 2px 0px #493080 inset;
  display: flex;
  align-items: center;
  justify-content: center;
  transition: 0.3s ease-in-out;
  cursor: pointer;
}
.save:hover, .save.active {
  background: #FF66FD;
}
.save:hover svg path, .save.active svg path {
  fill: white;
  stroke: white;
}

.savedHero {
  padding: 100px 0;
}
@media (max-width: 768px) {
  .savedHero {
    padding: 30px 0 60px;
  }
}
.savedHero h1 {
  margin-bottom: 30px;
}
.savedHero p {
  font-size: 24px;
}
.savedHero__empty p {
  margin: 60px auto 100px;
  max-width: 600px;
}

.savedEvents {
  padding-bottom: 80px;
}
.savedEvents__grid {
  display: flex;
  flex-direction: column;
  gap: 30px;
  max-width: 1600px;
  margin: 0 auto;
}
.savedEvents__grid--item {
  border: 1px solid #0F091F;
  display: grid;
  grid-template-columns: 1fr 1fr;
}
@media (max-width: 768px) {
  .savedEvents__grid--item {
    display: block;
  }
}
.savedEvents__grid--item .thumbnail {
  padding: 20px;
  border-right: 1px solid #0F091F;
  width: 100%;
  height: auto;
  aspect-ratio: 1.5/1;
}
@media (max-width: 768px) {
  .savedEvents__grid--item .thumbnail {
    display: none;
  }
}
.savedEvents__grid--item .thumbnail img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  -o-object-position: top;
     object-position: top;
}
.savedEvents__grid--item .details {
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  position: relative;
}
.savedEvents__grid--item .details__remove {
  position: absolute;
  top: 40px;
  right: 30px;
  background: none;
  padding: 0;
  border: none;
  outline: none;
  transition: 0.3s ease-in-out;
}
.savedEvents__grid--item .details__remove svg path {
  transition: 0.3s ease-in-out;
}
.savedEvents__grid--item .details__remove:hover {
  transform: scale(1.1);
  cursor: pointer;
}
.savedEvents__grid--item .details__remove:hover svg path {
  fill: #0F091F;
}
.savedEvents__grid--item .details__main {
  padding: 30px;
  display: flex;
  flex-direction: column;
  gap: 30px;
}
@media (max-width: 768px) {
  .savedEvents__grid--item .details__main {
    gap: 20px;
  }
}
.savedEvents__grid--item .details__main .priceTag {
  display: flex;
  align-items: center;
  gap: 12px;
}
.savedEvents__grid--item .details__main .freeTag {
  background: #FF66FD;
  color: #0F091F;
  display: inline-flex;
  align-items: center;
  gap: 8px;
  position: relative;
  z-index: 1;
  border-radius: 0;
  padding: 6px 8px;
  height: auto;
}
@media (max-width: 768px) {
  .savedEvents__grid--item .details__main .freeTag {
    font-size: 10px;
    padding: 10px 15px;
    height: auto;
    margin: 30px 0;
  }
}
.savedEvents__grid--item .details__main .freeTag span {
  width: 8px;
  height: 10px;
  background: #0F091F;
}
@media (max-width: 768px) {
  .savedEvents__grid--item .details__main .freeTag span {
    width: 6px;
    height: 8px;
  }
}
.savedEvents__grid--item .details__links {
  margin-top: auto;
  width: 100%;
  background: rgba(15, 9, 31, 0.0705882353);
  border-top: 1px solid #0F091F;
  padding: 30px 50px;
  display: flex;
  align-items: center;
  justify-content: space-between;
}
@media (max-width: 768px) {
  .savedEvents__grid--item .details__links {
    flex-direction: column;
    gap: 25px;
    padding: 30px;
  }
}
.savedEvents__grid--item .details__links .btn__light {
  box-shadow: 0px 0px 2px 0px rgba(73, 48, 128, 0.6) inset;
}
@media (max-width: 768px) {
  .savedEvents__grid--item .details__links .btn__light {
    width: 100%;
  }
}
.savedEvents__grid--item .details__links--host {
  display: flex;
  align-items: center;
  gap: 5px;
}
.savedEvents__grid--item .details__links--host img {
  margin-left: 12px;
  max-height: 45px;
}

.tag {
  padding: 6px 8px;
  border-radius: 0;
  font-size: 16px;
  font-family: "SF Mono", serif;
  text-transform: uppercase;
  font-weight: 400;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  letter-spacing: 1px;
  gap: 10px;
}
.tag svg {
  flex-shrink: 0;
}
.tag__pink {
  background: #E775A8;
  color: white;
}
.tag__pink.with-dark-text {
  color: #0F091F;
}
.tag__darkPink {
  background: #FF66FD;
  color: #0F091F;
}
.tag__default {
  background: rgba(231, 117, 168, 0.2);
  color: white;
}
.tag__transparent {
  background: rgba(122, 82, 213, 0.1019607843);
  color: white;
}
.tag__orange {
  background: #F38C49;
  color: #0F091F;
}
.tag__dark {
  background: #0F091F;
  color: #FCECDD;
}

.bubbles {
  position: absolute;
  left: 0;
  top: 0;
  right: 0;
  bottom: 0;
  z-index: 1;
  width: 100%;
  height: 100%;
  overflow: hidden;
}
.bubbles .bubble {
  background: linear-gradient(90deg, #E775A8 38.02%, #F2E2D3 100%);
  display: inline-block;
  width: 30px;
  height: 30px;
  border-radius: 50%;
  position: absolute;
}
.bubbles .bubble-1 {
  opacity: 0.02;
  left: 5vw;
  top: 20vh;
  transform: translate(0, 0) scale(0.13);
  animation: move-1 30.02s infinite linear;
}
.bubbles .bubble-2 {
  opacity: 0.14;
  left: 25vw;
  top: 59vh;
  transform: translate(0, 0) scale(0.11);
  animation: move-2 30.04s infinite linear;
}
.bubbles .bubble-3 {
  opacity: 0.04;
  left: 36vw;
  top: 87vh;
  transform: translate(0, 0) scale(0.42);
  animation: move-3 30.06s infinite linear;
}
.bubbles .bubble-4 {
  opacity: 0.22;
  left: 99vw;
  top: 79vh;
  transform: translate(0, 0) scale(0.26);
  animation: move-4 30.08s infinite linear;
}
.bubbles .bubble-5 {
  opacity: 0.24;
  left: 98vw;
  top: 19vh;
  transform: translate(0, 0) scale(0.26);
  animation: move-5 30.1s infinite linear;
}
.bubbles .bubble-6 {
  opacity: 0.06;
  left: 75vw;
  top: 75vh;
  transform: translate(0, 0) scale(0.25);
  animation: move-6 30.12s infinite linear;
}
.bubbles .bubble-7 {
  opacity: 0.02;
  left: 2vw;
  top: 46vh;
  transform: translate(0, 0) scale(0.16);
  animation: move-7 30.14s infinite linear;
}
.bubbles .bubble-8 {
  opacity: 0.4;
  left: 9vw;
  top: 58vh;
  transform: translate(0, 0) scale(0.07);
  animation: move-8 30.16s infinite linear;
}
.bubbles .bubble-9 {
  opacity: 0.46;
  left: 42vw;
  top: 45vh;
  transform: translate(0, 0) scale(0.41);
  animation: move-9 30.18s infinite linear;
}
.bubbles .bubble-10 {
  opacity: 0.02;
  left: 36vw;
  top: 86vh;
  transform: translate(0, 0) scale(0.19);
  animation: move-10 30.2s infinite linear;
}
.bubbles .bubble-11 {
  opacity: 0.45;
  left: 56vw;
  top: 39vh;
  transform: translate(0, 0) scale(0.41);
  animation: move-11 30.22s infinite linear;
}
.bubbles .bubble-12 {
  opacity: 0.17;
  left: 82vw;
  top: 13vh;
  transform: translate(0, 0) scale(0.22);
  animation: move-12 30.24s infinite linear;
}
.bubbles .bubble-13 {
  opacity: 0.13;
  left: 92vw;
  top: 61vh;
  transform: translate(0, 0) scale(0.33);
  animation: move-13 30.26s infinite linear;
}
.bubbles .bubble-14 {
  opacity: 0.24;
  left: 46vw;
  top: 43vh;
  transform: translate(0, 0) scale(0.19);
  animation: move-14 30.28s infinite linear;
}
.bubbles .bubble-15 {
  opacity: 0.41;
  left: 32vw;
  top: 65vh;
  transform: translate(0, 0) scale(0.06);
  animation: move-15 30.3s infinite linear;
}
.bubbles .bubble-16 {
  opacity: 0.34;
  left: 14vw;
  top: 98vh;
  transform: translate(0, 0) scale(0.2);
  animation: move-16 30.32s infinite linear;
}
.bubbles .bubble-17 {
  opacity: 0.15;
  left: 96vw;
  top: 40vh;
  transform: translate(0, 0) scale(0.23);
  animation: move-17 30.34s infinite linear;
}
.bubbles .bubble-18 {
  opacity: 0.23;
  left: 47vw;
  top: 54vh;
  transform: translate(0, 0) scale(0.34);
  animation: move-18 30.36s infinite linear;
}
.bubbles .bubble-19 {
  opacity: 0.19;
  left: 27vw;
  top: 90vh;
  transform: translate(0, 0) scale(0.2);
  animation: move-19 30.38s infinite linear;
}
.bubbles .bubble-20 {
  opacity: 0.07;
  left: 59vw;
  top: 65vh;
  transform: translate(0, 0) scale(0.08);
  animation: move-20 30.4s infinite linear;
}
.bubbles .bubble-21 {
  opacity: 0.41;
  left: 74vw;
  top: 14vh;
  transform: translate(0, 0) scale(0.17);
  animation: move-21 30.42s infinite linear;
}
.bubbles .bubble-22 {
  opacity: 0.15;
  left: 57vw;
  top: 81vh;
  transform: translate(0, 0) scale(0.38);
  animation: move-22 30.44s infinite linear;
}
.bubbles .bubble-23 {
  opacity: 0.31;
  left: 52vw;
  top: 98vh;
  transform: translate(0, 0) scale(0.34);
  animation: move-23 30.46s infinite linear;
}
.bubbles .bubble-24 {
  opacity: 0.04;
  left: 100vw;
  top: 24vh;
  transform: translate(0, 0) scale(0.38);
  animation: move-24 30.48s infinite linear;
}
.bubbles .bubble-25 {
  opacity: 0.07;
  left: 44vw;
  top: 97vh;
  transform: translate(0, 0) scale(0.18);
  animation: move-25 30.5s infinite linear;
}
.bubbles .bubble-26 {
  opacity: 0.09;
  left: 34vw;
  top: 68vh;
  transform: translate(0, 0) scale(0.24);
  animation: move-26 30.52s infinite linear;
}
.bubbles .bubble-27 {
  opacity: 0.29;
  left: 37vw;
  top: 26vh;
  transform: translate(0, 0) scale(0.39);
  animation: move-27 30.54s infinite linear;
}
.bubbles .bubble-28 {
  opacity: 0.46;
  left: 26vw;
  top: 38vh;
  transform: translate(0, 0) scale(0.19);
  animation: move-28 30.56s infinite linear;
}
.bubbles .bubble-29 {
  opacity: 0.31;
  left: 39vw;
  top: 65vh;
  transform: translate(0, 0) scale(0.09);
  animation: move-29 30.58s infinite linear;
}
.bubbles .bubble-30 {
  opacity: 0.34;
  left: 17vw;
  top: 81vh;
  transform: translate(0, 0) scale(0.39);
  animation: move-30 30.6s infinite linear;
}

@keyframes move-1 {
  41% {
    transform: translate(11vw, 31vh) scale(0.334);
  }
}
@keyframes move-2 {
  41% {
    transform: translate(-27vw, 43vh) scale(0.225);
  }
}
@keyframes move-3 {
  42% {
    transform: translate(47vw, -35vh) scale(0.294);
  }
}
@keyframes move-4 {
  49% {
    transform: translate(-46vw, -49vh) scale(0.218);
  }
}
@keyframes move-5 {
  42% {
    transform: translate(35vw, 50vh) scale(0.282);
  }
}
@keyframes move-6 {
  46% {
    transform: translate(-33vw, 10vh) scale(0.287);
  }
}
@keyframes move-7 {
  45% {
    transform: translate(-40vw, -16vh) scale(0.242);
  }
}
@keyframes move-8 {
  44% {
    transform: translate(-26vw, -17vh) scale(0.369);
  }
}
@keyframes move-9 {
  34% {
    transform: translate(9vw, -7vh) scale(0.331);
  }
}
@keyframes move-10 {
  33% {
    transform: translate(0vw, -28vh) scale(0.348);
  }
}
@keyframes move-11 {
  47% {
    transform: translate(-14vw, 42vh) scale(0.249);
  }
}
@keyframes move-12 {
  52% {
    transform: translate(-29vw, -37vh) scale(0.228);
  }
}
@keyframes move-13 {
  33% {
    transform: translate(-13vw, 40vh) scale(0.39);
  }
}
@keyframes move-14 {
  47% {
    transform: translate(50vw, 18vh) scale(0.336);
  }
}
@keyframes move-15 {
  43% {
    transform: translate(10vw, -47vh) scale(0.216);
  }
}
@keyframes move-16 {
  59% {
    transform: translate(32vw, -5vh) scale(0.302);
  }
}
@keyframes move-17 {
  57% {
    transform: translate(22vw, -45vh) scale(0.291);
  }
}
@keyframes move-18 {
  44% {
    transform: translate(7vw, 29vh) scale(0.208);
  }
}
@keyframes move-19 {
  51% {
    transform: translate(39vw, 44vh) scale(0.298);
  }
}
@keyframes move-20 {
  38% {
    transform: translate(-45vw, 12vh) scale(0.302);
  }
}
@keyframes move-21 {
  58% {
    transform: translate(-12vw, 30vh) scale(0.239);
  }
}
@keyframes move-22 {
  36% {
    transform: translate(5vw, -28vh) scale(0.216);
  }
}
@keyframes move-23 {
  59% {
    transform: translate(17vw, 2vh) scale(0.335);
  }
}
@keyframes move-24 {
  47% {
    transform: translate(8vw, 2vh) scale(0.347);
  }
}
@keyframes move-25 {
  47% {
    transform: translate(-49vw, 1vh) scale(0.248);
  }
}
@keyframes move-26 {
  58% {
    transform: translate(30vw, 43vh) scale(0.294);
  }
}
@keyframes move-27 {
  39% {
    transform: translate(-28vw, -38vh) scale(0.241);
  }
}
@keyframes move-28 {
  43% {
    transform: translate(-44vw, 38vh) scale(0.309);
  }
}
@keyframes move-29 {
  51% {
    transform: translate(16vw, -17vh) scale(0.363);
  }
}
@keyframes move-30 {
  43% {
    transform: translate(9vw, -10vh) scale(0.339);
  }
}
.newsletterCTA {
  margin-top: 60px;
  background: #E775A8;
  padding: 10px 20px;
  display: flex;
  align-items: center;
  gap: 20px;
  box-shadow: 0px 0px 4px 0px rgba(0, 0, 0, 0.2) inset;
  border-radius: 4px;
  transition: 0.3s ease-in-out;
}
.newsletterCTA .icon {
  height: 100%;
  margin-left: auto;
  padding: 20px 10px 20px 30px;
  border-left: 1px solid #A148A0;
  flex-shrink: 0;
}
.newsletterCTA:hover {
  cursor: pointer;
  background: rgba(231, 117, 168, 0.6980392157);
}

.newsletterPopup {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: 5;
  display: none;
}
.newsletterPopup.active {
  display: block;
}
.newsletterPopup__overlay {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: #0F091F;
  opacity: 0.5;
  z-index: 1;
}
.newsletterPopup__content {
  position: absolute;
  bottom: 60px;
  left: 50%;
  transform: translateX(-50%);
  width: 90%;
  max-width: 750px;
  background: linear-gradient(0deg, rgba(15, 9, 31, 0.9), rgba(15, 9, 31, 0.9)), linear-gradient(151.46deg, rgba(255, 102, 253, 0.1) 30.79%, rgba(231, 117, 168, 0.01) 84.9%);
  border: 1px solid;
  border-image-source: linear-gradient(100.76deg, #C232FE 17.63%, rgba(255, 255, 255, 0) 23.06%, #C232FE 33.15%, rgba(15, 9, 31, 0) 46.35%);
  box-shadow: 0px 0px 36px -16px rgba(194, 50, 254, 0.8) inset;
  backdrop-filter: blur(50px);
  z-index: 2;
  border-radius: 8px;
}
.newsletterPopup__content--main {
  padding: 40px 70px;
  display: flex;
  flex-direction: column;
  gap: 30px;
}
.newsletterPopup__content--main p {
  padding: 0 30px;
  margin: 0 auto;
  text-align: center;
}
.newsletterPopup__content--main p.privacy {
  font-size: 12px;
}
.newsletterPopup__content--main img {
  max-width: 30px;
  margin: 0 auto;
}
.newsletterPopup__content--main form {
  width: 100%;
  max-width: 540px;
  margin: 0 auto;
  display: flex;
  flex-direction: column;
  gap: 10px;
}
.newsletterPopup__content--main form input {
  color: white;
  background: rgba(255, 255, 255, 0.1019607843);
  border: 1px solid transparent;
  transition: 0.3s ease-in-out;
}
.newsletterPopup__content--main form input:focus {
  background: rgba(96, 57, 184, 0.2);
  border: 1px solid #6039B8;
  box-shadow: 0px 0px 24px 0px rgba(167, 7, 255, 0.4);
  box-shadow: 0px 0px 12px 0px rgba(131, 82, 216, 0.6) inset;
}
.newsletterPopup__content--footer {
  text-align: center;
  border-top: 1px solid rgba(231, 117, 168, 0.3019607843);
}
.newsletterPopup__content--footer .closeBtn {
  width: 100%;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 20px;
  color: #FAF6F2;
  padding: 30px;
  cursor: pointer;
}

.partners {
  padding: 40px 0;
}
.partners__grid {
  display: grid;
  grid-template-columns: repeat(6, 1fr);
}
@media (max-width: 768px) {
  .partners__grid {
    grid-template-columns: repeat(3, 1fr);
  }
}
.partners__grid--item {
  padding: 50px;
  position: relative;
  display: flex;
  justify-content: center;
  align-items: center;
  border: none;
  transition: all 0.35s ease;
}
@media (max-width: 768px) {
  .partners__grid--item {
    padding: 15px;
  }
}
.partners__grid--item::before, .partners__grid--item::after,
.partners__grid--item .corner span::before,
.partners__grid--item .corner span::after {
  width: 8px;
  height: 8px;
  position: absolute;
  transition: all 0.45s ease;
  border: 2px solid rgba(15, 9, 31, 0.3019607843);
  content: "";
  opacity: 0;
  pointer-events: none;
}
.partners__grid--item::before {
  top: 0;
  left: 0;
  border-right: none;
  border-bottom: none;
  transform: translate(-50%, -50%);
}
.partners__grid--item::after {
  bottom: 0;
  left: 0;
  border-right: none;
  border-top: none;
  transform: translate(-50%, 50%);
}
.partners__grid--item .corner span::before {
  top: 0;
  right: 0;
  border-left: none;
  border-bottom: none;
  transform: translate(50%, -50%);
}
.partners__grid--item .corner span::after {
  bottom: 0;
  right: 0;
  border-left: none;
  border-top: none;
  transform: translate(50%, 50%);
}
.partners__grid--item:hover::before, .partners__grid--item:hover::after,
.partners__grid--item:hover .corner span::before,
.partners__grid--item:hover .corner span::after {
  opacity: 1;
  border-color: rgba(15, 9, 31, 0.3019607843);
  transform: translate(0, 0);
}
.partners__grid--item:hover img {
  transform: scale(1.05);
  filter: brightness(1.1);
}
.partners__grid--item img {
  width: 100%;
  height: 55px;
  -o-object-fit: contain;
     object-fit: contain;
  transition: transform 0.35s ease, filter 0.35s ease;
}
@media (max-width: 768px) {
  .partners__grid--item img {
    height: 40px;
  }
}
.partners__grid--item .corner {
  position: absolute;
  width: 100%;
  height: 100%;
  left: 0;
  top: 0;
  pointer-events: none;
}
.partners__grid--item .corner span {
  display: block;
  width: 100%;
  height: 100%;
}

.savedBtn {
  position: fixed;
  bottom: 60px;
  right: 30px;
  z-index: 5;
  background: #0F091F;
  padding: 10px;
  border-radius: 8px;
  transition: opacity 0.4s ease;
  display: flex;
  align-items: center;
  justify-content: flex-start;
  gap: 8px;
  width: 188px;
  transition: all 0.35s ease;
}
@media (max-width: 768px) {
  .savedBtn {
    width: 175px;
  }
}
.savedBtn.scrolled {
  width: 240px;
}
@media (max-width: 768px) {
  .savedBtn.scrolled {
    width: 230px;
  }
}
.savedBtn.fade-out {
  opacity: 0;
  pointer-events: none;
}
.savedBtn .btn {
  width: auto;
  max-width: 100%;
  color: white;
  display: flex;
  align-items: center;
  gap: 0;
  padding: 0;
}
.savedBtn .btn .icon {
  box-shadow: 0px 0px 2px 0px #493080 inset;
  height: 100%;
  width: 100%;
  padding: 10px;
  display: flex;
  align-items: center;
  justify-content: center;
  border-top-left-radius: 4px;
  border-bottom-left-radius: 4px;
  transition: 0.3s ease-in-out;
}
.savedBtn .btn span {
  box-shadow: 0px 0px 1px 0px #493080 inset;
  height: 100%;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  padding: 10px;
  background: rgba(250, 250, 250, 0.1019607843);
  border-top-right-radius: 4px;
  border-bottom-right-radius: 4px;
  transition: 0.3s ease-in-out;
}
.savedBtn .btn:hover {
  background: #191327;
  box-shadow: 0px 0px 2px 0px #493080 inset;
}
.savedBtn .btn:hover .icon {
  background: transparent;
  box-shadow: none;
}
.savedBtn .btn:hover span {
  background: transparent;
}
.savedBtn__top {
  width: 45px;
  height: 45px;
  border-radius: 4px;
  background: #E775A8;
  display: flex;
  align-items: center;
  justify-content: center;
  opacity: 0;
  transform: scale(0);
  transition: opacity 0.35s ease, transform 0.35s ease;
  transform-origin: center;
}
.savedBtn__top:hover {
  opacity: 0.8;
}
.savedBtn__top.is-visible {
  opacity: 1;
  transform: scale(1);
}
.savedBtn__top svg {
  transform: rotate(180deg);
}

.festivalHero {
  padding: 100px 0;
  position: relative;
  overflow: hidden;
  background: linear-gradient(321.24deg, #F2E2D3 46.08%, #FF66FD 105.63%);
}
@media (max-width: 768px) {
  .festivalHero {
    padding: 60px 0;
  }
}
.festivalHero .bgImage {
  position: fixed;
  left: 0;
  width: 100%;
  max-width: 100%;
  height: 100%;
  top: 0;
  z-index: 2;
  -o-object-fit: contain;
     object-fit: contain;
}
.festivalHero.festivalIsActive {
  background: linear-gradient(321.24deg, #0F091F 46.08%, #FF66FD 105.63%);
  box-shadow: 0px 16px 92px 38px rgba(255, 102, 253, 0.5490196078) inset;
}
.festivalHero.festivalIsActive .bubble {
  background: linear-gradient(90deg, #E775A8 38.02%, #0F091F 100%);
}
.festivalHero.festivalIsActive .bgImage {
  position: fixed;
  width: 100%;
  max-width: 50%;
  height: 100%;
  top: 0;
  z-index: 2;
  -o-object-fit: contain;
     object-fit: contain;
  left: auto;
}
.festivalHero.festivalIsActive .bgImage--left {
  left: 0;
}
.festivalHero.festivalIsActive .bgImage--right {
  right: 0;
}
.festivalHero.festivalIsActive .bgImage--full {
  left: 0;
  width: 100%;
  max-width: 100%;
}
.festivalHero.festivalIsActive p, .festivalHero.festivalIsActive h1, .festivalHero.festivalIsActive h6 {
  color: white;
  position: relative;
  z-index: 4;
}
.festivalHero.festivalIsActive svg path {
  fill: white;
}
.festivalHero__cursor {
  position: relative;
  z-index: 4;
  margin: 0 auto;
  width: 200px;
  height: 45px;
  cursor: pointer;
  opacity: 1;
  background: linear-gradient(172.99deg, rgba(236, 175, 252, 0.56) 5.57%, rgba(119, 80, 210, 0.8) 74.78%), #5A3C9E;
  box-shadow: 0px 0px 2px 0px #493080 inset;
  box-shadow: 0px 2px 8px 0px rgba(73, 48, 128, 0.1019607843);
  box-shadow: 0px 0px 80px 0px rgba(255, 102, 253, 0.4);
  color: #FAF6F2;
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: 4px;
  font-size: 16px;
  font-family: "SF Mono", serif;
  text-transform: uppercase;
  font-weight: 400;
  transition: box-shadow 0.3s ease-in-out;
}
.festivalHero__cursor:hover {
  text-decoration: none;
}
.festivalHero h1 {
  max-width: 960px;
  margin: 100px auto 140px;
}
@media (max-width: 768px) {
  .festivalHero h1 {
    margin: 60px 0;
  }
}

.header-style-floating .festivalHero,
.header-style-floating_light .festivalHero {
  padding: 200px 0 300px;
}
@media (max-width: 768px) {
  .header-style-floating .festivalHero,
  .header-style-floating_light .festivalHero {
    padding: 100px 0 60px;
  }
}

.latestEvents--dark {
  background: #0F091F;
}
.latestEvents--dark .latestEvents__heading p.small {
  color: white;
}
.latestEvents--dark .latestEvents__heading p.small svg rect {
  fill: white;
}
.latestEvents__heading {
  width: 100%;
  padding-bottom: 50px;
  display: flex;
  align-items: center;
  justify-content: space-between;
}
@media (max-width: 768px) {
  .latestEvents__heading {
    padding-bottom: 30px;
  }
}
.latestEvents__grid {
  width: 100%;
  max-width: 100% !important;
  padding: 0 !important;
}
.latestEvents__grid--titleBlock {
  width: 100%;
  padding: 80px;
  background: linear-gradient(321.24deg, #0F091F 46.08%, #FF66FD 105.63%);
  box-shadow: 0px 35px 92px 38px rgba(255, 102, 253, 0.5490196078) inset;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 30px;
  text-align: center;
  border-radius: 8px;
  grid-column: 3/span 2;
  grid-row: 1/span 2;
  position: relative;
}
@media (max-width: 768px) {
  .latestEvents__grid--titleBlock {
    padding: 60px 40px;
  }
}
.latestEvents__grid--titleBlock .small-cube {
  position: absolute;
  bottom: 90px;
  left: 75px;
  width: 130px;
  z-index: 1;
}
.latestEvents__grid--titleBlock .large-cube {
  position: absolute;
  top: -80px;
  right: -80px;
  width: 280px;
}
.latestEvents__grid--titleBlock .tag {
  display: flex;
  align-items: center;
  gap: 12px;
  color: white;
  background: rgba(231, 117, 168, 0.2);
}
.latestEvents__grid--titleBlock h2 {
  font-size: 56px;
  color: white;
}
@media (max-width: 768px) {
  .latestEvents__grid--titleBlock h2 {
    font-size: 40px;
  }
}
.latestEvents__grid--titleBlock h2, .latestEvents__grid--titleBlock .tag, .latestEvents__grid--titleBlock .btn {
  position: relative;
  z-index: 2;
}

.programmes {
  background: #0F091F;
  padding: 250px 0 50px;
}
@media (max-width: 768px) {
  .programmes {
    padding: 60px 0;
  }
}
.programmes__heading {
  padding-bottom: 100px;
}
@media (max-width: 768px) {
  .programmes__heading {
    padding: 50px 0;
  }
}
.programmes__heading .small {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  gap: 8px;
}
.programmes__heading .h1 {
  padding: 0;
  max-width: 960px;
  margin: 0 auto;
  margin-top: 100px;
}
.programmes__grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 50px;
}
@media (max-width: 768px) {
  .programmes__grid {
    grid-template-columns: 1fr;
    gap: 30px;
  }
}
.programmes__grid--card {
  background: linear-gradient(197.03deg, rgba(138, 131, 124, 0.1) 12.38%, rgba(240, 228, 216, 0.1) 88.27%);
  position: relative;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: flex-start;
  height: 660px;
  width: 100%;
  text-align: center;
  gap: 40px;
  border-radius: 8px;
  padding: 50px;
  padding-top: 100px;
  cursor: pointer;
  box-shadow: inset 0px 4px 36px -16px transparent;
  transition: all 0.3s ease-in-out;
}
@media (max-width: 768px) {
  .programmes__grid--card {
    height: 400px;
    gap: 30px;
    padding: 30px;
    justify-content: center;
  }
}
.programmes__grid--card .cardLink {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}
.programmes__grid--card:hover {
  background: linear-gradient(197.03deg, rgba(138, 131, 124, 0.1) 12.38%, rgba(240, 228, 216, 0.1) 88.27%);
  box-shadow: inset 0px 4px 36px -16px #C232FE;
  background: linear-gradient(rgb(25, 19, 39), rgba(25, 19, 39, 0.5)) padding-box, linear-gradient(rgb(194, 50, 254), rgba(255, 255, 255, 0)) border-box;
  border-radius: 0.6rem;
  border: 1px solid transparent;
}
.programmes__grid--card:hover .textFlipBtn {
  cursor: pointer;
  background: white;
  color: #0F091F;
}
.programmes__grid--card:hover .textFlipBtn .hover-text,
.programmes__grid--card:hover .textFlipBtn .text {
  transform: translateY(-40px);
}
.programmes__grid--card p, .programmes__grid--card h2, .programmes__grid--card a {
  position: relative;
  z-index: 2;
}
.programmes__grid--card p {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  gap: 8px;
}
.programmes__grid--card .imageContainer {
  position: absolute;
  bottom: 0;
  left: 0;
  width: 100%;
  z-index: 1;
  border-bottom-left-radius: 8px;
  border-bottom-right-radius: 8px;
}
@media (max-width: 768px) {
  .programmes__grid--card .imageContainer {
    width: 50%;
    bottom: -200px;
  }
  .programmes__grid--card .imageContainer img {
    width: 100%;
  }
}
.programmes__grid--card .imageContainer img {
  width: auto;
}
.programmes__grid--card .imageContainer.full_width img {
  width: 100%;
}
.programmes__grid--card .imageContainer.left {
  left: 0;
}
@media (max-width: 768px) {
  .programmes__grid--card .imageContainer.left {
    width: 100%;
  }
}
.programmes__grid--card .imageContainer.left img {
  float: left;
  width: auto;
}
.programmes__grid--card .imageContainer.right {
  right: 0;
}
@media (max-width: 768px) {
  .programmes__grid--card .imageContainer.right {
    width: 100%;
  }
}
.programmes__grid--card .imageContainer.right img {
  float: right;
  width: auto;
}
.programmes__grid--card .small-cube {
  position: absolute;
  bottom: -50px;
  right: -50px;
  width: 220px;
}
@media (max-width: 768px) {
  .programmes__grid--card .small-cube {
    width: 180px;
  }
}
.programmes__grid--card .large-cube {
  position: absolute;
  left: -80px;
  bottom: 70px;
  width: 280px;
}
@media (max-width: 768px) {
  .programmes__grid--card .large-cube {
    display: none;
  }
}

.dottedText {
  background-color: #0F091F;
  padding: 300px 0;
  position: relative;
}
@media (max-width: 768px) {
  .dottedText {
    padding: 150px 0;
  }
}
.dottedText:before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 150px;
  background: linear-gradient(180deg, #0F091F 0%, rgba(15, 9, 31, 0) 100%);
  z-index: 2;
}
.dottedText--light {
  background: #F2E2D3;
  padding-top: 200px;
}
.dottedText--light:before {
  display: none;
}
.dottedText--light .dottedText__effect--tile:before {
  background: #E775A8;
}
.dottedText .col-12 {
  position: relative;
}
.dottedText__effect {
  position: absolute;
  z-index: 3;
  inset: 0;
  display: grid;
  grid-template-columns: repeat(15, 1fr);
  grid-template-rows: repeat(8, 1fr);
}
@media (max-width: 768px) {
  .dottedText__effect {
    grid-template-columns: repeat(8, 1fr);
    grid-template-rows: repeat(6, 1fr);
  }
}
.dottedText__effect--tile {
  position: relative;
}
.dottedText__effect--tile:before {
  content: "";
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  height: 0.2rem;
  width: 0.2rem;
  border-radius: 0;
  background: rgba(96, 57, 184, 0.6);
  transition: 500ms linear all;
  box-shadow: 0 0 0, 3rem 0 0 -0.3rem , -3rem 0 0 -0.3rem , 0 -3rem 0 -0.3rem , 0 3rem 0 -0.3rem, 3rem 3rem 0 -0.45rem , 3rem -3rem 0 -0.45rem , -3rem 3rem 0 -0.45rem , -3rem -3rem 0 -0.45rem, 3rem 6rem 0 -0.9rem , 3rem -6rem 0 -0.9rem , -3rem 6rem 0 -0.9rem , -3rem -6rem 0 -0.9rem, 3rem 9rem 0 -1.35rem , 3rem -9rem 0 -1.35rem , -3rem 9rem 0 -1.35rem , -3rem -9rem 0 -1.35rem, 3rem 12rem 0 -1.8rem , 3rem -12rem 0 -1.8rem , -3rem 12rem 0 -1.8rem , -3rem -12rem 0 -1.8rem, 6rem 0 0 -0.6rem , -6rem 0 0 -0.6rem , 0 -6rem 0 -0.6rem , 0 6rem 0 -0.6rem, 6rem 3rem 0 -0.9rem , 6rem -3rem 0 -0.9rem , -6rem 3rem 0 -0.9rem , -6rem -3rem 0 -0.9rem, 6rem 6rem 0 -1.8rem , 6rem -6rem 0 -1.8rem , -6rem 6rem 0 -1.8rem , -6rem -6rem 0 -1.8rem, 6rem 9rem 0 -2.7rem , 6rem -9rem 0 -2.7rem , -6rem 9rem 0 -2.7rem , -6rem -9rem 0 -2.7rem, 6rem 12rem 0 -3.6rem , 6rem -12rem 0 -3.6rem , -6rem 12rem 0 -3.6rem , -6rem -12rem 0 -3.6rem, 9rem 0 0 -0.9rem , -9rem 0 0 -0.9rem , 0 -9rem 0 -0.9rem , 0 9rem 0 -0.9rem, 9rem 3rem 0 -1.35rem , 9rem -3rem 0 -1.35rem , -9rem 3rem 0 -1.35rem , -9rem -3rem 0 -1.35rem, 9rem 6rem 0 -2.7rem , 9rem -6rem 0 -2.7rem , -9rem 6rem 0 -2.7rem , -9rem -6rem 0 -2.7rem, 9rem 9rem 0 -4.05rem , 9rem -9rem 0 -4.05rem , -9rem 9rem 0 -4.05rem , -9rem -9rem 0 -4.05rem, 9rem 12rem 0 -5.4rem , 9rem -12rem 0 -5.4rem , -9rem 12rem 0 -5.4rem , -9rem -12rem 0 -5.4rem, 12rem 0 0 -1.2rem , -12rem 0 0 -1.2rem , 0 -12rem 0 -1.2rem , 0 12rem 0 -1.2rem, 12rem 3rem 0 -1.8rem , 12rem -3rem 0 -1.8rem , -12rem 3rem 0 -1.8rem , -12rem -3rem 0 -1.8rem, 12rem 6rem 0 -3.6rem , 12rem -6rem 0 -3.6rem , -12rem 6rem 0 -3.6rem , -12rem -6rem 0 -3.6rem, 12rem 9rem 0 -5.4rem , 12rem -9rem 0 -5.4rem , -12rem 9rem 0 -5.4rem , -12rem -9rem 0 -5.4rem, 12rem 12rem 0 -7.2rem , 12rem -12rem 0 -7.2rem , -12rem 12rem 0 -7.2rem , -12rem -12rem 0 -7.2rem;
}
.dottedText__effect--tile:hover:before {
  height: 0.4rem;
  width: 0.4rem;
  transition: 80ms linear all;
}
.dottedText__container {
  pointer-events: auto;
}
@media (max-width: 768px) {
  .dottedText__container {
    padding: 30px 0 120px;
  }
}
.dottedText__container .h1 {
  max-width: 1080px;
  margin: 0 auto;
  margin-bottom: 60px;
  position: relative;
  z-index: 4;
}
.dottedText__container .btn {
  position: relative;
  z-index: 3;
}
.dottedText__container.videoHero {
  display: flex;
  flex-direction: column;
  gap: 100px;
}
.dottedText__container.videoHero .h1 {
  margin-bottom: 0;
}
.dottedText__container.videoHero p {
  max-width: 560px;
  margin: 0 auto;
}
.dottedText__container.videoHero p.flex-inline {
  gap: 30px;
}
.dottedText__images {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}
.dottedText__images img {
  max-width: 300px;
}
.dottedText__images img:hover {
  box-shadow: 0px 4px 36px -16px #C232FE;
}
.dottedText__images--one {
  position: absolute;
  top: 120px;
  left: 80px;
  z-index: 3;
}
@media (max-width: 768px) {
  .dottedText__images--one {
    top: 0;
    left: 0;
  }
}
.dottedText__images--two {
  position: absolute;
  top: 80px;
  right: 140px;
  z-index: 3;
}
@media (max-width: 768px) {
  .dottedText__images--two {
    display: none;
  }
}
.dottedText__images--three {
  position: absolute;
  bottom: 150px;
  left: 200px;
  z-index: 3;
}
@media (max-width: 768px) {
  .dottedText__images--three {
    display: none;
  }
}
.dottedText__images--four {
  position: absolute;
  bottom: 30px;
  right: 80px;
  z-index: 3;
}
@media (max-width: 768px) {
  .dottedText__images--four {
    right: 0;
    z-index: 2;
  }
}

.videos-page .cardTilt:hover {
  box-shadow: none;
}

.latestNews {
  background: #0F091F;
}
.latestNews__grid {
  margin: 40px 0;
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 80px;
  background: rgba(151, 139, 139, 0.1019607843);
  border-radius: 8px;
  padding: 40px;
  border: 1px solid transparent;
  transition: all 0.3s ease-in-out;
}
@media (max-width: 768px) {
  .latestNews__grid {
    display: flex;
    flex-direction: column;
    gap: 40px;
    padding: 20px;
  }
}
.latestNews__grid:hover {
  background: linear-gradient(197.03deg, rgba(138, 131, 124, 0.1) 12.38%, rgba(240, 228, 216, 0.1) 88.27%);
  box-shadow: inset 0px 4px 36px -16px #C232FE;
  background: linear-gradient(rgb(25, 19, 39), rgba(25, 19, 39, 0.5)) padding-box, linear-gradient(rgb(194, 50, 254), rgba(255, 255, 255, 0)) border-box;
  border-radius: 0.6rem;
  border: 1px solid transparent;
}
.latestNews__grid--item {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 60px;
  align-items: center;
}
@media (max-width: 768px) {
  .latestNews__grid--item {
    grid-template-columns: 1fr;
    gap: 40px;
  }
}
.latestNews__grid--item .thumbnail {
  width: 100%;
  height: auto;
  aspect-ratio: 1.1;
}
@media (max-width: 768px) {
  .latestNews__grid--item .thumbnail {
    aspect-ratio: 1.6/1;
  }
}
.latestNews__grid--item .thumbnail img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}
.latestNews__grid--item .detail {
  display: flex;
  flex-direction: column;
  gap: 30px;
  width: 100%;
}
@media (max-width: 768px) {
  .latestNews__grid--item .detail {
    gap: 20px;
  }
}

.largeCenteredText {
  padding: 150px 0;
  position: relative;
}
@media (max-width: 768px) {
  .largeCenteredText {
    padding: 60px 0;
  }
}
.largeCenteredText--halo1 {
  position: absolute;
  right: 5%;
  top: 10%;
}
@media (max-width: 768px) {
  .largeCenteredText--halo1 {
    width: 100px;
  }
}
.largeCenteredText--halo2 {
  position: absolute;
  bottom: 20%;
  left: 20%;
  width: 100px;
}
@media (max-width: 768px) {
  .largeCenteredText--halo2 {
    left: 30px;
    bottom: 4%;
  }
}
.largeCenteredText__content {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 100px;
}
@media (max-width: 768px) {
  .largeCenteredText__content {
    gap: 60px;
  }
}
.largeCenteredText__content p {
  max-width: 600px;
}
.largeCenteredText__content .icons {
  width: 100%;
  display: flex;
  align-items: center;
  justify-content: space-between;
}

.imageBanner {
  padding-bottom: 60px;
}
.imageBanner__shape {
  width: 100%;
  position: relative;
}
.imageBanner__shape svg {
  width: 100%;
  height: auto;
}
.imageBanner__shape--desktop {
  display: block;
}
@media (max-width: 768px) {
  .imageBanner__shape--desktop {
    display: none;
  }
}
.imageBanner__shape--mobile {
  display: none;
}
@media (max-width: 768px) {
  .imageBanner__shape--mobile {
    display: block;
  }
}
.imageBanner__shape--text {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  width: 100%;
  height: 100%;
  color: #fff;
  text-align: center;
  padding: 4rem 2rem;
}
.imageBanner__shape--text h2 {
  max-width: 700px;
  margin-bottom: 30px;
}

.basicHero {
  padding: 160px 0 60px;
  position: relative;
}
@media (max-width: 768px) {
  .basicHero {
    padding: 60px 0;
  }
}
.basicHero.headerSetting--floating, .basicHero.headerSetting--floating_light {
  padding: 275px 0 60px;
}
@media (max-width: 768px) {
  .basicHero.headerSetting--floating, .basicHero.headerSetting--floating_light {
    padding: 150px 0 30px;
  }
}
.basicHero.headerSetting--floating .basicHero--bg, .basicHero.headerSetting--floating_light .basicHero--bg {
  top: 0;
}
.basicHero--pink {
  background: linear-gradient(180deg, rgba(231, 117, 168, 0.7) -3.66%, #F2E2D3 88.61%);
}
.basicHero--purple {
  background: linear-gradient(180deg, #6039B8 -3.66%, #F2E2D3 88.61%);
}
.basicHero--mixed {
  background: linear-gradient(180deg, #F86FE6 0%, #6039B8 100%);
}
.basicHero--mixed h1 {
  color: #F2E2D3;
}
.basicHero--orange {
  background: linear-gradient(321.24deg, #0F091F 46.08%, #F38C49 105.63%);
  box-shadow: 0px 16px 92px 38px rgba(243, 140, 73, 0.5490196078) inset;
}
.basicHero--orange .basicHero--bg {
  top: auto !important;
  bottom: -50px;
}
.basicHero--orange h1 {
  color: #F2E2D3;
}
.basicHero--orange .tag__default {
  background: none;
}
.basicHero--bg {
  position: absolute;
  left: 0;
  width: 100%;
  max-width: 100%;
  height: 100%;
  top: -275px;
  z-index: 1;
  -o-object-fit: contain;
     object-fit: contain;
}
.basicHero h1 {
  max-width: 1080px;
  margin: 0 auto;
  margin-bottom: 160px;
  text-align: center;
  position: relative;
  z-index: 3;
}
@media (max-width: 768px) {
  .basicHero h1 {
    margin-bottom: 60px;
  }
}
.basicHero__heading {
  text-align: center;
}
.basicHero__heading .tag {
  margin: 0 auto;
  margin-bottom: 40px;
}
.basicHero__banner {
  position: relative;
  z-index: 3;
}
.basicHero__banner--partner {
  position: absolute;
  top: 30px;
  right: 30px;
}
.basicHero__banner--partner .tag {
  position: absolute;
  top: 2px;
  left: -35px;
  width: auto;
  background: #0F091F;
  border-radius: 4px;
  color: #E775A8;
  z-index: 2;
}
.basicHero__banner--partner .logo {
  background: #FAF6F2;
  border-radius: 0;
  padding: 30px;
  clip-path: path("M254.117 140C254.117 142.209 252.326 144 250.117 144H4C1.79086 144 0 142.209 0 140V43C0 40.7909 1.79086 39 4 39H59.5293C61.7384 39 63.5293 37.2091 63.5293 35V4C63.5293 1.79086 65.3202 0 67.5293 0H250.117C252.326 0 254.117 1.79086 254.117 4V140Z");
  width: 254px;
  height: 144px;
  overflow: hidden;
  display: flex;
  align-items: center;
  justify-content: center;
}
.basicHero__banner--partner .logo img {
  max-height: 60px;
  display: block;
}

.fundingCarousel__slider {
  margin-top: 80px;
}
@media (max-width: 768px) {
  .fundingCarousel__slider {
    margin-top: 40px;
  }
}
.fundingCarousel__slider--item {
  width: auto;
  height: 70px;
  padding: 5px;
}
@media (max-width: 768px) {
  .fundingCarousel__slider--item {
    height: 60px;
  }
}
.fundingCarousel__slider--item img {
  width: 100%;
  height: 100%;
  -o-object-fit: contain;
     object-fit: contain;
}

.featuredPartner {
  padding: 100px 0;
}
@media (max-width: 768px) {
  .featuredPartner {
    padding: 40px 0;
  }
}
.featuredPartner__content {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 120px;
}
@media (max-width: 768px) {
  .featuredPartner__content {
    flex-direction: column;
    gap: 30px;
  }
}
.featuredPartner__content--logo {
  position: relative;
}
.featuredPartner__content--logo .tag {
  position: absolute;
  top: 2px;
  left: -35px;
  width: auto;
  background: #0F091F;
  border-radius: 4px;
  color: #FAF6F2;
  z-index: 2;
}
.featuredPartner__content--logo .logo {
  background: #FAF6F2;
  border-radius: 0;
  padding: 30px;
  clip-path: path("M254.117 140C254.117 142.209 252.326 144 250.117 144H4C1.79086 144 0 142.209 0 140V43C0 40.7909 1.79086 39 4 39H59.5293C61.7384 39 63.5293 37.2091 63.5293 35V4C63.5293 1.79086 65.3202 0 67.5293 0H250.117C252.326 0 254.117 1.79086 254.117 4V140Z");
  width: 254px;
  height: 144px;
  overflow: hidden;
  display: flex;
  align-items: center;
  justify-content: center;
}
.featuredPartner__content--logo .logo img {
  max-height: 60px;
  display: block;
}

.framedText__box {
  width: 100%;
  display: flex;
  align-items: center;
  gap: 40px;
  padding: 80px;
  border-radius: 8px;
  border: 1px solid #978B8B;
}
@media (max-width: 768px) {
  .framedText__box {
    padding: 30px;
    flex-direction: column;
    gap: 30px;
  }
}
.framedText__box.noImage {
  justify-content: center;
  text-align: center;
}
.framedText__box.highlight {
  background: linear-gradient(151.46deg, rgba(255, 102, 253, 0.1) 30.79%, rgba(240, 228, 216, 0.1) 84.9%);
  border: 1px solid;
  border-image-source: linear-gradient(100.76deg, #C232FE 17.63%, rgba(255, 255, 255, 0) 23.06%, #C232FE 33.15%, rgba(15, 9, 31, 0) 46.35%);
  box-shadow: 0px 0px 36px -16px rgba(194, 50, 254, 0.8) inset;
}
.framedText__box--image {
  width: 40%;
  height: auto;
  flex-shrink: 0;
  border-radius: 8px;
  aspect-ratio: 1.6/1;
}
@media (max-width: 768px) {
  .framedText__box--image {
    width: 100%;
    border-radius: 4px;
  }
}
.framedText__box--image img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  border-radius: 8px;
}
@media (max-width: 768px) {
  .framedText__box--image img {
    border-radius: 4px;
  }
}
.framedText__box--content {
  padding: 0 80px;
  display: flex;
  flex-direction: column;
  gap: 30px;
  max-width: 800px;
  margin: 0 auto;
}
@media (max-width: 768px) {
  .framedText__box--content {
    width: 100%;
    padding: 0;
  }
}

.textGrid__heading {
  padding-bottom: 100px;
  display: flex;
  width: 100%;
  align-items: center;
  justify-content: space-between;
}
@media (max-width: 768px) {
  .textGrid__heading {
    padding-bottom: 50px;
    flex-direction: column;
    gap: 30px;
    align-items: flex-start;
  }
}
.textGrid__heading h5 {
  display: flex;
  align-items: center;
  gap: 12px;
}
.textGrid__heading h5 svg {
  margin-top: -3px;
}
.textGrid__content {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 40px;
}
@media (max-width: 768px) {
  .textGrid__content {
    display: flex;
    flex-direction: column;
    gap: 30px;
  }
}
.textGrid__content--item {
  border-left: 1px solid #978B8B;
  padding-left: 40px;
}
@media (max-width: 768px) {
  .textGrid__content--item {
    border-left: none;
    border-bottom: 1px solid #978B8B;
    padding-left: 0;
    padding-bottom: 30px;
  }
}

.mediaGrid {
  position: relative;
}
.mediaGrid__effect {
  position: absolute;
  z-index: 2;
  inset: 0;
  display: grid;
  grid-template-columns: repeat(15, 1fr);
  grid-template-rows: repeat(8, 1fr);
}
.mediaGrid__effect--tile {
  position: relative;
}
.mediaGrid__effect--tile:before {
  content: "";
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  height: 4px;
  width: 4px;
  border-radius: 0;
  background: rgba(15, 9, 31, 0.1019607843);
  transition: 500ms linear all;
  box-shadow: 0 0 0, 3rem 0 0 -0.3rem , -3rem 0 0 -0.3rem , 0 -3rem 0 -0.3rem , 0 3rem 0 -0.3rem, 3rem 3rem 0 -0.45rem , 3rem -3rem 0 -0.45rem , -3rem 3rem 0 -0.45rem , -3rem -3rem 0 -0.45rem, 3rem 6rem 0 -0.9rem , 3rem -6rem 0 -0.9rem , -3rem 6rem 0 -0.9rem , -3rem -6rem 0 -0.9rem, 3rem 9rem 0 -1.35rem , 3rem -9rem 0 -1.35rem , -3rem 9rem 0 -1.35rem , -3rem -9rem 0 -1.35rem, 3rem 12rem 0 -1.8rem , 3rem -12rem 0 -1.8rem , -3rem 12rem 0 -1.8rem , -3rem -12rem 0 -1.8rem, 6rem 0 0 -0.6rem , -6rem 0 0 -0.6rem , 0 -6rem 0 -0.6rem , 0 6rem 0 -0.6rem, 6rem 3rem 0 -0.9rem , 6rem -3rem 0 -0.9rem , -6rem 3rem 0 -0.9rem , -6rem -3rem 0 -0.9rem, 6rem 6rem 0 -1.8rem , 6rem -6rem 0 -1.8rem , -6rem 6rem 0 -1.8rem , -6rem -6rem 0 -1.8rem, 6rem 9rem 0 -2.7rem , 6rem -9rem 0 -2.7rem , -6rem 9rem 0 -2.7rem , -6rem -9rem 0 -2.7rem, 6rem 12rem 0 -3.6rem , 6rem -12rem 0 -3.6rem , -6rem 12rem 0 -3.6rem , -6rem -12rem 0 -3.6rem, 9rem 0 0 -0.9rem , -9rem 0 0 -0.9rem , 0 -9rem 0 -0.9rem , 0 9rem 0 -0.9rem, 9rem 3rem 0 -1.35rem , 9rem -3rem 0 -1.35rem , -9rem 3rem 0 -1.35rem , -9rem -3rem 0 -1.35rem, 9rem 6rem 0 -2.7rem , 9rem -6rem 0 -2.7rem , -9rem 6rem 0 -2.7rem , -9rem -6rem 0 -2.7rem, 9rem 9rem 0 -4.05rem , 9rem -9rem 0 -4.05rem , -9rem 9rem 0 -4.05rem , -9rem -9rem 0 -4.05rem, 9rem 12rem 0 -5.4rem , 9rem -12rem 0 -5.4rem , -9rem 12rem 0 -5.4rem , -9rem -12rem 0 -5.4rem, 12rem 0 0 -1.2rem , -12rem 0 0 -1.2rem , 0 -12rem 0 -1.2rem , 0 12rem 0 -1.2rem, 12rem 3rem 0 -1.8rem , 12rem -3rem 0 -1.8rem , -12rem 3rem 0 -1.8rem , -12rem -3rem 0 -1.8rem, 12rem 6rem 0 -3.6rem , 12rem -6rem 0 -3.6rem , -12rem 6rem 0 -3.6rem , -12rem -6rem 0 -3.6rem, 12rem 9rem 0 -5.4rem , 12rem -9rem 0 -5.4rem , -12rem 9rem 0 -5.4rem , -12rem -9rem 0 -5.4rem, 12rem 12rem 0 -7.2rem , 12rem -12rem 0 -7.2rem , -12rem 12rem 0 -7.2rem , -12rem -12rem 0 -7.2rem;
}
.mediaGrid__effect--tile:hover:before {
  height: 6px;
  width: 6px;
  transition: 80ms linear all;
}
.mediaGrid__grid {
  padding: 40px 0;
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 40px;
  position: relative;
  z-index: 3;
}
@media (max-width: 768px) {
  .mediaGrid__grid {
    display: flex;
    flex-direction: column;
    gap: 20px;
  }
}
.mediaGrid__grid--item {
  background: #F2E2D3;
  border: 1px solid #978B8B;
  border-radius: 8px;
  padding: 20px;
  display: grid;
  grid-template-columns: 1fr 1fr;
  align-items: center;
}
@media (max-width: 768px) {
  .mediaGrid__grid--item {
    display: flex;
    flex-direction: column;
    gap: 20px;
    align-items: flex-start;
  }
}
.mediaGrid__grid--item .thumbnail {
  width: 100%;
  height: 100%;
}
.mediaGrid__grid--item .thumbnail img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}
.mediaGrid__grid--item .details {
  padding: 0 40px;
  padding-right: 30px;
  display: flex;
  flex-direction: column;
  gap: 30px;
}
@media (max-width: 768px) {
  .mediaGrid__grid--item .details {
    padding: 0 20px;
    gap: 20px;
  }
}
.mediaGrid__grid--item .details .btn {
  display: inline-flex;
  box-shadow: 0px 0px 2px 0px rgba(73, 48, 128, 0.6) inset;
}

.custom-audio-player {
  display: flex;
  align-items: center;
  gap: 0.75rem;
  background: #0F091F;
  color: #FF66FD;
  padding: 14px 16px;
  height: 55px;
  border-radius: 4px;
  width: 100%;
}
.custom-audio-player .play-btn,
.custom-audio-player .volume-btn {
  background: none;
  border: none;
  cursor: pointer;
  color: inherit;
  display: flex;
  align-items: center;
  justify-content: center;
  transition: opacity 0.2s ease, transform 0.2s ease;
}
.custom-audio-player .play-btn:hover,
.custom-audio-player .volume-btn:hover {
  opacity: 0.8;
  transform: scale(1.05);
}
.custom-audio-player .timeContainer {
  display: flex;
  align-items: center;
  gap: 0;
}
.custom-audio-player .progress-container {
  flex: 1;
  height: 6px;
  background: rgba(250, 246, 242, 0.2);
  border-radius: 0;
  overflow: hidden;
  position: relative;
}
.custom-audio-player .progress-bar {
  height: 100%;
  width: 0%;
  background: #FF66FD;
  transition: width 0.1s linear;
}
.custom-audio-player .time {
  color: #FF66FD;
  min-width: 36px;
  text-align: center;
}
.custom-audio-player .volume-btn svg {
  transition: filter 0.3s ease;
}
.custom-audio-player .volume-btn.muted svg path {
  fill: #777; /* greyed out when muted */
}

.didYouKnow {
  background: #0F091F;
  position: relative;
}
.didYouKnow__content {
  padding: 300px 0;
  width: 50%;
  max-width: 600px;
  display: flex;
  flex-direction: column;
  gap: 80px;
}
@media (max-width: 768px) {
  .didYouKnow__content {
    width: 100%;
    max-width: 100%;
    gap: 30px;
    padding: 30px 0;
  }
}
.didYouKnow__image {
  position: absolute;
  top: 0;
  right: 0;
  height: 100%;
  width: 50%;
}
@media (max-width: 768px) {
  .didYouKnow__image {
    position: relative;
    width: 100%;
    height: auto;
  }
}
.didYouKnow__image:before {
  content: "";
  background: linear-gradient(180deg, rgba(15, 9, 31, 0) 50.17%, #0F091F 100%);
  width: 100%;
  height: 100%;
  position: absolute;
  top: 0;
  left: 0;
}
.didYouKnow__image img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}

.largeVideo__banner {
  width: 100%;
  position: relative;
}
.largeVideo__banner svg {
  width: 100%;
  height: auto;
  display: block;
}
.largeVideo__banner--link {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
}
@media (max-width: 768px) {
  .largeVideo__banner--link svg {
    width: 40px;
  }
}
.largeVideo__banner--link svg path {
  transition: 0.3s ease;
}
.largeVideo__banner--link:hover svg path.outer {
  fill: #E775A8;
}

.imageGallery__grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 50px;
}
@media (max-width: 768px) {
  .imageGallery__grid {
    grid-template-columns: 1fr;
    gap: 20px;
  }
}
.imageGallery__grid--item {
  width: 100%;
  height: auto;
  aspect-ratio: 1.45/1;
  border-radius: 8px;
}
@media (max-width: 768px) {
  .imageGallery__grid--item {
    border-radius: 4px;
  }
}
.imageGallery__grid--item img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  border-radius: 8px;
}
@media (max-width: 768px) {
  .imageGallery__grid--item img {
    border-radius: 4px;
  }
}

.faqs__container {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 120px;
}
@media (max-width: 768px) {
  .faqs__container {
    grid-template-columns: 1fr;
    gap: 60px;
  }
}
.faqs__container--intro {
  padding-top: 80px;
  max-width: 525px;
}
@media (max-width: 768px) {
  .faqs__container--intro {
    padding-top: 0;
  }
}
.faqs__container--intro .h4 {
  margin-top: 30px;
}
.faqs__container--intro .h4 p {
  font-size: 28px;
  line-height: 1.2;
}
.faqs__container--intro .h4 p a {
  text-decoration: underline;
  text-underline-offset: 6px;
}
.faqs__container--intro .h4 p a:hover {
  text-decoration: none;
}
.faqs__container--accordion details {
  border-bottom: 1px dashed #0F091F;
  padding: 30px 0;
}
@media (max-width: 768px) {
  .faqs__container--accordion details {
    padding: 20px 0;
  }
}
.faqs__container--accordion details[open] summary svg {
  transform: rotate(180deg);
}
.faqs__container--accordion details summary {
  width: 100%;
  display: flex;
  align-items: center;
  gap: 60px;
  justify-content: space-between;
  cursor: pointer;
}
@media (max-width: 768px) {
  .faqs__container--accordion details summary {
    gap: 30px;
  }
}
.faqs__container--accordion details summary svg {
  transition: 0.3s ease-in-out;
}
.faqs__container--accordion details .rte {
  padding-top: 30px;
}

.featuredVideos {
  padding: 100px 0;
}
.featuredVideos__grid {
  display: grid;
  gap: 20px;
}
.featuredVideos__grid.two_col {
  grid-template-columns: 1fr 1fr;
}
.featuredVideos__grid.four_col {
  grid-template-columns: 1fr 1fr 1fr 1fr;
}
.featuredVideos__grid.four_col .details h4 {
  font-size: clamp(16px, 0.37vw + 13.14px, 18px);
  line-height: 1.3;
}
.featuredVideos__grid--item {
  width: 100%;
  height: 500px;
  position: relative;
  border-radius: 8px;
  display: flex;
  flex-direction: column;
  justify-content: flex-end;
}
.featuredVideos__grid--item:before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: linear-gradient(180deg, rgba(15, 9, 31, 0) 50.17%, #0F091F 100%);
  z-index: 2;
  border-radius: 8px;
}
.featuredVideos__grid--item a {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: 4;
}
.featuredVideos__grid--item:hover .thumbnail img {
  transform: scale(1.1);
}
.featuredVideos__grid--item .thumbnail {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  border-radius: 8px;
  overflow: hidden;
}
.featuredVideos__grid--item .thumbnail img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  border-radius: 8px;
  transition: 0.3s ease-in-out;
}
.featuredVideos__grid--item .details {
  position: relative;
  z-index: 3;
  padding: 20px;
  display: flex;
  flex-direction: column;
  gap: 15px;
}
.featuredVideos__grid--item .details .tags {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 10px;
  margin: 8px 0 5px;
}
.featuredVideos__grid--item .details .tags .tag {
  height: 25px;
}

.brochureCarousel__intro {
  max-width: 600px;
  margin: 0 auto;
  text-align: center;
}
.brochureCarousel__intro p {
  margin: 50px 0;
}
.brochureCarousel__slider {
  width: 100%;
  margin-top: 150px;
}
@media (max-width: 768px) {
  .brochureCarousel__slider {
    margin-top: 60px;
  }
}
.brochureCarousel__slider .splide__slide {
  overflow: visible !important;
}
.brochureCarousel__slider .splide__track {
  overflow: visible !important;
}
.brochureCarousel__slider--item {
  height: 280px;
  display: flex;
  align-items: center;
  justify-content: center;
}
@media (max-width: 768px) {
  .brochureCarousel__slider--item {
    height: 180px;
  }
}
.brochureCarousel__slider--item .brochureInner {
  transition: transform 0.4s ease, box-shadow 0.4s ease;
  transform-origin: center bottom;
  height: 100%;
}
.brochureCarousel__slider--item .brochureInner img {
  height: 100%;
  width: auto;
  display: block;
}
.brochureCarousel__slider--item:hover .brochureInner {
  cursor: pointer;
  transform: scale(1.2) rotate(-3deg) translateY(20px);
  box-shadow: 0px 6px 100px 0px rgba(243, 140, 73, 0.5019607843);
}

.textBlock.bg-purple .textBlock__heading,
.textBlock.bg-purple .textBlock__content {
  color: #F2E2D3;
}
.textBlock .tag {
  margin: 0 auto;
  text-align: center;
  margin-bottom: 100px;
}
@media (max-width: 768px) {
  .textBlock .tag {
    margin-bottom: 40px;
  }
}
.textBlock .large-heading {
  margin-bottom: 100px;
}
@media (max-width: 768px) {
  .textBlock .large-heading {
    margin-bottom: 40px;
  }
}

.meetTeam__grid {
  padding-top: 100px;
  display: grid;
  grid-template-columns: 1fr 1fr 1fr;
  gap: 50px;
}
@media (max-width: 768px) {
  .meetTeam__grid {
    grid-template-columns: 1fr;
    gap: 30px;
    padding-top: 40px;
  }
}
.meetTeam__grid--item .avatar {
  width: 100%;
  height: auto;
  aspect-ratio: 1/1;
  border-radius: 16px;
  position: relative;
}
.meetTeam__grid--item .avatar img {
  width: 100%;
  height: 100%;
  -o-object-fit: contain;
     object-fit: contain;
  -o-object-position: top;
     object-position: top;
  border-radius: 16px;
}
.meetTeam__grid--item .avatar .btn {
  position: absolute;
  bottom: 16px;
  left: 16px;
  border-radius: 8px;
}
.meetTeam__grid--item .details {
  padding-top: 50px;
  color: #F2E2D3;
}
@media (max-width: 768px) {
  .meetTeam__grid--item .details {
    padding-top: 30px;
  }
}
.meetTeam__grid--item .details h4 {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 12px;
}
.meetTeam__grid--item .details .tags {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 10px 20px;
  margin-top: 20px;
}
.meetTeam__grid--item .details .tags .btn__pink {
  border-radius: 0;
  padding: 6px 8px;
  height: auto;
  color: #FAF6F2;
}

.partnerGrid__block {
  margin-top: 80px;
  display: grid;
  grid-template-columns: repeat(5, 1fr);
  align-items: center;
  gap: 60px;
}
.partnerGrid__block.lessThanFive {
  grid-template-columns: repeat(auto-fit, minmax(0, max-content));
  justify-content: center;
}
@media (max-width: 768px) {
  .partnerGrid__block {
    grid-template-columns: repeat(3, 1fr);
    gap: 30px;
  }
}
.partnerGrid__block--item img {
  width: 100%;
  height: 55px;
  -o-object-fit: contain;
     object-fit: contain;
}
@media (max-width: 768px) {
  .partnerGrid__block--item img {
    height: 40px;
  }
}

.brochureArchive__grid {
  margin-top: 250px;
  display: grid;
  grid-template-columns: 1fr 1fr 1fr 1fr;
  gap: 50px 20px;
}
@media (max-width: 1600px) {
  .brochureArchive__grid {
    grid-template-columns: 1fr 1fr 1fr;
  }
}
@media (max-width: 1200px) {
  .brochureArchive__grid {
    grid-template-columns: 1fr 1fr;
  }
}
@media (max-width: 768px) {
  .brochureArchive__grid {
    grid-template-columns: 1fr;
    margin-top: 100px;
  }
}
.brochureArchive__grid--item {
  background: rgba(151, 139, 139, 0.1019607843);
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  gap: 50px;
  padding: 30px 20px;
  border-radius: 8px;
  position: relative;
}
@media (max-width: 768px) {
  .brochureArchive__grid--item {
    gap: 30px;
  }
}
.brochureArchive__grid--item:before {
  content: "";
  position: absolute;
  inset: 0;
  padding: 1px;
  border-radius: inherit;
  background: linear-gradient(240.4deg, #F38C49 30%, rgba(243, 184, 146, 0.9) 35.87%, rgba(243, 140, 73, 0.6) 37.33%, #0F091F 46.31%, #0F091F 68.11%);
  -webkit-mask: linear-gradient(#fff 0 0) content-box, linear-gradient(#fff 0 0);
  -webkit-mask-composite: xor;
  mask-composite: exclude;
  pointer-events: none;
}
.brochureArchive__grid--item .btns .btn {
  width: 170px;
}
@media (max-width: 768px) {
  .brochureArchive__grid--item .btns .btn {
    width: 150px;
  }
}
.brochureArchive__grid--item .btns .btn__white {
  margin-top: 15px;
}
.brochureArchive__grid--item .cover {
  width: auto;
  max-width: 40%;
  height: 105%;
  position: absolute;
  right: 15px;
  bottom: 15px;
}
@media (max-width: 768px) {
  .brochureArchive__grid--item .cover {
    max-width: 30%;
  }
}
.brochureArchive__grid--item .cover img {
  width: 100%;
  height: 100%;
  -o-object-fit: contain;
     object-fit: contain;
  -o-object-position: top;
     object-position: top;
}

.floatingCTA {
  position: fixed;
  bottom: 30px;
  left: 30px;
  padding: 20px;
  border-radius: 8px;
  z-index: 5;
  background: rgba(250, 246, 242, 0.8);
  backdrop-filter: blur(20px);
  width: 100%;
  max-width: 380px;
  transition: opacity 0.4s ease;
}
.floatingCTA.fade-out {
  opacity: 0;
  pointer-events: none;
}
@media (max-width: 768px) {
  .floatingCTA {
    display: none;
  }
}
.floatingCTA__close {
  position: absolute;
  top: 20px;
  right: 20px;
  cursor: pointer;
}
.floatingCTA__content {
  display: grid;
  grid-template-columns: 1fr 1fr;
  align-items: center;
  gap: 30px;
}
.floatingCTA__content--img {
  width: 100%;
  height: 100%;
  position: relative;
  border-radius: 4px;
}
.floatingCTA__content--img img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  border-radius: 4px;
}
.floatingCTA__content--img a {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  display: flex;
  align-items: center;
  justify-content: center;
}
.floatingCTA__content--img a svg {
  width: 30px;
  transition: 0.3s ease-in-out;
}
.floatingCTA__content--img a:hover svg {
  transform: scale(1.1);
}
.floatingCTA__content--text .btn {
  font-size: 14px;
  margin-top: 20px;
  height: auto;
}
.floatingCTA__content--text .btn.btn__text {
  margin-top: 10px;
}

.formBlock {
  --x: calc(var(--posX, 0) * 1px);
  --y: calc(var(--posY, 0) * 1px);
  position: relative;
  overflow: hidden;
  padding: 250px 0 150px;
  background-color: #0F091F;
  background-image: var(--dynamicBg);
  background-blend-mode: overlay, normal;
  transition: background-position 0.1s ease-out, background 0.5s ease-out;
}
.formBlock.active {
  --dynamicBg:
      radial-gradient(
          46.72% 92.22% at 60.36% 58.13%,
          #432885 0%,
          #0F091F 100%
      ),
      radial-gradient(
          150% 100% at calc(50% + var(--x)) calc(0% + var(--y)),
          rgba(67, 40, 133, 0.7),
          rgba(15, 9, 31, 0)
      ),
      radial-gradient(
          200% 200% at calc(90% - var(--x)) calc(10% - var(--y)),
          rgba(107, 65, 212, 0.5),
          rgba(15, 9, 31, 0)
      ),
      radial-gradient(
          260% 210% at calc(100% + var(--x)) calc(0% + var(--y)),
          rgba(139, 92, 246, 0.4),
          rgba(15, 9, 31, 0)
      );
}
.formBlock:not(.active) {
  --dynamicBg: none;
}
@media (max-width: 768px) {
  .formBlock {
    padding: 150px 0 50px;
  }
}
.formBlock__container {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 30px;
}
@media (max-width: 768px) {
  .formBlock__container {
    grid-template-columns: 1fr;
    gap: 80px;
  }
}
.formBlock__container--intro {
  position: relative;
  display: flex;
  flex-direction: column;
  gap: 50px;
  padding-right: 80px;
}
@media (max-width: 768px) {
  .formBlock__container--intro {
    gap: 30px;
    padding-right: 0;
  }
}
.formBlock__container--intro:before {
  content: "";
  position: absolute;
  top: 0;
  right: 0;
  width: 1px; /* border thickness */
  height: 100%;
  background: linear-gradient(90deg, rgba(231, 117, 168, 0) 0%, #493080 49.52%, rgba(231, 117, 168, 0) 100%);
}
@media (max-width: 768px) {
  .formBlock__container--intro:before {
    display: none;
  }
}
.formBlock__container--intro .buttons {
  display: flex;
  flex-direction: column;
  gap: 30px;
  margin-top: 10px;
}
@media (max-width: 768px) {
  .formBlock__container--intro .buttons {
    gap: 20px;
  }
}
.formBlock__container--intro .buttons a {
  width: 100%;
  padding: 40px;
  max-height: 80px;
  color: #FAF6F2;
  border-radius: 8px;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 12px;
  font-family: "Vitesse Sans", sans-serif;
  text-transform: uppercase;
  font-weight: 900;
  text-transform: uppercase;
  background: rgba(151, 139, 139, 0.1019607843);
  text-decoration: none;
  transition: 0.3s ease-in-out;
}
.formBlock__container--intro .buttons a:hover {
  background: #FAF6F2;
  color: #0F091F;
}
.formBlock__container--form {
  display: flex;
  justify-conetnt: center;
}
.formBlock__container--form .formContainer {
  max-width: 480px;
  margin: 0 auto;
}
.formBlock__container--form .formContainer p {
  padding-bottom: 30px;
}
.formBlock__container--form .formContainer label {
  font-family: "SF Mono", serif;
  font-weight: 600;
  font-size: 14px;
  line-height: 130%;
  letter-spacing: 1%;
  text-transform: uppercase;
  color: #FAF6F2;
}
.formBlock__container--form .formContainer input[type=text],
.formBlock__container--form .formContainer input[type=email],
.formBlock__container--form .formContainer textarea {
  margin: 10px 0 0;
  width: 100%;
  background: rgba(96, 57, 184, 0.1019607843);
  border: 1px solid rgba(96, 57, 184, 0.6);
  color: #FAF6F2;
  border-radius: 4px;
  outline: none;
}
.formBlock__container--form .formContainer input[type=text]:focus,
.formBlock__container--form .formContainer input[type=email]:focus,
.formBlock__container--form .formContainer textarea:focus {
  background: rgba(96, 57, 184, 0.2);
  outline: none;
  border: 1px solid #6039B8;
  box-shadow: 0px 0px 24px 0px rgba(167, 7, 255, 0.4);
  box-shadow: 0px 0px 12px 0px rgba(131, 82, 216, 0.6) inset;
}
.formBlock__container--form .formContainer .wpcf7-radio {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 20px;
  margin-top: 20px;
}
.formBlock__container--form .formContainer .wpcf7-radio input[type=radio] {
  position: absolute;
  opacity: 0;
  pointer-events: none;
}
.formBlock__container--form .formContainer .wpcf7-radio .wpcf7-list-item {
  display: block;
  margin: 0;
}
.formBlock__container--form .formContainer .wpcf7-radio .wpcf7-list-item label {
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 14px 20px;
  border-radius: 4px;
  cursor: pointer;
  background: rgba(250, 250, 250, 0.1019607843);
  box-shadow: 0px 0px 2px 0px rgba(73, 48, 128, 0.6) inset;
  color: #FAF6F2;
  font-weight: 600;
  transition: all 0.25s ease;
}
.formBlock__container--form .formContainer .wpcf7-radio .wpcf7-list-item label:hover {
  background: rgba(250, 250, 250, 0.2509803922);
}
.formBlock__container--form .formContainer .wpcf7-radio .wpcf7-list-item:has(input[type=radio]:checked) label {
  background: #FAF6F2;
  color: #0F091F;
  box-shadow: 0px 0px 2px 0px rgba(73, 48, 128, 0.6) inset;
}
.formBlock__container--form .formContainer .wpcf7-acceptance {
  display: block;
}
.formBlock__container--form .formContainer .wpcf7-acceptance .wpcf7-list-item {
  display: block;
  margin: 0;
}
.formBlock__container--form .formContainer .wpcf7-acceptance .wpcf7-list-item label {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 20px;
  font-family: "Urbanist", sans-serif;
  text-transform: none;
  color: #FAF6F2;
  font-weight: 600;
  font-size: 16px;
  line-height: 1.3;
}
.formBlock__container--form .formContainer .wpcf7-acceptance .wpcf7-list-item label input {
  width: 22px;
  height: 22px;
}
.formBlock__container--form .formContainer .wpcf7-submit {
  width: 160px;
  height: 45px;
  cursor: pointer;
  opacity: 1;
  background: linear-gradient(172.99deg, rgba(236, 175, 252, 0.56) 5.57%, rgba(119, 80, 210, 0.8) 74.78%), #5A3C9E;
  box-shadow: 0px 0px 2px 0px #493080 inset;
  color: #FAF6F2;
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: 4px;
  font-size: 16px;
  font-family: "SF Mono", serif;
  text-transform: uppercase;
  font-weight: 400;
  transition: 0.3s ease-in-out;
}
@media (max-width: 768px) {
  .formBlock__container--form .formContainer .wpcf7-submit {
    width: 100%;
  }
}
.formBlock__container--form .formContainer .wpcf7-submit:hover {
  background: linear-gradient(0deg, #5A3C9E, #5A3C9E), linear-gradient(172.99deg, rgba(236, 175, 252, 0.21) 5.57%, rgba(119, 80, 210, 0.3) 74.78%);
  box-shadow: 0px 0px 2px 0px #493080 inset;
}

.events-index-page {
  position: relative;
}
.events-index-page header {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  background: transparent;
  z-index: 2;
}
.events-index-page.festival-only:before {
  background: none;
}
.events-index-page.festival-only .eventsHero {
  background: linear-gradient(321.24deg, #0F091F 46.08%, #FF66FD 105.63%);
}
.events-index-page.festival-only .eventsHero__bg--all {
  opacity: 0;
}
.events-index-page.festival-only .eventsHero__bg--festival {
  top: auto;
  bottom: 0;
  opacity: 1;
}
.events-index-page.festival-only .eventsHero__content h1 {
  color: white;
}
.events-index-page.hero-style-orange {
  background: linear-gradient(180deg, #F38C49 -3.66%, #F2E2D3 88.61%);
}

.eventsHero {
  position: relative;
}
.eventsHero__bg {
  position: fixed;
  z-index: 0;
  top: 0;
  left: 0;
  width: 100%;
  opacity: 1;
}
.eventsHero__bg--festival {
  opacity: 0;
}
.eventsHero__content {
  position: relative;
  padding: 200px 0 50px;
}
@media (max-width: 768px) {
  .eventsHero__content {
    padding: 60px 0 30px;
  }
}
.eventsHero__content--cube {
  position: absolute;
  top: 180px;
  left: 0;
  transition: 0.3s ease-in-out;
}
.eventsHero__content--cube2 {
  position: absolute;
  bottom: 180px;
  right: -60px;
  transition: 0.3s ease-in-out;
}
.eventsHero__content--largeCube {
  opacity: 0;
  position: absolute;
  top: 80px;
  left: -40px;
  max-width: 300px;
  transition: 0.3s ease-in-out;
}
.eventsHero__content--toggle {
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 8px;
  gap: 12px;
  max-width: 300px;
  margin: 0 auto;
  background: linear-gradient(184.98deg, rgba(231, 117, 168, 0.09) -1.86%, rgba(160, 89, 219, 0.3) 103.73%);
  border: 1px solid rgba(161, 72, 160, 0.3);
  backdrop-filter: blur(10px);
  border-radius: 8px;
}
.eventsHero__content--toggle button:hover, .eventsHero__content--toggle button.active {
  background: #0F091F;
  color: white;
  cursor: pointer;
}
.eventsHero__content h1 {
  color: #0F091F;
  text-align: center;
  padding: 50px 0 100px;
  margin: 0;
  position: relative;
  z-index: 3;
}
@media (max-width: 768px) {
  .eventsHero__content h1 {
    padding: 60px 0;
  }
}
.eventsHero__content--filters {
  max-width: 1080px;
  margin: 0 auto;
  padding: 12px;
  background: rgba(250, 246, 242, 0.8);
  border: 1px solid rgba(15, 9, 31, 0.1);
  backdrop-filter: blur(20px);
  border-radius: 8px;
  position: relative;
  z-index: 8;
}
.eventsHero__content--filters .topRow {
  display: flex;
  align-items: center;
  width: 100%;
  justify-content: space-between;
  gap: 12px;
}
@media (max-width: 768px) {
  .eventsHero__content--filters .topRow {
    display: flex;
    flex-direction: column;
  }
}
.eventsHero__content--filters .topRow__search {
  background: transparent;
  padding: 10px 12px;
  display: flex;
  align-items: center;
  gap: 10px;
  border-radius: 8px;
}
@media (max-width: 768px) {
  .eventsHero__content--filters .topRow__search {
    width: 100%;
  }
}
.eventsHero__content--filters .topRow__search input::-moz-placeholder {
  font-family: "SF Mono", serif;
  text-transform: uppercase;
  font-weight: 400;
  font-size: 14px;
}
.eventsHero__content--filters .topRow__search input::placeholder {
  font-family: "SF Mono", serif;
  text-transform: uppercase;
  font-weight: 400;
  font-size: 14px;
}
.eventsHero__content--filters .topRow__search svg {
  flex-shrink: 0;
}
.eventsHero__content--filters .topRow__search div {
  display: flex;
  flex-direction: column;
  gap: 6px;
}
.eventsHero__content--filters .topRow__btns {
  display: grid;
  grid-template-columns: 1fr 1fr 1fr 1fr;
  gap: 12px;
  align-items: center;
  text-align: center;
}
@media (max-width: 768px) {
  .eventsHero__content--filters .topRow__btns {
    width: 100%;
    grid-template-columns: 1fr 1fr;
  }
}
.eventsHero__content--filters .topRow__btns .festivalToggle {
  height: 60px;
  border: none;
  outline: none;
  background: none;
  border-left: 1px solid rgba(151, 139, 139, 0.3019607843);
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  padding: 0 15px;
  color: #978B8B;
  font-size: 16px;
  font-family: "SF Mono", serif;
  text-transform: uppercase;
  font-weight: 400;
  cursor: pointer;
}
.eventsHero__content--filters .topRow__btns .festivalToggle:hover, .eventsHero__content--filters .topRow__btns .festivalToggle.active {
  color: #0F091F;
}
.eventsHero__content--filters .topRow__btns .festivalToggle:hover svg path, .eventsHero__content--filters .topRow__btns .festivalToggle.active svg path {
  fill: #E775A8;
  stroke: #E775A8;
}
@media (max-width: 768px) {
  .eventsHero__content--filters .topRow__btns .festivalToggle {
    order: 4;
    border: none;
  }
}
.eventsHero__content--filters .topRow__btns .btn {
  height: 100%;
  min-height: 60px;
}
.eventsHero__content--filters .topRow__btns .btn__default {
  background: rgba(250, 250, 250, 0.1);
  box-shadow: 0px 0px 2px 0px rgba(73, 48, 128, 0.6) inset;
}
.eventsHero__content--filters .topRow__btns .btn:hover, .eventsHero__content--filters .topRow__btns .btn.active {
  cursor: pointer;
  background: #0F091F;
  color: white;
}
.eventsHero__content--filters .topRow__btns .btn.open svg {
  display: none;
}
.eventsHero__content--filters label {
  text-transform: uppercase;
  font-size: 14px;
  font-family: "SF Mono", serif;
}
.eventsHero__content--filters input:not(.vc-input) {
  background: none;
  padding: 0;
  border: none;
  color: rgba(15, 9, 31, 0.5);
  outline: none;
}
.eventsHero__content--filters select:not(.vc-select) {
  width: 100%;
  color: rgba(15, 9, 31, 0.5);
  background: none;
  padding: 0;
  border: none;
  outline: none;
}
.eventsHero__content--filters .btmRow {
  display: grid;
  grid-template-columns: 1fr 1fr 1fr 1fr 1fr;
  gap: 8px;
  margin-top: 12px;
  overflow: visible !important;
}
@media (max-width: 768px) {
  .eventsHero__content--filters .btmRow {
    grid-template-columns: 1fr;
  }
}
.eventsHero__content--filters .btmRow__item {
  background: white;
  padding: 0 12px;
  display: flex;
  align-items: center;
  gap: 10px;
  border-radius: 8px;
  width: 100%;
  position: relative;
}
@media (max-width: 768px) {
  .eventsHero__content--filters .btmRow__item {
    flex-direction: column;
    gap: 0;
  }
}
.eventsHero__content--filters .btmRow__item .fakeSelect {
  display: flex;
  align-items: center;
  gap: 10px;
  width: 100%;
}
.eventsHero__content--filters .btmRow__item svg {
  flex-shrink: 0;
}
.eventsHero__content--filters .btmRow__item--inner {
  display: flex;
  flex-direction: column;
  gap: 4px;
  width: 100%;
  padding: 8px 0;
}
@media (max-width: 786px) {
  .eventsHero__content--filters .btmRow__item--inner {
    position: relative;
  }
}
.eventsHero__content--filters .btmRow__item--inner .filter-label {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 4px;
  cursor: pointer;
  font-weight: 600;
  -webkit-user-select: none;
     -moz-user-select: none;
          user-select: none;
}
.eventsHero__content--filters .btmRow__item--inner .filter-label span {
  font-family: "Urbanist", sans-serif;
  text-transform: none;
  font-size: 14px;
  color: rgba(15, 9, 31, 0.6);
}
.eventsHero__content--filters .btmRow__item--inner .arrow {
  position: absolute;
  top: 50%;
  margin-top: -3px;
  right: 10px;
  display: inline-block;
  width: 6px;
  height: 6px;
  border-right: 1px solid #000;
  border-bottom: 1px solid #000;
  transform: rotate(45deg);
  transition: transform 0.2s ease;
}
.eventsHero__content--filters .btmRow__item--inner .arrow.up {
  transform: rotate(-135deg);
}
.eventsHero__content--filters .btmRow__item--inner .arrow.down {
  transform: rotate(45deg);
}
.eventsHero__content--filters .btmRow__item--inner .date-input {
  width: 100%;
  cursor: pointer;
  font-size: 13px;
  color: rgba(15, 9, 31, 0.6);
  -webkit-user-select: none;
     -moz-user-select: none;
          user-select: none;
}
.eventsHero__content--filters .btmRow__item--inner .date-input.open {
  border-color: #0F091F;
}
.eventsHero__content--filters .btmRow__item .date-popover, .eventsHero__content--filters .btmRow__item .dropdown-panel {
  position: absolute;
  width: 100%;
  top: 70px;
  left: 0;
  z-index: 999999999;
  background: #fff;
  border-radius: 8px;
  box-shadow: 0px 4px 14px rgba(0, 0, 0, 0.15);
  padding: 8px;
  overflow: hidden;
}
@media (max-width: 768px) {
  .eventsHero__content--filters .btmRow__item .date-popover, .eventsHero__content--filters .btmRow__item .dropdown-panel {
    position: relative;
    top: 0;
    width: 100%;
    padding: 15px 0;
    margin-top: 10px;
    box-shadow: none;
    border-top: 1px solid rgba(151, 139, 139, 0.3019607843);
    border-radius: 0;
  }
}
.eventsHero__content--filters .btmRow__item .date-popover .checkbox-item, .eventsHero__content--filters .btmRow__item .dropdown-panel .checkbox-item {
  padding: 5px 10px;
}
.eventsHero__content--filters .btmRow__item .date-popover .checkbox-item label, .eventsHero__content--filters .btmRow__item .dropdown-panel .checkbox-item label {
  font-family: "Urbanist", sans-serif;
  color: #0F091F;
  font-weight: 600;
  font-size: 14px;
  text-transform: none;
}
.eventsHero__content--filters .btmRow__item .date-popover .checkbox-item label input, .eventsHero__content--filters .btmRow__item .dropdown-panel .checkbox-item label input {
  margin-right: 8px;
}
.eventsHero__content--filters .btmRow__item .date-popover {
  width: -moz-max-content;
  width: max-content;
  min-width: 100%;
  /* Selected range background */
  /* Selected start/end dates */
  /* Selected day text */
  /* Hover states */
  /* Month navigation arrows */
  /* Month title */
  /* Weekday labels */
}
@media (max-width: 768px) {
  .eventsHero__content--filters .btmRow__item .date-popover {
    width: 100%;
  }
}
.eventsHero__content--filters .btmRow__item .date-popover .vc-highlight-bg-solid {
  background-color: #E775A8 !important;
}
.eventsHero__content--filters .btmRow__item .date-popover .vc-highlight-bg-light {
  background-color: #E775A8 !important; /* your brand blue */
  opacity: 0.25 !important;
}
.eventsHero__content--filters .btmRow__item .date-popover .vc-highlight-bg-outline, .eventsHero__content--filters .btmRow__item .date-popover .vc-highlight-bg-none {
  border-color: #E775A8 !important;
}
.eventsHero__content--filters .btmRow__item .date-popover .vc-blue {
  color: #0F091F !important;
  width: 100%;
}
.eventsHero__content--filters .btmRow__item .date-popover .vc-day-layer-fill {
  background-color: #E775A8 !important; /* your brand blue */
  opacity: 0.25 !important; /* softer highlight */
}
.eventsHero__content--filters .btmRow__item .date-popover .vc-day.is-start .vc-day-layer-bg,
.eventsHero__content--filters .btmRow__item .date-popover .vc-day.is-end .vc-day-layer-bg {
  background-color: #E775A8 !important;
  border-radius: 6px !important;
}
.eventsHero__content--filters .btmRow__item .date-popover .vc-day.is-start .vc-day-content,
.eventsHero__content--filters .btmRow__item .date-popover .vc-day.is-end .vc-day-content {
  color: #fff !important;
  font-weight: 600;
}
.eventsHero__content--filters .btmRow__item .date-popover .vc-day:hover .vc-day-layer-fill {
  background-color: #E775A8 !important;
  opacity: 0.15 !important;
}
.eventsHero__content--filters .btmRow__item .date-popover .vc-arrow {
  color: #E775A8 !important;
}
.eventsHero__content--filters .btmRow__item .date-popover .vc-title {
  color: #0F091F !important;
  font-weight: 600 !important;
}
.eventsHero__content--filters .btmRow__item .date-popover .vc-weekday {
  color: rgba(15, 9, 31, 0.6) !important;
  font-weight: 600;
}
.eventsHero__content--filters .btmRow__extras {
  grid-column: 1/-1;
  display: flex;
  align-items: center;
  gap: 30px;
  width: 100%;
  padding: 20px;
}
.eventsHero__content--filters .btmRow__extras--free {
  display: flex;
  align-items: center;
  justify-content: flex-start;
  gap: 12px;
  text-transform: uppercase;
  font-family: "SF Mono", serif;
  font-size: 14px;
}
.eventsHero__content--filters .btmRow__extras--free input {
  width: 20px;
  height: 20px;
  border: 1px solid #0F091F;
  background: none;
}
.eventsHero__content--filters .btmRow__extras--clear {
  display: flex;
  align-items: center;
  justify-content: flex-start;
  gap: 12px;
  text-transform: uppercase;
  font-family: "SF Mono", serif;
  font-size: 14px;
}
.eventsHero__content--filters .btmRow__extras--clear:hover {
  text-decoration: underline;
  text-underline-offset: 6px;
  cursor: pointer;
}
.eventsHero.school-events-hero .topRow__btns {
  grid-template-columns: 1fr 1fr 1fr;
}
@media (max-width: 768px) {
  .eventsHero.school-events-hero .topRow__btns {
    grid-template-columns: 1fr 1fr;
  }
  .eventsHero.school-events-hero .topRow__btns .btn__pink {
    grid-column: span 2;
  }
}
.eventsHero.school-events-hero .btmRow {
  grid-template-columns: 1fr 1fr 1fr 1fr;
}
@media (max-width: 768px) {
  .eventsHero.school-events-hero .btmRow {
    grid-template-columns: 1fr;
  }
}

.filters-slide-enter-active,
.filters-slide-leave-active {
  transition: all 0.35s ease;
  overflow: hidden;
}

.filters-slide-enter-from,
.filters-slide-leave-to {
  opacity: 0;
  transform: translateY(-8px);
  max-height: 0;
}

.filters-slide-enter-to,
.filters-slide-leave-from {
  opacity: 1;
  transform: translateY(0);
  max-height: 600px;
}

.vc-container,
.vc-pane,
.vc-weeks,
.vc-weekdays {
  display: block;
  width: 100%;
  max-width: 100%;
  box-sizing: border-box;
  outline: none;
}

.vc-pane {
  display: flex;
  flex-direction: column;
}

.vc-date-picker {
  width: 100%;
  max-width: 100%;
}

.vc-header,
.vc-weeks,
.vc-weekdays {
  width: 100%;
}

.vc-day,
.vc-title,
.vc-arrows,
.vc-nav-item,
.vc-select select {
  all: unset;
}

.eventsList {
  position: relative;
  z-index: 0 !important;
}
.eventsList__count {
  max-width: 1600px;
  margin: 0 auto;
  padding: 50px;
  position: relative;
  z-index: 0;
}
@media (max-width: 768px) {
  .eventsList__count {
    padding: 10px 0 30px;
  }
}
.eventsList__grid {
  max-width: 1600px;
  padding: 0 50px 100px;
  margin: 0 auto;
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 20px;
}
@media (max-width: 768px) {
  .eventsList__grid {
    display: flex;
    flex-direction: column;
    padding: 0;
    padding-bottom: 40px;
  }
}
.eventsList__grid--item {
  background: #0F091F;
  position: relative;
  border-radius: 8px;
  height: 100%;
  overflow: hidden;
  display: flex;
  flex-direction: column;
  transition: 0.3s ease-in-out;
}
.eventsList__grid--item .cardLink {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: 3;
}
.eventsList__grid--item .thumbnail {
  position: relative;
  top: 0;
  left: 0;
  width: 100%;
  height: auto;
  aspect-ratio: 1.6/1;
  flex-shrink: 0;
  overflow: hidden;
  border-radius: 8px 8px 0 0;
  transition: 0.3s ease-in-out;
}
.eventsList__grid--item .thumbnail .eventTag {
  position: absolute;
  top: 20px;
  z-index: 5;
  left: 20px;
}
.eventsList__grid--item .thumbnail:before {
  content: "";
  position: absolute;
  bottom: 0;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: 2;
}
.eventsList__grid--item .thumbnail--save {
  position: absolute;
  top: 15px;
  right: 15px;
  z-index: 2;
  width: 40px;
  height: 40px;
  background: rgba(255, 255, 255, 0.1019607843);
  backdrop-filter: blur(16px);
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: 4px;
  z-index: 4;
}
.eventsList__grid--item .thumbnail--save svg path {
  transition: 0.3s ease-in-out;
}
.eventsList__grid--item .thumbnail--save:hover, .eventsList__grid--item .thumbnail--save.active {
  background: rgba(15, 9, 31, 0.8);
}
.eventsList__grid--item .thumbnail--save:hover svg path, .eventsList__grid--item .thumbnail--save.active svg path {
  fill: #FF66FD;
  stroke: #FF66FD;
}
.eventsList__grid--item .thumbnail--img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  -o-object-position: top;
     object-position: top;
  border-radius: 8px 8px 0 0;
  transition: 0.3s ease-in-out;
}
.eventsList__grid--item .thumbnail--cube {
  position: absolute;
  bottom: -5px;
  left: 15px;
  width: 35px;
  transition: 0.3s ease;
}
.eventsList__grid--item .detail {
  width: 100%;
  height: 100%;
  overflow: hidden;
  transition: 0.3s ease-in-out;
  position: relative;
  display: flex;
  flex-direction: column;
  gap: 30px;
}
.eventsList__grid--item .detail:before {
  content: "";
  position: absolute;
  bottom: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: transparent;
  transition: 0.3s ease;
  z-index: 1;
}
.eventsList__grid--item .detail__title {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  justify-content: center;
  transition: 0.3s ease;
  padding: 20px 20px 0;
}
.eventsList__grid--item .detail__title h5 {
  color: white;
  font-size: 18px;
  line-height: 1.2;
  margin-bottom: 8px;
}
.eventsList__grid--item .detail__title h6 {
  margin-bottom: 8px;
  color: #978B8B;
}
.eventsList__grid--item .detail__title p {
  color: #E775A8;
}
.eventsList__grid--item .detail__tickets {
  margin-top: auto;
  --border-alpha: 0.5;
  border-top: 1px solid transparent;
  border-image-source: linear-gradient(90deg, rgba(231, 117, 168, calc(0 * var(--border-alpha))) 0%, rgba(73, 48, 128, calc(0.6 * var(--border-alpha))) 49.52%, rgba(231, 117, 168, calc(0 * var(--border-alpha))) 100%);
  border-image-slice: 1;
  border-image-width: 1;
  border-image-repeat: stretch;
  transition: --border-alpha 0.3s ease;
  padding: 20px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
}
.eventsList__grid--item .detail__tickets h4 {
  display: flex;
  align-items: center;
  gap: 8px;
  font-size: 16px;
  font-weight: 600;
  font-family: "SF Mono", serif;
}
.eventsList__grid--item .detail__tickets h4 .box {
  width: 8px;
  height: 10px;
  background: #E775A8;
}
.eventsList__grid--item .detail__tickets .btn__default {
  color: white;
  position: relative;
  z-index: 2;
}
.eventsList__grid--item .detail__tickets .btn__default:hover {
  color: #0F091F;
}
.eventsList__grid--item:hover {
  cursor: pointer;
}
.eventsList__grid--item:hover:before {
  content: "";
  position: absolute;
  inset: 0;
  padding: 1px; /* border thickness */
  border-radius: inherit;
  background: linear-gradient(10.29deg, #C232FE -3.74%, rgba(255, 255, 255, 0) 1.59%, #C232FE 11.49%, rgba(15, 9, 31, 0) 24.43%);
  -webkit-mask: linear-gradient(#fff 0 0) content-box, linear-gradient(#fff 0 0);
  -webkit-mask-composite: xor;
  mask-composite: exclude;
  pointer-events: none;
}
.eventsList__grid--item:hover .thumbnail:before {
  background: linear-gradient(180deg, rgba(15, 9, 31, 0) 65.07%, rgba(15, 9, 31, 0.6) 100%);
}
.eventsList__grid--item:hover .thumbnail--img {
  transform: scale(1.1);
  opacity: 0.8;
}
.eventsList__grid--item:hover .btn__default {
  background: #F2E2D3;
  color: #0F091F;
}
.eventsList__grid--item:hover .detail:before {
  background: linear-gradient(180deg, rgba(0, 0, 0, 0) 83.67%, rgba(255, 102, 253, 0.3) 100%);
}
.eventsList__grid--item:hover .detail__tickets {
  --border-alpha: 1;
}
.eventsList__loadmore {
  margin: 0 0 100px;
  text-align: center;
}
@media (max-width: 768px) {
  .eventsList__loadmore {
    margin: 0 0 40px;
  }
}

.eventsHero__bg--festival {
  position: fixed;
  z-index: -1;
  top: 0px;
  width: 100%;
  z-index: 0;
  opacity: 0;
}

.festival-only {
  background: linear-gradient(339.72deg, #0F091F 65.74%, #FF66FD 106.46%);
}
.festival-only .eventsHero {
  background: none !important;
}
.festival-only .eventsHero__bg--festival {
  opacity: 1;
}
.festival-only .festival-cube {
  position: absolute;
  top: 30%;
  right: 0;
  width: 150px;
}
.festival-only .eventsList {
  background: transparent;
}
.festival-only .eventsList__count {
  color: #FAF6F2;
}

.event-fade-enter-active {
  transition: opacity 0.35s ease, transform 0.35s ease;
}

.event-fade-enter-from {
  opacity: 0;
  transform: translateY(20px);
}

.event-fade-enter-to {
  opacity: 1;
  transform: translateY(0);
}

/* Disable all movement animations (important for grid layout) */
.event-fade-move {
  transition: none !important;
}

.mapView {
  padding: 40px;
  border-radius: 8px;
  overflow: hidden;
  position: relative;
  z-index: 0 !important;
}
@media (max-width: 768px) {
  .mapView {
    padding: 0 30px;
    border-radius: 4px;
    position: unset !important;
  }
}
.mapView > div:not(.map-popup) {
  width: 100%;
  height: 100%;
  border-radius: inherit;
}
@media (max-width: 768px) {
  .mapView > div:not(.map-popup) {
    max-height: 500px;
  }
}

.map-popup {
  position: absolute;
  left: 50%;
  top: 0;
  transform: translate(-50%, calc(-100% - 18px));
  pointer-events: auto;
  z-index: 9999;
}
@media (max-width: 768px) {
  .map-popup {
    position: fixed;
    top: auto !important;
    left: 0 !important;
    bottom: 0;
    transform: none;
    width: 100%;
  }
}

.mapPopup {
  z-index: 9999;
  overflow: hidden;
  width: 520px;
  display: flex;
  height: 100%;
  background: #0F091F;
  border-radius: 4px;
  position: relative;
}
@media (max-width: 768px) {
  .mapPopup {
    width: 100%;
    border-radius: 0;
  }
}
.mapPopup__close {
  display: none;
  position: absolute;
  right: 10px;
  top: 10px;
}
@media (max-width: 768px) {
  .mapPopup__close {
    display: flex;
  }
}
.mapPopup__image {
  position: absolute;
  top: 0;
  left: 0;
  width: 175px;
  height: 100%;
  border-top-left-radius: 4px;
  border-bottom-left-radius: 4px;
}
@media (max-width: 768px) {
  .mapPopup__image {
    position: relative;
    width: 35%;
    height: auto;
    flex-shrink: 0;
  }
}
.mapPopup__image img {
  width: 100%;
  height: 100%;
  border-top-left-radius: 4px;
  border-bottom-left-radius: 4px;
  -o-object-fit: cover;
     object-fit: cover;
}
@media (max-width: 768px) {
  .mapPopup__image img {
    border-radius: 0;
  }
}
.mapPopup__content {
  padding: 30px;
  padding-left: 200px;
  display: flex;
  align-items: flex-start;
  gap: 20px;
  width: 100%;
}
@media (max-width: 768px) {
  .mapPopup__content {
    padding: 20px;
  }
}
.mapPopup__content--details h3 {
  font-size: 18px;
  color: white;
}
.mapPopup__content--details p {
  color: #FF66FD;
  padding: 4px 0 12px;
}
.mapPopup__content--details .btn__default {
  background: none;
  color: white;
  box-shadow: 0px 0px 2px 0px #493080 inset;
}
.mapPopup__content--save {
  margin-left: auto;
}
@media (max-width: 768px) {
  .mapPopup__content--save {
    display: none;
  }
}
.mapPopup__content--save button {
  background: none;
  box-shadow: 0px 0px 2px 0px #493080 inset;
  width: 48px;
  height: 48px;
  display: flex;
  align-items: center;
  justify-content: center;
  outline: none;
  border: none;
  border-radius: 4px;
}

.events-single {
  position: relative;
}
.events-single:before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 800px;
  background: linear-gradient(180deg, #6039B8 -3.66%, transparent 88.61%);
}
.events-single header, .events-single section {
  position: relative;
  z-index: 1;
}
.events-single.schools:before {
  background: linear-gradient(180deg, #F38C49 -3.66%, #F2E2D3 88.61%);
}

.eventArticle {
  position: relative;
  z-index: 1;
  padding: 50px;
  width: 100%;
  max-width: 1600px;
  margin: 0 auto;
}
@media (max-width: 768px) {
  .eventArticle {
    padding: 20px;
  }
}
.eventArticle__hero {
  background: #0F091F;
  display: grid;
  grid-template-columns: 1fr 1fr;
  border-radius: 16px 16px 0 0;
  overflow: hidden;
}
.eventArticle__hero.festivalEvent {
  background: linear-gradient(206.91deg, rgba(15, 9, 31, 0.3) 61.84%, rgba(255, 102, 253, 0.3) 101.19%), #0F091F;
}
@media (max-width: 768px) {
  .eventArticle__hero {
    display: flex;
    flex-direction: column;
    border-radius: 8px 8px 0 0;
  }
}
.eventArticle__hero--title {
  padding: 50px;
  position: relative;
}
@media (max-width: 768px) {
  .eventArticle__hero--title {
    padding: 30px;
  }
}
.eventArticle__hero--title .cube {
  position: absolute;
  top: -100px;
  right: -100px;
  z-index: 0;
}
@media (max-width: 768px) {
  .eventArticle__hero--title .cube {
    display: none;
  }
}
.eventArticle__hero--title .tag {
  margin: 40px 0 0;
  background: rgba(231, 117, 168, 0.2);
  color: white;
  display: inline-flex;
  align-items: center;
  gap: 12px;
  position: relative;
  z-index: 1;
}
@media (max-width: 768px) {
  .eventArticle__hero--title .tag {
    font-size: 10px;
    padding: 10px 15px;
    height: auto;
    margin: 30px 0;
  }
}
.eventArticle__hero--title .tag span {
  width: 8px;
  height: 10px;
  background: white;
}
@media (max-width: 768px) {
  .eventArticle__hero--title .tag span {
    width: 6px;
    height: 8px;
  }
}
.eventArticle__hero--title h2 {
  margin-top: 50px;
  position: relative;
  z-index: 1;
}
.eventArticle__hero--img {
  width: 100%;
  height: auto;
  max-height: 100%;
  aspect-ratio: 4/3;
  border-top-right-radius: 16px;
  position: relative;
}
@media (max-width: 768px) {
  .eventArticle__hero--img {
    border-top-right-radius: 0;
  }
}
.eventArticle__hero--img:after {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: linear-gradient(180deg, rgba(15, 9, 31, 0) 50.17%, #0F091F 100%);
}
.eventArticle__hero--img img {
  border-top-right-radius: 16px;
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}
@media (max-width: 768px) {
  .eventArticle__hero--img img {
    border-top-right-radius: 0;
  }
}
.eventArticle__content {
  background: white;
  padding: 50px;
  display: flex;
  align-items: flex-start;
  gap: 50px;
  border-radius: 0 0 16px 16px;
}
@media (max-width: 768px) {
  .eventArticle__content {
    flex-direction: column-reverse;
    padding: 20px;
    gap: 0;
    border-radius: 0 0 8px 8px;
  }
}
.eventArticle__content--details {
  width: 30%;
  height: 100%;
  background: rgba(96, 57, 184, 0.1019607843);
  border-radius: 8px;
  flex-shrink: 0;
  padding: 40px 50px;
}
@media (max-width: 768px) {
  .eventArticle__content--details {
    width: 100%;
    padding: 20px;
    border-radius: 4px;
    height: auto;
  }
}
.eventArticle__content--details .detailsItem {
  display: flex;
  align-items: center;
  gap: 20px;
  padding: 20px;
  border-bottom: 1px solid #978B8B;
}
.eventArticle__content--details .detailsItem svg {
  flex-shrink: 0;
}
.eventArticle__content--details .detailsItem--title .small {
  margin-bottom: 4px;
}
.eventArticle__content--details .detailsItem--title h5 {
  font-family: "Vitesse Sans", sans-serif;
  font-weight: 900;
}
.eventArticle__content--details .venueCover {
  margin-top: 30px;
}
.eventArticle__content--details .venueCover img {
  border-radius: 4px;
}
.eventArticle__content--details .ticketsBox {
  width: 100%;
  margin-top: 30px;
  padding: 20px;
  background: #0F091F;
  border-radius: 4px;
}
.eventArticle__content--details .ticketsBox__heading {
  display: flex;
  align-items: center;
  gap: 12px;
  color: white;
}
.eventArticle__content--details .ticketsBox__heading h5 {
  font-family: "Vitesse Sans", sans-serif;
  font-weight: 900;
}
.eventArticle__content--details .ticketsBox__links {
  padding-top: 30px;
  display: flex;
  flex-direction: column;
  gap: 20px;
}
.eventArticle__content--details .ticketsBox__links .btn {
  width: 100%;
}
.eventArticle__content--details .ticketsBox__links .btn.disabled {
  background: rgba(231, 117, 168, 0.2);
  color: #FAF6F2;
}
.eventArticle__content--details .ticketsBox__links .btn.disabled svg path {
  fill: #FAF6F2;
}
.eventArticle__content--details .ticketsBox__links .btn.disabled:hover {
  background: rgba(231, 117, 168, 0.2);
}
.eventArticle__content--description .breadcrumb {
  display: flex;
  align-items: center;
  gap: 12px;
  font-family: "SF Mono", serif;
  font-size: 16px;
  line-height: 1.3;
  text-transform: uppercase;
}
.eventArticle__content--description .rte {
  border-top: 1px dashed #6039B8;
  margin-top: 10px;
  padding: 55px 0;
  max-width: 850px;
}
@media (max-width: 768px) {
  .eventArticle__content--description .rte {
    padding: 40px 0 30px;
  }
}
.eventArticle__content--description .partners h6 {
  padding-bottom: 15px;
  border-bottom: 1px dashed #6039B8;
}
.eventArticle__content--description .partners__logos {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 30px;
  padding-top: 20px;
}
.eventArticle__content--description .partners__logos--item img {
  height: 80px;
}

.fixedTicketBar {
  position: fixed;
  bottom: 0;
  left: 0;
  background: #0F091F;
  z-index: 8;
  padding: 20px 30px;
  display: none;
  align-items: center;
  width: 100%;
  justify-content: space-between;
}
@media (max-width: 768px) {
  .fixedTicketBar {
    display: flex;
  }
}
.fixedTicketBar__price {
  color: #FAF6F2;
  display: flex;
  align-items: center;
  gap: 8px;
}
.fixedTicketBar .btn.disabled {
  background: rgba(231, 117, 168, 0.2);
  color: #FAF6F2;
}
.fixedTicketBar .btn.disabled svg path {
  fill: #FAF6F2;
}
.fixedTicketBar .btn.disabled:hover {
  background: rgba(231, 117, 168, 0.2);
}

.events-single .savedBtn {
  display: none;
}

.videoLibrary {
  padding: 100px 0;
}
@media (max-width: 768px) {
  .videoLibrary {
    padding: 40px 0;
  }
}
.videoLibrary__heading {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 50px 0;
}
@media (max-width: 768px) {
  .videoLibrary__heading {
    flex-direction: column;
    align-items: flex-start;
    gap: 20px;
  }
}
.videoLibrary__heading .filters {
  width: 100%;
  max-width: 600px;
  background: rgba(250, 246, 242, 0.4);
  border: 1px solid rgba(15, 9, 31, 0.1019607843);
  backdrop-filter: blur(20px);
  padding: 12px;
  border-radius: 8px;
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 12px;
}
@media (max-width: 768px) {
  .videoLibrary__heading .filters {
    grid-template-columns: 1fr;
  }
}
.videoLibrary__heading .filters svg {
  flex-shrink: 0;
}
.videoLibrary__heading .filters--box {
  background: white;
  border-radius: 4px;
  padding: 15px 20px;
  display: flex;
  align-items: center;
  gap: 15px;
}
.videoLibrary__heading .filters--box div {
  width: 100%;
}
.videoLibrary__heading .filters p.small {
  padding-left: 5px;
  font-size: 14px;
  margin-bottom: 4px;
}
.videoLibrary__heading .filters select {
  width: 100%;
  color: rgba(15, 9, 31, 0.5);
  background: none;
  padding: 0;
  border: none;
  outline: none;
}
.videoLibrary__grid {
  display: grid;
  gap: 20px;
  grid-template-columns: 1fr 1fr;
}
@media (max-width: 768px) {
  .videoLibrary__grid {
    grid-template-columns: 1fr;
  }
}
.videoLibrary__grid--item {
  width: 100%;
  height: 500px;
  position: relative;
  border-radius: 8px;
  display: flex;
  flex-direction: column;
  justify-content: flex-end;
}
@media (max-width: 768px) {
  .videoLibrary__grid--item {
    height: 350px;
  }
}
.videoLibrary__grid--item:before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: linear-gradient(180deg, rgba(15, 9, 31, 0) 50.17%, #0F091F 100%);
  z-index: 2;
  border-radius: 8px;
}
.videoLibrary__grid--item a {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: 4;
}
.videoLibrary__grid--item:hover .thumbnail img {
  transform: scale(1.1);
}
.videoLibrary__grid--item .thumbnail {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  border-radius: 8px;
  overflow: hidden;
}
.videoLibrary__grid--item .thumbnail img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  border-radius: 8px;
  transition: 0.3s ease-in-out;
}
.videoLibrary__grid--item .details {
  position: relative;
  z-index: 3;
  padding: 20px;
  display: flex;
  flex-direction: column;
  gap: 15px;
}
.videoLibrary__grid--item .details .tags {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 10px;
  margin: 8px 0 5px;
}
.videoLibrary__grid--item .details .tags .tag {
  height: 25px;
}

@media (max-width: 768px) {
  .featuredNews {
    display: none;
  }
}
.featuredNews__banner {
  position: relative;
  z-index: 3;
  display: grid;
  grid-template-columns: 1fr 1fr;
  width: 100%;
}
.featuredNews__banner--left, .featuredNews__banner--right {
  width: 100%;
  aspect-ratio: 920/840;
  overflow: hidden;
}
.featuredNews__banner--left svg, .featuredNews__banner--right svg {
  width: 100%;
  height: 100%;
  display: block;
  preserveAspectRatio: none;
}
.featuredNews__banner--left {
  margin-top: 6.85%;
  position: relative;
}
.featuredNews__banner--right {
  margin-left: -2px;
  position: relative;
}
.featuredNews__banner--right:before {
  content: "";
  position: absolute;
  left: 0;
  bottom: 2px;
  width: 100px;
  height: 91.9%;
  pointer-events: none;
  background: linear-gradient(to left, rgba(15, 9, 31, 0) 23.71%, #0F091F 88.38%);
  z-index: 3;
}
.featuredNews__banner--text {
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  left: 100px;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 30px;
  max-width: 75%;
}
.featuredNews__banner--text svg {
  width: auto;
  height: auto;
}

.newsLibrary {
  padding: 100px 0;
}
@media (max-width: 768px) {
  .newsLibrary {
    padding: 0 0 60px;
  }
}
.newsLibrary__heading {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 50px 0;
}
.newsLibrary__heading h1 {
  display: none;
}
@media (max-width: 768px) {
  .newsLibrary__heading {
    flex-direction: column;
    align-items: flex-start;
    gap: 20px;
    padding: 30px 0;
  }
  .newsLibrary__heading h1 {
    display: block;
  }
}
.newsLibrary__heading .filters {
  width: 100%;
  max-width: 600px;
  background: rgba(250, 246, 242, 0.4);
  border: 1px solid rgba(15, 9, 31, 0.1019607843);
  backdrop-filter: blur(20px);
  padding: 12px;
  border-radius: 8px;
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 12px;
}
@media (max-width: 768px) {
  .newsLibrary__heading .filters {
    grid-template-columns: 1fr;
  }
}
.newsLibrary__heading .filters svg {
  flex-shrink: 0;
}
.newsLibrary__heading .filters--box {
  background: white;
  border-radius: 4px;
  padding: 15px 20px;
  display: flex;
  align-items: center;
  gap: 15px;
}
@media (max-width: 768px) {
  .newsLibrary__heading .filters--box {
    padding: 10px 15px;
    gap: 8px;
  }
}
.newsLibrary__heading .filters--box div {
  width: 100%;
}
.newsLibrary__heading .filters p.small {
  padding-left: 5px;
  font-size: 14px;
  margin-bottom: 4px;
}
@media (max-width: 768px) {
  .newsLibrary__heading .filters p.small {
    font-size: 12px;
    margin-bottom: 2px;
  }
}
.newsLibrary__heading .filters select {
  width: 100%;
  color: rgba(15, 9, 31, 0.5);
  background: none;
  padding: 0;
  border: none;
  outline: none;
  text-transform: capitalize;
}
@media (max-width: 768px) {
  .newsLibrary__heading .filters select {
    font-size: 14px;
  }
}
.newsLibrary__grid {
  display: grid;
  gap: 40px;
  grid-template-columns: 1fr 1fr 1fr;
}
@media (max-width: 768px) {
  .newsLibrary__grid {
    grid-template-columns: 1fr;
    gap: 20px;
  }
}
.newsLibrary__grid--item {
  width: 100%;
  position: relative;
  border-radius: 8px;
  display: flex;
  flex-direction: column;
  justify-content: flex-start;
  padding: 20px;
  border: 1px solid #978B8B;
}
.newsLibrary__grid--item .thumbnail a {
  width: 100%;
  height: auto;
  aspect-ratio: 1.6/1;
}
.newsLibrary__grid--item .thumbnail img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}
.newsLibrary__grid--item .details {
  padding: 30px 20px 0 20px;
}
@media (max-width: 768px) {
  .newsLibrary__grid--item .details {
    padding: 20px 0 0;
  }
}
.newsLibrary__grid--item .details .tag {
  margin-bottom: 30px;
}
.newsLibrary__grid--item .details h3 {
  margin: 30px 0;
}
.newsLibrary__grid--item .cta {
  padding: 40px 20px 20px;
  margin-top: auto;
  display: block;
}
@media (max-width: 768px) {
  .newsLibrary__grid--item .cta {
    padding: 30px 0 0;
  }
}
.newsLibrary__grid--item .cta .btn {
  width: auto;
  max-width: 150px;
}

.articleHero__heading {
  padding: 100px 0;
  max-width: 900px;
  margin: 0 auto;
  text-align: center;
}
@media (max-width: 768px) {
  .articleHero__heading {
    padding: 60px 0;
    max-width: 100%;
  }
}
.articleHero__heading h2 {
  margin: 50px 0;
}
@media (max-width: 768px) {
  .articleHero__heading h2 {
    margin: 20px 0;
  }
}

.articleContent {
  padding: 100px 0;
}
@media (max-width: 768px) {
  .articleContent {
    padding: 40px 0;
  }
}
.articleContent__body {
  max-width: 750px;
  margin: 0 auto;
}
.articleContent__body h1, .articleContent__body h2, .articleContent__body h3, .articleContent__body h4, .articleContent__body h5, .articleContent__body h6, .articleContent__body p {
  margin-bottom: 30px;
}
.articleContent__body h1:last-child, .articleContent__body h2:last-child, .articleContent__body h3:last-child, .articleContent__body h4:last-child, .articleContent__body h5:last-child, .articleContent__body h6:last-child, .articleContent__body p:last-child {
  margin: 0;
}
.articleContent__body .newsletterCTA h6 {
  margin: 0;
}
.articleContent__body ul, .articleContent__body ol {
  padding-left: 30px;
  padding-bottom: 30px;
  display: flex;
  flex-direction: column;
  gap: 15px;
}
.articleFooter {
  border-top: 1px solid #978B8B;
  padding: 40px 0;
}
.articleFooter__blocks {
  display: flex;
  gap: 30px;
  align-items: center;
  justify-content: space-between;
}
@media (max-width: 768px) {
  .articleFooter__blocks {
    flex-direction: column;
    align-items: flex-start;
  }
}
.articleFooter__blocks a {
  display: inline-flex;
  width: auto;
}
.articleFooter__blocks a.btn {
  max-width: 160px;
}
.articleFooter__blocks--previous, .articleFooter__blocks--next {
  max-width: 40%;
}
@media (max-width: 768px) {
  .articleFooter__blocks--previous, .articleFooter__blocks--next {
    max-width: 100%;
  }
}
.articleFooter__blocks--previous p, .articleFooter__blocks--next p {
  color: #978B8B;
}

.relatedNews {
  background: rgba(151, 139, 139, 0.1019607843);
  padding: 80px 0 100px;
}
@media (max-width: 768px) {
  .relatedNews {
    padding: 40px 0 60px;
  }
}
.relatedNews__heading {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 30px;
  width: 100%;
}
@media (max-width: 768px) {
  .relatedNews__heading {
    flex-direction: column;
    gap: 20px;
  }
}
.relatedNews__grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 80px;
  margin-top: 50px;
}
@media (max-width: 768px) {
  .relatedNews__grid {
    grid-template-columns: 1fr;
    gap: 40px;
  }
}
.relatedNews__grid--item {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 60px;
  align-items: center;
}
@media (max-width: 768px) {
  .relatedNews__grid--item {
    grid-template-columns: 1fr;
    gap: 30px;
  }
}
.relatedNews__grid--item .thumbnail {
  width: 100%;
  height: auto;
  aspect-ratio: 1.1;
}
.relatedNews__grid--item .thumbnail img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}
.relatedNews__grid--item .detail {
  display: flex;
  flex-direction: column;
  gap: 30px;
  width: 100%;
}
@media (max-width: 768px) {
  .relatedNews__grid--item .detail {
    gap: 20px;
  }
}

.planHero__banner {
  position: relative;
  z-index: 3;
  display: grid;
  grid-template-columns: 1fr 1fr;
  width: 100%;
}
@media (max-width: 768px) {
  .planHero__banner {
    display: flex;
    flex-direction: column-reverse;
    gap: 0;
  }
}
.planHero__banner--left, .planHero__banner--right {
  width: 100%;
  aspect-ratio: 920/840;
  overflow: hidden;
}
.planHero__banner--left svg, .planHero__banner--right svg {
  width: 100%;
  height: 100%;
  display: block;
  preserveAspectRatio: none;
}
.planHero__banner--left {
  margin-top: 6.85%;
  position: relative;
}
@media (max-width: 768px) {
  .planHero__banner--left {
    background: #0F091F;
    height: auto;
    overflow: visible;
    aspect-ratio: auto;
    padding: 30px;
    margin-top: -40px;
    border-radius: 0 0 8px 8px;
    z-index: 2;
  }
  .planHero__banner--left svg {
    display: none;
  }
}
.planHero__banner--right {
  margin-left: -2px;
  position: relative;
}
@media (max-width: 768px) {
  .planHero__banner--right {
    margin-left: 0;
  }
}
.planHero__banner--right:before {
  content: "";
  position: absolute;
  left: 0;
  bottom: 2px;
  width: 100px;
  height: 91.9%;
  pointer-events: none;
  background: linear-gradient(to left, rgba(15, 9, 31, 0) 23.71%, #0F091F 88.38%);
  z-index: 3;
}
@media (max-width: 768px) {
  .planHero__banner--right:before {
    display: none;
  }
}
.planHero__banner--text {
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  left: 100px;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 30px;
  max-width: 85%;
}
@media (max-width: 768px) {
  .planHero__banner--text {
    position: relative;
    transform: none;
    top: auto;
    z-index: 3;
    left: auto;
    padding-top: 20px;
  }
  .planHero__banner--text h1 {
    font-size: 34px;
  }
}
.planHero__banner--text p {
  max-width: 400px;
}
.planHero__banner--text svg {
  width: auto;
  height: auto;
}
.planHero__anchors {
  padding: 50px 0;
  width: 100%;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 40px;
}
@media (max-width: 768px) {
  .planHero__anchors {
    flex-direction: column;
    gap: 15px;
  }
  .planHero__anchors a {
    width: 100%;
  }
}

.planBlock__intro {
  max-width: 630px;
  margin: 0 auto;
}
.planBlock__intro .flex-center {
  margin-bottom: 50px;
}
@media (max-width: 768px) {
  .planBlock__intro .flex-center {
    margin-bottom: 30px;
  }
}
.planBlock__intro h2 {
  margin-bottom: 50px;
}
@media (max-width: 768px) {
  .planBlock__intro h2 {
    margin-bottom: 30px;
  }
}
.planBlock__travel {
  margin-top: 100px;
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 40px;
}
@media (max-width: 768px) {
  .planBlock__travel {
    display: flex;
    flex-direction: column;
    gap: 30px;
    margin-top: 50px;
  }
}
.planBlock__travel--item {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 20px;
  padding: 20px;
  border-radius: 4px;
  border: 1px solid #978B8B;
}
@media (max-width: 768px) {
  .planBlock__travel--item {
    display: flex;
    flex-direction: column;
    gap: 30px;
  }
}
.planBlock__travel--item .thumbnail {
  width: 100%;
  height: 100%;
}
.planBlock__travel--item .thumbnail img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}
.planBlock__travel--item .details {
  display: flex;
  flex-direction: column;
  gap: 40px;
  justify-content: space-between;
  padding: 0 40px;
}
@media (max-width: 768px) {
  .planBlock__travel--item .details {
    padding: 0;
    gap: 20px;
  }
}
.planBlock__travel--item .details__top {
  display: flex;
  flex-direction: column;
  gap: 40px;
}
@media (max-width: 768px) {
  .planBlock__travel--item .details__top {
    display: flex;
    flex-direction: row;
    gap: 20px;
  }
}
.planBlock__thingstodo {
  margin-top: 100px;
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 40px;
}
@media (max-width: 768px) {
  .planBlock__thingstodo {
    display: flex;
    flex-direction: column;
    gap: 30px;
    margin-top: 50px;
  }
}
.planBlock__thingstodo--item {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 20px;
  align-items: center;
  padding: 20px;
  border-radius: 4px;
  border: 1px solid #978B8B;
}
@media (max-width: 768px) {
  .planBlock__thingstodo--item {
    display: flex;
    flex-direction: column;
    gap: 30px;
  }
}
.planBlock__thingstodo--item .thumbnail {
  width: 100%;
  height: 100%;
}
.planBlock__thingstodo--item .thumbnail img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}
.planBlock__thingstodo--item .details {
  display: flex;
  flex-direction: column;
  gap: 30px;
  justify-content: center;
  padding: 0 30px;
}
@media (max-width: 768px) {
  .planBlock__thingstodo--item .details {
    padding: 0;
    width: 100%;
    gap: 20px;
  }
}
.planBlock__thingstodo--item .details div {
  display: inline-flex;
}
.planBlock__stay {
  margin-top: 100px;
  display: grid;
  grid-template-columns: 1fr;
  gap: 50px;
}
.planBlock__stay--item {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 60px;
  align-items: center;
  padding: 60px;
  border-radius: 8px;
  background: rgba(151, 139, 139, 0.1019607843);
}
@media (max-width: 768px) {
  .planBlock__stay--item {
    display: flex;
    flex-direction: column;
    gap: 30px;
    padding: 20px;
  }
}
.planBlock__stay--item .thumbnail {
  width: 100%;
  height: 100%;
}
.planBlock__stay--item .thumbnail img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}
.planBlock__stay--item .details {
  display: flex;
  flex-direction: column;
  gap: 30px;
  justify-content: center;
  padding: 40px;
}
@media (max-width: 768px) {
  .planBlock__stay--item .details {
    padding: 0;
  }
}
.planBlock__stay--item .details div {
  display: inline-flex;
}

.tourism {
  padding: 100px 0;
  border-top: 1px solid #978B8B;
}
@media (max-width: 768px) {
  .tourism {
    padding: 50px 0;
  }
}
.tourism__intro {
  max-width: 500px;
}
.tourism__intro p.flex-center {
  justify-content: flex-start;
}
.tourism__intro h3 {
  margin: 30px 0;
}
@media (max-width: 768px) {
  .tourism__intro h3 {
    margin: 20px 0;
  }
}
.tourism__badges {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 50px;
}
@media (max-width: 768px) {
  .tourism__badges {
    display: flex;
    flex-direction: column;
    gap: 20px;
    margin-top: 40px;
  }
  .tourism__badges img {
    width: 100%;
  }
}

.errorPage {
  --x: calc(var(--posX, 0) * 1px);
  --y: calc(var(--posY, 0) * 1px);
  position: relative;
  overflow: hidden;
  padding: 250px 0 150px;
  background-color: #0F091F;
  background-image: var(--dynamicBg);
  background-blend-mode: overlay, normal;
  transition: background-position 0.1s ease-out, background 0.5s ease-out;
}
.errorPage.active {
  --dynamicBg:
      radial-gradient(
          46.72% 92.22% at 60.36% 58.13%,
          #432885 0%,
          #0F091F 100%
      ),
      radial-gradient(
          150% 100% at calc(50% + var(--x)) calc(0% + var(--y)),
          rgba(67, 40, 133, 0.7),
          rgba(15, 9, 31, 0)
      ),
      radial-gradient(
          200% 200% at calc(90% - var(--x)) calc(10% - var(--y)),
          rgba(107, 65, 212, 0.5),
          rgba(15, 9, 31, 0)
      ),
      radial-gradient(
          260% 210% at calc(100% + var(--x)) calc(0% + var(--y)),
          rgba(139, 92, 246, 0.4),
          rgba(15, 9, 31, 0)
      );
}
.errorPage:not(.active) {
  --dynamicBg: none;
}
@media (max-width: 768px) {
  .errorPage {
    padding: 150px 0 50px;
  }
}
.errorPage__content {
  display: flex;
  flex-direction: column;
  gap: 60px;
  margin: 0 auto;
  text-align: center;
}
@media (max-width: 768px) {
  .errorPage__content {
    gap: 40px;
  }
}
.errorPage__content .buttons {
  display: flex;
  align-items: center;
  flex-direction: column;
  gap: 30px;
  width: 100%;
  max-width: 600px;
  margin: 0 auto;
}
@media (max-width: 768px) {
  .errorPage__content .buttons {
    gap: 20px;
  }
}
.errorPage__content .buttons a {
  width: 100%;
  padding: 40px;
  max-height: 80px;
  color: #FAF6F2;
  border-radius: 8px;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 12px;
  font-family: "Vitesse Sans", sans-serif;
  text-transform: uppercase;
  font-weight: 900;
  text-transform: uppercase;
  background: rgba(151, 139, 139, 0.1019607843);
  text-decoration: none;
  transition: 0.3s ease-in-out;
}
.errorPage__content .buttons a:hover {
  background: #FAF6F2;
  color: #0F091F;
}
