/*
Theme Name: Solar Sound
Author: thyme.studio
Author URI: https://thyme.studio
Version: 2025.08
Requires at least: 6.1
Tested up to: 6.8.2
Requires PHP: 8.2.29
Text Domain: solar
*/
@import "includes/scss/swiper-bundle.min.css";
*, *:before, *:after {
  box-sizing: border-box;
}

html, body, div, span, object, iframe, figure, h1, h2, h3, h4, h5, h6, p, blockquote, pre, a, code, em, img, small, strike, strong, sub, sup, tt, b, u, i, ol, ul, li, fieldset, form, label, table, caption, tbody, tfoot, thead, tr, th, td, main, canvas, embed, footer, header, nav, section, video {
  margin: 0;
  padding: 0;
  border: 0;
  font-size: 100%;
  font: inherit;
  vertical-align: baseline;
  text-rendering: optimizeLegibility;
  -webkit-font-smoothing: antialiased;
  text-size-adjust: none;
}

footer, header, nav, section, main {
  display: block;
}

body {
  line-height: 1;
}

ol, ul {
  list-style: none;
}

blockquote, q {
  quotes: none;
}

blockquote:before, blockquote:after, q:before, q:after {
  content: "";
  content: none;
}

table {
  border-collapse: collapse;
  border-spacing: 0;
}

input {
  -webkit-appearance: none;
  border-radius: 0;
}

@font-face {
  font-family: "Maragsa";
  src: url("includes/fonts/Maragsa-Display.woff") format("woff"), url("includes/fonts/Maragsa-Display.woff2") format("woff2");
  font-weight: normal;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: "Manrope";
  src: url("includes/fonts/Manrope-VariableFont_wght.ttf") format("truetype");
  font-weight: normal;
  font-style: normal;
  font-display: swap;
}
.c-booking {
  position: relative;
  transition: 0.4s ease;
}
.c-booking:hover {
  color: var(--color-booking);
}
.c-booking::after {
  content: "";
  position: absolute;
  display: block;
  width: 100%;
  border-bottom: solid 0.0714285714rem var(--color-booking);
  left: 0;
  bottom: 0.1428571429rem;
}

.c-events {
  position: relative;
  transition: 0.4s ease;
}
.c-events:hover {
  color: var(--color-events);
}
.c-events::after {
  content: "";
  position: absolute;
  display: block;
  width: 100%;
  border-bottom: solid 0.0714285714rem var(--color-events);
  left: 0;
  bottom: 0.1428571429rem;
}

.c-label {
  position: relative;
  transition: 0.4s ease;
}
.c-label:hover {
  color: var(--color-label);
}
.c-label::after {
  content: "";
  position: absolute;
  display: block;
  width: 100%;
  border-bottom: solid 0.0714285714rem var(--color-label);
  left: 0;
  bottom: 0.1428571429rem;
}

.h1 {
  font-size: clamp(40px, 12vw, 70px);
  font-family: "Maragsa", sans-serif;
  line-height: 0.9;
  transition: 0.4s ease;
}

.h2 {
  font-size: clamp(30px, 8vw, 50px);
  font-family: "Maragsa", sans-serif;
  line-height: 0.9;
  transition: 0.4s ease;
}

.h3 {
  font-size: clamp(23px, 5vw, 30px);
  font-family: "Maragsa", sans-serif;
  line-height: 1;
}

.h4 {
  font-size: clamp(20px, 3vw, 26px);
  font-family: "Maragsa", sans-serif;
  line-height: 1;
}

.regular {
  font-size: clamp(14px, 1.5vw, 20px);
  line-height: 1.2;
  letter-spacing: 0.05em;
}

.small {
  font-size: clamp(14px, 1.5vw, 18px);
  line-height: 1.2;
  letter-spacing: 0.05em;
}

.tiny {
  font-size: 0.8571428571rem;
  line-height: 1.2;
  letter-spacing: 0.05em;
}

html, body {
  background: #03120E;
  position: relative;
  height: 100%;
  color: #F0EFF4;
  font-size: 14px;
  font-family: "Manrope", sans-serif;
  font-optical-sizing: auto;
  line-height: 1.3;
}

#wrapper {
  position: relative;
  display: flex;
  flex-direction: column;
  min-height: 100%;
  overflow: clip;
}
#wrapper .floral {
  position: absolute;
  display: none;
  width: 50%;
  height: 100%;
  top: 0;
  right: 0;
  z-index: 1;
  pointer-events: none;
}
#wrapper .floral svg {
  position: relative;
  display: block;
  width: auto;
  height: 350%;
  margin: -25% -25% auto auto;
  opacity: 0.05;
}
#wrapper .floral svg path {
  fill: #F0EFF4;
}

pre {
  background: #221a37;
  padding: 0.7142857143rem;
  color: #d8b1b5;
  font-family: monospace;
  font-size: 0.7142857143rem;
  overflow: hidden;
}

.grid {
  position: fixed;
  display: none;
  #display: block;
  width: 100%;
  height: 100%;
  top: 0;
  left: 0;
  z-index: 1000;
  pointer-events: none;
}
.grid span {
  background: rgba(255, 0, 255, 0.1);
  position: absolute;
  display: none;
  width: 1.4285714286rem;
  height: 100%;
  top: 0;
  mix-blend-mode: screen;
}
.grid span:nth-of-type(1) {
  display: block;
  left: 0;
}
@media only screen and (min-width: 768px) {
  .grid span:nth-of-type(1) {
    width: 2.8571428571rem;
  }
}
@media only screen and (min-width: 1080px) {
  .grid span:nth-of-type(1) {
    width: 4.2857142857rem;
  }
}
.grid span:nth-of-type(2) {
  display: block;
  width: 0.7142857143rem;
  left: calc(50% - 5px);
}
@media only screen and (min-width: 1080px) {
  .grid span:nth-of-type(2) {
    left: calc((100% - 120px - 20px) / 6 * 4 + 60px + 15px);
    width: 0.7142857143rem;
  }
}
@media only screen and (min-width: 1600px) {
  .grid span:nth-of-type(2) {
    left: calc((100% - 120px) / 8 * 6 + 60px);
    width: 0.7142857143rem;
  }
}
.grid span:nth-of-type(3) {
  display: block;
  left: calc(100% - 20px);
}
@media only screen and (min-width: 768px) {
  .grid span:nth-of-type(3) {
    left: calc(100% - 40px);
    width: 2.8571428571rem;
  }
}
@media only screen and (min-width: 1080px) {
  .grid span:nth-of-type(3) {
    left: calc(100% - 60px);
    width: 4.2857142857rem;
  }
}
@media only screen and (min-width: 768px) {
  .grid span:nth-of-type(4) {
    display: block;
    width: 0.7142857143rem;
    left: calc((100% - 80px - 30px) / 4 + 40px);
  }
}
@media only screen and (min-width: 1080px) {
  .grid span:nth-of-type(4) {
    width: 0.7142857143rem;
    left: calc((100% - 120px) / 6 + 60px - 9px);
  }
}
@media only screen and (min-width: 1600px) {
  .grid span:nth-of-type(4) {
    left: calc((100% - 120px) / 8 + 60px - 12px);
  }
}
@media only screen and (min-width: 768px) {
  .grid span:nth-of-type(5) {
    display: block;
    width: 0.7142857143rem;
    left: calc((100% - 80px - 30px) / 4 * 3 + 40px + 20px);
  }
}
@media only screen and (min-width: 1080px) {
  .grid span:nth-of-type(5) {
    width: 1.4285714286rem;
    left: calc((100% - 120px) / 6 * 2 + 60px - 5px);
  }
}
@media only screen and (min-width: 1600px) {
  .grid span:nth-of-type(5) {
    width: 2.1428571429rem;
    left: calc((100% - 120px) / 6 * 3 + 60px - 20px);
  }
}
@media only screen and (min-width: 1600px) {
  .grid span:nth-of-type(6) {
    display: block;
    width: 0.7142857143rem;
    left: calc((100% - 120px) / 8 * 2 + 60px - 15px);
  }
}
@media only screen and (min-width: 1600px) {
  .grid span:nth-of-type(7) {
    display: block;
    width: 0.7142857143rem;
    left: calc((100% - 120px) / 8 * 3 + 60px - 18px);
  }
}

