@tailwind base;
@tailwind components;
@tailwind utilities;

.swiper-slide,
.swiper-wrapper {
  height: 100%;
  position: relative;
  transition-property: transform;
  width: 100%;
}
.swiper-android .swiper-slide,
.swiper-pagination,
.swiper-wrapper {
  transform: translate3d(0, 0, 0);
}
.swiper-fade.swiper-free-mode .swiper-slide,
.swiper-free-mode > .swiper-wrapper {
  transition-timing-function: ease-out;
}
@font-face {
  font-family: swiper-icons;
  src: url('data:application/font-woff;charset=utf-8;base64, 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');
  font-weight: 400;
  font-style: normal;
}
:root {
  --swiper-theme-color: #007aff;
  --swiper-navigation-size: 44px;
}
.swiper {
  margin-left: auto;
  margin-right: auto;
  position: relative;
  overflow: hidden;
  list-style: none;
  padding: 0;
  z-index: 1;
}
.swiper-vertical > .swiper-wrapper {
  flex-direction: column;
}
.swiper-wrapper {
  z-index: 1;
  display: flex;
  box-sizing: content-box;
}
.swiper-pointer-events {
  touch-action: pan-y;
}
.swiper-pointer-events.swiper-vertical {
  touch-action: pan-x;
}
.swiper-slide {
  flex-shrink: 0;
}
.swiper-slide-invisible-blank {
  visibility: hidden;
}
.swiper-autoheight,
.swiper-autoheight .swiper-slide {
  height: auto;
}
.swiper-autoheight .swiper-wrapper {
  align-items: flex-start;
  transition-property: transform, height;
}
.swiper-backface-hidden .swiper-slide {
  transform: translateZ(0);
  -webkit-backface-visibility: hidden;
  backface-visibility: hidden;
}
.swiper-3d,
.swiper-3d.swiper-css-mode .swiper-wrapper {
  perspective: 1200px;
}
.swiper-3d .swiper-cube-shadow,
.swiper-3d .swiper-slide,
.swiper-3d .swiper-slide-shadow,
.swiper-3d .swiper-slide-shadow-bottom,
.swiper-3d .swiper-slide-shadow-left,
.swiper-3d .swiper-slide-shadow-right,
.swiper-3d .swiper-slide-shadow-top,
.swiper-3d .swiper-wrapper {
  transform-style: preserve-3d;
}
.swiper-3d .swiper-slide-shadow,
.swiper-3d .swiper-slide-shadow-bottom,
.swiper-3d .swiper-slide-shadow-left,
.swiper-3d .swiper-slide-shadow-right,
.swiper-3d .swiper-slide-shadow-top {
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  pointer-events: none;
  z-index: 10;
}
.swiper-3d .swiper-slide-shadow {
  background: rgba(0, 0, 0, 0.15);
}
.swiper-3d .swiper-slide-shadow-left {
  background-image: linear-gradient(to left, rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0));
}
.swiper-3d .swiper-slide-shadow-right {
  background-image: linear-gradient(to right, rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0));
}
.swiper-3d .swiper-slide-shadow-top {
  background-image: linear-gradient(to top, rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0));
}
.swiper-3d .swiper-slide-shadow-bottom {
  background-image: linear-gradient(to bottom, rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0));
}
.swiper-css-mode > .swiper-wrapper {
  overflow: auto;
  scrollbar-width: none;
  -ms-overflow-style: none;
}
.swiper-css-mode > .swiper-wrapper::-webkit-scrollbar {
  display: none;
}
.swiper-css-mode > .swiper-wrapper > .swiper-slide {
  scroll-snap-align: start start;
}
.swiper-horizontal.swiper-css-mode > .swiper-wrapper {
  scroll-snap-type: x mandatory;
}
.swiper-vertical.swiper-css-mode > .swiper-wrapper {
  scroll-snap-type: y mandatory;
}
.swiper-centered > .swiper-wrapper::before {
  content: '';
  flex-shrink: 0;
  order: 9999;
}
.swiper-centered.swiper-horizontal > .swiper-wrapper > .swiper-slide:first-child {
  margin-inline-start: var(--swiper-centered-offset-before);
}
.swiper-centered.swiper-horizontal > .swiper-wrapper::before {
  height: 100%;
  min-height: 1px;
  width: var(--swiper-centered-offset-after);
}
.swiper-centered.swiper-vertical > .swiper-wrapper > .swiper-slide:first-child {
  margin-block-start: var(--swiper-centered-offset-before);
}
.swiper-centered.swiper-vertical > .swiper-wrapper::before {
  width: 100%;
  min-width: 1px;
  height: var(--swiper-centered-offset-after);
}
.swiper-centered > .swiper-wrapper > .swiper-slide {
  scroll-snap-align: center center;
}
.swiper-virtual .swiper-slide {
  -webkit-backface-visibility: hidden;
  transform: translateZ(0);
}
.swiper-virtual.swiper-css-mode .swiper-wrapper::after {
  content: '';
  position: absolute;
  left: 0;
  top: 0;
  pointer-events: none;
}
.swiper-virtual.swiper-css-mode.swiper-horizontal .swiper-wrapper::after {
  height: 1px;
  width: var(--swiper-virtual-size);
}
.swiper-virtual.swiper-css-mode.swiper-vertical .swiper-wrapper::after {
  width: 1px;
  height: var(--swiper-virtual-size);
}
.swiper-button-next,
.swiper-button-prev {
  position: absolute;
  top: 50%;
  width: calc(var(--swiper-navigation-size) / 44 * 27);
  height: var(--swiper-navigation-size);
  margin-top: calc(0px - (var(--swiper-navigation-size) / 2));
  z-index: 10;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
  color: var(--swiper-navigation-color, var(--swiper-theme-color));
}
.swiper-button-next.swiper-button-disabled,
.swiper-button-prev.swiper-button-disabled {
  opacity: 0.35;
  cursor: auto;
  pointer-events: none;
}
.swiper-button-next.swiper-button-hidden,
.swiper-button-prev.swiper-button-hidden {
  opacity: 0;
  cursor: auto;
  pointer-events: none;
}
.swiper-navigation-disabled .swiper-button-next,
.swiper-navigation-disabled .swiper-button-prev,
.swiper-pagination-bullet:only-child,
.swiper-pagination-disabled > .swiper-pagination,
.swiper-pagination.swiper-pagination-disabled,
.swiper-scrollbar-disabled > .swiper-scrollbar,
.swiper-scrollbar.swiper-scrollbar-disabled {
  display: none !important;
}
.swiper-button-next:after,
.swiper-button-prev:after {
  font-family: swiper-icons;
  font-size: var(--swiper-navigation-size);
  text-transform: none !important;
  letter-spacing: 0;
  font-variant: initial;
  line-height: 1;
}
.swiper-button-prev,
.swiper-rtl .swiper-button-next {
  left: 10px;
  right: auto;
}
.swiper-button-prev:after,
.swiper-rtl .swiper-button-next:after {
  content: 'prev';
}
.swiper-button-next,
.swiper-rtl .swiper-button-prev {
  right: 10px;
  left: auto;
}
.swiper-button-next:after,
.swiper-rtl .swiper-button-prev:after {
  content: 'next';
}
.swiper-button-lock,
.swiper-pagination-lock,
.swiper-scrollbar-lock {
  display: none;
}
.swiper-pagination {
  position: absolute;
  text-align: center;
  transition: opacity 0.3s;
  z-index: 10;
}
.swiper-pagination.swiper-pagination-hidden {
  opacity: 0;
}
.swiper-horizontal > .swiper-pagination-bullets,
.swiper-pagination-bullets.swiper-pagination-horizontal,
.swiper-pagination-custom,
.swiper-pagination-fraction {
  bottom: 10px;
  left: 0;
  width: 100%;
}
.swiper-pagination-bullets-dynamic {
  overflow: hidden;
  font-size: 0;
}
.swiper-pagination-bullets-dynamic .swiper-pagination-bullet {
  transform: scale(0.33);
  position: relative;
}
.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active,
.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active-main {
  transform: scale(1);
}
.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active-next,
.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active-prev {
  transform: scale(0.66);
}
.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active-next-next,
.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active-prev-prev {
  transform: scale(0.33);
}
.swiper-pagination-bullet {
  width: var(--swiper-pagination-bullet-width, var(--swiper-pagination-bullet-size, 8px));
  height: var(--swiper-pagination-bullet-height, var(--swiper-pagination-bullet-size, 8px));
  display: inline-block;
  border-radius: 50%;
  background: var(--swiper-pagination-bullet-inactive-color, #000);
  opacity: var(--swiper-pagination-bullet-inactive-opacity, 0.2);
}
button.swiper-pagination-bullet {
  border: none;
  margin: 0;
  padding: 0;
  box-shadow: none;
  -webkit-appearance: none;
  appearance: none;
}
.swiper-pagination-clickable .swiper-pagination-bullet {
  cursor: pointer;
}
.swiper-pagination-bullet-active {
  opacity: var(--swiper-pagination-bullet-opacity, 1);
  background: var(--swiper-pagination-color, var(--swiper-theme-color));
}
.swiper-pagination-vertical.swiper-pagination-bullets,
.swiper-vertical > .swiper-pagination-bullets {
  right: 10px;
  top: 50%;
  transform: translate3d(0, -50%, 0);
}
.swiper-pagination-vertical.swiper-pagination-bullets .swiper-pagination-bullet,
.swiper-vertical > .swiper-pagination-bullets .swiper-pagination-bullet {
  margin: var(--swiper-pagination-bullet-vertical-gap, 6px) 0;
  display: block;
}
.swiper-pagination-vertical.swiper-pagination-bullets.swiper-pagination-bullets-dynamic,
.swiper-vertical > .swiper-pagination-bullets.swiper-pagination-bullets-dynamic {
  top: 50%;
  transform: translateY(-50%);
  width: 8px;
}
.swiper-pagination-vertical.swiper-pagination-bullets.swiper-pagination-bullets-dynamic .swiper-pagination-bullet,
.swiper-vertical > .swiper-pagination-bullets.swiper-pagination-bullets-dynamic .swiper-pagination-bullet {
  display: inline-block;
  transition: transform 0.2s, top 0.2s;
}
.swiper-horizontal > .swiper-pagination-bullets .swiper-pagination-bullet,
.swiper-pagination-horizontal.swiper-pagination-bullets .swiper-pagination-bullet {
  margin: 0 var(--swiper-pagination-bullet-horizontal-gap, 4px);
}
.swiper-horizontal > .swiper-pagination-bullets.swiper-pagination-bullets-dynamic,
.swiper-pagination-horizontal.swiper-pagination-bullets.swiper-pagination-bullets-dynamic {
  left: 50%;
  transform: translateX(-50%);
  white-space: nowrap;
}
.swiper-horizontal > .swiper-pagination-bullets.swiper-pagination-bullets-dynamic .swiper-pagination-bullet,
.swiper-pagination-horizontal.swiper-pagination-bullets.swiper-pagination-bullets-dynamic .swiper-pagination-bullet {
  transition: transform 0.2s, left 0.2s;
}
.swiper-horizontal.swiper-rtl > .swiper-pagination-bullets-dynamic .swiper-pagination-bullet {
  transition: transform 0.2s, right 0.2s;
}
.swiper-pagination-progressbar {
  background: rgba(0, 0, 0, 0.25);
  position: absolute;
}
.swiper-pagination-progressbar .swiper-pagination-progressbar-fill {
  background: var(--swiper-pagination-color, var(--swiper-theme-color));
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  transform: scale(0);
  transform-origin: left top;
}
.swiper-rtl .swiper-pagination-progressbar .swiper-pagination-progressbar-fill {
  transform-origin: right top;
}
.swiper-horizontal > .swiper-pagination-progressbar,
.swiper-pagination-progressbar.swiper-pagination-horizontal,
.swiper-pagination-progressbar.swiper-pagination-vertical.swiper-pagination-progressbar-opposite,
.swiper-vertical > .swiper-pagination-progressbar.swiper-pagination-progressbar-opposite {
  width: 100%;
  height: 4px;
  left: 0;
  top: 0;
}
.swiper-horizontal > .swiper-pagination-progressbar.swiper-pagination-progressbar-opposite,
.swiper-pagination-progressbar.swiper-pagination-horizontal.swiper-pagination-progressbar-opposite,
.swiper-pagination-progressbar.swiper-pagination-vertical,
.swiper-vertical > .swiper-pagination-progressbar {
  width: 4px;
  height: 100%;
  left: 0;
  top: 0;
}
.swiper-scrollbar {
  border-radius: 10px;
  position: relative;
  -ms-touch-action: none;
  background: rgba(0, 0, 0, 0.1);
}
.swiper-horizontal > .swiper-scrollbar,
.swiper-scrollbar.swiper-scrollbar-horizontal {
  position: absolute;
  left: 1%;
  bottom: 3px;
  z-index: 50;
  height: 5px;
  width: 98%;
}
.swiper-scrollbar.swiper-scrollbar-vertical,
.swiper-vertical > .swiper-scrollbar {
  position: absolute;
  right: 3px;
  top: 1%;
  z-index: 50;
  width: 5px;
  height: 98%;
}
.swiper-scrollbar-drag {
  height: 100%;
  width: 100%;
  position: relative;
  background: rgba(0, 0, 0, 0.5);
  border-radius: 10px;
  left: 0;
  top: 0;
}
.swiper-scrollbar-cursor-drag,
.swiper-slide-zoomed {
  cursor: move;
}
.swiper-zoom-container {
  width: 100%;
  height: 100%;
  display: flex;
  justify-content: center;
  align-items: center;
  text-align: center;
}
.swiper-zoom-container > canvas,
.swiper-zoom-container > img,
.swiper-zoom-container > svg {
  max-width: 100%;
  max-height: 100%;
  object-fit: contain;
}
.swiper-lazy-preloader {
  width: 42px;
  height: 42px;
  position: absolute;
  left: 50%;
  top: 50%;
  margin-left: -21px;
  margin-top: -21px;
  z-index: 10;
  transform-origin: 50%;
  box-sizing: border-box;
  border: 4px solid var(--swiper-preloader-color, var(--swiper-theme-color));
  border-radius: 50%;
  border-top-color: transparent;
}
.swiper-watch-progress .swiper-slide-visible .swiper-lazy-preloader,
.swiper:not(.swiper-watch-progress) .swiper-lazy-preloader {
  animation: 1s linear infinite swiper-preloader-spin;
}
.swiper-lazy-preloader-white {
  --swiper-preloader-color: #fff;
}
.swiper-lazy-preloader-black {
  --swiper-preloader-color: #000;
}
@keyframes swiper-preloader-spin {
  0% {
    transform: rotate(0);
  }
  100% {
    transform: rotate(360deg);
  }
}
.swiper .swiper-notification {
  position: absolute;
  left: 0;
  top: 0;
  pointer-events: none;
  opacity: 0;
  z-index: -1000;
}
.swiper-free-mode > .swiper-wrapper {
  margin: 0 auto;
}
.swiper-grid > .swiper-wrapper {
  flex-wrap: wrap;
}
.swiper-grid-column > .swiper-wrapper {
  flex-wrap: wrap;
  flex-direction: column;
}
.swiper-fade .swiper-slide {
  pointer-events: none;
  transition-property: opacity;
}
.swiper-cube .swiper-slide .swiper-slide,
.swiper-fade .swiper-slide .swiper-slide,
.swiper-flip .swiper-slide .swiper-slide {
  pointer-events: none;
}
.swiper-cube .swiper-slide-active,
.swiper-cube .swiper-slide-active .swiper-slide-active,
.swiper-fade .swiper-slide-active,
.swiper-fade .swiper-slide-active .swiper-slide-active,
.swiper-flip .swiper-slide-active,
.swiper-flip .swiper-slide-active .swiper-slide-active {
  pointer-events: auto;
}
.swiper-cards,
.swiper-cube,
.swiper-flip {
  overflow: visible;
}
.swiper-cube .swiper-slide {
  pointer-events: none;
  -webkit-backface-visibility: hidden;
  backface-visibility: hidden;
  z-index: 1;
  visibility: hidden;
  transform-origin: 0 0;
  width: 100%;
  height: 100%;
}
.swiper-cube.swiper-rtl .swiper-slide {
  transform-origin: 100% 0;
}
.swiper-cube .swiper-slide-active,
.swiper-cube .swiper-slide-next,
.swiper-cube .swiper-slide-next + .swiper-slide,
.swiper-cube .swiper-slide-prev {
  pointer-events: auto;
  visibility: visible;
}
.swiper-cube .swiper-slide-shadow-bottom,
.swiper-cube .swiper-slide-shadow-left,
.swiper-cube .swiper-slide-shadow-right,
.swiper-cube .swiper-slide-shadow-top,
.swiper-flip .swiper-slide-shadow-bottom,
.swiper-flip .swiper-slide-shadow-left,
.swiper-flip .swiper-slide-shadow-right,
.swiper-flip .swiper-slide-shadow-top {
  z-index: 0;
  -webkit-backface-visibility: hidden;
  backface-visibility: hidden;
}
.swiper-cube .swiper-cube-shadow {
  position: absolute;
  left: 0;
  bottom: 0;
  width: 100%;
  height: 100%;
  opacity: 0.6;
  z-index: 0;
}
.swiper-cube .swiper-cube-shadow:before {
  content: '';
  background: #000;
  position: absolute;
  left: 0;
  top: 0;
  bottom: 0;
  right: 0;
  filter: blur(50px);
}
.swiper-flip .swiper-slide {
  pointer-events: none;
  -webkit-backface-visibility: hidden;
  backface-visibility: hidden;
  z-index: 1;
}
.swiper-creative .swiper-slide {
  -webkit-backface-visibility: hidden;
  backface-visibility: hidden;
  overflow: hidden;
  transition-property: transform, opacity, height;
}
.swiper-cards .swiper-slide {
  transform-origin: center bottom;
  -webkit-backface-visibility: hidden;
  backface-visibility: hidden;
  overflow: hidden;
}

@layer components {
  body {
    @apply selection:bg-purple-500 selection:text-white;
  }
  .collapse__header {
    @apply lg:flex lg:items-center lg:justify-between;
  }
  .collapse__header__button {
    @apply flex justify-between items-center lg:inline-block uppercase font-title text-xl sm:text-2xl lg:cursor-default;
  }
  .collapse__header__button span,
  .collapse__header__button svg {
    @apply pointer-events-none;
  }
  .collapse__header__button svg {
    @apply lg:hidden;
  }
  .collapse .collapse__content {
    @apply hidden lg:block pt-4;
  }
  .collapse.is-open .collapse__content {
    @apply block;
  }
  .collapse.is-open .collapse__header__button svg {
    @apply rotate-180;
  }
  .headroom {
    will-change: transform;
    transition: transform 100ms linear;
  }
  .header-search.headroom.headroom--pinned {
    @apply translate-y-0;
  }
  .header-search.headroom.headroom--not-top {
    @apply lg:-translate-y-11;
  }
  .headroom.headroom--unpinned,
  .headroom.headroom--pinned.headroom--not-top {
    @apply bg-ultra-black;
  }
  /* .header-search.headroom.headroom--unpinned #search {
    @apply lg:py-3
  }
  .header-search.headroom.headroom--unpinned #bambtn {
    @apply lg:py-1.5
  } */
  .header-search.headroom.headroom--not-top #logo {
    @apply lg:origin-center lg:scale-75 lg:translate-y-3;
  }
  .headroom.headroom--not-top #logo-bg {
    @apply opacity-0;
  }

  .section {
    scroll-margin-top: 120px;
  }
  [multiple]:focus,
  [type='date']:focus,
  [type='datetime-local']:focus,
  [type='email']:focus,
  [type='month']:focus,
  [type='number']:focus,
  [type='password']:focus,
  [type='search']:focus,
  [type='tel']:focus,
  [type='text']:focus,
  [type='time']:focus,
  [type='url']:focus,
  [type='week']:focus,
  select:focus,
  textarea:focus {
    --tw-ring-color: transparent;
  }
  .prose h1,
  .title-h1 {
    @apply relative uppercase text-center font-title text-2xl sm:text-3xl md:text-4xl  before:content-[''] before:block before:bg-gray-500 before:h-[1px] before:w-[100px] sm:before:w-[140px] before:absolute before:left-1/2 before:bottom-2 before:-translate-x-1/2 before:-rotate-[5deg] pb-4 sm:pb-6 md:pb-7 lg:pb-8 px-16;
  }
  .prose h2,
  .title-h2 {
    @apply relative uppercase text-center font-title text-xl sm:text-2xl md:text-3xl before:content-[''] before:block before:bg-gray-500 before:h-[1px] before:w-[100px] sm:before:w-[140px] before:absolute before:left-1/2 before:bottom-0 before:-translate-x-1/2 before:-rotate-[5deg] pb-4 sm:pb-6 md:pb-7 lg:pb-8 px-16;
  }
  .title-h3 {
    @apply relative uppercase text-center font-title text-lg sm:text-xl md:text-2xl before:content-[''] before:block before:bg-gray-500 before:h-[1px] before:w-[100px] sm:before:w-[140px] before:absolute before:left-1/2 before:bottom-0 before:-translate-x-1/2 before:-rotate-[5deg] pb-4 sm:pb-6 md:pb-7 lg:pb-8 px-16;
  }
  .prose ol li {
    @apply pl-0;
  }
  .prose ul li {
    @apply relative pl-4;
  }
  .prose ul li:before {
    @apply absolute left-0 top-2 content-[''] block h-0 w-0 border-[6px] border-r-transparent border-y-transparent border-l-purple-500;
  }
  .prose-xl ul li:before {
    @apply top-3;
  }

  /* fix for quill-resize-module.js */
  .prose img {
    cursor: auto !important;
  }

  .ql-align-right {
    text-align: right;
  }
  .ql-align-center {
    text-align: center;
  }
  .ql-align-left {
    text-align: left;
  }

  .aspect-card {
    aspect-ratio: auto 3 / 4;
  }
  .form-group input:focus ~ label,
  .form-group input:not(:placeholder-shown) ~ label,
  .form-group input:read-only ~ label,
  .form-group textarea:focus ~ label,
  .form-group textarea:not(:placeholder-shown) ~ label,
  .form-group select:focus ~ label,
  .form-group select:not([value='']) ~ label {
    --tw-text-opacity: 1;
    @apply -translate-y-2 text-[9px];
  }
  .form-group input:focus ~ label,
  .form-group textarea:focus ~ label,
  .form-group select:focus ~ label {
    @apply text-purple-500;
  }
  .form-group input:focus ~ label.error,
  .form-group textarea:focus ~ label.error,
  .form-group select:focus ~ label.error {
    @apply text-pink-500;
  }
  .form-group input:disabled ~ label,
  .form-group textarea:disabled ~ label {
    @apply text-[#CBCBCB];
  }

  .performance-calendar .day.current-month {
    @apply bg-gray-50;
  }

  /* .performance-calendar .day.prev-month,
  .performance-calendar .day.next-month {
    @apply hidden md:block;
  } */

  /* #calendar[busy] .frame-loading {
    opacity: 0.2;
  } */

  #calendar[busy] .loader {
    display: block;
  }

  /* .performance-calendar .day.today, .performance-calendar .day.future {  
    @apply 
  }

  .performance-calendar .day.today {
     @apply bg-white 
  }
  
  .performance-calendar .day.prev-month, .performance-calendar .day.next-month {
     @apply bg-gray-100 text-gray-500 
  } */

  .link {
    @apply text-purple-500 hover:text-purple-600 hover:bg-purple-50 hover:bg-opacity-50 transition-colors;
  }
  .button {
    @apply tracking-wide inline-flex items-center justify-center border-0 hover:cursor-pointer focus:outline-none focus:ring-0 focus:ring-offset-0 transition-all;
  }
  .button-expand-click:before {
    @apply content-[""] block absolute top-0 bottom-0 right-0 left-0 z-10;
  }
  .button-small {
    @apply px-4 py-2.5 text-xs lg:text-sm rounded font-semibold;
  }
  .button-base {
    @apply px-6 py-3 lg:py-3.25 text-xs lg:text-sm rounded uppercase font-bold;
  }
  .button-lg {
    @apply px-5 sm:px-6 py-3 md:py-4 text-sm lg:text-[0.9375rem] rounded lg:rounded-md uppercase font-bold min-w-[88px];
  }
  .button-reset {
    @apply outline-none focus:outline-none ring-transparent focus:ring-transparent outline-transparent focus:outline-transparent ring-offset-0 focus:ring-offset-0;
  }
  .button-white {
    @apply bg-white text-purple-500 hover:text-pink-500;
  }
  .button-white svg {
    @apply text-gray-900;
  }
  .button-white:hover svg {
    @apply text-pink-500;
  }
  .button-purple {
    @apply text-white gradient-purple hover:gradient-pink disabled:gradient-purple-opacity-50 disabled:text-opacity-50 disabled:hover:gradient-purple-opacity-50 disabled:cursor-not-allowed;
  }
  .button-purple:disabled svg {
    @apply inline-block;
  }
  .button-outlined {
    @apply bg-transparent text-gray-500 hover:text-black border-gray-75 hover:border-black border-2 transition-colors;
  }
  .button-outlined svg {
    @apply transition-colors;
  }
  .button-outlined:hover svg {
    @apply text-purple-500 border-black;
  }
  .button-outlined-white {
    @apply bg-transparent text-white hover:bg-white hover:text-black border-white hover:border-white border-2 transition-colors;
  }
  .button-secondary {
    @apply bg-transparent text-black hover:text-white border-black hover:bg-black border-2 transition-colors;
  }
  .button-secondary svg {
    @apply text-purple-500;
  }
  .button-secondary:hover svg {
    @apply text-purple-200;
  }
  .button-checkbox input:checked + label {
    @apply text-black border-black;
  }
  .button-checkbox input:checked + label svg {
    @apply text-purple-500;
  }

  .button-selected {
    @apply !border-black !text-black;
  }
  .button-selected svg {
    @apply !text-purple-500;
  }

  .border-gradient-purple {
    border-image-slice: 1;
    border-image-source: linear-gradient(to left, #7f00ff, #b217ff);
  }

  .gradient-purple {
    @apply bg-[#7F00FF];
    @apply bg-gradient-to-l from-[#5327FA] via-[#7F00FF] to-[#B217FF];
  }
  .gradient-purple-opacity-50 {
    @apply bg-[#7F00FF]/50;
    @apply bg-gradient-to-l from-[#5327FA]/50 via-[#7F00FF]/50 to-[#B217FF]/50;
  }
  .gradient-pink {
    @apply bg-pink-500;
    @apply bg-gradient-to-l from-[#B217FF] via-[#D80C96] to-[#F00655];
  }

  .bg-purple-blur {
    @apply bg-center;
    background-image: url(/assets/bg-purple-blur-1-803617cc1f33dd39da78156dd315590decfcd042a4c1d08de12d10c26818c9e9.jpg);
  }
  .bg-purple-blur-alternate {
    @apply bg-center bg-cover;
    background-image: url(/assets/bg-purple-blur-4-115032554f793551de8fef1aca028459567c0bddbed59736f621f93619f0e720.jpg);
  }
  .bg-purple-kezako {
    @apply bg-center bg-cover bg-fixed;
    background-image: url(/assets/bg-purple-blur-6-ca400fb96be8b1252797151c549711492a7be13910ff90f77706471f326636a3.jpg);
  }
  .bg-purple-kezako-alternate {
    @apply bg-center bg-cover bg-fixed;
    background-image: url(/assets/bg-purple-blur-8-e37e67a44635cee5f277bcfb71730e8350c351c356a2e5ee43af5c68e679d166.jpg);
  }

  .polygon-card-big-thumbnail:before {
    @apply content-[""] block absolute top-0 bottom-0 right-0 left-0;
  }
  @media (min-width: 640px) {
    .polygon-card-big-thumbnail:before {
      clip-path: polygon(0 1.5rem, 100% 0, 100% 100%, 0 calc(100% - 1.5rem));
    }
    .polygon-card-big-thumbnail--left:before {
      clip-path: polygon(0 0, 100% 1.5rem, 100% calc(100% - 1.5rem), 0 100%);
    }
  }
  @media (max-width: 639px) {
    .polygon-card-big-thumbnail {
      width: 100%;
    }
    .polygon-card-big-thumbnail:before {
      clip-path: polygon(0 0, 100% 0, 100% 100%, 0 calc(100% - 1.5rem));
    }
  }
  .polygon-card-spectacle-with-recap:before {
    @apply content-[""] block absolute top-0 bottom-0 right-0 -left-[1.5rem] bg-white text-black lg:group-hover:!bg-black lg:group-hover:!text-white;
    clip-path: polygon(0 0, 100% 0, 100% 100%, 1.5rem 100%);
  }
  .polygon-card-data:hover:before {
    clip-path: polygon(0 0, 100% 1.5rem, 100% calc(100% - 1.5rem), 0 100%);
  }
  .polygon-card-data:before {
    @apply content-[""] block absolute top-0 bottom-0 right-0 left-0 bg-center bg-cover transition-all;
    clip-path: polygon(0 1.5rem, 100% 0, 100% 100%, 0 calc(100% - 1.5rem));
    background-image: url(/assets/bg-purple-blur-2-829e430599d95f561e37096ab1d8870032f1a2674d3d0ab166320e5758ef4fb9.jpg);
  }
  .polygon-card-game:hover:before {
    clip-path: polygon(3.5rem 0, 100% 0, 100% 100%, 0 100%);
  }
  .polygon-card-game:before {
    @apply bg-none content-[""] block absolute top-0 bottom-0 right-0 -left-[3.5rem] bg-center bg-cover transition-all;
    clip-path: polygon(0 0, 100% 0, 100% 100%, 3.5rem 100%);
    background-image: url(/assets/bg-purple-blur-3-03d615e0289b104636c01cf7e5286c1209f8fdbe9786e5419c4ac8753f00e68f.jpg);
  }
  .polygon-card-game-small-screen {
    @apply bg-center bg-cover;
    background-image: url(/assets/bg-purple-blur-3-03d615e0289b104636c01cf7e5286c1209f8fdbe9786e5419c4ac8753f00e68f.jpg);
  }
  .polygon-search-category:before {
    @apply content-[""] block absolute bg-white;
  }
  @media (min-width: 1024px) {
    .polygon-search-category:before {
      @apply top-0 -bottom-0 right-0 left-0;
      clip-path: polygon(0 0, 100% 0, 100% 100%, 100px 100%);
    }
  }
  @media (max-width: 1023px) {
    .polygon-search-category:before {
      @apply -top-12 h-12 -right-[150px] -left-[150px];
      clip-path: polygon(0 100%, 100% 0, 100% 100%);
    }
  }

  .loterie {
    @apply bg-cover;
    background-image: url(/assets/bg-loterie-54205dc107074c7ed490320301b89cd0971b9cef0ebd866cd6c44ea58939de80.jpg);
  }

  .polygon-card-show {
    @apply p-8 text-center relative;
  }
  .polygon-card-show:before {
    @apply bg-none content-[""] block absolute top-0 bottom-0 right-0  bg-center bg-cover;
    background-image: url(/assets/bg-purple-blur-3-03d615e0289b104636c01cf7e5286c1209f8fdbe9786e5419c4ac8753f00e68f.jpg);
  }
  @media (min-width: 1024px) {
    .polygon-card-show {
      @apply flex items-center justify-center w-[328px] translate-y-4;
    }
    .polygon-card-show:before {
      @apply -left-[3.5rem];
      clip-path: polygon(0 0, 100% 0, 100% 100%, 3.5rem 100%);
    }
  }
  @media (max-width: 1023px) {
    .polygon-card-show {
      @apply relative pt-[3rem] -mt-[1.5rem];
    }
    .polygon-card-show:before {
      @apply left-0;
      clip-path: polygon(0 1.5rem, 100% 0, 100% 100%, 0 100%);
    }
  }

  .polygon-card-map {
    @apply p-8 text-center;
  }
  .polygon-card-map:before {
    @apply bg-black content-[""] block absolute top-0 bottom-0 right-0;
  }
  @media (min-width: 1024px) {
    .polygon-card-map {
      @apply absolute flex items-center justify-center right-0 top-0 -bottom-0 w-[328px];
    }
    .polygon-card-map:before {
      @apply -left-[3.5rem];
      clip-path: polygon(0 0, 100% 0, 100% 100%, 3.5rem 100%);
    }
  }
  @media (max-width: 1023px) {
    .polygon-card-map {
      @apply relative pt-[3rem] -mt-[1.5rem];
    }
    .polygon-card-map:before {
      @apply left-0;
      clip-path: polygon(0 1.5rem, 100% 0, 100% 100%, 0 100%);
    }
  }

  .line-clamp-1 {
    overflow: hidden;
    display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 1;
  }
  .line-clamp-2 {
    overflow: hidden;
    display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
  }
  .line-clamp-3 {
    overflow: hidden;
    display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 3;
  }
  .line-clamp-4 {
    overflow: hidden;
    display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 4;
  }

  .header-nav {
    grid-template-rows: 1fr;
  }
  @media (max-width: 1023px) {
    .header-nav {
      grid-template-rows: auto 1fr auto;
      grid-template-areas: 'logo navTablet actions' 'nav nav nav';
    }
  }
  @media (min-width: 1024px) {
    .header-nav {
      grid-template-columns: 16.667% 1fr 16.667%;
      grid-template-areas: 'logo nav actions';
    }
  }
  .header-nav__logo {
    grid-area: logo;
  }
  .header-nav__nav {
    grid-area: nav;
  }
  .header-nav__nav-tablet {
    grid-area: navTablet;
  }
  .header-nav__actions {
    grid-area: actions;
  }

  .shadow-to-top {
    box-shadow: 0 -5px 6px -1px #0000001a, 0 2px 4px -2px #0000001a;
  }

  .img-shadow {
    @apply relative inline-block;
  }
  .img-shadow img {
    @apply relative;
  }
  .img-shadow:before {
    @apply content-[""] block absolute top-2 -bottom-4 -right-2 left-2 bg-[#cbcbcb];
    clip-path: polygon(0 0, 100% 0, 100% calc(100% - 0.5rem), 0 100%);
  }
  .shopping-funnel-grid {
    @apply container py-8 grid gap-4 md:gap-6;
    grid-template-columns: 1fr;
    grid-template-rows: 1fr;
    grid-template-areas: 'header' 'map' 'places';
  }
  @media (min-width: 768px) {
    .shopping-funnel-grid {
      grid-template-columns: 1fr 1fr 1fr;
      grid-template-areas: 'header header map' 'places places map';
    }
  }
  .shopping-funnel-grid__header {
    grid-area: header;
  }
  .shopping-funnel-grid__map {
    grid-area: map;
  }
  .shopping-funnel-grid__places {
    grid-area: places;
  }
  .shadow-search-nav-bottom {
    box-shadow: 0 2px 12px 0 rgba(0, 0, 0, 0.16);
  }
  .text-bg-img-1 {
    @apply bg-cover bg-center;
    background-image: url(/assets/bg-purple-blur-5-742292b4476d0d58bcb039bb16aa4042d9cce9f6dd35ce877e26b7bc4a051716.jpg);
    -webkit-text-fill-color: transparent;
    -webkit-background-clip: text;
  }
  .text-bg-img-2 {
    @apply bg-cover bg-center;
    background-image: url(/assets/bg-purple-blur-7-bb64844eeb8c348e895109a992968841a5350d3f0d8636b355ebf5cf78420782.jpg);
    -webkit-text-fill-color: transparent;
    -webkit-background-clip: text;
  }
  .text-bg-img-3 {
    @apply bg-cover bg-center;
    background-image: url(/assets/bg-space-040cb8a9290ffc7d28751ce81d49520211eeb8b363f44e5c1c5fa3b730d092e0.jpg);
    -webkit-text-fill-color: transparent;
    -webkit-background-clip: text;
  }
  @media (min-width: 768px) {
    .bg-faces {
      @apply bg-center bg-contain bg-no-repeat;
      background-image: url(/assets/faces-1254ab48de5580238a655b68b5b669cbc6aabda2c46998ce92bbc78e90857519.jpg);
    }
  }
  .swiper-slide {
    height: auto;
  }
  .links-highlighted a {
    color: #5327fa !important;
    font-weight: 500 !important;
  }
  .grecaptcha-badge {
    display: none !important;
  }
}

.treadmill {
  @apply -mx-5;
  @apply flex;
  @apply px-3 md:px-2;
  overflow-x: auto;
  overflow-y: hidden;
  overflow-scrolling: touch;
  user-select: none;
  scroll-behavior: smooth;
  scroll-snap-type: x mandatory;
  container-type: scroll-state;

  /* Masquer la scrollbar sur desktop */
  @screen md {
    scrollbar-width: none;
    -ms-overflow-style: none;

    &::-webkit-scrollbar {
      display: none;
    }
  }

  &::before,
  &::after {
    content: '';
    position: absolute;
    top: 0;
    bottom: 0;
    z-index: 1;
    border: 0;
    width: 1.25rem;
    padding: 0;
    transition: all 0.2s ease-in-out;
    flex-shrink: 0;
  }

  &::before {
    left: -1.25rem;
    border-left: 1px solid rgba(0, 0, 0, 0.3);
    box-shadow: inset 1rem 0 1rem -1rem rgba(0, 0, 0, 0.25);
  }

  &::after {
    right: -1.25rem;
    border-right: 1px solid rgba(0, 0, 0, 0.3);
    box-shadow: inset -1rem 0 1rem -1rem rgba(0, 0, 0, 0.25);
  }

  &::scroll-button(*) {
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    z-index: 1;
    border: 0;
    width: 2.5rem;
    height: 2.5rem;
    padding: 0;
    background-color: rgba(255, 255, 255, 0.9);
    transition: all 0.2s ease-in-out;
    font-size: 1.75rem;
    color: theme('colors.purple.500');
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 9999px;
    box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1);
    line-height: 1;
  }

  &::scroll-button(left) {
    content: '<';
    right: calc(100% - 2rem);
  }

  &::scroll-button(right) {
    content: '>';
    left: calc(100% - 2rem);
  }

  &::scroll-button(*):hover {
    color: theme('colors.fuchsia.500');
    background-color: rgba(255, 255, 255, 1);
  }

  &::scroll-button(*):disabled {
    opacity: 0;
  }
}

@container not scroll-state(scrollable: left) {
  .treadmill::before {
    @apply opacity-0;
  }
}

@container not scroll-state(scrollable: right) {
  .treadmill::after {
    @apply opacity-0;
  }
}

.treadmill-item {
  @apply flex-shrink-0;
  @apply px-2 md:px-3;
  scroll-snap-align: end;
  scroll-margin-left: theme('spacing.3');

  &:first-child {
    scroll-snap-align: start;
  }

  @screen md {
    scroll-margin-left: theme('spacing.2');
  }
}

.bg-abstract {
  --abstract-hover: 0px;
  position: absolute;
  inset: 0;
  background-color: currentColor;
  background-image: linear-gradient(-45deg, hsl(from currentColor calc(h + 10) calc(s) calc(l)) 50%, transparent 50%);

  &:before {
    content: '';
    position: absolute;
    inset: 0;
    background-color: hsl(from currentColor calc(h + 70) calc(s) calc(l + 10) / 30%);
    transform: skew(-45deg) translate(calc(79px), calc(170px + var(--abstract-hover))) scaleX(0.3);
    box-shadow: -586px -324px 0 27px hsl(from currentColor calc(h + -31) calc(s) calc(l + 10) / 20%);
    transition: all 1s ease-in-out;
  }

  &:after {
    content: '';
    position: absolute;
    inset: 0;
    background-color: hsl(from currentColor calc(h + 10) calc(s) calc(l + 10) / 30%);
    transform: skew(-45deg) translate(calc(-18px), calc(41px - var(--abstract-hover))) scaleX(0.5);
    box-shadow: 376px -49px 0 -17px hsl(from currentColor calc(h + 49) calc(s + -10) calc(l + 22) / 12%);
    transition: all 1.5s ease-in-out;
  }

  .group:hover & {
    --abstract-hover: -20px;
  }
}

.mask-bam {
  object-fit: cover;
  aspect-ratio: 120 / 80;
  clip-path: polygon(0 13%, 100% 0, 88% 100%, 7% 92%);
}

.carousel {
  --carousel-duration: 25s;
  display: flex;
  overflow: hidden;
  padding: 20px 0;

  &:hover {
    .carousel-item {
      animation-play-state: paused;
    }
  }
}

.carousel-item {
  flex-shrink: 0;
  animation: carousel calc(var(--carousel-duration) * var(--carousel-length)) linear infinite both;
  animation-delay: calc(var(--carousel-duration) * (var(--carousel-position) + 1) * -1);
  will-change: transform;
}

@keyframes carousel {
  0% {
    transform: translateX(calc((var(--carousel-position) + 1) * -100%));
  }

  100% {
    transform: translateX(calc((var(--carousel-length) - (var(--carousel-position) + 1)) * 100%));
  }
}
/*


 */