.main {
  position: relative;
  display: block;
  flex: 1;
}

.footer {
  position: relative;
  padding: 0 1.4285714286rem 1.4285714286rem;
}
.footer > div {
  position: relative;
  display: flex;
  flex-wrap: wrap;
  margin-top: 1.4285714286rem;
  padding-top: 0.7142857143rem;
  border-top: solid 0.0714285714rem var(--color-highlight);
  justify-content: space-between;
}
.footer__flower {
  position: relative;
  display: flex;
  flex-wrap: wrap;
  align-items: center;
}
.footer__flower svg {
  position: relative;
  display: inline-block;
  width: 1.4285714286rem;
  height: 1.4285714286rem;
  margin-right: 0.7142857143rem;
}
.footer__flower svg path {
  fill: #F0EFF4;
}
@media only screen and (min-width: 768px) {
  .footer {
    padding: 0 2.8571428571rem 1.4285714286rem;
  }
}
@media only screen and (min-width: 1080px) {
  .footer {
    padding: 0 4.2857142857rem 1.4285714286rem;
  }
}
.footer nav {
  position: relative;
  display: flex;
  flex-wrap: wrap;
}
.footer nav ul {
  display: flex;
  flex-wrap: wrap;
  gap: 1.4285714286rem;
}
.footer nav ul li a {
  color: #F0EFF4;
  text-decoration: none;
  transition: 0.4s ease;
}
.footer nav ul li a:hover {
  color: var(--color-highlight);
}

.btn {
  background: #F0EFF4;
  position: relative;
  display: inline-flex;
  padding: 0.75em 1.5em;
  color: #03120E;
  font-weight: 900;
  font-size: clamp(14px, 1vw, 16px);
  text-transform: uppercase;
  text-decoration: none;
  letter-spacing: 0.25em;
  border: solid 0.0714285714rem #F0EFF4;
  border-radius: 7.1428571429rem;
}
.btn--inactive {
  background: none;
  color: rgba(240, 239, 244, 0.25);
  border: solid 0.0714285714rem rgba(240, 239, 244, 0.25);
}

.nav {
  position: relative;
  display: block;
  width: 100%;
  height: clamp(220px, 45vw, 350px);
  margin-bottom: 1.4285714286rem;
  border-bottom: solid 0.7142857143rem var(--color-highlight);
  overflow: clip;
}
.nav__bg {
  position: absolute;
  display: block;
  width: 50%;
  height: 100%;
  top: 0;
  left: 0;
  z-index: 1;
  pointer-events: none;
}
.nav__bg svg {
  position: relative;
  display: block;
  width: auto;
  height: 350%;
  margin: -25% auto auto -25%;
  transition: 0.4s ease;
}
.nav__bg svg path {
  fill: rgba(var(--color-highlight), 0.1);
}
.nav__wrap {
  position: relative;
  display: flex;
  width: 100%;
  height: 100%;
}
.nav-item {
  position: relative;
  display: flex;
  height: 100%;
  flex: 0 1 33.3333333333%;
  transition: 0.4s ease;
}
.nav-item::before {
  content: "";
  position: absolute;
  display: block;
  width: 100%;
  height: 100%;
  top: 0;
  left: 0;
  background-image: radial-gradient(#03120E 0.0714285714rem, transparent 0.0714285714rem), radial-gradient(#03120E 0.0714285714rem, transparent 0.0714285714rem);
  background-size: 0.2857142857rem 0.2857142857rem;
  background-position: 0 0, 0.1428571429rem 0.1428571429rem;
  z-index: 1;
}
.nav-item > a {
  position: absolute;
  display: block;
  width: 100%;
  height: 100%;
  top: 0;
  left: 0;
  z-index: 1;
}
.nav-item__bgvideo {
  position: absolute;
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
  filter: saturate(0);
  mix-blend-mode: luminosity;
}
.nav-item__flower {
  position: absolute;
  display: block;
  width: 100%;
  height: 100%;
  top: 10%;
  left: 0;
  opacity: 0;
  transition: 0.4s ease;
  mix-blend-mode: overlay;
  pointer-events: none;
}
.nav-item__flower svg {
  position: relative;
  display: block;
  width: 100%;
  height: 200%;
  margin-top: -13%;
  opacity: 0.4;
}
.nav-item__flower svg path {
  fill: #F0EFF4;
}
.nav-item__logo {
  width: auto;
  height: 2.8571428571rem;
  position: relative;
  margin: 0 auto;
  opacity: 0.8;
  transition: 0.4s ease;
  pointer-events: none;
  text-align: center;
  align-self: center;
  z-index: 10;
}
.nav-item__logo svg {
  position: relative;
  width: auto;
  height: 100%;
  margin: 0 auto;
}
@media only screen and (min-width: 768px) {
  .nav-item__logo svg {
    display: block;
  }
}
.nav-item__logo svg * {
  fill: #F0EFF4;
}
.nav-item__logo figcaption {
  position: relative;
  display: block;
  margin-top: 0.3571428571rem;
  text-align: center;
  font-size: 1rem;
  text-transform: uppercase;
  font-weight: bold;
  letter-spacing: 0.125em;
  transition: 0.4s ease;
}
.nav-item__claim {
  position: absolute;
  display: none;
  transition: 0.4s ease;
  pointer-events: none;
}
.nav:hover .nav-item:hover {
  flex: 0 0 calc(100% - 160px);
}
@media only screen and (min-width: 768px) {
  .nav:hover .nav-item:hover {
    flex: 0 0 calc(100% - 400px);
  }
}
@media only screen and (min-width: 768px) {
  .nav:hover .nav-item:hover {
    flex: 0 0 calc(100% - 600px);
  }
  .nav:hover .nav-item:hover .nav-item__bgvideo {
    mix-blend-mode: luminosity;
  }
  .nav:hover .nav-item:hover .nav-item__flower {
    opacity: 1;
  }
  .nav:hover .nav-item:hover .nav-item__logo {
    height: 5.7142857143rem;
    opacity: 1;
  }
  .nav:hover .nav-item:hover .nav-item__logo figcaption {
    letter-spacing: 0.8em;
  }
}
.nav.--sub {
  height: clamp(220px, 45vw, 350px);
}
.nav.--sub .nav-item {
  background: var(--color-highlight);
}
.nav.--sub .nav-item__bgvideo {
  mix-blend-mode: normal;
}
.nav.--sub .nav-item__logo {
  align-self: flex-start;
  margin: 0 auto;
  height: 3.9285714286rem;
  top: 1.4285714286rem;
}
@media only screen and (min-width: 768px) {
  .nav.--sub .nav-item__logo {
    top: 2.1428571429rem;
  }
}
@media only screen and (min-width: 1080px) {
  .nav.--sub .nav-item__logo {
    top: 2.8571428571rem;
  }
}
.nav.--sub .nav-item__logo svg {
  display: none;
}
@media only screen and (min-width: 768px) {
  .nav.--sub .nav-item__logo svg {
    display: block;
  }
}
.nav.--sub .nav-item__logo figcaption {
  transform: rotate(90deg) translate3d(0px, -40px, 0px);
  transform-origin: top left;
}
@media only screen and (min-width: 768px) {
  .nav.--sub .nav-item__logo figcaption {
    transform: rotate(0deg) translate3d(0px, 0px, 0px);
  }
}
.nav.--sub .nav-item__flower {
  opacity: 0;
}
.nav.--sub .nav-item.--active {
  flex: 0 0 calc(100% - 122.96px);
}
.nav.--sub .nav-item.--active .nav-item__bgvideo {
  mix-blend-mode: luminosity;
}
@media only screen and (min-width: 768px) {
  .nav.--sub .nav-item.--active {
    flex: 0 0 calc(100% - 160px);
  }
}
@media only screen and (min-width: 768px) {
  .nav.--sub .nav-item.--active {
    flex: 0 0 calc(100% - 400px);
  }
}
.nav.--sub .nav-item.--active .nav-item__logo {
  display: inline-block;
  margin: 0;
  left: 1.4285714286rem;
  opacity: 1;
}
.nav.--sub .nav-item.--active .nav-item__logo svg {
  display: block;
}
.nav.--sub .nav-item.--active .nav-item__logo figcaption {
  letter-spacing: 0.5em;
  transform: rotate(0deg) translate3d(0px, 0px, 0px);
  transform-origin: top left;
}
@media only screen and (min-width: 768px) {
  .nav.--sub .nav-item.--active .nav-item__logo {
    left: 2.8571428571rem;
    top: 2.1428571429rem;
  }
}
@media only screen and (min-width: 1080px) {
  .nav.--sub .nav-item.--active .nav-item__logo {
    left: 4.2857142857rem;
    top: 2.8571428571rem;
  }
}
.nav.--sub .nav-item.--active .nav-item__claim {
  position: absolute;
  display: block;
  bottom: 1.4285714286rem;
  left: 1.4285714286rem;
  z-index: 1;
}
@media only screen and (min-width: 768px) {
  .nav.--sub .nav-item.--active .nav-item__claim {
    left: 2.8571428571rem;
    bottom: 2.8571428571rem;
  }
}
@media only screen and (min-width: 1080px) {
  .nav.--sub .nav-item.--active .nav-item__claim {
    left: 4.2857142857rem;
    bottom: 4.2857142857rem;
  }
}
.nav.--sub .nav-item.--active .nav-item__flower {
  opacity: 1;
}
.nav.--sub:hover .nav-item.--active {
  opacity: 1;
  flex: 0 0 calc((100% - 40px) / 2);
}
@media only screen and (min-width: 768px) {
  .nav.--sub:hover .nav-item.--active {
    flex: 0 0 calc((100% - 80px) / 2);
  }
}
@media only screen and (min-width: 768px) {
  .nav.--sub:hover .nav-item.--active {
    flex: 0 0 calc((100% - 200px) / 2);
  }
}
.nav.--sub:hover .nav-item.--active .nav-item__flower {
  opacity: 0.5;
}
.nav.--sub:hover .nav-item.--active:hover {
  opacity: 1;
  flex: 0 0 calc(100% - 80px);
}
@media only screen and (min-width: 768px) {
  .nav.--sub:hover .nav-item.--active:hover {
    flex: 0 0 calc(100% - 160px);
  }
}
@media only screen and (min-width: 768px) {
  .nav.--sub:hover .nav-item.--active:hover {
    flex: 0 0 calc(100% - 400px);
  }
}
.nav.--sub:hover .nav-item:hover {
  flex: 0 0 calc((100% - 40px) / 2);
}
.nav.--sub:hover .nav-item:hover .nav-item__logo {
  height: 3.9285714286rem;
  opacity: 1;
}
.nav.--sub:hover .nav-item:hover .nav-item__logo figcaption {
  letter-spacing: 0.5em;
}
.nav.--sub:hover .nav-item:hover .nav-item__flower {
  opacity: 1;
}
@media only screen and (min-width: 768px) {
  .nav.--sub:hover .nav-item:hover {
    flex: 0 0 calc((100% - 80px) / 2);
  }
}
@media only screen and (min-width: 768px) {
  .nav.--sub:hover .nav-item:hover {
    flex: 0 0 calc((100% - 200px) / 2);
  }
}

.events {
  position: relative;
  display: block;
  padding-left: 1.4285714286rem;
  padding-right: 1.4285714286rem;
}
@media only screen and (min-width: 768px) {
  .events {
    padding: 0 2.8571428571rem 0.7142857143rem;
  }
}
@media only screen and (min-width: 1080px) {
  .events {
    padding: 0 4.2857142857rem 0.7142857143rem;
  }
}
.events-header {
  position: relative;
  display: flex;
  flex-wrap: wrap;
  align-items: flex-end;
  gap: 0.7142857143rem;
  padding-bottom: 0.7142857143rem;
}
.events-search {
  background: none;
  position: relative;
  display: block;
  width: 1.8928571429rem;
  margin-bottom: 0.2142857143rem;
  padding: 0.4em 1em;
  border: solid 0.0714285714rem #F0EFF4;
  border-radius: 7.1428571429rem;
  color: var(--color-highlight);
  font-size: 1.1428571429rem;
  transition: 0.4s ease;
  appearance: none;
  pointer-events: none;
  opacity: 0;
}
@media only screen and (min-width: 768px) {
  .events-search {
    margin-right: calc((100% - 80px) / 4 - 26.5px + 5px);
  }
}
@media only screen and (min-width: 1080px) {
  .events-search {
    margin-right: calc((100% - 120px) / 6 - 26.5px + 5px);
  }
}
@media only screen and (min-width: 1600px) {
  .events-search {
    margin-right: calc((100% - 120px) / 8 - 26.5px);
  }
}
.events-search:not(:placeholder-shown), .events-search:focus {
  width: calc(50% - 5px);
  padding: 0.4em 1em 0.4em calc(0.5em + 20px);
  margin-right: 0;
  outline: none;
}
@media only screen and (min-width: 1080px) {
  .events-search:not(:placeholder-shown), .events-search:focus {
    width: calc((100% - 120px) / 6 * 2 + 26.5px + 10px);
    margin-right: 0.7142857143rem;
  }
}
@media only screen and (min-width: 1600px) {
  .events-search:not(:placeholder-shown), .events-search:focus {
    width: calc((100% - 120px) / 8 * 3 + 30px - 5px);
    margin-right: 0.3571428571rem;
  }
}
.events-search + label {
  position: absolute;
  display: block;
  width: 1.0714285714rem;
  height: 1.0714285714rem;
  bottom: 1.3571428571rem;
  left: 0.4285714286rem;
  pointer-events: none;
  opacity: 0;
}
.events-search + label svg {
  position: relative;
  display: block;
  width: 90%;
  height: 90%;
  margin: -15% 30%;
  padding: 0;
}
.events-search + label svg path {
  fill: #F0EFF4;
}
.event-item {
  position: relative;
  display: flex;
  padding: 1.0714285714rem 0;
  flex-wrap: wrap;
  column-gap: 0.7142857143rem;
  align-items: flex-start;
  border-top: solid 0.0714285714rem #F0EFF4;
  color: #F0EFF4;
  transition: 0.4s ease;
}
@media only screen and (min-width: 768px) {
  .event-item {
    align-items: stretch;
  }
}
.event-item.--highlight {
  padding-left: clamp(30px, 6vw, 70px);
}
.event-item::before {
  content: "";
  background: #F0EFF4;
  position: absolute;
  display: block;
  top: 0.7142857143rem;
  right: calc(100% + 15px);
  bottom: 0.7142857143rem;
  left: -1.0714285714rem;
  border-radius: 0.3571428571rem;
  transition: 0.4s ease;
}
.event-item__thumb {
  position: relative;
  display: block;
  width: calc((100% - 30px) / 5);
  aspect-ratio: 4/5;
  transition: 0.4s ease;
  overflow: clip;
  border-radius: 0.5714285714rem;
  align-self: flex-start;
}
@media only screen and (min-width: 768px) {
  .event-item__thumb {
    width: calc((100% - 30px) / 12 * 0.55);
  }
}
.event-item__thumb img {
  position: relative;
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
}
.event-item__thumb h4 {
  position: absolute;
  display: none;
  max-width: 10.7142857143rem;
  margin: -33.6px auto auto;
  top: 50%;
  right: 0;
  left: 0;
  font-family: "Maragsa", sans-serif;
  font-size: clamp(16px, 5vw, 30px);
  line-height: 0.8em;
  text-align: center;
  opacity: 0;
  mix-blend-mode: color-dodge;
  transition: 0.4s ease;
  pointer-events: none;
  z-index: 1;
}
@media only screen and (min-width: 768px) {
  .event-item__thumb h4 {
    display: block;
  }
}
.event-item__thumb .flower {
  background: var(--color-highlight);
  position: relative;
  display: block;
  width: auto;
  height: 100%;
  pointer-events: none;
}
.event-item__thumb .flower svg {
  position: relative;
  display: block;
  width: 200%;
  height: 104%;
  margin: -2% -50%;
  mix-blend-mode: soft-light;
}
.event-item__thumb .flower svg path {
  fill: #F0EFF4;
}
.event-item__head {
  position: relative;
  display: flex;
  flex-direction: column;
  width: calc((100% - 30px) / 5 * 4 + 20px);
  justify-content: space-between;
  row-gap: 0.3571428571rem;
  transition: 0.4s ease;
}
@media only screen and (min-width: 768px) {
  .event-item__head {
    width: calc((100% - 30px) / 12 * 11 + 20px);
  }
}
.event-item__info {
  position: relative;
  display: flex;
  flex-wrap: wrap;
  gap: 0.5714285714rem;
  transition: 0.4s ease;
}
.event-item__title {
  position: relative;
  display: block;
  width: 100%;
  text-transform: uppercase;
  transition: 0.4s ease;
}
@media only screen and (min-width: 768px) {
  .event-item__title {
    width: calc((100% + (100% - 30px) / 12) / 12 * 8);
  }
}
.event-item__flower {
  background: var(--color-highlight);
  position: relative;
  display: inline-block;
  width: auto;
  height: clamp(21px, 5.5vw, 36px);
  border-radius: 100%;
  aspect-ratio: 1;
  padding: clamp(2px, 1vw, 4px);
}
.event-item__flower svg {
  position: relative;
  display: block;
  width: auto;
  height: 100%;
  margin: 0 auto;
}
.event-item__flower svg path {
  fill: #03120E;
}
.event-item__subtitle {
  display: block;
  flex: 1;
  text-transform: none;
  font-family: "Manrope", sans-serif;
}
.event-item__meta {
  font-family: "Manrope", sans-serif;
  text-transform: uppercase;
}
@media only screen and (min-width: 768px) {
  .event-item__meta {
    align-self: flex-start;
  }
}
.event-item__meta .venue,
.event-item__meta .date {
  position: relative;
  display: block;
  width: 100%;
  line-height: 1;
}
.event-item__desc {
  position: relative;
  display: block;
  width: 100%;
  max-height: 0;
  opacity: 0;
  overflow: clip;
  transition: 0.4s ease;
}
.event-item__desc strong, .event-item__desc b {
  font-weight: bold;
}
.event-item__desc p:not(:last-of-type) {
  margin-bottom: 0.5em;
}
.event-item__desc ul {
  list-style: disc;
  margin-bottom: 1.4285714286rem;
  padding-left: 2.1428571429rem;
}
.event-item__location {
  position: relative;
  display: flex;
  flex-wrap: wrap;
  width: 100%;
  max-height: 0;
  overflow: clip;
  opacity: 0;
  text-transform: uppercase;
  transition: 0.4s ease;
}
.event-item__location .country {
  position: relative;
  margin-bottom: 0.7142857143rem;
}
.event-item__location .country::before {
  content: ", ";
}
.event-item__buttons {
  transition: 0.4s ease;
}
.event-item__buttons .btn {
  transition: 0.4s ease;
}
.event-item__buttons .btn--inactive {
  background: none;
  color: #F0EFF4;
  border: solid 0.0714285714rem #F0EFF4;
  cursor: not-allowed;
}
.event-item--active {
  padding: 1.7857142857rem 0;
  color: #03120E;
}
@media only screen and (min-width: 768px) {
  .event-item--active {
    align-items: unset;
  }
}
.event-item--active.--highlight {
  padding-left: 0;
}
.event-item--active::before {
  right: -1.0714285714rem;
}
@media only screen and (min-width: 768px) {
  .event-item--active .event-item__thumb {
    width: calc((100% - 30px) / 12 * 2);
  }
}
.event-item--active .event-item__thumb h4 {
  opacity: 1;
  color: #F0EFF4;
}
@media only screen and (min-width: 768px) {
  .event-item--active .event-item__head {
    justify-content: unset;
    width: calc((100% - 30px) / 12 * 9 + 20px);
  }
}
@media only screen and (min-width: 768px) {
  .event-item--active .event-item__title {
    width: calc((100% - 20px) / 3 * 2 + 10px);
  }
}
.event-item--active .event-item__desc {
  max-height: 64.2857142857rem;
  padding: 0.7142857143rem 0;
  opacity: 1;
}
@media only screen and (min-width: 768px) {
  .event-item--active .event-item__desc {
    flex: 1;
    width: calc((100% - 20px) / 3 * 2 + 10px);
    padding-left: 1.4285714286rem;
  }
}
.event-item--active .event-item__location {
  max-height: 1.4285714286rem;
  opacity: 1;
}
@media only screen and (min-width: 768px) {
  .event-item--active .event-item__location {
    margin-left: calc((100% - 20px) / 3 * 2 + 20px);
  }
}
@media only screen and (min-width: 768px) {
  .event-item--active .event-item__buttons {
    margin-left: calc((100% - 20px) / 3 * 2 + 20px);
  }
}
.event-item--active .event-item__buttons .btn {
  background: #03120E;
  color: #F0EFF4;
}
.event-item--active .event-item__buttons .btn--inactive {
  background: none;
  color: #03120E;
  border: solid 0.0714285714rem #03120E;
}

.bookings {
  position: relative;
  margin-bottom: 1.4285714286rem;
}
.bookings-header {
  position: relative;
  display: flex;
  flex-wrap: wrap;
  align-items: flex-end;
  gap: 0.7142857143rem;
  margin-bottom: 1.0714285714rem;
  padding: 0 1.4285714286rem 0.7142857143rem;
  border-bottom: solid 0.0714285714rem #F0EFF4;
}
@media only screen and (min-width: 768px) {
  .bookings-header {
    padding: 0 2.8571428571rem 0.7142857143rem;
  }
}
@media only screen and (min-width: 1080px) {
  .bookings-header {
    padding: 0 4.2857142857rem 0.7142857143rem;
  }
}
.bookings-title span {
  display: inline-block;
  margin-left: 0.7142857143rem;
  font-size: 1rem;
  font-family: "Manrope", sans-serif;
}
.bookings-search {
  background: none;
  position: relative;
  display: block;
  width: 1.8928571429rem;
  margin-bottom: 0.2142857143rem;
  padding: 0.4em 1em;
  border: solid 0.0714285714rem #F0EFF4;
  border-radius: 7.1428571429rem;
  color: var(--color-highlight);
  font-size: 1.1428571429rem;
  transition: 0.4s ease;
  appearance: none;
  opacity: 0;
}
@media only screen and (min-width: 768px) {
  .bookings-search {
    margin-right: calc((100% - 80px) / 4 - 26.5px + 5px);
  }
}
@media only screen and (min-width: 1080px) {
  .bookings-search {
    margin-right: calc((100% - 120px) / 6 - 26.5px + 5px);
  }
}
@media only screen and (min-width: 1600px) {
  .bookings-search {
    margin-right: calc((100% - 120px) / 8 - 26.5px);
  }
}
.bookings-search + label {
  position: absolute;
  display: block;
  width: 1.0714285714rem;
  height: 1.0714285714rem;
  bottom: 1.3571428571rem;
  left: 1.8571428571rem;
  opacity: 0;
}
@media only screen and (min-width: 768px) {
  .bookings-search + label {
    left: 3.2857142857rem;
  }
}
@media only screen and (min-width: 1080px) {
  .bookings-search + label {
    left: 4.7142857143rem;
  }
}
.bookings-search + label svg {
  position: relative;
  display: block;
  width: 90%;
  height: 90%;
  margin: -15% 30%;
  padding: 0;
}
.bookings-search + label svg path {
  fill: #F0EFF4;
}
.bookings-main {
  padding-right: 1.4285714286rem;
  padding-left: 1.4285714286rem;
}
@media only screen and (min-width: 768px) {
  .bookings-main {
    padding-right: 2.8571428571rem;
    padding-left: 2.8571428571rem;
  }
}
@media only screen and (min-width: 1080px) {
  .bookings-main {
    position: relative;
    display: flex;
    flex-wrap: wrap;
    gap: 1.4285714286rem;
    padding-right: 4.2857142857rem;
    padding-left: 4.2857142857rem;
  }
}
.bookings-list {
  position: relative;
  display: flex;
  flex-wrap: wrap;
  gap: 0.7142857143rem;
}
@media only screen and (min-width: 1080px) {
  .bookings-list {
    height: 100%;
    width: calc((100% - 20px) / 6 * 2);
  }
}
@media only screen and (min-width: 1600px) {
  .bookings-list {
    width: calc((100% - 20px) / 6 * 3);
  }
}
.bookings-list-item {
  position: relative;
  display: block;
  width: calc((100% - 10px) / 2);
  cursor: pointer;
  border-radius: 0.5714285714rem;
  overflow: clip;
}
@media only screen and (min-width: 768px) {
  .bookings-list-item {
    width: calc((100% - 30px) / 4);
  }
}
@media only screen and (min-width: 1080px) {
  .bookings-list-item {
    align-self: flex-start;
    aspect-ratio: 1;
    width: calc((100% - 10px) / 2);
  }
}
@media only screen and (min-width: 1600px) {
  .bookings-list-item {
    width: calc((100% - 40px) / 4);
  }
}
.bookings-list-item__thumb {
  position: relative;
  display: block;
  width: 100%;
  aspect-ratio: 1;
  margin: 0;
  padding: 0;
  border-radius: 0.5714285714rem;
  opacity: 0.5;
}
@media only screen and (min-width: 1080px) {
  .bookings-list-item__thumb {
    transition: 0.4s ease;
  }
  .bookings-list-item__thumb:hover {
    background: var(--color-highlight);
    filter: saturate(1);
    opacity: 1;
    transition: 0.4s ease;
  }
  .bookings-list-item__thumb:hover img {
    mix-blend-mode: luminosity;
    transform: scale(1.1);
  }
  .bookings-list-item__thumb img {
    transform: scale(1);
    transition: 0.4s ease;
  }
}
.bookings-list-item__thumb img {
  display: block;
  width: 100%;
  height: 100%;
  margin: 0;
  padding: 0;
  object-fit: cover;
  object-position: center;
  border-radius: 0.5714285714rem;
  overflow: clip;
  transition: 0.4s ease;
  filter: saturate(0);
}
.bookings-list-item__title {
  position: absolute;
  bottom: 1.0714285714rem;
  left: 1.0714285714rem;
  pointer-events: none;
}
@media only screen and (min-width: 1080px) {
  .bookings-list-item__title {
    right: 1.0714285714rem;
  }
}
@media only screen and (min-width: 1080px) {
  .bookings-list-item .artist-content {
    display: none;
  }
}
.bookings-list-item .artist-content {
  display: none;
}
.bookings-list-item.--active {
  width: 100%;
}
@media only screen and (min-width: 1080px) {
  .bookings-list-item.--active {
    background: var(--color-highlight);
    display: block;
    width: calc((100% - 10px) / 2);
    border: solid 0.0714285714rem var(--color-highlight);
    border-radius: 0.5714285714rem;
  }
}
@media only screen and (min-width: 1600px) {
  .bookings-list-item.--active {
    width: calc((100% - 40px) / 4);
  }
}
.bookings-list-item.--active .artist-content {
  display: block;
}
@media only screen and (min-width: 1080px) {
  .bookings-list-item.--active .artist-content {
    display: none;
  }
}
.bookings-list-item.--active .bookings-list-item__title {
  background: #03120E;
  position: absolute;
  margin-top: 100%;
  padding: 0.3571428571rem 0.5714285714rem;
  top: -3.9285714286rem;
  left: 1.0714285714rem;
  bottom: auto;
  font-size: 2rem;
  border-radius: 0.5714285714rem;
  z-index: 10;
}
@media only screen and (min-width: 768px) {
  .bookings-list-item.--active .bookings-list-item__title {
    display: none;
  }
}
@media only screen and (min-width: 1080px) {
  .bookings-list-item.--active .bookings-list-item__title {
    background: none;
    padding: 0;
    right: 1.0714285714rem;
  }
}
.bookings-list-item.--active .bookings-list-item__thumb {
  display: none;
  opacity: 1;
  mix-blend-mode: luminosity;
}
@media only screen and (min-width: 1080px) {
  .bookings-list-item.--active .bookings-list-item__thumb {
    display: block;
  }
}
@media only screen and (min-width: 1080px) {
  .bookings-content {
    width: calc((100% - 20px) / 6 * 4);
  }
}
@media only screen and (min-width: 1600px) {
  .bookings-content {
    width: calc((100% - 20px) / 6 * 3);
  }
}
.bookings-content .artist-content {
  display: none;
}
@media only screen and (min-width: 1080px) {
  .bookings-content .artist-content {
    position: sticky;
    top: 1.4285714286rem;
    margin-top: 0;
  }
  .bookings-content .artist-content .content {
    transition: opacity 0.4s ease, transform 0.6s ease;
  }
  .bookings-content .artist-content .thumbnail {
    transition: opacity 0.4s ease 0.1s, transform 0.6s ease 0.1s;
  }
  .bookings-content .artist-content .soundcloud-links {
    transition: opacity 0.4s ease 0.2s, transform 0.6s ease 0.2s;
  }
  .bookings-content .artist-content .form {
    transition: opacity 0.8s ease 0.6s, transform 0.6s ease 0.5s;
  }
  .bookings-content .artist-content.--active {
    display: block;
  }
  .bookings-content .artist-content.--active .content {
    opacity: 1;
    transform: translateY(0);
  }
  .bookings-content .artist-content.--active .thumbnail {
    opacity: 1;
    transform: translateY(0);
  }
  .bookings-content .artist-content.--active .soundcloud-links {
    opacity: 1;
    transform: translateY(0);
  }
  .bookings-content .artist-content.--active .form {
    opacity: 1;
    transform: translateY(0);
  }
  .bookings-content .artist-content.--trans .content {
    opacity: 0;
    transform: translateY(1.4285714286rem);
  }
  .bookings-content .artist-content.--trans .thumbnail {
    opacity: 0;
    transform: translateY(1.4285714286rem);
  }
  .bookings-content .artist-content.--trans .soundcloud-links {
    opacity: 0;
    transform: translateY(1.4285714286rem);
  }
  .bookings-content .artist-content.--trans .form {
    opacity: 0;
    transform: translateY(-1.4285714286rem);
  }
}
.bookings .--hidden {
  display: none;
}

.artist-content {
  position: relative;
  display: block;
}
.artist-content .row {
  position: relative;
}
@media only screen and (min-width: 768px) {
  .artist-content .row {
    display: flex;
    flex-wrap: wrap;
    gap: 0.7142857143rem;
  }
}
@media only screen and (min-width: 1080px) {
  .artist-content .row:first-of-type {
    flex-direction: row-reverse;
  }
}
.artist-content .thumbnail {
  position: relative;
  display: block;
  width: 100%;
  margin-bottom: 0.7142857143rem;
  aspect-ratio: 1;
  border-radius: 0.5714285714rem;
  overflow: clip;
  z-index: 2;
  /*
  img{
    display: block;
    width: 100%;
    height: 100%;
    margin: 0;
    padding: 0;
    object-position: center;
    object-fit: cover;
    border-radius: rm(8);
    overflow: clip;
  }
  */
}
@media only screen and (min-width: 768px) {
  .artist-content .thumbnail {
    width: calc((100% - 10px) / 2);
    margin-bottom: 0;
  }
}
.artist-content .gallery {
  position: relative;
  display: flex;
  height: 100%;
  flex-wrap: wrap;
  gap: 0.7142857143rem;
  border-radius: 0.5714285714rem;
  overflow: clip;
}
.artist-content .gallery-item {
  position: relative;
  display: block;
  width: 100%;
  aspect-ratio: 1;
}
.artist-content .gallery img {
  position: relative;
  display: block;
  width: 100%;
  height: 100%;
  object-position: center;
  object-fit: cover;
}
.artist-content .gallery .swiper-pagination {
  width: auto;
  left: 1.0714285714rem;
  bottom: 0.7857142857rem;
}
.artist-content .gallery .swiper-pagination-bullet {
  background: #03120E;
  width: 0.5714285714rem;
  height: 2rem;
  opacity: 1;
  border-radius: 0.3571428571rem;
  transition: 0.4s ease;
}
.artist-content .gallery .swiper-pagination-bullet-active {
  background: #F0EFF4;
  width: 2.8571428571rem;
}
.artist-content .gallery .swiper-button-prev,
.artist-content .gallery .swiper-button-next {
  background: #F0EFF4;
  width: 2.6428571429rem;
  height: 2.6428571429rem;
  margin: 0;
  top: auto;
  bottom: 1.0714285714rem;
  left: auto;
  border-radius: 100%;
}
.artist-content .gallery .swiper-button-prev svg,
.artist-content .gallery .swiper-button-next svg {
  display: none;
}
.artist-content .gallery .swiper-button-prev::after,
.artist-content .gallery .swiper-button-next::after {
  content: "";
  display: block;
  width: 30%;
  height: 30%;
  border-bottom: solid 0.0714285714rem #03120E;
  border-left: solid 0.0714285714rem #03120E;
}
.artist-content .gallery .swiper-button-prev::before,
.artist-content .gallery .swiper-button-next::before {
  content: "";
  position: absolute;
  display: block;
  width: 40%;
  border-bottom: solid 0.0714285714rem #03120E;
}
.artist-content .gallery .swiper-button-prev {
  right: 4.0714285714rem;
}
.artist-content .gallery .swiper-button-prev::after {
  transform: rotate(45deg);
  margin-left: 0.0714285714rem;
}
.artist-content .gallery .swiper-button-next {
  right: 1.0714285714rem;
}
.artist-content .gallery .swiper-button-next::after {
  transform: rotate(-135deg);
  margin-left: -0.0714285714rem;
}
.artist-content .content {
  background: #F0EFF4;
  position: relative;
  display: flex;
  flex-wrap: wrap;
  padding: 1.0714285714rem;
  color: #03120E;
  border-radius: 0.5714285714rem;
  justify-content: space-between;
  z-index: 2;
}
@media only screen and (min-width: 768px) {
  .artist-content .content {
    width: calc((100% - 10px) / 2);
  }
}
.artist-content .content__title {
  display: none;
}
@media only screen and (min-width: 768px) {
  .artist-content .content__title {
    display: block;
    margin-bottom: 1.4285714286rem;
    width: 100%;
  }
}
@media only screen and (min-width: 1080px) {
  .artist-content .content__title {
    display: block;
    width: 100%;
  }
}
.artist-content .content .bio {
  position: relative;
  display: inline;
  margin-bottom: 1.4285714286rem;
}
.artist-content .content .bio .readmore {
  display: none;
}
.artist-content .content .bio .readmore-toggle {
  display: inline-flex;
  margin-top: 0.7142857143rem;
  text-transform: uppercase;
  color: #03120E;
  cursor: pointer;
}
.artist-content .content .bio .readmore-toggle::before {
  content: "...";
  position: relative;
  margin-top: -0.0714285714rem;
  margin-right: 0.3571428571rem;
  font-size: 2rem;
  letter-spacing: -0.0714285714rem;
  line-height: 0;
}
.artist-content .content .bio .readmore-toggle .more {
  display: inline-block;
}
.artist-content .content .bio .readmore-toggle .less {
  display: none;
}
.artist-content .content .bio.--toggled .readmore {
  display: inline;
}
.artist-content .content .bio.--toggled .readmore-toggle .more {
  display: none;
}
.artist-content .content .bio.--toggled .readmore-toggle .less {
  display: inline-block;
}
.artist-content .socials {
  position: relative;
  display: flex;
  flex-wrap: wrap;
  gap: 0.1428571429rem;
  align-self: flex-end;
}
.artist-content .socials li {
  background: #03120E;
  position: relative;
  display: block;
  width: 2rem;
  aspect-ratio: 1;
  border-radius: 100%;
}
.artist-content .socials li a {
  position: relative;
  display: block;
  width: 100%;
  padding: 0.5714285714rem;
}
.artist-content .socials li:hover svg * {
  fill: var(--color-highlight);
}
.artist-content .socials svg {
  position: relative;
  display: block;
  width: 100%;
  height: 100%;
  margin: 0;
  padding: 0;
}
.artist-content .socials svg * {
  fill: #F0EFF4;
  transition: 0.4s ease;
}
.artist-content .buttons {
  position: relative;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  justify-content: flex-end;
  gap: 0.3571428571rem;
}
.artist-content .btn {
  background: #03120E;
  border-color: #03120E;
  color: #F0EFF4;
  transition: 0.4s ease;
  font-weight: normal;
  cursor: pointer;
}
.artist-content .btn svg {
  display: inline-block;
  width: 1.1428571429rem;
  aspect-ratio: 1;
  margin-right: 0.5714285714rem;
}
.artist-content .btn--border {
  background: #F0EFF4;
  border-color: #03120E;
  color: #03120E;
}
.artist-content .btn--locked input {
  display: none;
}
.artist-content .btn--locked.--active span {
  display: none;
}
.artist-content .btn--locked.--active input {
  background: none;
  display: inline-block;
  font-size: inherit;
  border: none;
  padding: 0;
  margin: 0;
}
.artist-content .btn--locked.--active input:focus {
  outline: none;
}
.artist-content .btn--locked.--wrong {
  color: #D81E5B !important;
  border-color: #D81E5B !important;
}
.artist-content .btn--locked.--wrong input {
  color: #D81E5B !important;
  border-color: #D81E5B !important;
}
.artist-content .btn--locked.--wrong svg * {
  fill: #D81E5B !important;
}
.artist-content .soundcloud-links {
  position: relative;
  display: flex;
  flex-wrap: wrap;
  width: 100%;
  margin-top: 0.7142857143rem;
}
.artist-content .soundcloud-links .link {
  background: #F0EFF4;
  display: block;
  width: 100%;
  border-radius: 0.5714285714rem;
  overflow: clip;
}
.artist-content .soundcloud-links .link iframe {
  position: relative;
  display: block;
  width: 100%;
}

.form {
  background: #03120E;
  position: relative;
  display: block;
  width: 100%;
  margin-top: 0.7142857143rem;
  padding: 1.0714285714rem 1.0714285714rem 1.4285714286rem;
  border-radius: 0.5714285714rem;
  color: #F0EFF4;
  overflow: clip;
}
.form::before {
  content: "";
  position: absolute;
  display: block;
  width: 100%;
  height: 100%;
  top: 0;
  left: 0;
  background-image: radial-gradient(#03120E 0.0714285714rem, transparent 0.0714285714rem), radial-gradient(#03120E 0.0714285714rem, transparent 0.0714285714rem);
  background-size: 0.2857142857rem 0.2857142857rem;
  background-position: 0 0, 0.1428571429rem 0.1428571429rem;
  z-index: 1;
}
@media only screen and (min-width: 768px) {
  .form {
    padding-bottom: 2.1428571429rem;
  }
}
.form__bg {
  position: absolute;
  display: block;
  width: 100%;
  height: 100%;
  top: 0;
  left: 0;
  overflow: clip;
}
.form__bg::before {
  content: "";
  background: #F0EFF4;
  position: absolute;
  display: block;
  width: 60%;
  height: 400%;
  border-radius: 100%;
  top: -100%;
  right: -15%;
  z-index: 1;
  filter: blur(3.5714285714rem);
}
.form__bg::after {
  content: "";
  background: var(--color-highlight);
  position: absolute;
  display: block;
  width: 80%;
  height: 400%;
  border-radius: 100%;
  top: -100%;
  right: -5%;
  filter: blur(3.5714285714rem);
}
.form .fieldset {
  position: relative;
  z-index: 1;
}
.form .fieldset .title span {
  display: block;
  width: 100%;
  max-width: 12.8571428571rem;
  font-family: Poppins, sans-serif;
  font-size: clamp(18px, 3vw, 23px);
  line-height: 1.2;
}
.form .fieldset .title span::before {
  content: "";
  position: relative;
  display: block;
  width: 80%;
  margin: 1.0714285714rem 0 1.0714285714rem -1.0714285714rem;
  border-bottom: solid 0.0714285714rem #F0EFF4;
}
.form .fieldset > div {
  position: relative;
  display: flex;
  justify-content: flex-end;
  margin-top: 1.4285714286rem;
}
@media only screen and (min-width: 768px) {
  .form .fieldset > div {
    position: absolute;
    width: 75%;
    margin-top: 0;
    bottom: 0;
    right: 0;
  }
}
.form .fieldset > div select,
.form .fieldset > div input {
  background: #03120E;
  display: inline-block;
  width: 65%;
  margin: 0;
  padding: 0 1.0714285714rem;
  bottom: -0.3571428571rem;
  right: 3.5714285714rem;
  border: none;
  border-top-left-radius: 7.1428571429rem;
  border-bottom-left-radius: 7.1428571429rem;
  color: #F0EFF4;
  font-family: Poppins, sans-serif;
  font-size: clamp(18px, 3vw, 23px);
  line-height: 0.8;
  appearance: none;
}
@media only screen and (min-width: 768px) {
  .form .fieldset > div select,
  .form .fieldset > div input {
    width: 60%;
  }
}
.form .fieldset > div select:focus,
.form .fieldset > div input:focus {
  outline: none;
}
.form .fieldset > div select::placeholder,
.form .fieldset > div input::placeholder {
  color: #03120E;
}
.form .fieldset > div .submit,
.form .fieldset > div .next {
  background: #03120E;
  position: relative;
  display: flex;
  justify-content: center;
  align-items: center;
  width: 2.0357142857rem;
  height: 2.0357142857rem;
  padding: 0;
  margin: 0;
  border: none;
  border-bottom: solid 0.0714285714rem #03120E;
  border-top-right-radius: 100%;
  border-bottom-right-radius: 100%;
  appearance: none;
  cursor: pointer;
}
@media only screen and (min-width: 768px) {
  .form .fieldset > div .submit,
  .form .fieldset > div .next {
    width: 2.5357142857rem;
    height: 2.5357142857rem;
  }
}
.form .fieldset > div .submit::after,
.form .fieldset > div .next::after {
  content: "";
  display: block;
  width: 30%;
  height: 30%;
  margin-left: -0.0714285714rem;
  border-bottom: solid 0.1428571429rem #F0EFF4;
  border-left: solid 0.1428571429rem #F0EFF4;
  transform: rotate(-135deg);
  animation: move 1s infinite ease;
}
.form .fieldset > div .submit::before,
.form .fieldset > div .next::before {
  content: "";
  position: absolute;
  display: block;
  width: 40%;
  border-bottom: solid 0.1428571429rem #F0EFF4;
  animation: move 1s infinite ease;
}
.form .fieldset > div .submit:hover::after, .form .fieldset > div .submit:hover::before,
.form .fieldset > div .next:hover::after,
.form .fieldset > div .next:hover::before {
  animation: none;
  border-color: var(--color-highlight);
}
@keyframes move {
  0% {
    margin-left: -10px;
  }
  50% {
    margin-left: 0;
  }
  100% {
    margin-left: -10px;
  }
}
.form .step {
  position: absolute;
  opacity: 0;
  pointer-events: none;
}
.form .step .title {
  transform: translateX(-1.4285714286rem);
  opacity: 0;
  transition: 0.4s ease-in-out;
}
.form .step .title span {
  transform: translateX(-1.4285714286rem);
  opacity: 0;
  transition: 0.4s ease-in-out 0.2s;
}
.form .step .title span::before {
  transform: translateX(-1.4285714286rem);
  opacity: 0;
  transition: 0.8s ease-in-out 0.6s;
}
.form .step > div {
  transform: translateY(0.7142857143rem);
  opacity: 0;
  transition: 0.6s ease-in-out 0.2s;
}
.form .step--active {
  position: relative;
  opacity: 1;
  pointer-events: all;
}
.form .step--active .title {
  transform: translateX(0);
  opacity: 1;
}
.form .step--active .title span {
  transform: translateX(0);
  opacity: 1;
}
.form .step--active .title span::before {
  transform: translateX(0);
  opacity: 1;
}
.form .step--active > div {
  transform: translateY(0);
  opacity: 1;
}

.textblock {
  position: relative;
  display: flex;
  flex-wrap: wrap;
  align-items: flex-end;
  gap: 0.7142857143rem;
  padding: 0.7142857143rem 1.4285714286rem;
  margin-bottom: 1.4285714286rem;
}
@media only screen and (min-width: 768px) {
  .textblock {
    padding: 1.4285714286rem 2.8571428571rem 2.1428571429rem;
  }
}
@media only screen and (min-width: 1080px) {
  .textblock {
    padding: 1.4285714286rem 8.5714285714rem 2.1428571429rem;
    align-items: flex-start;
    gap: 4.2857142857rem;
  }
}
@media only screen and (min-width: 1600px) {
  .textblock {
    width: calc((100% - 120px - 70px) / 8 * 5 + 60px + 45px);
    padding: 1.4285714286rem 4.2857142857rem 2.1428571429rem 0;
    margin-left: calc((100% - 120px - 70px) / 8 * 1 + 60px + 7px);
  }
}
.textblock__title {
  position: relative;
}
.textblock__title::after {
  content: "";
  position: relative;
  display: block;
  width: 7.1428571429rem;
  margin: 1.7857142857rem 0 0.7142857143rem;
  border-bottom: solid 0.0714285714rem var(--color-highlight);
}
@media only screen and (min-width: 1080px) {
  .textblock__title::after {
    position: absolute;
    top: -1.7857142857rem;
    right: -2.1428571429rem;
    bottom: -1.7857142857rem;
    width: 0;
    border-bottom: none;
    border-right: solid 0.0714285714rem var(--color-highlight);
  }
}
.textblock__desc {
  font-size: clamp(16px, 1.5vw, 18px);
  line-height: 1.2;
}
@media only screen and (min-width: 1080px) {
  .textblock__desc {
    flex: 1;
  }
}
.textblock a {
  color: var(--color-highlight);
  text-decoration: none;
}

.textonly {
  position: relative;
  display: block;
  width: 100%;
  padding: 0 1.4285714286rem 0.7142857143rem;
}
@media only screen and (min-width: 768px) {
  .textonly {
    padding: 0 2.8571428571rem 0.7142857143rem;
  }
}
@media only screen and (min-width: 1080px) {
  .textonly {
    padding: 0 4.2857142857rem 0.7142857143rem;
  }
}
.textonly__content {
  hyphens: auto;
  font-weight: normal;
  line-height: 1.3;
}
@media only screen and (min-width: 1600px) {
  .textonly__content {
    column-count: 2;
    column-gap: 2.1428571429rem;
  }
}
.textonly h1, .textonly h2, .textonly h3, .textonly h4, .textonly h5, .textonly h6 {
  position: relative;
  display: block;
  margin-bottom: 0.5em;
}
.textonly h1 b, .textonly h1 strong, .textonly h2 b, .textonly h2 strong, .textonly h3 b, .textonly h3 strong, .textonly h4 b, .textonly h4 strong, .textonly h5 b, .textonly h5 strong, .textonly h6 b, .textonly h6 strong {
  font-weight: normal;
}
.textonly h1 {
  font-size: clamp(30px, 10vw, 70px);
  font-family: "Maragsa", sans-serif;
  line-height: 0.9;
  transition: 0.4s ease;
}
.textonly h2 {
  font-size: clamp(25px, 7vw, 50px);
  font-family: "Maragsa", sans-serif;
  line-height: 0.9;
  transition: 0.4s ease;
}
.textonly h3 {
  font-size: clamp(20px, 5vw, 30px);
  font-family: "Maragsa", sans-serif;
  line-height: 1;
}
.textonly h4 {
  font-size: clamp(20px, 4vw, 26px);
  font-family: "Maragsa", sans-serif;
  line-height: 1;
}
.textonly b, .textonly strong {
  font-weight: 900;
}
.textonly p {
  break-inside: avoid;
}
.textonly p:not(:last-of-type) {
  margin-bottom: 0.8em;
}
.textonly .avoid-break {
  break-inside: avoid;
}
.textonly a {
  color: inherit;
  text-decoration-color: var(--color-highlight);
}
.textonly hr {
  display: block;
  width: 100%;
  max-width: 25rem;
  border: none;
  border-bottom: solid 0.0714285714rem var(--color-highlight);
  margin: 2.1428571429rem 0;
}
.textonly ul, .textonly ol {
  list-style: disc;
  padding-left: 1.7857142857rem;
  margin-bottom: 0.8em;
}
.textonly ul li:not(:last-of-type), .textonly ol li:not(:last-of-type) {
  margin-bottom: 0.6em;
}

.newsletter {
  background: rgba(var(--color-highlight), 0.05);
  position: relative;
  display: block;
  width: 100%;
  padding: 1.4285714286rem;
}
@media only screen and (min-width: 768px) {
  .newsletter {
    display: flex;
    flex-wrap: wrap;
    gap: 2.1428571429rem;
    align-items: flex-end;
  }
  .newsletter > div, .newsletter form {
    width: calc(50% - 15px);
  }
}
@media only screen and (min-width: 768px) {
  .newsletter {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    align-items: flex-end;
  }
  .newsletter > div {
    width: 40%;
    max-width: 25rem;
  }
  .newsletter > form {
    width: calc((100% - 50px) / 6 * 2 + 5px);
  }
}
@media only screen and (min-width: 768px) {
  .newsletter > form {
    width: calc((100% - 70px) / 8 * 2 + 5px);
  }
}
.newsletter__bg {
  position: absolute;
  display: block;
  width: 100%;
  height: 100%;
  top: 0;
  left: 0;
  overflow: clip;
}
.newsletter__bg::after {
  content: "";
  background: var(--color-highlight);
  position: absolute;
  display: block;
  width: 80%;
  height: 400%;
  border-radius: 100%;
  top: -100%;
  right: -5%;
  opacity: 0.25;
  filter: blur(3.5714285714rem);
}
.newsletter__bg::before {
  content: "";
  background: var(--color-highlight);
  position: absolute;
  display: block;
  width: 60%;
  height: 400%;
  border-radius: 100%;
  top: -100%;
  right: -15%;
  z-index: 1;
  opacity: 0.5;
  filter: blur(7.1428571429rem);
}
@media only screen and (min-width: 768px) {
  .newsletter {
    padding: 2.8571428571rem 2.8571428571rem;
  }
}
@media only screen and (min-width: 1080px) {
  .newsletter {
    padding: 2.8571428571rem 4.2857142857rem;
  }
}
.newsletter__title {
  position: relative;
  margin-bottom: 0.7142857143rem;
  font-size: clamp(30px, 8vw, 50px);
  font-family: "Maragsa", sans-serif;
  line-height: 0.9;
  z-index: 1;
}
.newsletter__desc {
  position: relative;
  display: block;
  margin-bottom: 1.4285714286rem;
  z-index: 1;
}
@media only screen and (min-width: 768px) {
  .newsletter__desc {
    margin-bottom: 0;
  }
}
.newsletter__desc p:not(:last-of-type) {
  margin-bottom: 0.7142857143rem;
}
.newsletter form {
  position: relative;
  z-index: 1;
}
.newsletter form .field {
  position: relative;
  display: block;
  width: 100%;
}
.newsletter form input[type=email] {
  background: none;
  display: inline-block;
  width: 100%;
  margin: 0 0 1.4285714286rem;
  padding: 0;
  bottom: -0.3571428571rem;
  right: 3.5714285714rem;
  border: none;
  border-bottom: solid 0.0714285714rem #F0EFF4;
  color: #F0EFF4;
  font-family: Poppins, sans-serif;
  font-size: clamp(18px, 3vw, 23px);
  line-height: 0.8;
  appearance: none;
}
.newsletter form input[type=email]:focus {
  outline: none;
}
.newsletter form input[type=email]::placeholder {
  color: #F0EFF4;
}
.newsletter form .btn {
  display: block;
  width: 100%;
  margin-bottom: 2.1428571429rem;
  cursor: pointer;
  transition: 0.4s ease;
}
.newsletter form .btn:disabled {
  opacity: 0.25;
  cursor: not-allowed;
}
.newsletter a {
  color: inherit;
  text-decoration-color: var(--color-highlight);
}

.highlight {
  color: var(--color-highlight);
}

.prefooter {
  position: relative;
  display: flex;
  flex-wrap: wrap;
  padding: 2.1428571429rem 1.4285714286rem 0.7142857143rem;
}
@media only screen and (min-width: 768px) {
  .prefooter {
    padding: 2.1428571429rem 2.8571428571rem 0.7142857143rem;
  }
}
@media only screen and (min-width: 1080px) {
  .prefooter {
    padding: 2.1428571429rem 4.2857142857rem 0.7142857143rem;
  }
}
.prefooter nav {
  position: relative;
  display: block;
  width: 100%;
}
.prefooter nav ul {
  position: relative;
  display: flex;
  flex-wrap: wrap;
  width: 100%;
  gap: 0.7142857143rem;
}
@media only screen and (min-width: 1080px) {
  .prefooter nav ul {
    row-gap: 0.7142857143rem;
    column-gap: 2.1428571429rem;
  }
}
.prefooter nav ul li {
  position: relative;
  display: flex;
  width: calc((100% - 10px) / 2);
  align-items: center;
  gap: 0.3571428571rem;
}
@media only screen and (min-width: 768px) {
  .prefooter nav ul li {
    width: calc((100% - 30px) / 4);
  }
}
@media only screen and (min-width: 1080px) {
  .prefooter nav ul li {
    width: auto;
  }
}
.prefooter nav ul li a {
  color: #F0EFF4;
  text-decoration: none;
  transition: 0.4s ease;
}
.prefooter nav ul li a:hover {
  color: var(--color-highlight);
}
.prefooter nav ul li::before {
  content: "";
  position: relative;
  display: inline-block;
  background-position: center center;
  background-repeat: no-repeat;
  background-size: 70%;
  width: 1.2857142857rem;
  aspect-ratio: 1;
  border-radius: 100%;
  filter: invert(1);
}
.prefooter nav ul li.icon-instagram::before {
  background-image: url("assets/media/icons/icon_instagram.svg");
}
.prefooter nav ul li.icon-facebook::before {
  background-image: url("assets/media/icons/icon_facebook.svg");
}

/*# sourceMappingURL=style.css.map */
