/*! name: vanilla-calendar-pro | url: https://github.com/uvarov-frontend/vanilla-calendar-pro */
.vanilla-calendar{position:relative;box-sizing:border-box;display:flex;width:300px;min-width:272px;max-width:100%;flex-direction:column;border-radius:.75rem;padding:1rem;opacity:1;transition-property:opacity;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}@supports ((width: -moz-max-content) or (width: max-content)) and ((height: -moz-max-content) or (height: max-content)){.vanilla-calendar{height:-moz-max-content;height:max-content;width:-moz-max-content;width:max-content}}.vanilla-calendar_multiple{width:550px}@supports ((width: -moz-fit-content) or (width: fit-content)){.vanilla-calendar_multiple{width:-moz-fit-content;width:fit-content}}.vanilla-calendar button:focus-visible{border-radius:.5rem;outline-style:solid;outline-width:1px}.vanilla-calendar.vanilla-calendar_multiple .vanilla-calendar-days{flex-grow:0}.vanilla-calendar_hidden{pointer-events:none;opacity:0}.vanilla-calendar_hidden *{pointer-events:none!important}.vanilla-calendar_to-input{position:absolute}.vanilla-calendar_to-input_bottom{margin-top:.25rem}.vanilla-calendar_to-input_top{margin-top:-.25rem}.vanilla-calendar-controls{pointer-events:none;position:absolute;left:0;right:0;top:0;z-index:20;box-sizing:content-box;display:flex;align-items:center;justify-content:space-between;padding-left:1rem;padding-right:1rem;padding-top:1.25rem}.vanilla-calendar-arrow{pointer-events:auto;position:relative;display:block;height:1.5rem;width:1.5rem;cursor:pointer;border-width:0px;background-color:transparent}.vanilla-calendar-arrow:before{position:absolute;left:0;top:0;height:100%;width:100%;--tw-content: "";content:var(--tw-content)}.vanilla-calendar-arrow.vanilla-calendar-arrow_prev:before{transform:rotate(90deg)}.vanilla-calendar-arrow.vanilla-calendar-arrow_next:before{transform:rotate(-90deg)}.vanilla-calendar-grid{display:flex;flex-grow:1;flex-wrap:wrap;justify-content:center;gap:1.75rem}.vanilla-calendar-grid.vanilla-calendar-grid_disabled .vanilla-calendar-column{pointer-events:none;opacity:.3}.vanilla-calendar-grid.vanilla-calendar-grid_disabled .vanilla-calendar-column.vanilla-calendar-column_month,.vanilla-calendar-grid.vanilla-calendar-grid_disabled .vanilla-calendar-column.vanilla-calendar-column_year{pointer-events:auto;opacity:1}.vanilla-calendar-column{display:flex;min-width:-moz-min-content;min-width:min-content;flex-direction:column}.vanilla-calendar-header{position:relative;margin-bottom:.75rem;display:flex;align-items:center}.vanilla-calendar-header__content{display:grid;flex-grow:1;grid-auto-columns:max-content;grid-auto-flow:column;align-items:center;justify-content:center;white-space:pre-wrap;padding-left:1rem;padding-right:1rem}.vanilla-calendar-month,.vanilla-calendar-year{cursor:pointer;border-radius:.25rem;border-width:0px;background-color:transparent;padding:.25rem;font-size:1rem;line-height:1.5rem;font-weight:700}.vanilla-calendar-month.vanilla-calendar-month_disabled,.vanilla-calendar-year.vanilla-calendar-year_disabled{pointer-events:none}.vanilla-calendar-months{display:grid;flex-grow:1;grid-template-columns:repeat(4,minmax(0,1fr));align-items:center;row-gap:1rem;-moz-column-gap:.5rem;column-gap:.5rem}.vanilla-calendar-years{display:grid;flex-grow:1;grid-template-columns:repeat(5,minmax(0,1fr));align-items:center;row-gap:1rem;-moz-column-gap:.5rem;column-gap:.5rem}.vanilla-calendar-months_selecting .vanilla-calendar-months__month,.vanilla-calendar-years_selecting .vanilla-calendar-years__year{cursor:pointer}.vanilla-calendar-months_selecting .vanilla-calendar-months__month .vanilla-calendar-months__month_disabled,.vanilla-calendar-years_selecting .vanilla-calendar-years__year .vanilla-calendar-years__year_disabled{cursor:default}.vanilla-calendar-months__month,.vanilla-calendar-years__year{display:flex;height:2.5rem;align-items:center;justify-content:center;word-break:break-all;border-radius:.5rem;border-width:0px;padding:.25rem;text-align:center;font-size:.75rem;line-height:1rem;font-weight:600}.vanilla-calendar-months__month.vanilla-calendar-months__month_disabled,.vanilla-calendar-years__year.vanilla-calendar-years__year_disabled{pointer-events:none}.vanilla-calendar-week-numbers{display:flex;flex-direction:column}.vanilla-calendar-week-numbers__title{margin-bottom:.5rem;display:flex;align-items:center;justify-content:center;font-size:.75rem;line-height:1rem;font-weight:700}.vanilla-calendar-week-numbers__content{display:grid;grid-auto-flow:row;align-items:center;justify-items:center;row-gap:.25rem}.vanilla-calendar-week-number{margin:0;display:flex;min-height:1.875rem;width:100%;min-width:1.875rem;cursor:pointer;align-items:center;justify-content:center;border-style:none;background-color:transparent;padding:0;font-size:.75rem;line-height:1rem;font-weight:600}.vanilla-calendar-wrapper{display:flex;flex-grow:1}.vanilla-calendar-content{display:flex;flex-grow:1;flex-direction:column}.vanilla-calendar-week{margin-bottom:.5rem;display:grid;grid-template-columns:repeat(7,1fr);justify-items:center}.vanilla-calendar-week__day{display:flex;width:100%;min-width:1.875rem;align-items:center;justify-content:center;font-size:.75rem;line-height:1rem;font-weight:700}.vanilla-calendar-days{display:grid;flex-grow:1;grid-template-columns:repeat(7,1fr);align-items:center;justify-items:center;row-gap:.25rem}.vanilla-calendar-days_selecting .vanilla-calendar-day__btn{cursor:pointer;transition-property:all;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:75ms}.vanilla-calendar-days_selecting .vanilla-calendar-day__btn_disabled{cursor:default}.vanilla-calendar-day{position:relative;display:flex;width:100%;align-items:center;justify-content:center}.vanilla-calendar-day_hover-intermediate .vanilla-calendar-day__btn{border-radius:0}.vanilla-calendar-day_hover-first .vanilla-calendar-day__btn{border-top-right-radius:0;border-bottom-right-radius:0;border-top-left-radius:.5rem;border-bottom-left-radius:.5rem}.vanilla-calendar-day_hover-last .vanilla-calendar-day__btn{border-top-left-radius:0;border-bottom-left-radius:0;border-top-right-radius:.5rem;border-bottom-right-radius:.5rem}.vanilla-calendar-day_hover-first.vanilla-calendar-day_hover-last .vanilla-calendar-day__btn{border-radius:.5rem}.vanilla-calendar-day:focus-visible .vanilla-calendar-day__popup,.vanilla-calendar-day:hover .vanilla-calendar-day__popup{pointer-events:auto;opacity:1}.vanilla-calendar-day_selected-first .vanilla-calendar-day__btn_selected{border-top-right-radius:0;border-bottom-right-radius:0;border-top-left-radius:.5rem;border-bottom-left-radius:.5rem}.vanilla-calendar-day_selected-last .vanilla-calendar-day__btn_selected{border-top-left-radius:0;border-bottom-left-radius:0;border-top-right-radius:.5rem;border-bottom-right-radius:.5rem}.vanilla-calendar-day_selected-first.vanilla-calendar-day_selected-last .vanilla-calendar-day__btn_selected{border-radius:.5rem}.vanilla-calendar-day_selected-intermediate .vanilla-calendar-day__btn_selected{border-radius:0}.vanilla-calendar-day__btn{display:flex;height:100%;min-height:1.875rem;width:100%;min-width:1.875rem;cursor:default;align-items:center;justify-content:center;border-radius:.5rem;border-width:0px;padding:0;font-size:.75rem;line-height:1rem;font-weight:400}.vanilla-calendar-day__btn_today{font-weight:700}.vanilla-calendar-day__btn_disabled{pointer-events:none}.vanilla-calendar-day__popup{transform:translate(-50%);pointer-events:none;position:absolute;left:50%;top:100%;z-index:20;width:8rem;padding:1rem .75rem .5rem;font-size:.75rem;line-height:1rem;font-weight:400;opacity:0}.vanilla-calendar-day__popup:before{content:var(--tw-content);position:absolute}.vanilla-calendar-day__popup:after{content:var(--tw-content);position:absolute}.vanilla-calendar-day__popup:hover{pointer-events:auto;opacity:1}.vanilla-calendar-day__popup:before{content:"";left:0;bottom:0;z-index:-10;display:block;height:calc(100% - 8px);width:100%;border-radius:.5rem}.vanilla-calendar-day__popup:after{content:"";transform:translate(-50%);left:50%;top:1px;z-index:-10;display:block;height:0px;width:0px;border-left-width:8px;border-right-width:8px;border-top-width:0px;border-bottom-width:8px;border-style:solid;border-left-color:transparent;border-right-color:transparent;border-top-color:transparent}.vanilla-calendar-time{margin-top:.75rem;display:grid;grid-template-columns:auto 1fr;gap:.75rem;border-top-width:1px;border-bottom-width:0px;border-left-width:0px;border-right-width:0px;border-style:solid;padding-top:.75rem}.vanilla-calendar-time__content{display:grid;grid-auto-flow:column;align-items:center}.vanilla-calendar-time__hours{position:relative;margin-right:.35rem;width:1.75rem}.vanilla-calendar-time__hours:after{position:absolute;right:-5px;top:50%;margin-top:calc(-50% + 1px);display:block;--tw-content: ":";content:var(--tw-content)}.vanilla-calendar-time__minutes{width:1.75rem}.vanilla-calendar-time__hours input,.vanilla-calendar-time__minutes input{position:relative;margin:0;box-sizing:border-box;display:block;width:100%;border-radius:.25rem;border-width:0px;padding:.125rem;text-align:center;font-size:1.125rem;font-weight:600;line-height:1.125rem}.vanilla-calendar-time__hours input:focus-visible,.vanilla-calendar-time__minutes input:focus-visible{outline-style:solid;outline-width:1px}.vanilla-calendar-time__hours input:disabled,.vanilla-calendar-time__minutes input:disabled{cursor:default}.vanilla-calendar-time__hours input:hover:disabled,.vanilla-calendar-time__minutes input:hover:disabled{background-color:transparent}.vanilla-calendar-time__keeping{margin-left:1px;margin-top:.25rem;width:22px;cursor:pointer;border-radius:.25rem;border-width:0px;background-color:transparent;padding:0;font-size:.69rem}.vanilla-calendar-time__keeping:focus-visible{outline-style:solid;outline-width:1px}.vanilla-calendar-time__keeping:disabled{cursor:default}.vanilla-calendar-time__keeping:hover:disabled{background-color:transparent}.vanilla-calendar-time__ranges{display:grid;grid-auto-flow:row}.vanilla-calendar-time__range{position:relative;z-index:10;font-size:0}.vanilla-calendar-time__range:before{content:var(--tw-content);left:0}.vanilla-calendar-time__range:after{content:var(--tw-content);right:0}.vanilla-calendar-time__range:before,.vanilla-calendar-time__range:after{content:"";transform:translateY(-50%);pointer-events:none;position:absolute;top:50%;z-index:10;height:.5rem;width:1px}.vanilla-calendar-time__range input{position:relative;margin:0;height:1.25rem;width:100%;cursor:pointer;-webkit-appearance:none;-moz-appearance:none;appearance:none;outline-width:0px}.vanilla-calendar-time__range input::-webkit-slider-thumb{position:relative;z-index:20;margin-top:-.5rem;box-sizing:border-box;height:1rem;width:.75rem;cursor:pointer;-webkit-appearance:none;appearance:none;border-radius:.25rem;border-width:1px;border-style:solid;--tw-shadow: 0 0 #0000;--tw-shadow-colored: 0 0 #0000;box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.vanilla-calendar-time__range input::-moz-range-thumb{position:relative;z-index:20;box-sizing:border-box;height:1rem;width:.75rem;cursor:pointer;border-radius:.25rem;border-width:1px;border-style:solid;--tw-shadow: 0 0 #0000;--tw-shadow-colored: 0 0 #0000;box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.vanilla-calendar-time__range input::-webkit-slider-runnable-track{margin-top:1px;box-sizing:border-box;height:1px;width:100%;cursor:pointer;--tw-shadow: 0 0 #0000;--tw-shadow-colored: 0 0 #0000;box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.vanilla-calendar-time__range input::-moz-range-track{margin-top:1px;box-sizing:border-box;height:1px;width:100%;cursor:pointer;--tw-shadow: 0 0 #0000;--tw-shadow-colored: 0 0 #0000;box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}

/*
! tailwindcss v3.4.1 | MIT License | https://tailwindcss.com
*/
/*
1. Prevent padding and border from affecting element width. (https://github.com/mozdevs/cssremedy/issues/4)
2. Allow adding a border to an element by just adding a border-width. (https://github.com/tailwindcss/tailwindcss/pull/116)
*/
*,
::before,
::after {
  box-sizing: border-box; /* 1 */
  border-width: 0; /* 2 */
  border-style: solid; /* 2 */
  border-color: currentColor; /* 2 */
}
::before,
::after {
  --tw-content: '';
}
/*
1. Use a consistent sensible line-height in all browsers.
2. Prevent adjustments of font size after orientation changes in iOS.
3. Use a more readable tab size.
4. Use the user's configured `sans` font-family by default.
5. Use the user's configured `sans` font-feature-settings by default.
6. Use the user's configured `sans` font-variation-settings by default.
7. Disable tap highlights on iOS
*/
html,
:host {
  line-height: 1.5; /* 1 */
  -webkit-text-size-adjust: 100%; /* 2 */
  -moz-tab-size: 4; /* 3 */
  -o-tab-size: 4;
     tab-size: 4; /* 3 */
  font-family: ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji"; /* 4 */
  font-feature-settings: normal; /* 5 */
  font-variation-settings: normal; /* 6 */
  -webkit-tap-highlight-color: transparent; /* 7 */
}
/*
1. Remove the margin in all browsers.
2. Inherit line-height from `html` so users can set them as a class directly on the `html` element.
*/
body {
  margin: 0; /* 1 */
  line-height: inherit; /* 2 */
}
/*
1. Add the correct height in Firefox.
2. Correct the inheritance of border color in Firefox. (https://bugzilla.mozilla.org/show_bug.cgi?id=190655)
3. Ensure horizontal rules are visible by default.
*/
hr {
  height: 0; /* 1 */
  color: inherit; /* 2 */
  border-top-width: 1px; /* 3 */
}
/*
Add the correct text decoration in Chrome, Edge, and Safari.
*/
abbr:where([title]) {
  -webkit-text-decoration: underline dotted;
          text-decoration: underline dotted;
}
/*
Remove the default font size and weight for headings.
*/
h1,
h2,
h3,
h4,
h5,
h6 {
  font-size: inherit;
  font-weight: inherit;
}
/*
Reset links to optimize for opt-in styling instead of opt-out.
*/
a {
  color: inherit;
  text-decoration: inherit;
}
/*
Add the correct font weight in Edge and Safari.
*/
b,
strong {
  font-weight: bolder;
}
/*
1. Use the user's configured `mono` font-family by default.
2. Use the user's configured `mono` font-feature-settings by default.
3. Use the user's configured `mono` font-variation-settings by default.
4. Correct the odd `em` font sizing in all browsers.
*/
code,
kbd,
samp,
pre {
  font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace; /* 1 */
  font-feature-settings: normal; /* 2 */
  font-variation-settings: normal; /* 3 */
  font-size: 1em; /* 4 */
}
/*
Add the correct font size in all browsers.
*/
small {
  font-size: 80%;
}
/*
Prevent `sub` and `sup` elements from affecting the line height in all browsers.
*/
sub,
sup {
  font-size: 75%;
  line-height: 0;
  position: relative;
  vertical-align: baseline;
}
sub {
  bottom: -0.25em;
}
sup {
  top: -0.5em;
}
/*
1. Remove text indentation from table contents in Chrome and Safari. (https://bugs.chromium.org/p/chromium/issues/detail?id=999088, https://bugs.webkit.org/show_bug.cgi?id=201297)
2. Correct table border color inheritance in all Chrome and Safari. (https://bugs.chromium.org/p/chromium/issues/detail?id=935729, https://bugs.webkit.org/show_bug.cgi?id=195016)
3. Remove gaps between table borders by default.
*/
table {
  text-indent: 0; /* 1 */
  border-color: inherit; /* 2 */
  border-collapse: collapse; /* 3 */
}
/*
1. Change the font styles in all browsers.
2. Remove the margin in Firefox and Safari.
3. Remove default padding in all browsers.
*/
button,
input,
optgroup,
select,
textarea {
  font-family: inherit; /* 1 */
  font-feature-settings: inherit; /* 1 */
  font-variation-settings: inherit; /* 1 */
  font-size: 100%; /* 1 */
  font-weight: inherit; /* 1 */
  line-height: inherit; /* 1 */
  color: inherit; /* 1 */
  margin: 0; /* 2 */
  padding: 0; /* 3 */
}
/*
Remove the inheritance of text transform in Edge and Firefox.
*/
button,
select {
  text-transform: none;
}
/*
1. Correct the inability to style clickable types in iOS and Safari.
2. Remove default button styles.
*/
button,
[type='button'],
[type='reset'],
[type='submit'] {
  -webkit-appearance: button; /* 1 */
  background-color: transparent; /* 2 */
  background-image: none; /* 2 */
}
/*
Use the modern Firefox focus style for all focusable elements.
*/
:-moz-focusring {
  outline: auto;
}
/*
Remove the additional `:invalid` styles in Firefox. (https://github.com/mozilla/gecko-dev/blob/2f9eacd9d3d995c937b4251a5557d95d494c9be1/layout/style/res/forms.css#L728-L737)
*/
:-moz-ui-invalid {
  box-shadow: none;
}
/*
Add the correct vertical alignment in Chrome and Firefox.
*/
progress {
  vertical-align: baseline;
}
/*
Correct the cursor style of increment and decrement buttons in Safari.
*/
::-webkit-inner-spin-button,
::-webkit-outer-spin-button {
  height: auto;
}
/*
1. Correct the odd appearance in Chrome and Safari.
2. Correct the outline style in Safari.
*/
[type='search'] {
  -webkit-appearance: textfield; /* 1 */
  outline-offset: -2px; /* 2 */
}
/*
Remove the inner padding in Chrome and Safari on macOS.
*/
::-webkit-search-decoration {
  -webkit-appearance: none;
}
/*
1. Correct the inability to style clickable types in iOS and Safari.
2. Change font properties to `inherit` in Safari.
*/
::-webkit-file-upload-button {
  -webkit-appearance: button; /* 1 */
  font: inherit; /* 2 */
}
/*
Add the correct display in Chrome and Safari.
*/
summary {
  display: list-item;
}
/*
Removes the default spacing and border for appropriate elements.
*/
blockquote,
dl,
dd,
h1,
h2,
h3,
h4,
h5,
h6,
hr,
figure,
p,
pre {
  margin: 0;
}
fieldset {
  margin: 0;
  padding: 0;
}
legend {
  padding: 0;
}
ol,
ul,
menu {
  list-style: none;
  margin: 0;
  padding: 0;
}
/*
Reset default styling for dialogs.
*/
dialog {
  padding: 0;
}
/*
Prevent resizing textareas horizontally by default.
*/
textarea {
  resize: vertical;
}
/*
1. Reset the default placeholder opacity in Firefox. (https://github.com/tailwindlabs/tailwindcss/issues/3300)
2. Set the default placeholder color to the user's configured gray 400 color.
*/
input::-moz-placeholder, textarea::-moz-placeholder {
  opacity: 1; /* 1 */
  color: #9ca3af; /* 2 */
}
input::placeholder,
textarea::placeholder {
  opacity: 1; /* 1 */
  color: #9ca3af; /* 2 */
}
/*
Set the default cursor for buttons.
*/
button,
[role="button"] {
  cursor: pointer;
}
/*
Make sure disabled buttons don't get the pointer cursor.
*/
:disabled {
  cursor: default;
}
/*
1. Make replaced elements `display: block` by default. (https://github.com/mozdevs/cssremedy/issues/14)
2. Add `vertical-align: middle` to align replaced elements more sensibly by default. (https://github.com/jensimmons/cssremedy/issues/14#issuecomment-634934210)
   This can trigger a poorly considered lint error in some tools but is included by design.
*/
img,
svg,
video,
canvas,
audio,
iframe,
embed,
object {
  display: block; /* 1 */
  vertical-align: middle; /* 2 */
}
/*
Constrain images and videos to the parent width and preserve their intrinsic aspect ratio. (https://github.com/mozdevs/cssremedy/issues/14)
*/
img,
video {
  max-width: 100%;
  height: auto;
}
/* Make elements with the HTML hidden attribute stay hidden by default */
[hidden] {
  display: none;
}
*, ::before, ::after{
  --tw-border-spacing-x: 0;
  --tw-border-spacing-y: 0;
  --tw-translate-x: 0;
  --tw-translate-y: 0;
  --tw-rotate: 0;
  --tw-skew-x: 0;
  --tw-skew-y: 0;
  --tw-scale-x: 1;
  --tw-scale-y: 1;
  --tw-pan-x:  ;
  --tw-pan-y:  ;
  --tw-pinch-zoom:  ;
  --tw-scroll-snap-strictness: proximity;
  --tw-gradient-from-position:  ;
  --tw-gradient-via-position:  ;
  --tw-gradient-to-position:  ;
  --tw-ordinal:  ;
  --tw-slashed-zero:  ;
  --tw-numeric-figure:  ;
  --tw-numeric-spacing:  ;
  --tw-numeric-fraction:  ;
  --tw-ring-inset:  ;
  --tw-ring-offset-width: 0px;
  --tw-ring-offset-color: #fff;
  --tw-ring-color: rgb(59 130 246 / 0.5);
  --tw-ring-offset-shadow: 0 0 #0000;
  --tw-ring-shadow: 0 0 #0000;
  --tw-shadow: 0 0 #0000;
  --tw-shadow-colored: 0 0 #0000;
  --tw-blur:  ;
  --tw-brightness:  ;
  --tw-contrast:  ;
  --tw-grayscale:  ;
  --tw-hue-rotate:  ;
  --tw-invert:  ;
  --tw-saturate:  ;
  --tw-sepia:  ;
  --tw-drop-shadow:  ;
  --tw-backdrop-blur:  ;
  --tw-backdrop-brightness:  ;
  --tw-backdrop-contrast:  ;
  --tw-backdrop-grayscale:  ;
  --tw-backdrop-hue-rotate:  ;
  --tw-backdrop-invert:  ;
  --tw-backdrop-opacity:  ;
  --tw-backdrop-saturate:  ;
  --tw-backdrop-sepia:  ;
}
::backdrop{
  --tw-border-spacing-x: 0;
  --tw-border-spacing-y: 0;
  --tw-translate-x: 0;
  --tw-translate-y: 0;
  --tw-rotate: 0;
  --tw-skew-x: 0;
  --tw-skew-y: 0;
  --tw-scale-x: 1;
  --tw-scale-y: 1;
  --tw-pan-x:  ;
  --tw-pan-y:  ;
  --tw-pinch-zoom:  ;
  --tw-scroll-snap-strictness: proximity;
  --tw-gradient-from-position:  ;
  --tw-gradient-via-position:  ;
  --tw-gradient-to-position:  ;
  --tw-ordinal:  ;
  --tw-slashed-zero:  ;
  --tw-numeric-figure:  ;
  --tw-numeric-spacing:  ;
  --tw-numeric-fraction:  ;
  --tw-ring-inset:  ;
  --tw-ring-offset-width: 0px;
  --tw-ring-offset-color: #fff;
  --tw-ring-color: rgb(59 130 246 / 0.5);
  --tw-ring-offset-shadow: 0 0 #0000;
  --tw-ring-shadow: 0 0 #0000;
  --tw-shadow: 0 0 #0000;
  --tw-shadow-colored: 0 0 #0000;
  --tw-blur:  ;
  --tw-brightness:  ;
  --tw-contrast:  ;
  --tw-grayscale:  ;
  --tw-hue-rotate:  ;
  --tw-invert:  ;
  --tw-saturate:  ;
  --tw-sepia:  ;
  --tw-drop-shadow:  ;
  --tw-backdrop-blur:  ;
  --tw-backdrop-brightness:  ;
  --tw-backdrop-contrast:  ;
  --tw-backdrop-grayscale:  ;
  --tw-backdrop-hue-rotate:  ;
  --tw-backdrop-invert:  ;
  --tw-backdrop-opacity:  ;
  --tw-backdrop-saturate:  ;
  --tw-backdrop-sepia:  ;
}
.container{
  width: 100%;
}
@media (min-width: 0px){
  .container{
    max-width: 0px;
  }
}
@media (min-width: 640px){
  .container{
    max-width: 640px;
  }
}
@media (min-width: 768px){
  .container{
    max-width: 768px;
  }
}
@media (min-width: 1024px){
  .container{
    max-width: 1024px;
  }
}
@media (min-width: 1280px){
  .container{
    max-width: 1280px;
  }
}
@media (min-width: 1500px){
  .container{
    max-width: 1500px;
  }
}
@media (min-width: 1536px){
  .container{
    max-width: 1536px;
  }
}
.w-col-6 {
    width: calc((var(--width-of-layout) - var(--gap) * (var(--max-columns) - 1)) / var(--max-columns) * 6 + var(--gap) * (6 - 1));
  }
.fcs{
  display: flex;
  align-items: flex-start;
  justify-content: center;
}
.fcc{
  display: flex;
  align-items: center;
  justify-content: center;
}
.fss{
  display: flex;
  align-items: flex-start;
  justify-content: flex-start;
}
.fsc{
  display: flex;
  align-items: center;
  justify-content: flex-start;
}
.fes{
  display: flex;
  align-items: flex-start;
  justify-content: flex-end;
}
.fbc{
  display: flex;
  align-items: center;
  justify-content: space-between;
}
.invisible{
  visibility: hidden;
}
.fixed{
  position: fixed;
}
.absolute{
  position: absolute;
}
.relative{
  position: relative;
}
.inset-0{
  inset: 0rem !important;
}
.left-16{
  left: 1.6rem !important;
}
.top-16{
  top: 1.6rem !important;
}
.z-\[1000\]{
  z-index: 1000;
}
.z-\[1\]{
  z-index: 1;
}
.col-span-1{
  grid-column: span 1 / span 1;
}
.col-span-full{
  grid-column: 1 / -1;
}
.m-l{
  margin: var(--spacing-l) !important;
}
.m-m{
  margin: var(--spacing-m) !important;
}
.m-s{
  margin: var(--spacing-s) !important;
}
.m-xl{
  margin: var(--spacing-xl) !important;
}
.m-xxl{
  margin: var(--spacing-xxl) !important;
}
.m-xxxl{
  margin: var(--spacing-xxxl) !important;
}
.mx-l{
  margin-left: var(--spacing-l) !important;
  margin-right: var(--spacing-l) !important;
}
.mx-m{
  margin-left: var(--spacing-m) !important;
  margin-right: var(--spacing-m) !important;
}
.mx-s{
  margin-left: var(--spacing-s) !important;
  margin-right: var(--spacing-s) !important;
}
.mx-xl{
  margin-left: var(--spacing-xl) !important;
  margin-right: var(--spacing-xl) !important;
}
.mx-xxl{
  margin-left: var(--spacing-xxl) !important;
  margin-right: var(--spacing-xxl) !important;
}
.mx-xxxl{
  margin-left: var(--spacing-xxxl) !important;
  margin-right: var(--spacing-xxxl) !important;
}
.my-200{
  margin-top: 20rem !important;
  margin-bottom: 20rem !important;
}
.my-l{
  margin-top: var(--spacing-l) !important;
  margin-bottom: var(--spacing-l) !important;
}
.my-m{
  margin-top: var(--spacing-m) !important;
  margin-bottom: var(--spacing-m) !important;
}
.my-s{
  margin-top: var(--spacing-s) !important;
  margin-bottom: var(--spacing-s) !important;
}
.my-xl{
  margin-top: var(--spacing-xl) !important;
  margin-bottom: var(--spacing-xl) !important;
}
.my-xxl{
  margin-top: var(--spacing-xxl) !important;
  margin-bottom: var(--spacing-xxl) !important;
}
.my-xxxl{
  margin-top: var(--spacing-xxxl) !important;
  margin-bottom: var(--spacing-xxxl) !important;
}
.-mt-\[\.2rem\]{
  margin-top: -.2rem;
}
.mb-l{
  margin-bottom: var(--spacing-l) !important;
}
.mb-m{
  margin-bottom: var(--spacing-m) !important;
}
.mb-s{
  margin-bottom: var(--spacing-s) !important;
}
.mb-xl{
  margin-bottom: var(--spacing-xl) !important;
}
.mb-xxl{
  margin-bottom: var(--spacing-xxl) !important;
}
.mb-xxxl{
  margin-bottom: var(--spacing-xxxl) !important;
}
.ml-l{
  margin-left: var(--spacing-l) !important;
}
.ml-m{
  margin-left: var(--spacing-m) !important;
}
.ml-s{
  margin-left: var(--spacing-s) !important;
}
.ml-xl{
  margin-left: var(--spacing-xl) !important;
}
.ml-xxl{
  margin-left: var(--spacing-xxl) !important;
}
.ml-xxxl{
  margin-left: var(--spacing-xxxl) !important;
}
.mr-l{
  margin-right: var(--spacing-l) !important;
}
.mr-m{
  margin-right: var(--spacing-m) !important;
}
.mr-s{
  margin-right: var(--spacing-s) !important;
}
.mr-xl{
  margin-right: var(--spacing-xl) !important;
}
.mr-xxl{
  margin-right: var(--spacing-xxl) !important;
}
.mr-xxxl{
  margin-right: var(--spacing-xxxl) !important;
}
.mt-l{
  margin-top: var(--spacing-l) !important;
}
.mt-m{
  margin-top: var(--spacing-m) !important;
}
.mt-s{
  margin-top: var(--spacing-s) !important;
}
.mt-xl{
  margin-top: var(--spacing-xl) !important;
}
.mt-xxl{
  margin-top: var(--spacing-xxl) !important;
}
.mt-xxxl{
  margin-top: var(--spacing-xxxl) !important;
}
.block{
  display: block;
}
.flex{
  display: flex;
}
.table{
  display: table;
}
.grid{
  display: grid;
}
.hidden{
  display: none;
}
.aspect-\[1\/1\]{
  aspect-ratio: 1/1;
}
.aspect-\[11\/7\]{
  aspect-ratio: 11/7;
}
.aspect-\[14\/9\]{
  aspect-ratio: 14/9;
}
.aspect-\[3\/2\]{
  aspect-ratio: 3/2;
}
.aspect-\[3\/4\]{
  aspect-ratio: 3/4;
}
.aspect-\[4\/3\]{
  aspect-ratio: 4/3;
}
.aspect-\[7\/4\]{
  aspect-ratio: 7/4;
}
.h-48{
  height: 4.8rem !important;
}
.h-full{
  height: 100%;
}
.h-l{
  height: var(--spacing-l) !important;
}
.h-m{
  height: var(--spacing-m) !important;
}
.h-s{
  height: var(--spacing-s) !important;
}
.h-screen{
  height: 100vh;
}
.h-xl{
  height: var(--spacing-xl) !important;
}
.h-xxl{
  height: var(--spacing-xxl) !important;
}
.h-xxxl{
  height: var(--spacing-xxxl) !important;
}
.w-48{
  width: 4.8rem !important;
}
.w-full{
  width: 100%;
}
.w-l{
  width: var(--spacing-l) !important;
}
.w-m{
  width: var(--spacing-m) !important;
}
.w-s{
  width: var(--spacing-s) !important;
}
.w-xl{
  width: var(--spacing-xl) !important;
}
.w-xxl{
  width: var(--spacing-xxl) !important;
}
.w-xxxl{
  width: var(--spacing-xxxl) !important;
}
.scale-\[1\.2\]{
  --tw-scale-x: 1.2;
  --tw-scale-y: 1.2;
  transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
}
.grid-cols-12{
  grid-template-columns: repeat(12, minmax(0, 1fr));
}
.grid-cols-2{
  grid-template-columns: repeat(2, minmax(0, 1fr));
}
.grid-cols-6{
  grid-template-columns: repeat(6, minmax(0, 1fr));
}
.grid-cols-8{
  grid-template-columns: repeat(8, minmax(0, 1fr));
}
.flex-col{
  flex-direction: column;
}
.flex-wrap{
  flex-wrap: wrap;
}
.items-start{
  align-items: flex-start;
}
.items-center{
  align-items: center;
}
.justify-end{
  justify-content: flex-end;
}
.justify-between{
  justify-content: space-between;
}
.gap-10{
  gap: 1rem !important;
}
.gap-100{
  gap: 10rem !important;
}
.gap-24{
  gap: 2.4rem !important;
}
.gap-4{
  gap: 0.4rem !important;
}
.gap-50{
  gap: 5rem !important;
}
.gap-8{
  gap: 0.8rem !important;
}
.gap-gap{
  gap: var(--gap) !important;
}
.gap-l{
  gap: var(--spacing-l) !important;
}
.gap-m{
  gap: var(--spacing-m) !important;
}
.gap-s{
  gap: var(--spacing-s) !important;
}
.gap-xl{
  gap: var(--spacing-xl) !important;
}
.gap-xxl{
  gap: var(--spacing-xxl) !important;
}
.gap-x-gap{
  -moz-column-gap: var(--gap) !important;
       column-gap: var(--gap) !important;
}
.gap-x-xxl{
  -moz-column-gap: var(--spacing-xxl) !important;
       column-gap: var(--spacing-xxl) !important;
}
.gap-y-l{
  row-gap: var(--spacing-l) !important;
}
.gap-y-s{
  row-gap: var(--spacing-s) !important;
}
.gap-y-xl{
  row-gap: var(--spacing-xl) !important;
}
.gap-y-xxl{
  row-gap: var(--spacing-xxl) !important;
}
.overflow-hidden{
  overflow: hidden;
}
.rounded-full{
  border-radius: 9999px;
}
.border{
  border-width: 1px;
}
.border-b{
  border-bottom-width: 1px;
}
.border-t{
  border-top-width: 1px;
}
.border-none{
  border-style: none;
}
.border-beige{
  border-color: var(--color-beige);
}
.border-dark{
  border-color: var(--color-dark);
}
.border-gray{
  border-color: var(--color-gray);
}
.border-green{
  border-color: var(--color-green);
}
.border-light{
  border-color: var(--color-light);
}
.border-pink{
  border-color: var(--color-pink);
}
.border-plum{
  border-color: var(--color-plum);
}
.border-primary{
  border-color: var(--color-primary);
}
.border-yellow{
  border-color: var(--color-yellow);
}
.bg-\[black\]{
  --tw-bg-opacity: 1;
  background-color: rgb(0 0 0 / var(--tw-bg-opacity));
}
.bg-\[red\]{
  --tw-bg-opacity: 1;
  background-color: rgb(255 0 0 / var(--tw-bg-opacity));
}
.bg-beige{
  background-color: var(--color-beige);
}
.bg-dark{
  background-color: var(--color-dark);
}
.bg-gray{
  background-color: var(--color-gray);
}
.bg-green{
  background-color: var(--color-green);
}
.bg-light{
  background-color: var(--color-light);
}
.bg-pink{
  background-color: var(--color-pink);
}
.bg-plum{
  background-color: var(--color-plum);
}
.bg-primary{
  background-color: var(--color-primary);
}
.bg-yellow{
  background-color: var(--color-yellow);
}
.p-l{
  padding: var(--spacing-l) !important;
}
.p-m{
  padding: var(--spacing-m) !important;
}
.p-margin{
  padding: var(--margin) !important;
}
.p-s{
  padding: var(--spacing-s) !important;
}
.p-xl{
  padding: var(--spacing-xl) !important;
}
.p-xxl{
  padding: var(--spacing-xxl) !important;
}
.p-xxxl{
  padding: var(--spacing-xxxl) !important;
}
.px-l{
  padding-left: var(--spacing-l) !important;
  padding-right: var(--spacing-l) !important;
}
.px-m{
  padding-left: var(--spacing-m) !important;
  padding-right: var(--spacing-m) !important;
}
.px-margin{
  padding-left: var(--margin) !important;
  padding-right: var(--margin) !important;
}
.px-s{
  padding-left: var(--spacing-s) !important;
  padding-right: var(--spacing-s) !important;
}
.px-xl{
  padding-left: var(--spacing-xl) !important;
  padding-right: var(--spacing-xl) !important;
}
.px-xxl{
  padding-left: var(--spacing-xxl) !important;
  padding-right: var(--spacing-xxl) !important;
}
.px-xxxl{
  padding-left: var(--spacing-xxxl) !important;
  padding-right: var(--spacing-xxxl) !important;
}
.py-l{
  padding-top: var(--spacing-l) !important;
  padding-bottom: var(--spacing-l) !important;
}
.py-m{
  padding-top: var(--spacing-m) !important;
  padding-bottom: var(--spacing-m) !important;
}
.py-s{
  padding-top: var(--spacing-s) !important;
  padding-bottom: var(--spacing-s) !important;
}
.py-xl{
  padding-top: var(--spacing-xl) !important;
  padding-bottom: var(--spacing-xl) !important;
}
.py-xxl{
  padding-top: var(--spacing-xxl) !important;
  padding-bottom: var(--spacing-xxl) !important;
}
.py-xxxl{
  padding-top: var(--spacing-xxxl) !important;
  padding-bottom: var(--spacing-xxxl) !important;
}
.pb-l{
  padding-bottom: var(--spacing-l) !important;
}
.pb-m{
  padding-bottom: var(--spacing-m) !important;
}
.pb-s{
  padding-bottom: var(--spacing-s) !important;
}
.pb-xl{
  padding-bottom: var(--spacing-xl) !important;
}
.pb-xxl{
  padding-bottom: var(--spacing-xxl) !important;
}
.pb-xxxl{
  padding-bottom: var(--spacing-xxxl) !important;
}
.pl-l{
  padding-left: var(--spacing-l) !important;
}
.pl-m{
  padding-left: var(--spacing-m) !important;
}
.pl-s{
  padding-left: var(--spacing-s) !important;
}
.pl-xl{
  padding-left: var(--spacing-xl) !important;
}
.pl-xxl{
  padding-left: var(--spacing-xxl) !important;
}
.pl-xxxl{
  padding-left: var(--spacing-xxxl) !important;
}
.pr-gap{
  padding-right: var(--gap) !important;
}
.pr-l{
  padding-right: var(--spacing-l) !important;
}
.pr-m{
  padding-right: var(--spacing-m) !important;
}
.pr-s{
  padding-right: var(--spacing-s) !important;
}
.pr-xl{
  padding-right: var(--spacing-xl) !important;
}
.pr-xxl{
  padding-right: var(--spacing-xxl) !important;
}
.pr-xxxl{
  padding-right: var(--spacing-xxxl) !important;
}
.pt-10{
  padding-top: 1rem !important;
}
.pt-16{
  padding-top: 1.6rem !important;
}
.pt-l{
  padding-top: var(--spacing-l) !important;
}
.pt-m{
  padding-top: var(--spacing-m) !important;
}
.pt-s{
  padding-top: var(--spacing-s) !important;
}
.pt-xl{
  padding-top: var(--spacing-xl) !important;
}
.pt-xxl{
  padding-top: var(--spacing-xxl) !important;
}
.pt-xxxl{
  padding-top: var(--spacing-xxxl) !important;
}
.text-left{
  text-align: left;
}
.text-\[10px\]{
  font-size: 10px;
}
.uppercase{
  text-transform: uppercase;
}
.text-beige{
  color: var(--color-beige);
}
.text-black{
  --tw-text-opacity: 1;
  color: rgb(0 0 0 / var(--tw-text-opacity));
}
.text-dark{
  color: var(--color-dark);
}
.text-gray{
  color: var(--color-gray);
}
.text-green{
  color: var(--color-green);
}
.text-light{
  color: var(--color-light);
}
.text-pink{
  color: var(--color-pink);
}
.text-plum{
  color: var(--color-plum);
}
.text-primary{
  color: var(--color-primary);
}
.text-white{
  --tw-text-opacity: 1;
  color: rgb(255 255 255 / var(--tw-text-opacity));
}
.text-yellow{
  color: var(--color-yellow);
}
.opacity-20{
  opacity: 0.2;
}
.opacity-30{
  opacity: 0.3;
}
.opacity-40{
  opacity: 0.4;
}
.grayscale{
  --tw-grayscale: grayscale(100%);
  filter: var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow);
}
.filter{
  filter: var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow);
}
h1 {
    font-size: var(--ts-font-size);
    --ts-font-size: 4.8rem;
    line-height: var(--ts-line-height);
    --ts-line-height: 5.2rem;
    font-family: "MacanStencil", sans-serif;
  }
.ts-h1 {
    font-size: var(--ts-font-size);
    --ts-font-size: 4.8rem;
    line-height: var(--ts-line-height);
    --ts-line-height: 5.2rem;
    font-family: "MacanStencil", sans-serif;
  }
:root {
    --ts-h1-font-size: 4.8rem;
    --ts-h1-line-height: 5.2rem;
  }
h2 {
    font-size: var(--ts-font-size);
    --ts-font-size: 4rem;
    line-height: var(--ts-line-height);
    --ts-line-height: 4.2rem;
    font-family: "MacanStencil", sans-serif;
  }
.ts-h2 {
    font-size: var(--ts-font-size);
    --ts-font-size: 4rem;
    line-height: var(--ts-line-height);
    --ts-line-height: 4.2rem;
    font-family: "MacanStencil", sans-serif;
  }
:root {
    --ts-h2-font-size: 4rem;
    --ts-h2-line-height: 4.2rem;
  }
h3 {
    font-size: var(--ts-font-size);
    --ts-font-size: 3rem;
    line-height: var(--ts-line-height);
    --ts-line-height: 3.4rem;
    font-family: "MacanStencil", sans-serif;
  }
.ts-h3 {
    font-size: var(--ts-font-size);
    --ts-font-size: 3rem;
    line-height: var(--ts-line-height);
    --ts-line-height: 3.4rem;
    font-family: "MacanStencil", sans-serif;
  }
:root {
    --ts-h3-font-size: 3rem;
    --ts-h3-line-height: 3.4rem;
  }
h4 {
    font-size: var(--ts-font-size);
    --ts-font-size: 2.4rem;
    line-height: var(--ts-line-height);
    --ts-line-height: 2.4rem;
    font-family: "Macan", sans-serif;
  }
.ts-h4 {
    font-size: var(--ts-font-size);
    --ts-font-size: 2.4rem;
    line-height: var(--ts-line-height);
    --ts-line-height: 2.4rem;
    font-family: "Macan", sans-serif;
  }
:root {
    --ts-h4-font-size: 2.4rem;
    --ts-h4-line-height: 2.4rem;
  }
h5 {
    font-size: var(--ts-font-size);
    --ts-font-size: 2rem;
    line-height: var(--ts-line-height);
    --ts-line-height: 2.6rem;
    font-family: "Macan", sans-serif;
  }
.ts-h5 {
    font-size: var(--ts-font-size);
    --ts-font-size: 2rem;
    line-height: var(--ts-line-height);
    --ts-line-height: 2.6rem;
    font-family: "Macan", sans-serif;
  }
:root {
    --ts-h5-font-size: 2rem;
    --ts-h5-line-height: 2.6rem;
  }
body {
    font-size: var(--ts-font-size);
    --ts-font-size: 1.6rem;
    line-height: var(--ts-line-height);
    --ts-line-height: 2.2rem;
    font-family: "Inter", sans-serif;
  }
.ts-body {
    font-size: var(--ts-font-size);
    --ts-font-size: 1.6rem;
    line-height: var(--ts-line-height);
    --ts-line-height: 2.2rem;
    font-family: "Inter", sans-serif;
  }
:root {
    --ts-body-font-size: 1.6rem;
    --ts-body-line-height: 2.2rem;
  }
strong {
    font-weight: var(--ts-font-weight);
    --ts-font-weight: 600;
  }
.ts-strong {
    font-weight: var(--ts-font-weight);
    --ts-font-weight: 600;
  }
:root {
    --ts-strong-font-weight: 600;
  }
mini {
    font-size: var(--ts-font-size);
    --ts-font-size: 1.3rem;
    line-height: var(--ts-line-height);
    --ts-line-height: 1.6rem;
  }
.ts-mini {
    font-size: var(--ts-font-size);
    --ts-font-size: 1.3rem;
    line-height: var(--ts-line-height);
    --ts-line-height: 1.6rem;
  }
:root {
    --ts-mini-font-size: 1.3rem;
    --ts-mini-line-height: 1.6rem;
  }
cta {
    font-size: var(--ts-font-size);
    --ts-font-size: 1.5rem;
    line-height: var(--ts-line-height);
    --ts-line-height: 1.7rem;
  }
:root {
    --ts-cta-font-size: 1.5rem;
    --ts-cta-line-height: 1.7rem;
  }
@media (min-width: 1024px) {
    h1 {
      font-size: var(--ts-font-size);
      --ts-font-size: 6.4rem;
      line-height: var(--ts-line-height);
      --ts-line-height: 6.8rem;
    }
    .ts-h1 {
      font-size: var(--ts-font-size);
      --ts-font-size: 6.4rem;
      line-height: var(--ts-line-height);
      --ts-line-height: 6.8rem;
    }
    :root {
      --ts-h1-font-size: 6.4rem;
      --ts-h1-line-height: 6.8rem;
    }
    h2 {
      font-size: var(--ts-font-size);
      --ts-font-size: 5.2rem;
      line-height: var(--ts-line-height);
      --ts-line-height: 5.6rem;
    }
    .ts-h2 {
      font-size: var(--ts-font-size);
      --ts-font-size: 5.2rem;
      line-height: var(--ts-line-height);
      --ts-line-height: 5.6rem;
    }
    :root {
      --ts-h2-font-size: 5.2rem;
      --ts-h2-line-height: 5.6rem;
    }
    h3 {
      font-size: var(--ts-font-size);
      --ts-font-size: 4rem;
      line-height: var(--ts-line-height);
      --ts-line-height: 4.4rem;
    }
    .ts-h3 {
      font-size: var(--ts-font-size);
      --ts-font-size: 4rem;
      line-height: var(--ts-line-height);
      --ts-line-height: 4.4rem;
    }
    :root {
      --ts-h3-font-size: 4rem;
      --ts-h3-line-height: 4.4rem;
    }
    h4 {
      font-size: var(--ts-font-size);
      --ts-font-size: 2.8rem;
      line-height: var(--ts-line-height);
      --ts-line-height: 3.2rem;
    }
    .ts-h4 {
      font-size: var(--ts-font-size);
      --ts-font-size: 2.8rem;
      line-height: var(--ts-line-height);
      --ts-line-height: 3.2rem;
    }
    :root {
      --ts-h4-font-size: 2.8rem;
      --ts-h4-line-height: 3.2rem;
    }
  }
.container {
  width: 100%;
  max-width: initial;
  padding-left: var(--margin);
  padding-right: var(--margin);
}
:root {
  --margin: 2.4rem;
}

@media (min-width: 1024px) {
  :root {
    --margin: 4rem;
  }
}
@media (min-width: 1280px) {
  :root {
    --margin: 4.8rem;
  }
}
:root {
  --spacing-s: 0.4rem;
  --spacing-m: 0.8rem;
  --spacing-l: 1.6rem;
  --spacing-xl: 2.4rem;
  --spacing-xxl: 4.8rem;
  --spacing-xxxl: 9.6rem;
}

html {
  font-size: 10px;
}

@media (min-width: 1500px) {
  html {
    font-size: calc(1000vw / 1500);
  }
}
:root {
  --gap: 1.6rem;
}

@media (min-width: 1280px) {
  :root {
    --gap: 2.4rem;
  }
}
.list,
.gap {
  gap: var(--gap);
}

.grid.list {
  grid-template-columns: repeat(6, minmax(0, 1fr));
}

@media (min-width: 768px) {
  .grid.list {
    grid-template-columns: repeat(8, minmax(0, 1fr));
  }
}
@media (min-width: 1024px) {
  .grid.list {
    grid-template-columns: repeat(12, minmax(0, 1fr));
  }
}
:root {
  --color-dark: #3C0068;
  --color-light: #fff;
  --color-primary: #FE603C;
  --color-beige: #FFF4EB;
  --color-pink: #FFE4F0;
  --color-yellow: #FFEA92;
  --color-gray: #2D2527;
  --color-green: #173231;
  --color-plum: #5B1328;
}

.rounded {
  border-radius: 0.8rem;
}

:root {
  --max-columns: 6;
}

@media (min-width: 768px) {
  :root {
    --max-columns: 8;
  }
}
@media (min-width: 1024px) {
  :root {
    --max-columns: 12;
  }
}
:root {
  --width-of-layout: calc(100vw - var(--scrollbar-width) - 2 * var(--margin));
}

.list {
  grid-template-columns: repeat(1, minmax(0, 1fr));
}

@media (min-width: 768px) {
  .list {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
}
@media (min-width: 1024px) {
  .list {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
}
@media (min-width: 1280px) {
  .list {
    grid-template-columns: repeat(4, minmax(0, 1fr));
  }
}
@media (min-width: 1500px) {
  .list {
    grid-template-columns: repeat(4, minmax(0, 1fr));
  }
}
.list {
  gap: var(--gap);
}

.list--event {
  grid-template-columns: repeat(1, minmax(0, 1fr));
}

@media (min-width: 768px) {
  .list--event {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
}
@media (min-width: 1024px) {
  .list--event {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
}
@media (min-width: 1280px) {
  .list--event {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
}
@media (min-width: 1500px) {
  .list--event {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
}
.list--event {
  gap: var(--gap);
}

:root {
  --animation-duration: 600;
  --animation-timing: ease;
  --animation: var(--animation-duration) var(--animation-timing);
}

.animation {
  animation: all var(--animation);
}

:root {
  --animation-secondary-duration: 500;
  --animation-secondary-timing: ease;
  --animation-secondary: var(--animation-duration) var(--animation-timing);
}

.animation--secondary {
  animation: all var(--animation-secondary);
}

html * {
  color: var(--color-dark);
}

.dark-reset,
.dark-reset * {
  --color-dark: #3C0068;
  --color-light: #fff;
}

.dark,
.dark * {
  --color-dark: #fff;
  --color-light: #3C0068;
}
.split {
  transform: translate3d(0, 0.5em, 0);
}
.split .word {
  height: 1.5em;
  margin-top: -0.5em;
}

.grid-helper.active {
  visibility: visible;
  pointer-events: none;
}

.sr-only {
  border: 0 !important;
  clip: rect(1px, 1px, 1px, 1px) !important;
  -webkit-clip-path: inset(50%) !important;
  clip-path: inset(50%) !important;
  height: 1px !important;
  margin: -1px !important;
  overflow: hidden !important;
  padding: 0 !important;
  position: absolute !important;
  width: 1px !important;
  white-space: nowrap !important;
}

/**
 * Swiper 10.3.1
 * Most modern mobile touch slider and framework with hardware accelerated transitions
 * https://swiperjs.com
 *
 * Copyright 2014-2023 Vladimir Kharlampidi
 *
 * Released under the MIT License
 *
 * Released on: September 28, 2023
 */
@font-face {
  font-family: "swiper-icons";
  src: url("data:application/font-woff;charset=utf-8;base64, d09GRgABAAAAAAZgABAAAAAADAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABGRlRNAAAGRAAAABoAAAAci6qHkUdERUYAAAWgAAAAIwAAACQAYABXR1BPUwAABhQAAAAuAAAANuAY7+xHU1VCAAAFxAAAAFAAAABm2fPczU9TLzIAAAHcAAAASgAAAGBP9V5RY21hcAAAAkQAAACIAAABYt6F0cBjdnQgAAACzAAAAAQAAAAEABEBRGdhc3AAAAWYAAAACAAAAAj//wADZ2x5ZgAAAywAAADMAAAD2MHtryVoZWFkAAABbAAAADAAAAA2E2+eoWhoZWEAAAGcAAAAHwAAACQC9gDzaG10eAAAAigAAAAZAAAArgJkABFsb2NhAAAC0AAAAFoAAABaFQAUGG1heHAAAAG8AAAAHwAAACAAcABAbmFtZQAAA/gAAAE5AAACXvFdBwlwb3N0AAAFNAAAAGIAAACE5s74hXjaY2BkYGAAYpf5Hu/j+W2+MnAzMYDAzaX6QjD6/4//Bxj5GA8AuRwMYGkAPywL13jaY2BkYGA88P8Agx4j+/8fQDYfA1AEBWgDAIB2BOoAeNpjYGRgYNBh4GdgYgABEMnIABJzYNADCQAACWgAsQB42mNgYfzCOIGBlYGB0YcxjYGBwR1Kf2WQZGhhYGBiYGVmgAFGBiQQkOaawtDAoMBQxXjg/wEGPcYDDA4wNUA2CCgwsAAAO4EL6gAAeNpj2M0gyAACqxgGNWBkZ2D4/wMA+xkDdgAAAHjaY2BgYGaAYBkGRgYQiAHyGMF8FgYHIM3DwMHABGQrMOgyWDLEM1T9/w8UBfEMgLzE////P/5//f/V/xv+r4eaAAeMbAxwIUYmIMHEgKYAYjUcsDAwsLKxc3BycfPw8jEQA/gZBASFhEVExcQlJKWkZWTl5BUUlZRVVNXUNTQZBgMAAMR+E+gAEQFEAAAAKgAqACoANAA+AEgAUgBcAGYAcAB6AIQAjgCYAKIArAC2AMAAygDUAN4A6ADyAPwBBgEQARoBJAEuATgBQgFMAVYBYAFqAXQBfgGIAZIBnAGmAbIBzgHsAAB42u2NMQ6CUAyGW568x9AneYYgm4MJbhKFaExIOAVX8ApewSt4Bic4AfeAid3VOBixDxfPYEza5O+Xfi04YADggiUIULCuEJK8VhO4bSvpdnktHI5QCYtdi2sl8ZnXaHlqUrNKzdKcT8cjlq+rwZSvIVczNiezsfnP/uznmfPFBNODM2K7MTQ45YEAZqGP81AmGGcF3iPqOop0r1SPTaTbVkfUe4HXj97wYE+yNwWYxwWu4v1ugWHgo3S1XdZEVqWM7ET0cfnLGxWfkgR42o2PvWrDMBSFj/IHLaF0zKjRgdiVMwScNRAoWUoH78Y2icB/yIY09An6AH2Bdu/UB+yxopYshQiEvnvu0dURgDt8QeC8PDw7Fpji3fEA4z/PEJ6YOB5hKh4dj3EvXhxPqH/SKUY3rJ7srZ4FZnh1PMAtPhwP6fl2PMJMPDgeQ4rY8YT6Gzao0eAEA409DuggmTnFnOcSCiEiLMgxCiTI6Cq5DZUd3Qmp10vO0LaLTd2cjN4fOumlc7lUYbSQcZFkutRG7g6JKZKy0RmdLY680CDnEJ+UMkpFFe1RN7nxdVpXrC4aTtnaurOnYercZg2YVmLN/d/gczfEimrE/fs/bOuq29Zmn8tloORaXgZgGa78yO9/cnXm2BpaGvq25Dv9S4E9+5SIc9PqupJKhYFSSl47+Qcr1mYNAAAAeNptw0cKwkAAAMDZJA8Q7OUJvkLsPfZ6zFVERPy8qHh2YER+3i/BP83vIBLLySsoKimrqKqpa2hp6+jq6RsYGhmbmJqZSy0sraxtbO3sHRydnEMU4uR6yx7JJXveP7WrDycAAAAAAAH//wACeNpjYGRgYOABYhkgZgJCZgZNBkYGLQZtIJsFLMYAAAw3ALgAeNolizEKgDAQBCchRbC2sFER0YD6qVQiBCv/H9ezGI6Z5XBAw8CBK/m5iQQVauVbXLnOrMZv2oLdKFa8Pjuru2hJzGabmOSLzNMzvutpB3N42mNgZGBg4GKQYzBhYMxJLMlj4GBgAYow/P/PAJJhLM6sSoWKfWCAAwDAjgbRAAB42mNgYGBkAIIbCZo5IPrmUn0hGA0AO8EFTQAA") format("woff");
  font-weight: 400;
  font-style: normal;
}
:root {
  --swiper-theme-color: #007aff;
  /*
  --swiper-preloader-color: var(--swiper-theme-color);
  --swiper-wrapper-transition-timing-function: initial;
  */
}

:host {
  position: relative;
  display: block;
  margin-left: auto;
  margin-right: auto;
  z-index: 1;
}

.swiper {
  margin-left: auto;
  margin-right: auto;
  position: relative;
  overflow: hidden;
  overflow: clip;
  list-style: none;
  padding: 0;
  /* Fix of Webkit flickering */
  z-index: 1;
  display: block;
}

.swiper-vertical > .swiper-wrapper {
  flex-direction: column;
}

.swiper-wrapper {
  position: relative;
  width: 100%;
  height: 100%;
  z-index: 1;
  display: flex;
  transition-property: transform;
  transition-timing-function: var(--swiper-wrapper-transition-timing-function, initial);
  box-sizing: content-box;
}

.swiper-android .swiper-slide,
.swiper-ios .swiper-slide,
.swiper-wrapper {
  transform: translate3d(0px, 0, 0);
}

.swiper-horizontal {
  touch-action: pan-y;
}

.swiper-vertical {
  touch-action: pan-x;
}

.swiper-slide {
  flex-shrink: 0;
  width: 100%;
  height: 100%;
  position: relative;
  transition-property: transform;
  display: block;
}

.swiper-slide-invisible-blank {
  visibility: hidden;
}

/* Auto Height */
.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);
  backface-visibility: hidden;
}

/* 3D Effects */
.swiper-3d.swiper-css-mode .swiper-wrapper {
  perspective: 1200px;
}

.swiper-3d .swiper-wrapper {
  transform-style: preserve-3d;
}

.swiper-3d {
  perspective: 1200px;
}
.swiper-3d .swiper-slide,
.swiper-3d .swiper-cube-shadow {
  transform-style: preserve-3d;
}

/* CSS Mode */
.swiper-css-mode > .swiper-wrapper {
  overflow: auto;
  scrollbar-width: none; /* For Firefox */
  -ms-overflow-style: none; /* For Internet Explorer and Edge */
}
.swiper-css-mode > .swiper-wrapper::-webkit-scrollbar {
  display: none;
}
.swiper-css-mode > .swiper-wrapper > .swiper-slide {
  scroll-snap-align: start start;
}
.swiper-css-mode.swiper-horizontal > .swiper-wrapper {
  scroll-snap-type: x mandatory;
}
.swiper-css-mode.swiper-vertical > .swiper-wrapper {
  scroll-snap-type: y mandatory;
}
.swiper-css-mode.swiper-free-mode > .swiper-wrapper {
  scroll-snap-type: none;
}
.swiper-css-mode.swiper-free-mode > .swiper-wrapper > .swiper-slide {
  scroll-snap-align: none;
}
.swiper-css-mode.swiper-centered > .swiper-wrapper::before {
  content: "";
  flex-shrink: 0;
  order: 9999;
}
.swiper-css-mode.swiper-centered > .swiper-wrapper > .swiper-slide {
  scroll-snap-align: center center;
  scroll-snap-stop: always;
}
.swiper-css-mode.swiper-centered.swiper-horizontal > .swiper-wrapper > .swiper-slide:first-child {
  margin-inline-start: var(--swiper-centered-offset-before);
}
.swiper-css-mode.swiper-centered.swiper-horizontal > .swiper-wrapper::before {
  height: 100%;
  min-height: 1px;
  width: var(--swiper-centered-offset-after);
}
.swiper-css-mode.swiper-centered.swiper-vertical > .swiper-wrapper > .swiper-slide:first-child {
  margin-block-start: var(--swiper-centered-offset-before);
}
.swiper-css-mode.swiper-centered.swiper-vertical > .swiper-wrapper::before {
  width: 100%;
  min-width: 1px;
  height: var(--swiper-centered-offset-after);
}

/* Slide styles start */
/* 3D Shadows */
.swiper-3d .swiper-slide-shadow,
.swiper-3d .swiper-slide-shadow-left,
.swiper-3d .swiper-slide-shadow-right,
.swiper-3d .swiper-slide-shadow-top,
.swiper-3d .swiper-slide-shadow-bottom,
.swiper-3d .swiper-slide-shadow,
.swiper-3d .swiper-slide-shadow-left,
.swiper-3d .swiper-slide-shadow-right,
.swiper-3d .swiper-slide-shadow-top,
.swiper-3d .swiper-slide-shadow-bottom {
  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-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:not(.swiper-watch-progress) .swiper-lazy-preloader,
.swiper-watch-progress .swiper-slide-visible .swiper-lazy-preloader {
  animation: swiper-preloader-spin 1s infinite linear;
}

.swiper-lazy-preloader-white {
  --swiper-preloader-color: #fff;
}

.swiper-lazy-preloader-black {
  --swiper-preloader-color: #000;
}

@keyframes swiper-preloader-spin {
  0% {
    transform: rotate(0deg);
  }
  100% {
    transform: rotate(360deg);
  }
}
/* Slide styles end */
@font-face {
  font-family: "MacanStencil";
  font-weight: 200;
  src: url("../fonts/Macan/MacanStencil-Extralight.otf") format("opentype");
}
@font-face {
  font-family: "Macan";
  font-weight: 400;
  src: url("../fonts/Macan/Macan-Regular.otf") format("opentype");
}
@font-face {
  font-family: "Macan";
  font-weight: 400;
  font-style: italic;
  src: url("../fonts/Macan/Macan-RegularItalic.otf") format("opentype");
}
@font-face {
  font-family: "Macan";
  font-weight: 600;
  src: url("../fonts/Macan/Macan-Semibold.ttf") format("truetype");
}
.animation--text {
  --ratio: .75;
  transform: translate3d(0, calc(var(--ts-line-height) / 2), 0);
}
.animation--text.split.words .word,
.animation--text.split.words .whitespace {
  display: inline-table;
  overflow: hidden;
  vertical-align: top;
  line-height: calc(var(--ratio) * 2 * var(--ts-line-height));
  margin-top: calc(var(--ratio) * -1 * var(--ts-line-height));
}
.animation--text.split.words .word span,
.animation--text.split.words .whitespace span {
  display: inline-block;
  transform: translate3d(0, 150%, 0) rotate(-4deg);
}
.animation--text.split.words.is-in-view {
  visibility: visible;
}
.animation--text.split.words.is-in-view .word.is-show span {
  transform: translate3d(0, 0, 0);
  transition: transform var(--animation-property);
}
.animation--fade-up {
  opacity: 0;
  transform: translate3d(0, var(--spacing-l), 0);
  transition: opacity var(--animation-property), transform var(--animation-property);
}
.animation--fade-up.is-in-view {
  opacity: 1;
  transform: translate3d(0, 0, 0);
}
.animation--fade-down-bg{
  position: relative;
}
.animation--fade-down-bg::before{
  position: absolute;
  top: 0rem;
  left: 0rem;
  z-index: 0;
  height: 0rem;
  width: 100%;
  background-color: var(--color-dark);
  content: "";
  transition: height var(--animation);
}
.animation--fade-down-bg > *{
  z-index: 1;
}
.animation--fade-down-bg.is-in-view::before{
  height: 100%;
}

#app {
  margin-top: 18rem;
}

.acf-component--push-simple::before{
  background-color: var(--color-beige);
}

body[wp-class*=error404] #app{
  margin-top: 0rem;
}
body[wp-class*=error404] .component--header,
body[wp-class*=error404] .component--footer{
  display: none;
}

body:not(.show-alert) .component--alert {
  transform: translate3d(0, -101%, 0);
}

.Page{
  overflow: hidden;
  padding-left: var(--margin);
  padding-right: var(--margin);
}
.Page__top-informations{
  margin-bottom: var(--spacing-xxl);
  display: flex;
  flex-direction: column;
  gap: var(--spacing-xl);
}
@media (min-width: 1024px){
  .Page__top-informations{
    margin-bottom: var(--spacing-xxxl);
    flex-direction: row;
    align-items: flex-end;
    justify-content: space-between;
  }
}
.Page__title {
    max-width: calc((var(--width-of-layout) - var(--gap) * (var(--max-columns) - 1)) / var(--max-columns) * 8 + var(--gap) * (8 - 1));
  }
.Page__news-informations{
  display: flex;
  align-items: center;
  justify-content: flex-start;
  gap: var(--spacing-l);
}
.Page__image{
  position: relative;
  margin-bottom: var(--spacing-xxxl);
}
.Page__image .image{
  margin-left: auto;
  width: 100%;
}
@media (min-width: 1024px){
  .Page__image .image {
    width: calc((var(--width-of-layout) - var(--gap) * (var(--max-columns) - 1)) / var(--max-columns) * 8 + var(--gap) * (8 - 1));
  }
}
.Page__image-wave > svg *, .Page__image-wave-mask > svg *{
  color: var(--color-primary);
}
.Page__image-wave > svg .mask, .Page__image-wave-mask > svg .mask{
  width: 0rem;
  transition: width calc(var(--animation-duration) * 3) var(--animation-timing);
}
.Page__image-wave.is-in-view svg .mask, .Page__image-wave-mask.is-in-view svg .mask{
  width: 100%;
}
.Page__image-wave{
  position: absolute;
  top: 25%;
  right: 0rem;
  z-index: 1;
  right: calc((var(--width-of-layout) - var(--gap) * (var(--max-columns) - 1)) / var(--max-columns) * 6 + var(--gap) * (6 - 1));
}
.Page__image-wave-mask{
  position: absolute;
  top: 0rem;
  right: 0rem;
  z-index: 3;
  height: 100%;
  overflow: hidden;
  width: calc((var(--width-of-layout) - var(--gap) * (var(--max-columns) - 1)) / var(--max-columns) * 8 + var(--gap) * (8 - 1));
}
.Page__image-wave-mask > svg{
  position: absolute;
  top: 25%;
  right: calc(calc((var(--width-of-layout) - var(--gap) * (var(--max-columns) - 1)) / var(--max-columns) * 6 + var(--gap) * (6 - 1)));
}
.Page__image-wave-mask > svg * {
  color: white;
}
.Page__introduction{
  margin-bottom: var(--spacing-xxxl);
  display: grid;
  grid-template-columns: repeat(12, minmax(0, 1fr));
  gap: var(--gap);
}
.Page__introduction.list {
  grid-template-columns: repeat(6, minmax(0, 1fr));
}
@media (min-width: 768px) {
  .Page__introduction.list {
    grid-template-columns: repeat(8, minmax(0, 1fr));
  }
}
@media (min-width: 1024px) {
  .Page__introduction.list {
    grid-template-columns: repeat(12, minmax(0, 1fr));
  }
}
.Page__introduction > div{
  grid-column: span 12 / span 12;
    font-size: var(--ts-font-size);
    --ts-font-size: 2rem;
    line-height: var(--ts-line-height);
    --ts-line-height: 2.6rem;
    font-family: "Macan", sans-serif;
}
@media (min-width: 1024px){
  .Page__introduction > div{
    grid-column: span 6 / span 6;
    grid-column-start: 5;
  }
}
.Page__content{
  display: flex;
  flex-direction: column;
  gap: var(--spacing-xxxl);
}
.Page__content > div.has-title{
  display: flex;
  flex-direction: column;
  gap: var(--spacing-xxl);
  border-top-width: 1px;
  padding-top: var(--spacing-xl);
}
@media (min-width: 1024px){
  .Page__content > div h2 {
    max-width: calc((var(--width-of-layout) - var(--gap) * (var(--max-columns) - 1)) / var(--max-columns) * 8 + var(--gap) * (8 - 1));
  }
}
.Page__content > div .component--acf-flex-content{
  display: flex;
  flex-direction: column;
  gap: var(--spacing-xxl);
}
@media (min-width: 1024px){
  .Page__content > div .component--acf-flex-content{
    gap: var(--spacing-xxxl);
  }
}
.Page__content > div .component--acf-flex-content > .component-full {
  width: calc(100% + var(--margin) * 2);
  margin-left: calc(var(--margin) * -1);
}
.Page__content > div .component--acf-flex-content .acf-component--editor + .acf-component--editor,
.Page__content > div .component--acf-flex-content .acf-component--editor + .acf-component--push-list:not(.has-title),
.Page__content > div .component--acf-flex-content .acf-component--button + .acf-component--button,
.Page__content > div .component--acf-flex-content .acf-component--editor + .acf-component--button {
  margin-top: calc(var(--spacing-xxxl) * -0.5);
}
.Page__content:not(.last-component-is-full){
  margin-bottom: var(--spacing-xxxl);
}
.Page__content-cross {
  width: calc(100% + var(--margin) * 2);
  margin-left: calc(var(--margin) * -1);
}
@media (max-width: 1023px) {
  .Page__image{
    margin-bottom: var(--spacing-xxl);
  }
  .Page__image-wave{
    display: flex;
    align-items: center;
    justify-content: flex-end;
    position: relative;
    right: 0rem;
    margin-top: var(--spacing-xxl);
    transform: translateX(calc(var(--margin) + 8rem));
  }
  .Page__image-wave-mask{
    display: none;
  }
}

.Event {
  --margin-top: 0;
}
.Event__content{
  position: relative;
  z-index: 2;
  display: grid;
  grid-template-columns: repeat(12, minmax(0, 1fr));
  --tw-bg-opacity: 1;
  background-color: rgb(255 255 255 / var(--tw-bg-opacity));
  padding-left: var(--margin);
  padding-right: var(--margin);
  padding-top: var(--spacing-xxl);
  padding-bottom: var(--spacing-xxl);
  gap: var(--gap);
}
.Event__content.list {
  grid-template-columns: repeat(6, minmax(0, 1fr));
}
@media (min-width: 768px) {
  .Event__content.list {
    grid-template-columns: repeat(8, minmax(0, 1fr));
  }
}
@media (min-width: 1024px) {
  .Event__content.list {
    grid-template-columns: repeat(12, minmax(0, 1fr));
  }
  .Event__content{
    padding-top: var(--spacing-xxxl);
    padding-bottom: var(--spacing-xxxl);
  }
}
.Event__content-main{
  grid-column: 1 / -1;
}
@media (min-width: 1024px){
  .Event__content-main{
    grid-column: span 4 / span 4;
  }
}
.Event__content-main-wrapper{
  position: sticky;
  top: var(--margin);
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: var(--spacing-xxl);
}
.Event__top-informations{
  display: flex;
  flex-direction: column;
  border-top-width: 1px;
}
.Event__top-informations > div{
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  gap: var(--spacing-l);
  border-bottom-width: 1px;
  padding-top: var(--spacing-l);
  padding-bottom: var(--spacing-l);
}
.Event__top-informations > div > div{
  display: flex;
  flex-direction: column;
  gap: 0.4rem;
}
.Event__top-informations > div > div > span:first-child {
    font-size: var(--ts-font-size);
    --ts-font-size: 1.3rem;
    line-height: var(--ts-line-height);
    --ts-line-height: 1.6rem;
  }
.Event__top-informations > div a{
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  gap: 0.8rem;
}
.Event__dates{
  display: flex;
  width: 100%;
  flex-direction: column;
  gap: var(--spacing-l);
}
.Event__dates ul{
  display: flex;
  flex-direction: column;
  gap: var(--spacing-m);
}
.Event__dates .component--accordions button{
  display: flex;
  align-items: center;
  justify-content: center;
  height: 3.2rem;
  width: auto;
  gap: 0.8rem;
  border-radius: 9999px;
  background-color: var(--color-beige);
  padding-left: 1.6rem;
  padding-right: 1.6rem;
}
.Event__dates .component--accordions button svg{
  height: 1.6rem;
}
.Event__dates .component--accordions .accordion__content::before{
  padding-bottom: 0rem;
}
.Event__dates .component--accordions .accordion__content::after{
  padding-bottom: var(--spacing-l);
}
.Event__dates .component--accordions .accordion {
  transition: margin-top 0.3s ease;
}
.Event__dates .component--accordions .accordion.active {
  margin-top: calc(var(--spacing-l) * -0.5);
}
.Event__date{
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: var(--spacing-l);
  background-color: var(--color-beige);
  padding: var(--spacing-l);
  text-transform: capitalize;
}
.Event__content-secondary{
  grid-column: 1 / -1;
  display: flex;
  flex-direction: column;
  gap: var(--spacing-xxl);
}
@media (min-width: 1024px){
  .Event__content-secondary{
    grid-column: span 7 / span 7;
    grid-column-start: 6;
  }
}
.Event__description *{
  color: var(--color-gray);
}
.Event__accordions{
  border-top-width: 1px;
}
.Event__accordions .accordion__header{
  padding-top: 2rem;
  padding-bottom: 2rem;
}
.Event__accordions .accordion__header svg{
  height: 1.6rem;
}
.Event__accordions .accordion__content{
  border-bottom-width: 1px;
}
.Event__accordions .accordion__content *{
  color: var(--color-gray);
}
.Event__accordions .accordion__content::before {
  content: none;
}
.Event__accordions .accordion__content::after{
  padding-bottom: 2rem;
}
.Event__about{
  display: grid;
  grid-template-columns: repeat(12, minmax(0, 1fr));
  -moz-column-gap: var(--gap);
       column-gap: var(--gap);
  row-gap: var(--spacing-xxl);
  background-color: var(--color-light);
  padding-left: var(--margin);
  padding-right: var(--margin);
  padding-top: var(--spacing-xxl);
  padding-bottom: var(--spacing-xxl);
}
.Event__about.list {
  grid-template-columns: repeat(6, minmax(0, 1fr));
}
@media (min-width: 768px) {
  .Event__about.list {
    grid-template-columns: repeat(8, minmax(0, 1fr));
  }
}
@media (min-width: 1024px) {
  .Event__about.list {
    grid-template-columns: repeat(12, minmax(0, 1fr));
  }
}
.Event__about,.Event__about * {
  --color-dark: #fff;
  --color-light: #3C0068;
  --color-dark: var(--color-primary);
}
@media (min-width: 1024px){
  .Event__about{
    padding-top: var(--spacing-xxxl);
    padding-bottom: var(--spacing-xxxl);
  }
}
.Event__about-text{
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  grid-column: 1 / -1;
  flex-direction: column;
  gap: var(--spacing-xl);
}
@media (min-width: 1024px){
  .Event__about-text{
    grid-column: span 7 / span 7;
    gap: var(--spacing-xxxl);
  }
}
.Event__about-text > div{
  display: flex;
  flex-direction: column;
  gap: var(--spacing-xl);
}
@media (min-width: 1024px){
  .Event__about-text > div{
    gap: var(--spacing-xxl);
  }
}
.Event__about-text-title {
    font-size: var(--ts-font-size);
    --ts-font-size: 3rem;
    line-height: var(--ts-line-height);
    --ts-line-height: 3.4rem;
    font-family: "MacanStencil", sans-serif;
  }
@media (min-width: 1024px) {
    .Event__about-text-title {
      font-size: var(--ts-font-size);
      --ts-font-size: 4rem;
      line-height: var(--ts-line-height);
      --ts-line-height: 4.4rem;
    }
  }
.Event__about-image{
  grid-column: 1 / -1;
}
@media (min-width: 1024px){
  .Event__about-image{
    grid-column: span 4 / span 4;
    grid-column-start: 9;
  }
}
.Event__about-image .image{
  aspect-ratio: 1/1;
  height: auto;
  width: auto;
}
.Event__secondary{
  display: flex;
  flex-direction: column;
  gap: var(--spacing-xxxl);
  background-color: var(--color-beige);
  padding-top: var(--spacing-xxxl);
  padding-bottom: var(--spacing-xxxl);
}
.Event__files{
  padding-left: var(--margin);
  padding-right: var(--margin);
}
.Event__files ul{
  display: flex;
  flex-direction: column;
  border-top-width: 1px;
}
.Event__files ul a{
  display: flex;
  align-items: center;
  justify-content: space-between;
  border-bottom-width: 1px;
  padding-top: var(--spacing-l);
  padding-bottom: var(--spacing-l);
    font-size: var(--ts-font-size);
    --ts-font-size: 2rem;
    line-height: var(--ts-line-height);
    --ts-line-height: 2.6rem;
    font-family: "Macan", sans-serif;
}
.Event__files ul a span{
  display: flex;
  align-items: center;
  justify-content: center;
  height: 4.8rem;
  width: 4.8rem;
  border-radius: 9999px;
  border-width: 1px;
  transition: all calc(var(--animation-duration) * 0.5) var(--animation-timing);
}
.Event__files ul a span svg *{
  height: 1.6rem;
  transition: all calc(var(--animation-duration) * 0.5) var(--animation-timing);
}
.Event__files ul a:hover span{
  background-color: var(--color-dark);
}
.Event__files ul a:hover span svg *{
  --tw-text-opacity: 1;
  color: rgb(255 255 255 / var(--tw-text-opacity));
}
.Event__cross-content{
  display: flex;
  flex-direction: column;
  gap: var(--spacing-xxl);
  padding-left: var(--margin);
  padding-right: var(--margin);
}
.Event__cross-content > div{
  display: grid;
  grid-template-columns: repeat(12, minmax(0, 1fr));
  gap: var(--gap);
}
.Event__cross-content > div.list {
  grid-template-columns: repeat(6, minmax(0, 1fr));
}
@media (min-width: 768px) {
  .Event__cross-content > div.list {
    grid-template-columns: repeat(8, minmax(0, 1fr));
  }
}
@media (min-width: 1024px) {
  .Event__cross-content > div.list {
    grid-template-columns: repeat(12, minmax(0, 1fr));
  }
}
.Event__cross-content > div > div{
  grid-column: 1 / -1;
}
@media (min-width: 1024px){
  .Event__cross-content > div > div{
    grid-column: span 4 / span 4;
  }
}

.Course__hero {
  margin-top: calc((var(--header-height) + var(--header-margin)) * -1);
}
.Course__hero .component--hero-course {
  height: calc(100lvh - 6.4rem);
}
.Course__wrapper-content{
  position: relative;
}
.Course__wrapper-content > *{
  margin-top: var(--spacing-xxl);
  margin-bottom: var(--spacing-xxl);
}
@media (min-width: 1024px){
  .Course__wrapper-content > *{
    margin-top: var(--spacing-xxxl);
    margin-bottom: var(--spacing-xxxl);
  }
}
.Course__wrapper-content > *:last-child{
  margin-bottom: 0rem;
}
.Course__wrapper-content > *.last-component-is-full + * {
  margin-top: calc(var(--spacing-xxxl) * -1);
}
.Course__anchors{
  position: sticky;
  left: 0rem;
  z-index: 1003;
  margin-top: 0rem;
  margin-bottom: 0rem;
  background-color: var(--color-beige);
  top: var(--headroom-height);
  transition: top var(--animation);
}
.Course__content-top-items > div{
  position: relative;
  overflow: hidden;
}
.Course__content-top-items > div::before{
  position: absolute;
  top: 0rem;
  left: 0rem;
  height: 0.1rem;
  width: 0rem;
  background-color: var(--color-dark);
  content: "";
  transition: all var(--animation);
}
.Course__content-top-items > div > div {
  transform: translate3d(0, -100%, 0);
  transition: all var(--animation);
  transition-delay: calc(var(--animation-duration) / 2);
}
.Course__content-top-items > div > div span {
  transform: translate3d(0, -4rem, 0);
  transition: all var(--animation);
  transition-delay: calc(var(--animation-duration) / 2);
}
.Course__content-top-items > div.is-in-view::before {
  width: 100%;
}
.Course__content-top-items > div.is-in-view > div {
  transform: translate3d(0, 0, 0);
}
.Course__content-top-items > div.is-in-view > div span {
  transform: translate3d(0, 0, 0);
}
.Course__content{
  margin-top: var(--spacing-xxl);
  padding-left: var(--margin);
  padding-right: var(--margin);
}
@media (min-width: 1024px){
  .Course__content{
    margin-top: var(--spacing-xxxl);
  }
}
.Course__content .component--acf-flex-content > .acf-component{
  margin-top: var(--spacing-xxl);
  margin-bottom: var(--spacing-xxl);
}
@media (min-width: 1024px){
  .Course__content .component--acf-flex-content > .acf-component{
    margin-top: var(--spacing-xxxl);
    margin-bottom: var(--spacing-xxxl);
  }
}
.Course__content .component--acf-flex-content > .acf-component:first-child{
  margin-top: 0rem;
}
.Course__content .component--acf-flex-content > .acf-component:last-child{
  margin-bottom: 0rem;
}
.Course__content .component--acf-flex-content > .acf-component.component-full {
  width: calc(100% + var(--margin) * 2);
  margin-left: calc(var(--margin) * -1);
}
.Course__content .component--acf-flex-content > .acf-component.component-full + .component-full {
  margin-top: calc(var(--spacing-xxxl) * -1);
}
@media (max-width: 1023px) {
  .Course__content .component--acf-flex-content > .acf-component.component-full + .component-full {
    margin-top: calc(var(--spacing-xxl) * -1);
  }
}

body[wp-class*=single-course].headroom--pinned.anchors-course--pinned.headroom--not-top:not(.show-mediaviewer)::before {
  height: calc(var(--headroom-height) + var(--headroom-height));
}
body[wp-class*=single-course].anchors-course--pinned.headroom--not-top:not(.show-mediaviewer)::before {
  height: calc(var(--headroom-height) + var(--headroom-height) + 2rem);
}
body.headroom--unpinned:not(.show-pannel) .Course__anchors, body.show-pannel-full .Course__anchors {
  top: 0;
}
body.show-mediaviewer .Course__anchors {
  top: calc(var(--headroom-height) * -1) !important;
}
.ArchiveEvent{
  padding-left: var(--margin);
  padding-right: var(--margin);
}
.ArchiveEvent__button{
  position: fixed;
  z-index: 10;
  bottom: calc(var(--margin) / 2);
  right: calc(var(--margin) / 2);
}
.ArchiveEvent__hero {
  margin-bottom: calc(var(--margin) * 2);
}
.ArchiveEvent__hero .component--hero-archive-event {
  --hero-height: calc(100lvh - (var(--header-height) + var(--spacing-xxxl) + var(--margin)));
}

.ArchiveCourse{
  padding-left: var(--margin);
  padding-right: var(--margin);
}
.ArchiveCourse__button{
  position: fixed;
  z-index: 10;
  bottom: calc(var(--margin) / 2);
  right: calc(var(--margin) / 2);
}
.ArchiveCourse__hero {
  margin-top: calc((var(--spacing-xxxl)) * -1);
}
.ArchiveNews{
  padding-left: var(--margin);
  padding-right: var(--margin);
}
.ArchiveNews__button{
  position: fixed;
  z-index: 10;
  bottom: calc(var(--margin) / 2);
  right: calc(var(--margin) / 2);
}
.ArchiveNews__hero .component--hero-archive-news {
  --hero-height: calc(100lvh - (var(--header-height) + var(--spacing-xxxl) + var(--margin)));
  margin-bottom: calc(var(--margin) * 2);
}

.FrontPage__hero {
  margin-top: calc((var(--header-height) + var(--header-margin)) * -1);
  transition: margin-top var(--animation);
}
.FrontPage__content-top{
  display: flex;
  flex-direction: column;
  gap: var(--spacing-xxl);
  background-color: var(--color-light);
  padding-left: var(--margin);
  padding-right: var(--margin);
  padding-top: var(--spacing-xxl);
  padding-bottom: var(--spacing-xxl);
}
.FrontPage__content-top,.FrontPage__content-top * {
  --color-dark: #fff;
  --color-light: #3C0068;
  --color-dark: var(--color-primary);
}
@media (min-width: 1024px){
  .FrontPage__content-top{
    gap: var(--spacing-xxxl);
    padding-top: var(--spacing-xxxl);
    padding-bottom: var(--spacing-xxxl);
  }
}
.FrontPage__content-top > p {
    font-size: var(--ts-font-size);
    --ts-font-size: 3rem;
    line-height: var(--ts-line-height);
    --ts-line-height: 3.4rem;
    font-family: "MacanStencil", sans-serif;
  }
@media (min-width: 1024px) {
    .FrontPage__content-top > p {
      font-size: var(--ts-font-size);
      --ts-font-size: 4rem;
      line-height: var(--ts-line-height);
      --ts-line-height: 4.4rem;
    }
  }
.FrontPage__content .component--acf-flex-content{
  margin-top: var(--spacing-xxl);
  margin-bottom: var(--spacing-xxl);
  display: flex;
  flex-direction: column;
  gap: var(--spacing-xxl);
  overflow: hidden;
}
@media (min-width: 1024px){
  .FrontPage__content .component--acf-flex-content{
    margin-top: var(--spacing-xxxl);
    margin-bottom: var(--spacing-xxxl);
    gap: var(--spacing-xxxl);
  }
}
.FrontPage__content .component--acf-flex-content .acf-component:not(.component-full){
  padding-left: var(--margin);
  padding-right: var(--margin);
}
.FrontPage__content .component--acf-flex-content .acf-component .swiper{
  overflow: visible;
}
.FrontPage__content .component--acf-flex-content .acf-component--push-simple::before{
  background-color: var(--color-beige);
}

.TemplateLanding{
  background-color: var(--color-pink);
}
.TemplateLanding__hero {
  margin-top: calc((var(--header-height) + var(--spacing-xxxl)) * -1);
  transition: margin-top var(--animation);
}
.TemplateLanding__introduction{
  margin-top: var(--spacing-xxxl);
  margin-bottom: var(--spacing-xxxl);
  display: grid;
  grid-template-columns: repeat(12, minmax(0, 1fr));
  padding-left: var(--margin);
  padding-right: var(--margin);
  gap: var(--gap);
}
.TemplateLanding__introduction.list {
  grid-template-columns: repeat(6, minmax(0, 1fr));
}
@media (min-width: 768px) {
  .TemplateLanding__introduction.list {
    grid-template-columns: repeat(8, minmax(0, 1fr));
  }
}
@media (min-width: 1024px) {
  .TemplateLanding__introduction.list {
    grid-template-columns: repeat(12, minmax(0, 1fr));
  }
}
.TemplateLanding__introduction > div{
  grid-column: span 12 / span 12;
}
@media (min-width: 1024px){
  .TemplateLanding__introduction > div{
    grid-column: span 6 / span 6;
    grid-column-start: 5;
  }
}
.TemplateLanding__introduction > div p {
    font-size: var(--ts-font-size);
    --ts-font-size: 2rem;
    line-height: var(--ts-line-height);
    --ts-line-height: 2.6rem;
    font-family: "Macan", sans-serif;
  }
.TemplateLanding__content{
  display: flex;
  flex-direction: column;
  gap: var(--spacing-xxxl);
  overflow: hidden;
  padding-left: var(--margin);
  padding-right: var(--margin);
  padding-bottom: var(--spacing-xxxl);
}
.TemplateLanding__content.last-component-is-full{
  padding-bottom: 0rem;
}
.TemplateLanding__content > div h2{
  margin-bottom: var(--spacing-xxl);
}
.TemplateLanding__content > div .component--acf-flex-content{
  display: flex;
  flex-direction: column;
  gap: var(--spacing-xxl);
}
@media (min-width: 1024px){
  .TemplateLanding__content > div .component--acf-flex-content{
    gap: var(--spacing-xxxl);
  }
}
.TemplateLanding__content > div .component--acf-flex-content > .component-full {
  width: calc(100% + var(--margin) * 2);
  margin-left: calc(var(--margin) * -1);
}
@media (min-width: 1024px) {
  .TemplateLanding__content > div .component--acf-flex-content .acf-component--editor + .acf-component--editor,
  .TemplateLanding__content > div .component--acf-flex-content .acf-component--editor + .acf-component--push-list:not(.has-title) {
    margin-top: calc(var(--spacing-xxxl) * -0.5);
  }
}
@media (max-width: 1023px) {
  .TemplateLanding__content > div .component--acf-flex-content > .acf-component--editor:first-child {
    margin-top: calc(var(--spacing-xxl) * -0.5);
  }
}
.TemplateLanding__content > div .component--acf-flex-content .component--editor p{
  color: var(--color-dark);
}
.TemplateLanding__content > div .component--acf-flex-content .acf-component--push-list {
  --color-beige: var(--color-light);
}
.TemplateLanding div.has-title > h2 {
    font-size: var(--ts-font-size);
    --ts-font-size: 3rem;
    line-height: var(--ts-line-height);
    --ts-line-height: 3.4rem;
    font-family: "MacanStencil", sans-serif;
  }
@media (min-width: 1024px) {
    .TemplateLanding div.has-title > h2 {
      font-size: var(--ts-font-size);
      --ts-font-size: 4rem;
      line-height: var(--ts-line-height);
      --ts-line-height: 4.4rem;
    }
  }

.TemplateContact{
  padding-left: var(--margin);
  padding-right: var(--margin);
}
.TemplateContact__hero .component--hero-template-contact {
  --hero-height: calc(100lvh - (var(--header-height) + var(--spacing-xxxl) + var(--margin)));
  margin-bottom: calc(var(--margin) * 2);
}
.TemplateContact__content{
  margin-bottom: var(--spacing-xxxl);
}
.TemplateContact__content-cross {
  width: calc(100% + var(--margin) * 2);
  margin-left: calc(var(--margin) * -1);
}

.Search{
  display: flex;
  flex-direction: column;
  gap: var(--spacing-xl);
  padding-left: var(--margin);
  padding-right: var(--margin);
  padding-bottom: var(--spacing-xxxl);
}

@media (min-width: 1024px){
  .Search{
    gap: var(--spacing-xxl);
  }
}
.Search__top{
  display: flex;
  flex-direction: column;
  gap: var(--spacing-l);
}
.Search__top > span:first-child {
    font-size: var(--ts-font-size);
    --ts-font-size: 1.5rem;
    line-height: var(--ts-line-height);
    --ts-line-height: 1.7rem;
  }
.Search__top > span:last-child {
    font-size: var(--ts-font-size);
    --ts-font-size: 4.8rem;
    line-height: var(--ts-line-height);
    --ts-line-height: 5.2rem;
    font-family: "MacanStencil", sans-serif;
  }
@media (min-width: 1024px) {
    .Search__top > span:last-child {
      font-size: var(--ts-font-size);
      --ts-font-size: 6.4rem;
      line-height: var(--ts-line-height);
      --ts-line-height: 6.8rem;
    }
  }
.Search__content{
  display: flex;
  flex-direction: column;
  gap: var(--spacing-xl);
}
@media (min-width: 1024px){
  .Search__content{
    gap: var(--spacing-xxl);
  }
}
.Search__count{
  display: flex;
  align-items: flex-start;
  justify-content: flex-start;
  flex-direction: column;
  gap: var(--spacing-xxl);
}
@media (min-width: 1024px){
  .Search__count{
    display: flex;
    align-items: center;
    justify-content: space-between;
    flex-direction: row;
  }
}
.Search__count span {
    font-size: var(--ts-font-size);
    --ts-font-size: 2.4rem;
    line-height: var(--ts-line-height);
    --ts-line-height: 2.4rem;
    font-family: "Macan", sans-serif;
  }
@media (min-width: 1024px) {
    .Search__count span {
      font-size: var(--ts-font-size);
      --ts-font-size: 2.8rem;
      line-height: var(--ts-line-height);
      --ts-line-height: 3.2rem;
    }
    .Search__count button{
    order: 1;
  }
  }
.Search__list{
  display: flex;
  flex-direction: column;
  gap: var(--spacing-m);
}
.Search__item{
  display: grid;
  grid-template-columns: repeat(12, minmax(0, 1fr));
  align-items: center;
  gap: var(--gap);
  row-gap: var(--spacing-xl);
  padding-top: var(--spacing-xl);
  padding-bottom: var(--spacing-xl);
  padding-left: var(--spacing-xl);
  padding-right: var(--spacing-xl);
}
.Search__item.list {
  grid-template-columns: repeat(6, minmax(0, 1fr));
}
@media (min-width: 768px) {
  .Search__item.list {
    grid-template-columns: repeat(8, minmax(0, 1fr));
  }
}
@media (min-width: 1024px) {
  .Search__item.list {
    grid-template-columns: repeat(12, minmax(0, 1fr));
  }
  .Search__item{
    padding-left: 0rem;
    padding-right: 0rem;
  }
}
.Search__item > div:nth-child(1){
  grid-column: 1 / -1;
}
@media (min-width: 1024px){
  .Search__item > div:nth-child(1){
    grid-column: span 4 / span 4;
    padding-left: var(--spacing-xl);
  }
}
.Search__item > div:nth-child(2){
  grid-column: 1 / -1;
}
@media (min-width: 1024px){
  .Search__item > div:nth-child(2){
    grid-column: span 6 / span 6;
  }
}
.Search__item > div:nth-child(2) > p:first-child {
    font-weight: var(--ts-font-weight);
    --ts-font-weight: 600;
  }
.Search__item > div:nth-child(3){
  grid-column: 1 / -1;
  display: flex;
}
@media (min-width: 1024px){
  .Search__item > div:nth-child(3){
    display: flex;
    align-items: center;
    justify-content: flex-end;
    grid-column: span 2 / span 2;
    padding-right: var(--spacing-xl);
  }
}
.Page404{
  height: 100lvh;
  background-color: var(--color-light);
}
.Page404,.Page404 * {
  --color-dark: #fff;
  --color-light: #3C0068;
  --color-dark: var(--color-primary);
}

.section .editor > *:first-child{
  margin-top: 0rem;
}
.section .editor h3{
  margin-top: var(--spacing-xl);
  margin-bottom: var(--spacing-m);
}
.section .editor p{
  margin-bottom: var(--spacing-s);
}
.section .editor ul{
  padding-left: 2rem;
}
.section .editor ul li{
  margin-bottom: 0.4rem;
  list-style-type: disc;
}
.section .editor button{
  margin-top: var(--spacing-l);
  margin-bottom: var(--spacing-xl);
}
.component--embed a.section .editor button{
  color: var(--color-light);
}
@media (max-width: 1023px) {
  .component--header .component__links .section .editor button{
    width: 4.8rem;
    padding-left: 0rem;
    padding-right: 0rem;
  }
  .component--header .component__links .section .editor button > span:not(.button__burger){
    display: none;
  }
}
.section .editor button{
  position: relative;
  display: flex;
  height: 4.8rem;
  align-items: center;
  justify-content: center;
  gap: 0.8rem;
  overflow: hidden;
  white-space: nowrap;
  border-radius: 9999px;
  background-color: var(--color-dark);
  padding-left: var(--spacing-xl);
  padding-right: var(--spacing-xl);
  color: var(--color-light);
    font-size: var(--ts-font-size);
    --ts-font-size: 1.5rem;
    line-height: var(--ts-line-height);
    --ts-line-height: 1.7rem;
}
.section .editor button *{
  color: var(--color-light);
}
.section .editor button:disabled {
  cursor: not-allowed;
  opacity: 0.2;
}
.section .editor button svg{
  max-height: 4.8rem;
  max-width: 4.8rem;
  flex-shrink: 0;
}
.section .file{
  margin-top: var(--spacing-m);
  margin-bottom: var(--spacing-m);
}
.section .accordions{
  margin-top: var(--spacing-xxl);
  margin-bottom: var(--spacing-xxl);
}

.carousel--cards .carousel__items {
  width: calc(100% + var(--gap));
  margin-left: calc(var(--gap) / 2 * -1);
}
.carousel--cards .carousel__navigation{
  display: flex;
  gap: var(--spacing-s);
}
.carousel--cards .swiper{
  overflow: visible;
}
.carousel--cards .swiper-slide {
  padding: 0 calc(var(--gap) / 2);
}

.component--carousel-full{
  position: relative;
  height: 100vh;
}

.component--carousel-full,.component--carousel-full * {
  --color-dark: #fff;
  --color-light: #3C0068;
  --color-dark: var(--color-primary);
}

@media (min-width: 1024px){
  .component--carousel-full{
    aspect-ratio: 7/4;
    height: auto;
  }
}
.component--carousel-full .carousel__item{
  position: absolute;
  inset: 0rem;
}
.component--carousel-full .carousel__item:not(.active){
  visibility: hidden;
}
.component--carousel-full .carousel__item .carousel__item-wrapper{
  height: 100%;
}
.component--carousel-full .carousel__item .carousel__item-wrapper .carousel__item-image{
  position: absolute;
  inset: 0rem;
  z-index: 1;
}
.component--carousel-full .carousel__item .carousel__item-wrapper .carousel__item-informations{
  display: flex;
  align-items: flex-start;
  justify-content: flex-end;
  position: absolute;
  inset: 0rem;
  z-index: 2;
  height: 100%;
  flex-direction: column;
  gap: var(--spacing-l);
  padding: var(--spacing-xxl);
}
@media (min-width: 1024px){
  .component--carousel-full .carousel__item .carousel__item-wrapper .carousel__item-informations {
    width: calc((var(--width-of-layout) - var(--gap) * (var(--max-columns) - 1)) / var(--max-columns) * 6 + var(--gap) * (6 - 1));
  }
}
.component--carousel-full .carousel__item .carousel__item-wrapper .carousel__item-informations .carousel__item-title {
    font-size: var(--ts-font-size);
    --ts-font-size: 4rem;
    line-height: var(--ts-line-height);
    --ts-line-height: 4.2rem;
    font-family: "MacanStencil", sans-serif;
  }
@media (min-width: 1024px) {
    .component--carousel-full .carousel__item .carousel__item-wrapper .carousel__item-informations .carousel__item-title {
      font-size: var(--ts-font-size);
      --ts-font-size: 5.2rem;
      line-height: var(--ts-line-height);
      --ts-line-height: 5.6rem;
    }
  }
.component--carousel-full .carousel__item .carousel__item-wrapper .carousel__item-informations .carousel__item-text {
    font-size: var(--ts-font-size);
    --ts-font-size: 2.4rem;
    line-height: var(--ts-line-height);
    --ts-line-height: 2.4rem;
    font-family: "Macan", sans-serif;
  }
@media (min-width: 1024px) {
    .component--carousel-full .carousel__item .carousel__item-wrapper .carousel__item-informations .carousel__item-text {
      font-size: var(--ts-font-size);
      --ts-font-size: 2.8rem;
      line-height: var(--ts-line-height);
      --ts-line-height: 3.2rem;
    }
  }
.component--carousel-full .carousel__informations{
  position: absolute;
  top: 0rem;
  left: 0rem;
  display: flex;
  width: 100%;
  justify-content: space-between;
  padding-left: var(--margin);
  padding-right: var(--margin);
  padding-top: var(--spacing-l);
}
.component--carousel-full .carousel__informations .carousel__title{
  z-index: 3;
    font-size: var(--ts-font-size);
    --ts-font-size: 1.6rem;
    line-height: var(--ts-line-height);
    --ts-line-height: 2.2rem;
    font-family: "Inter", sans-serif;
}
.component--carousel-full .carousel__navigation{
  position: absolute;
  right: var(--spacing-xxl);
  bottom: var(--spacing-xxl);
  z-index: 3;
  display: flex;
  gap: var(--spacing-s);
}

.component--embed{
  display: flex;
  align-items: center;
  justify-content: center;
  background-color: var(--color-light);
}

.component--embed,.component--embed * {
  --color-dark: #fff;
  --color-light: #3C0068;
  --color-dark: var(--color-primary);
}
.component--embed a.button, .component--embed .component--menu-header-primary .component__container-buttons a, .component--menu-header-primary .component__container-buttons .component--embed a, .component--embed .Search__item > div:nth-child(3) a, .Search__item > div:nth-child(3) .component--embed a{
  color: var(--color-light);
}

.acf-component--form .advancedform{
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  -moz-column-gap: var(--gap);
       column-gap: var(--gap);
  row-gap: var(--spacing-xl);
}

.acf-component--form .advancedform.list {
  grid-template-columns: repeat(6, minmax(0, 1fr));
}

@media (min-width: 768px) {
  .acf-component--form .advancedform.list {
    grid-template-columns: repeat(8, minmax(0, 1fr));
  }
}

@media (min-width: 1024px) {
  .acf-component--form .advancedform.list {
    grid-template-columns: repeat(12, minmax(0, 1fr));
  }
}
.acf-component--form .advancedform > *{
  grid-column: span 2 / span 2;
}
@media (min-width: 1024px){
  .acf-component--form .advancedform > *.small{
    grid-column: span 1 / span 1;
  }
}
.acf-component--form label {
    font-size: var(--ts-font-size);
    --ts-font-size: 1.3rem;
    line-height: var(--ts-line-height);
    --ts-line-height: 1.6rem;
  }
.acf-component--form input,
.acf-component--form select,
.acf-component--form textarea{
  height: 3.8rem;
  width: 100%;
  border-bottom-width: 1px;
  border-color: var(--color-dark);
  background-color: transparent;
  padding-top: 0.8rem;
  padding-bottom: 0.8rem;
  font-weight: 600;
}
.acf-component--form input::-moz-placeholder, .acf-component--form select::-moz-placeholder, .acf-component--form textarea::-moz-placeholder{
  color: var(--color-dark);
  opacity: 0.2;
}
.acf-component--form input::placeholder,
.acf-component--form select::placeholder,
.acf-component--form textarea::placeholder{
  color: var(--color-dark);
  opacity: 0.2;
}
.acf-component--form .information-message {
    font-size: var(--ts-font-size);
    --ts-font-size: 1.3rem;
    line-height: var(--ts-line-height);
    --ts-line-height: 1.6rem;
  }
.component--selection-teaching-team{
  position: relative;
  background-color: var(--color-light);
  padding-left: var(--margin);
  padding-right: var(--margin);
  padding-top: var(--spacing-xxl);
  padding-bottom: var(--spacing-xxl);
}
.component--selection-teaching-team,.component--selection-teaching-team * {
  --color-dark: #fff;
  --color-light: #3C0068;
  --color-dark: var(--color-primary);
}
@media (min-width: 1024px){
  .component--selection-teaching-team{
    padding-top: var(--spacing-xxxl);
    padding-bottom: var(--spacing-xxxl);
  }
  .component--selection-teaching-team.has-accordions.has-button .component__wrapper-button{
    position: absolute;
    bottom: var(--spacing-xxxl);
    right: var(--margin);
  }
}
.component--selection-teaching-team .component__wrapper{
  display: flex;
  flex-direction: column;
  gap: 2.4rem;
}
.component--selection-teaching-team .component__title {
    font-size: var(--ts-font-size);
    --ts-font-size: 3rem;
    line-height: var(--ts-line-height);
    --ts-line-height: 3.4rem;
    font-family: "MacanStencil", sans-serif;
  }
@media (min-width: 1024px) {
    .component--selection-teaching-team .component__title {
      font-size: var(--ts-font-size);
      --ts-font-size: 4rem;
      line-height: var(--ts-line-height);
      --ts-line-height: 4.4rem;
    }
  }
.component--selection-teaching-team .component__list{
  display: grid;
  grid-template-columns: repeat(12, minmax(0, 1fr));
  gap: var(--gap);
}
.component--selection-teaching-team .component__list.list {
  grid-template-columns: repeat(6, minmax(0, 1fr));
}
@media (min-width: 768px) {
  .component--selection-teaching-team .component__list.list {
    grid-template-columns: repeat(8, minmax(0, 1fr));
  }
}
@media (min-width: 1024px) {
  .component--selection-teaching-team .component__list.list {
    grid-template-columns: repeat(12, minmax(0, 1fr));
  }
}
.component--selection-teaching-team .component__list .component--card-teaching-team{
  grid-column: 1 / -1;
}
@media (min-width: 1024px){
  .component--selection-teaching-team .component__list .component--card-teaching-team{
    grid-column: span 4 / span 4;
  }
}
.component--selection-teaching-team .component__wrapper-button{
  margin-top: var(--spacing-xxl);
  display: flex;
}
@media (min-width: 1024px){
  .component--selection-teaching-team .component__wrapper-button{
    margin-top: 0rem;
  }
}
.component--selection-teaching-team .component__button{
  display: flex;
  align-items: center;
  justify-content: center;
  height: 3.2rem;
}
.component--selection-teaching-team .component--accordions{
  margin-top: var(--gap);
}
.component--selection-teaching-team .component--accordions .accordion__header{
  display: flex;
  align-items: center;
  justify-content: center;
  height: 3.2rem;
  width: auto;
  gap: 0.8rem;
  border-radius: 9999px;
  --tw-bg-opacity: 1;
  background-color: rgb(48 0 83 / var(--tw-bg-opacity));
  padding-left: var(--spacing-l);
  padding-right: var(--spacing-l);
}
.component--selection-teaching-team .component--accordions .accordion__header svg{
  height: 1.6rem;
}
.component--selection-teaching-team .component--accordions .accordion__content::before{
  padding-bottom: 0rem;
}
.component--selection-teaching-team .component--accordions .accordion__content::after{
  padding-bottom: var(--gap);
}

.acf-component--quotes{
  display: grid;
  grid-template-columns: repeat(12, minmax(0, 1fr));
  row-gap: var(--spacing-xxl);
  -moz-column-gap: var(--gap);
       column-gap: var(--gap);
  background-color: var(--color-light);
  padding-left: var(--margin);
  padding-right: var(--margin);
  padding-top: var(--spacing-xxxl);
  padding-bottom: var(--spacing-xxxl);
}

.acf-component--quotes.list {
  grid-template-columns: repeat(6, minmax(0, 1fr));
}

@media (min-width: 768px) {
  .acf-component--quotes.list {
    grid-template-columns: repeat(8, minmax(0, 1fr));
  }
}

@media (min-width: 1024px) {
  .acf-component--quotes.list {
    grid-template-columns: repeat(12, minmax(0, 1fr));
  }
}

.acf-component--quotes,.acf-component--quotes * {
  --color-dark: #fff;
  --color-light: #3C0068;
  --color-dark: var(--color-primary);
}
.acf-component--quotes .acf-component__wrapper-main{
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  position: relative;
  grid-column: 1 / -1;
  width: 100%;
  flex-direction: column;
  gap: var(--spacing-xl);
}
@media (min-width: 1024px){
  .acf-component--quotes .acf-component__wrapper-main{
    grid-column: span 7 / span 7;
  }
}
.acf-component--quotes .acf-component__wrapper-main > .acf-component__navigation{
  display: none;
}
@media (min-width: 1024px){
  .acf-component--quotes .acf-component__wrapper-main > .acf-component__navigation{
    display: flex;
  }
}
.acf-component--quotes .acf-component__wrapper-text{
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  grid-column: 1 / -1;
  width: 100%;
  flex-direction: column;
  gap: var(--spacing-xxl);
}
@media (min-width: 1024px){
  .acf-component--quotes .acf-component__wrapper-text{
    grid-column: span 7 / span 7;
  }
}
.acf-component--quotes .acf-component__header{
  display: flex;
  align-items: center;
  justify-content: space-between;
  width: 100%;
  gap: var(--spacing-xl);
}
@media (min-width: 1024px){
  .acf-component--quotes .acf-component__header .acf-component__navigation{
    display: none;
  }
}
.acf-component--quotes .acf-component__wrapper-image{
  position: relative;
  grid-column: 1 / -1;
  aspect-ratio: 1/1;
}
@media (min-width: 1024px){
  .acf-component--quotes .acf-component__wrapper-image{
    grid-column: span 4 / span 4;
    grid-column-start: 9;
  }
}
.acf-component--quotes .acf-component__wrapper-image .acf-component__image{
  position: absolute;
  top: 0rem;
  left: 0rem;
  z-index: 2;
  height: 100%;
  width: 100%;
  overflow: hidden;
  transition: height var(--animation-duration) ease 0s;
}
.acf-component--quotes .acf-component__wrapper-image .acf-component__image img{
  aspect-ratio: 1/1;
  height: auto;
  width: 100%;
}
.acf-component--quotes .acf-component__wrapper-image .acf-component__image:not(.active){
  z-index: 1;
  height: 0rem;
  transition: height 0s ease var(--animation-duration);
}
.acf-component--quotes .acf-component__wrapper-items{
  position: relative;
  width: 100%;
  min-height: 0;
  transition: min-height var(--animation);
}
.acf-component--quotes .acf-component__item{
  position: absolute;
  top: 0rem;
  left: 0rem;
  width: 100%;
  transition: visiblity 0s;
  transition-delay: 0s;
}
.acf-component--quotes .acf-component__item .acf-component__citation-text,
.acf-component--quotes .acf-component__item .acf-component__citation-informations {
  opacity: 1;
  transform: translate3d(0, 0, 0);
  transition: opacity var(--animation), transform var(--animation);
}
.acf-component--quotes .acf-component__item .acf-component__citation-informations {
  transition-delay: 0.1s, 0.1s;
}
.acf-component--quotes .acf-component__item:not(.active){
  visibility: hidden;
  transition-delay: var(--animation-duration);
}
.acf-component--quotes .acf-component__item:not(.active) .acf-component__citation-text,
.acf-component--quotes .acf-component__item:not(.active) .acf-component__citation-informations {
  opacity: 0;
  transform: translate3d(0, 2rem, 0);
}
.acf-component--quotes .acf-component__citation{
  display: flex;
  flex-direction: column;
  gap: var(--spacing-xl);
}
.acf-component--quotes .acf-component__citation-text {
    font-size: var(--ts-font-size);
    --ts-font-size: 2.4rem;
    line-height: var(--ts-line-height);
    --ts-line-height: 2.4rem;
    font-family: "Macan", sans-serif;
  }
@media (min-width: 1024px) {
    .acf-component--quotes .acf-component__citation-text {
      font-size: var(--ts-font-size);
      --ts-font-size: 2.8rem;
      line-height: var(--ts-line-height);
      --ts-line-height: 3.2rem;
    }
  }
.acf-component--quotes .acf-component__citation-informations{
  display: flex;
  flex-direction: column;
  gap: var(--spacing-s);
}
.acf-component--quotes .acf-component__citation-author {
    font-weight: var(--ts-font-weight);
    --ts-font-weight: 600;
  }
.acf-component--quotes .acf-component__navigation{
  display: flex;
  align-items: center;
  justify-content: flex-start;
  gap: var(--spacing-m);
}

.acf-component--image{
  position: relative;
}
.acf-component--image img{
  max-height: 110lvh;
  -o-object-fit: cover;
     object-fit: cover;
}
.acf-component--image .acf-component__wrapper-image {
    max-width: calc((var(--width-of-layout) - var(--gap) * (var(--max-columns) - 1)) / var(--max-columns) * 8 + var(--gap) * (8 - 1));
    position: relative;
    width: 100%;
  }
.acf-component--image .acf-component__decoration-desktop{
  position: absolute;
  top: 25%;
  left: 0rem;
  display: none;
  width: 100%;
}
@media (min-width: 1024px){
  .acf-component--image .acf-component__decoration-desktop{
    display: block;
  }
}
.acf-component--image .acf-component__decoration-desktop .acf-component__wave,
.acf-component--image .acf-component__decoration-desktop .acf-component__wave-mask{
  position: absolute;
  left: 0rem;
  top: 0rem;
  width: 100%;
}
.acf-component--image .acf-component__decoration-desktop .acf-component__wave-mask{
  overflow: hidden;
}
.acf-component--image .acf-component__decoration-desktop .acf-component__wave-mask *{
  color: var(--color-light);
}
.acf-component--image .acf-component__decoration-desktop .acf-component__wave svg,
.acf-component--image .acf-component__decoration-desktop .acf-component__wave-mask svg {
  margin-left: calc((var(--width-of-layout) - var(--gap) * (var(--max-columns) - 1)) / var(--max-columns) * 6 + var(--gap) * (6 - 1));
}
.acf-component--image .acf-component__decoration-mobile{
  display: flex;
  align-items: flex-start;
  justify-content: flex-end;
  margin-top: var(--spacing-xxl);
}
@media (min-width: 1024px){
  .acf-component--image .acf-component__decoration-mobile{
    display: none;
  }
}
.acf-component--image .acf-component__decoration-mobile .acf-component__wave {
  transform: translateX(calc(var(--margin) + 8rem));
}
.acf-component--image .acf-component__decoration-mobile *, .acf-component--image .acf-component__decoration-desktop *{
  color: var(--color-primary);
}
.acf-component--image .acf-component__decoration-mobile .mask, .acf-component--image .acf-component__decoration-desktop .mask{
  width: 0rem;
  transition: width calc(var(--animation-duration) * 3) var(--animation-timing);
}
.acf-component--image .acf-component__decoration-mobile.is-in-view .mask, .acf-component--image .acf-component__decoration-desktop.is-in-view .mask{
  width: 100%;
}
.acf-component--image.acf-component--is-full .image{
  max-width: none;
}

.acf-component--mediaviewer{
  position: relative;
  aspect-ratio: 2/3;
}

.acf-component--mediaviewer,.acf-component--mediaviewer * {
  --color-dark: #fff;
  --color-light: #3C0068;
  --color-dark: var(--color-primary);
}

@media (min-width: 1024px){
  .acf-component--mediaviewer{
    aspect-ratio: 7/4;
  }
}

.acf-component--mediaviewer {
  z-index: 1000;
}
.acf-component--mediaviewer,
.acf-component--mediaviewer * {
  --color-dark: white;
}
.acf-component--mediaviewer .component__wrapper{
  position: absolute;
  height: 100%;
  width: 100%;
  overflow: hidden;
  background-color: var(--color-light);
  transform: translate3d(0, 0, 0);
  transition: width var(--animation-property), height var(--animation-property), transform var(--animation-property), position 0s;
}
.acf-component--mediaviewer .component__cover{
  position: absolute;
  bottom: 0rem;
  left: 0rem;
  height: 100%;
  width: 100%;
  overflow: hidden;
  transition: all var(--animation-property);
  transition-delay: var(--animation-duration);
}
.acf-component--mediaviewer .component__cover .image{
  position: absolute;
  left: 0rem;
  bottom: 0rem;
  aspect-ratio: 2/3;
  height: auto;
}
@media (min-width: 1024px){
  .acf-component--mediaviewer .component__cover .image{
    aspect-ratio: 7/4;
  }
}
.acf-component--mediaviewer .component__cover .image {
  transition: all var(--animation-property);
}
.acf-component--mediaviewer .component__content{
  display: flex;
  height: 100%;
  width: 100%;
  transition: all calc(var(--animation-duration) * 1) var(--animation-timing);
}
.acf-component--mediaviewer .component__content-wrapper-item{
  display: flex;
  align-items: center;
  justify-content: center;
  height: 100%;
  width: 100%;
  flex-shrink: 0;
}
.acf-component--mediaviewer .component__content-item{
  display: flex;
  align-items: center;
  justify-content: center;
  height: 100%;
  width: 100%;
}
.acf-component--mediaviewer .component__content-item > .image{
  opacity: 0.2;
  transition: opacity var(--animation-property), width calc(var(--animation-duration) * 0.75) var(--animation-timing), height calc(var(--animation-duration) * 0.75) var(--animation-timing);
}
.acf-component--mediaviewer .component__content-item > .component--embed{
  visibility: hidden;
  position: absolute;
  opacity: 0;
  top: calc(var(--spacing-xxl) * 3);
  left: var(--spacing-xxl);
  width: calc(100% - var(--spacing-xxl) * 2);
  height: calc(100% - var(--spacing-xxl) * 4);
  transition: visibility 0s, opacity var(--animation-property);
  transition-delay: var(--animation-duration), 0s;
}
.acf-component--mediaviewer .component__content-item .component__wrapper-button-play{
  visibility: hidden;
  position: absolute;
  top: 50%;
  left: 50%;
  z-index: 1;
  --tw-translate-x: -50%;
  --tw-translate-y: -50%;
  transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
  overflow: hidden;
  transition-delay: var(--animation-duration);
}
.acf-component--mediaviewer .component__content-item .component__button-play {
  transform: rotate(-10deg) translate3d(0, 180%, 0);
  transition: all var(--animation-property);
}
.acf-component--mediaviewer .component__content-item:not(.is-full) img{
  -o-object-fit: contain;
     object-fit: contain;
}
.acf-component--mediaviewer .component__wrapper-button-open{
  position: absolute;
  top: 50%;
  left: 50%;
  z-index: 1;
  --tw-translate-x: -50%;
  --tw-translate-y: -50%;
  transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
  overflow: hidden;
}
.acf-component--mediaviewer .component__button-open {
  transition: transform var(--animation-property);
  transition-delay: calc(var(--animation-duration) * 1.2);
}
.acf-component--mediaviewer .component__navigation{
  position: absolute;
  top: var(--spacing-xxl);
  left: var(--margin);
  z-index: 1;
  display: flex;
  flex-direction: column;
  gap: var(--spacing-xl);
}
@media (min-width: 1024px){
  .acf-component--mediaviewer .component__navigation{
    flex-direction: row;
  }
}
.acf-component--mediaviewer .component__navigation {
  width: calc(100% - var(--margin) * 2);
  transform: translate3d(0, calc(var(--spacing-xxl) * -3), 0);
  transition: all var(--animation-property);
}
.acf-component--mediaviewer .component__navigation-arrows{
  display: flex;
  align-items: center;
  justify-content: flex-start;
  gap: var(--spacing-m);
}
.acf-component--mediaviewer .component__wrapper-legends{
  position: relative;
  display: flex;
  height: 4.8rem;
  width: 100%;
  align-items: center;
}
@media (min-width: 1024px){
  .acf-component--mediaviewer .component__wrapper-legends{
    width: 50%;
  }
}
.acf-component--mediaviewer .component__wrapper-legends .component__legend{
  visibility: hidden;
  position: absolute;
  left: 0rem;
  top: 0rem;
  opacity: 0;
}
@media (min-width: 1024px){
  .acf-component--mediaviewer .component__wrapper-legends .component__legend{
    top: 50%;
    --tw-translate-y: -50%;
    transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
  }
}
.acf-component--mediaviewer .component__wrapper-legends .component__legend {
  transition: opacity calc(var(--animation-duration) / 2) ease, visibility calc(var(--animation-duration) / 2) ease;
  transition-delay: 0s, var(--animation-duration);
}
.acf-component--mediaviewer .component__wrapper-legends .component__legend.active{
  visibility: visible;
  opacity: 1;
  transition-delay: 0s, 0s;
}
.acf-component--mediaviewer .component__button-close{
  position: absolute;
  top: var(--spacing-xxl);
  right: var(--margin);
  z-index: 1;
  transform: translate3d(0, calc(var(--spacing-xxl) * -3), 0);
  transition: transform var(--animation-property);
}
.acf-component--mediaviewer.is-active .component__cover{
  height: 0rem;
  transition-delay: 0s;
}
.acf-component--mediaviewer.is-active .component__wrapper {
  width: 100vw;
  height: 100lvh;
  transition-delay: var(--animation-duration), var(--animation-duration), var(--animation-duration), 0s;
}
.acf-component--mediaviewer.is-active .component__wrapper.is-fixed {
  position: fixed;
  top: 0;
  left: 0;
  transform: none !important;
  transition: none;
  z-index: 1000;
}
.acf-component--mediaviewer.is-active .component__content-wrapper-item.current .component__button-play {
  transform: rotate(0deg) translate3d(0, 0, 0);
  transition-delay: calc(var(--animation-duration) * 1);
}
.acf-component--mediaviewer.is-active .component__content-wrapper-item.see-video .image{
  opacity: 0.2;
  transition-delay: 0s, 0s, 0s;
}
.acf-component--mediaviewer.is-active .component__content-wrapper-item.see-video .component__wrapper-button-play {
  display: none;
}
.acf-component--mediaviewer.is-active .component__content-wrapper-item.see-video .component--embed{
  visibility: visible;
  opacity: 1;
  transition-delay: 0s, 0s;
}
.acf-component--mediaviewer.is-active .component__content-item .image{
  opacity: 1;
  transition-delay: var(--animation-duration), 0s, 0s;
}
.acf-component--mediaviewer.is-active .component__content-item .component__wrapper-button-play {
  visibility: visible;
  transition-delay: 0s;
}
.acf-component--mediaviewer.is-active .component__navigation {
  transform: translate3d(0, 0, 0);
  transition-delay: var(--animation-duration);
}
.acf-component--mediaviewer.is-active .component__wrapper-button-open {
  visibility: hidden;
  transition: calc(var(--animation-duration) * 2);
}
.acf-component--mediaviewer.is-active .component__button-open {
  transform: rotate(-10deg) translate3d(0, 180%, 0);
}
.acf-component--mediaviewer.is-active .component__button-close {
  transform: translate3d(0, 0, 0);
  transition-delay: var(--animation-duration);
}
.acf-component--mediaviewer.is-changing .component__content-item .image {
  width: 80%;
  height: 80%;
}

.acf-component--push-image{
  position: relative;
  display: grid;
  grid-template-columns: repeat(12, minmax(0, 1fr));
  gap: var(--gap);
  row-gap: var(--spacing-xxl);
  padding-left: var(--margin);
  padding-right: var(--margin);
}

.acf-component--push-image.list {
  grid-template-columns: repeat(6, minmax(0, 1fr));
}

@media (min-width: 768px) {
  .acf-component--push-image.list {
    grid-template-columns: repeat(8, minmax(0, 1fr));
  }
}

@media (min-width: 1024px) {
  .acf-component--push-image.list {
    grid-template-columns: repeat(12, minmax(0, 1fr));
  }
}
.acf-component--push-image .acf-component__top{
  grid-column: span 12 / span 12;
}
@media (min-width: 1024px){
  .acf-component--push-image .acf-component__top{
    grid-column: span 4 / span 4;
  }
}
.acf-component--push-image .acf-component__top h2 {
    font-size: var(--ts-font-size);
    --ts-font-size: 3rem;
    line-height: var(--ts-line-height);
    --ts-line-height: 3.4rem;
    font-family: "MacanStencil", sans-serif;
  }
@media (min-width: 1024px) {
    .acf-component--push-image .acf-component__top h2 {
      font-size: var(--ts-font-size);
      --ts-font-size: 4rem;
      line-height: var(--ts-line-height);
      --ts-line-height: 4.4rem;
    }
  }
.acf-component--push-image .acf-component__main{
  grid-column: span 12 / span 12;
  display: flex;
  flex-direction: column;
  gap: var(--spacing-xl);
}
@media (min-width: 1024px){
  .acf-component--push-image .acf-component__main{
    grid-column: span 8 / span 8;
    gap: var(--spacing-xxl);
  }
}
.acf-component--push-image .acf-component__main > div{
  display: flex;
  flex-direction: column;
  gap: var(--spacing-s);
}
@media (min-width: 1024px){
  .acf-component--push-image .acf-component__main > div{
    flex-direction: row;
    gap: var(--gap);
  }
}
.acf-component--push-image .acf-component__main > div > div{
  display: flex;
  width: 100%;
  flex-direction: column;
  align-items: flex-start;
  gap: var(--spacing-xl);
}
.acf-component--push-image .acf-component__title {
    font-size: var(--ts-font-size);
    --ts-font-size: 2.4rem;
    line-height: var(--ts-line-height);
    --ts-line-height: 2.4rem;
    font-family: "Macan", sans-serif;
  }
@media (min-width: 1024px) {
    .acf-component--push-image .acf-component__title {
      font-size: var(--ts-font-size);
      --ts-font-size: 2.8rem;
      line-height: var(--ts-line-height);
      --ts-line-height: 3.2rem;
    }
  }
.acf-component--push-image .acf-component__decoration-mobile{
  grid-column: 1 / -1;
  display: flex;
  flex-direction: column;
  align-items: flex-end;
  gap: var(--spacing-xxl);
}
@media (min-width: 1024px){
  .acf-component--push-image .acf-component__decoration-mobile{
    display: none;
  }
}
.acf-component--push-image .acf-component__decoration-mobile *{
  color: var(--color-primary);
}
.acf-component--push-image .acf-component__decoration-mobile .acf-component__line1 {
  transform: translate3d(calc(((var(--width-of-layout) - var(--gap) * (var(--max-columns) - 1)) / var(--max-columns) * 1 + var(--gap) * (1 - 1) + var(--gap)) * -1), 0, 0);
}
.acf-component--push-image .acf-component__decoration-mobile .acf-component__wave {
  transform: translate3d(calc(var(--margin) + 8rem), 0, 0);
}
.acf-component--push-image .acf-component__decoration-desktop{
  position: absolute;
  top: 0rem;
  right: 0rem;
  display: none;
  height: 100%;
}
@media (min-width: 1024px){
  .acf-component--push-image .acf-component__decoration-desktop{
    display: block;
  }
}
.acf-component--push-image .acf-component__decoration-desktop *{
  color: var(--color-primary);
}
.acf-component--push-image .acf-component__decoration-desktop .acf-component__line1,
.acf-component--push-image .acf-component__decoration-desktop .acf-component__line2,
.acf-component--push-image .acf-component__decoration-desktop .acf-component__wave,
.acf-component--push-image .acf-component__decoration-desktop .acf-component__wave-mask{
  position: absolute;
  top: 0rem;
  right: 0rem;
}
.acf-component--push-image .acf-component__decoration-desktop .acf-component__line1 .mask,
.acf-component--push-image .acf-component__decoration-desktop .acf-component__line2 .mask,
.acf-component--push-image .acf-component__decoration-desktop .acf-component__wave .mask,
.acf-component--push-image .acf-component__decoration-desktop .acf-component__wave-mask .mask{
  width: 0rem;
  transition: width calc(var(--animation-duration) * 3) var(--animation-timing);
}
.acf-component--push-image .acf-component__decoration-desktop .acf-component__line1.is-in-view .mask,
.acf-component--push-image .acf-component__decoration-desktop .acf-component__line2.is-in-view .mask,
.acf-component--push-image .acf-component__decoration-desktop .acf-component__wave.is-in-view .mask,
.acf-component--push-image .acf-component__decoration-desktop .acf-component__wave-mask.is-in-view .mask{
  width: 100%;
}
.acf-component--push-image .acf-component__decoration-desktop .acf-component__line1 {
  top: 20%;
  right: calc((var(--width-of-layout) - var(--gap) * (var(--max-columns) - 1)) / var(--max-columns) * 9 + var(--gap) * (9 - 1) + var(--margin) + var(--gap));
}
.acf-component--push-image .acf-component__decoration-desktop .acf-component__line2 {
  top: 33%;
  right: calc((var(--width-of-layout) - var(--gap) * (var(--max-columns) - 1)) / var(--max-columns) * 11 + var(--gap) * (11 - 1) + var(--margin) + var(--gap));
}
.acf-component--push-image .acf-component__decoration-desktop .acf-component__wave,
.acf-component--push-image .acf-component__decoration-desktop .acf-component__wave-mask{
  left: auto;
  right: var(--margin);
  aspect-ratio: 14/9;
  width: 100%;
}
@media (min-width: 1024px){
  .acf-component--push-image .acf-component__decoration-desktop .acf-component__wave,
.acf-component--push-image .acf-component__decoration-desktop .acf-component__wave-mask {
    width: calc((var(--width-of-layout) - var(--gap) * (var(--max-columns) - 1)) / var(--max-columns) * 8 + var(--gap) * (8 - 1));
  }
}
.acf-component--push-image .acf-component__decoration-desktop .acf-component__wave svg,
.acf-component--push-image .acf-component__decoration-desktop .acf-component__wave-mask svg{
  position: absolute;
  top: 60%;
  right: calc((var(--width-of-layout) - var(--gap) * (var(--max-columns) - 1)) / var(--max-columns) * 6 + var(--gap) * (6 - 1));
}
.acf-component--push-image .acf-component__decoration-desktop .acf-component__wave-mask{
  z-index: 1;
  overflow: hidden;
}
.acf-component--push-image .acf-component__decoration-desktop .acf-component__wave-mask *{
  color: var(--color-light);
}
.acf-component--push-image .acf-component__decoration-mobile .mask, .acf-component--push-image .acf-component__decoration-desktop .mask{
  width: 0rem;
  transition: width calc(var(--animation-duration) * 3) var(--animation-timing);
}
.acf-component--push-image .acf-component__decoration-mobile.is-in-view .mask, .acf-component--push-image .acf-component__decoration-desktop.is-in-view .mask{
  width: 100%;
}

.acf-component--marquee{
  display: flex;
  flex-direction: column;
  gap: var(--spacing-xl);
  overflow: hidden;
}

@media (min-width: 1024px){
  .acf-component--marquee{
    gap: var(--spacing-xxl);
  }
}
.acf-component--marquee .acf-component__text {
    font-size: var(--ts-font-size);
    --ts-font-size: 4.8rem;
    line-height: var(--ts-line-height);
    --ts-line-height: 5.2rem;
    font-family: "MacanStencil", sans-serif;
  }
@media (min-width: 1024px) {
    .acf-component--marquee .acf-component__text {
      font-size: var(--ts-font-size);
      --ts-font-size: 6.4rem;
      line-height: var(--ts-line-height);
      --ts-line-height: 6.8rem;
    }
  }
.acf-component--marquee .acf-component__text div{
  display: flex;
  white-space: nowrap;
}
.acf-component--marquee .acf-component__text div span::after {
  content: " ";
}
.acf-component--marquee button{
  margin-left: var(--margin);
  margin-right: var(--margin);
}
.acf-component--marquee button .play{
  display: none;
}
.acf-component--marquee.paused button .pause{
  display: none;
}
.acf-component--marquee.paused button .play{
  display: flex;
}

.acf-component--selection-news{
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: var(--spacing-xxl);
}
.acf-component--selection-news .acf-component__carrousel{
  display: none;
  width: 100%;
}
@media (min-width: 1024px){
  .acf-component--selection-news .acf-component__carrousel{
    display: block;
  }
}
.acf-component--selection-news .acf-component__carrousel .swiper{
  display: flex;
  flex-direction: column;
  gap: var(--spacing-xxl);
}
.acf-component--selection-news .acf-component__carrousel .swiper .swiper-head{
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: var(--spacing-xxl);
}
.acf-component--selection-news .acf-component__carrousel .swiper .swiper-head h2 {
    font-size: var(--ts-font-size);
    --ts-font-size: 3rem;
    line-height: var(--ts-line-height);
    --ts-line-height: 3.4rem;
    font-family: "MacanStencil", sans-serif;
  }
@media (min-width: 1024px) {
    .acf-component--selection-news .acf-component__carrousel .swiper .swiper-head h2 {
      font-size: var(--ts-font-size);
      --ts-font-size: 4rem;
      line-height: var(--ts-line-height);
      --ts-line-height: 4.4rem;
    }
  }
.acf-component--selection-news .acf-component__carrousel .swiper .swiper-head .swiper-navigation{
  display: flex;
  align-items: center;
  justify-content: center;
  gap: var(--spacing-s);
}
.acf-component--selection-news .acf-component__carrousel .swiper .swiper-wrapper{
  display: flex;
  width: 100%;
}
.acf-component--selection-news .acf-component__carrousel .swiper .swiper-wrapper .swiper-slide {
  width: calc((var(--width-of-layout) - var(--gap) * (var(--max-columns) - 1)) / var(--max-columns) * 4 + var(--gap) * (4 - 1) + var(--gap));
  padding-right: var(--gap);
}
.acf-component--selection-news .acf-component__carrousel .swiper .swiper-wrapper .swiper-slide:last-of-type {
  width: calc((var(--width-of-layout) - var(--gap) * (var(--max-columns) - 1)) / var(--max-columns) * 4 + var(--gap) * (4 - 1));
  padding-right: 0;
}
.acf-component--selection-news .acf-component__carrousel .swiper .swiper-wrapper .swiper-slide:first-of-type {
  width: calc((var(--width-of-layout) - var(--gap) * (var(--max-columns) - 1)) / var(--max-columns) * 8 + var(--gap) * (8 - 1) + var(--gap));
  padding-right: var(--gap);
}
.acf-component--selection-news .acf-component__list{
  display: flex;
  flex-direction: column;
  gap: var(--spacing-xxl);
}
@media (min-width: 1024px){
  .acf-component--selection-news .acf-component__list{
    display: none;
  }
}
.acf-component--selection-news .acf-component__list ul{
  display: flex;
  flex-direction: column;
  gap: var(--spacing-xxl);
}

.acf-component--selection-event{
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: var(--spacing-xxl);
}
.acf-component--selection-event .acf-component__carrousel{
  display: none;
  width: 100%;
}
@media (min-width: 1024px){
  .acf-component--selection-event .acf-component__carrousel{
    display: block;
  }
}
.acf-component--selection-event .acf-component__carrousel .swiper{
  display: flex;
  flex-direction: column;
  gap: var(--spacing-xxl);
}
.acf-component--selection-event .acf-component__carrousel .swiper .swiper-head{
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: var(--spacing-xxl);
}
.acf-component--selection-event .acf-component__carrousel .swiper .swiper-head h2 {
    font-size: var(--ts-font-size);
    --ts-font-size: 3rem;
    line-height: var(--ts-line-height);
    --ts-line-height: 3.4rem;
    font-family: "MacanStencil", sans-serif;
  }
@media (min-width: 1024px) {
    .acf-component--selection-event .acf-component__carrousel .swiper .swiper-head h2 {
      font-size: var(--ts-font-size);
      --ts-font-size: 4rem;
      line-height: var(--ts-line-height);
      --ts-line-height: 4.4rem;
    }
  }
.acf-component--selection-event .acf-component__carrousel .swiper .swiper-head .swiper-navigation{
  display: flex;
  align-items: center;
  justify-content: center;
  gap: var(--spacing-s);
}
.acf-component--selection-event .acf-component__carrousel .swiper .swiper-wrapper{
  display: flex;
  width: 100%;
}
.acf-component--selection-event .acf-component__carrousel .swiper .swiper-wrapper .swiper-slide {
  width: calc((var(--width-of-layout) - var(--gap) * (var(--max-columns) - 1)) / var(--max-columns) * 4 + var(--gap) * (4 - 1) + var(--gap));
  padding-right: var(--gap);
}
.acf-component--selection-event .acf-component__carrousel .swiper .swiper-wrapper .swiper-slide:last-of-type {
  padding-right: 0;
  width: calc((var(--width-of-layout) - var(--gap) * (var(--max-columns) - 1)) / var(--max-columns) * 4 + var(--gap) * (4 - 1));
}
.acf-component--selection-event .acf-component__list{
  display: flex;
  flex-direction: column;
  gap: var(--spacing-xxl);
}
@media (min-width: 1024px){
  .acf-component--selection-event .acf-component__list{
    display: none;
  }
}
.acf-component--selection-event .acf-component__list ul{
  display: flex;
  flex-direction: column;
  gap: var(--spacing-xxl);
}

.acf-component--gallery{
  position: relative;
}

@media (min-width: 1024px){
  .acf-component--gallery{
    margin-bottom: var(--spacing-xxxl);
  }
}
.acf-component--gallery ul{
  display: grid;
  grid-template-columns: repeat(12, minmax(0, 1fr));
  row-gap: var(--spacing-xxl);
  -moz-column-gap: var(--gap);
       column-gap: var(--gap);
}
.acf-component--gallery ul.list {
  grid-template-columns: repeat(6, minmax(0, 1fr));
}
@media (min-width: 768px) {
  .acf-component--gallery ul.list {
    grid-template-columns: repeat(8, minmax(0, 1fr));
  }
}
@media (min-width: 1024px) {
  .acf-component--gallery ul.list {
    grid-template-columns: repeat(12, minmax(0, 1fr));
  }
  .acf-component--gallery ul{
    row-gap: var(--spacing-xxxl);
  }
}
.acf-component--gallery ul > li{
  grid-column: span 12 / span 12;
  display: flex;
  flex-direction: column;
  gap: var(--spacing-xl);
}
@media (min-width: 1024px){
  .acf-component--gallery ul > li{
    grid-column: span 6 / span 6;
  }
}
.acf-component--gallery ul > li div{
  display: flex;
  flex-direction: column;
  gap: var(--spacing-m);
}
.acf-component--gallery ul > li h3 {
    font-size: var(--ts-font-size);
    --ts-font-size: 2.4rem;
    line-height: var(--ts-line-height);
    --ts-line-height: 2.4rem;
    font-family: "Macan", sans-serif;
  }
@media (min-width: 1024px) {
    .acf-component--gallery ul > li h3 {
      font-size: var(--ts-font-size);
      --ts-font-size: 2.8rem;
      line-height: var(--ts-line-height);
      --ts-line-height: 3.2rem;
    }
  }
.acf-component--gallery .acf-component__decoration-top{
  margin-top: 7rem;
  margin-bottom: 7rem;
  display: none;
  flex-direction: column;
  align-items: flex-end;
  gap: 7rem;
}
@media (min-width: 1024px){
  .acf-component--gallery .acf-component__decoration-top{
    display: flex;
  }
}
.acf-component--gallery .acf-component__line1-top {
  transform: translate3d(calc(((var(--width-of-layout) - var(--gap) * (var(--max-columns) - 1)) / var(--max-columns) * 3 + var(--gap) * (3 - 1)) * -1), 0, 0);
}
.acf-component--gallery .acf-component__line2-top {
  transform: translate3d(calc(((var(--width-of-layout) - var(--gap) * (var(--max-columns) - 1)) / var(--max-columns) * 1 + var(--gap) * (1 - 1)) * -1), 0, 0);
}
.acf-component--gallery .acf-component__wave-top {
  transform: translate3d(calc(var(--margin) + 12rem), 0, 0);
}
.acf-component--gallery .acf-component__decoration-bottom{
  margin-top: 7rem;
  margin-bottom: 7rem;
  display: flex;
  flex-direction: column;
  gap: 7rem;
}
.acf-component--gallery .acf-component__line1-bottom {
  transform: translate3d(calc(((var(--width-of-layout) - var(--gap) * (var(--max-columns) - 1)) / var(--max-columns) * 3 + var(--gap) * (3 - 1)) * 1), 0, 0);
}
.acf-component--gallery .acf-component__line2-bottom {
  transform: translate3d(calc(((var(--width-of-layout) - var(--gap) * (var(--max-columns) - 1)) / var(--max-columns) * 1 + var(--gap) * (1 - 1)) * 1), 0, 0);
}
.acf-component--gallery .acf-component__wave-bottom {
  transform: translate3d(calc((var(--margin) + 12rem) * -1), 0, 0);
}
.acf-component--gallery .acf-component__decoration-top *, .acf-component--gallery .acf-component__decoration-bottom *{
  color: var(--color-primary);
}
.acf-component--gallery .acf-component__decoration-top > div svg .mask, .acf-component--gallery .acf-component__decoration-bottom > div svg .mask{
  width: 0rem;
  transition: width calc(var(--animation-duration) * 3) var(--animation-timing);
}
.acf-component--gallery .acf-component__decoration-top > div.is-in-view svg .mask, .acf-component--gallery .acf-component__decoration-bottom > div.is-in-view svg .mask{
  width: 100%;
}
@media (min-width: 1024px) {
  .acf-component--gallery ul > li:nth-child(4n-2){
    grid-column: span 4 / span 4;
    grid-column-start: 8;
    padding-top: calc((var(--width-of-layout) - var(--gap) * (var(--max-columns) - 1)) / var(--max-columns) * 3 + var(--gap) * (3 - 1));
  }
  .acf-component--gallery ul > li:nth-child(4n-1){
    grid-column: span 4 / span 4;
    grid-column-start: 2;
    margin-top: calc(var(--spacing-xxxl) * -1);
  }
  .acf-component--gallery ul > li:nth-child(4n){
    grid-column-start: 7;
    margin-top: calc(var(--spacing-xxxl) * 1);
  }
  .acf-component--gallery .acf-component__decoration-top, .acf-component--gallery .acf-component__decoration-bottom{
    position: absolute;
    right: 0rem;
    margin-top: 10rem;
    margin-bottom: 10rem;
    gap: 10rem;
    top: calc(var(--spacing-xxxl) * -2);
  }
  .acf-component--gallery .acf-component__decoration-bottom{
    left: 0rem;
    top: auto;
    right: auto;
    bottom: calc(var(--spacing-xxxl) * -2);
  }
}

.acf-component--selection-page .component--card-page .image > div{
  height: 0rem;
  overflow: hidden;
  transition: height var(--animation);
}
.acf-component--selection-page .component--card-page .image > div img{
  aspect-ratio: 14/9;
  height: auto;
}
.acf-component--selection-page .component--card-page.is-in-view .image > div{
  height: 100%;
}

.acf-component--keys-figures > div > div{
  position: relative;
  overflow: hidden;
}
.acf-component--keys-figures > div > div::before{
  position: absolute;
  top: 0rem;
  left: 0rem;
  height: 0.1rem;
  width: 0rem;
  background-color: var(--color-dark);
  content: "";
  transition: all var(--animation);
}
.acf-component--keys-figures > div > div > div {
  transform: translate3d(0, -102%, 0);
  transition: all var(--animation);
  transition-delay: calc(var(--animation-duration) / 2);
}
.acf-component--keys-figures > div > div > div span {
  transform: translate3d(0, -4rem, 0);
  transition: all var(--animation);
  transition-delay: calc(var(--animation-duration) / 2);
}
.acf-component--keys-figures > div > div.is-in-view::before {
  width: 100%;
}
.acf-component--keys-figures > div > div.is-in-view > div {
  transform: translate3d(0, 0, 0);
}
.acf-component--keys-figures > div > div.is-in-view > div span {
  transform: translate3d(0, 0, 0);
}

.acf-component--array strong{
  font-weight: 600;
}
.acf-component--array .component--editor > *{
  margin-bottom: 0.8rem;
}

.component--header{
  margin-bottom: var(--spacing-xxxl);
  padding-left: var(--margin);
  padding-right: var(--margin);
  padding-top: 2.4rem;
}
.component--header .component__wrapper-breadcrumbs{
  display: flex;
  align-items: center;
  justify-content: flex-start;
  z-index: 4;
  gap: var(--spacing-xxl);
  overflow: hidden;
  transition: margin-left var(--animation);
}
.component--header .component__wrapper-breadcrumbs .component__breadcrumbs{
  overflow: hidden;
}
.component--header .component__wrapper-breadcrumbs .component--breadcrumbs{
  display: block;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  transition: transform var(--animation), opacity var(--animation);
}
.component--header .component__logo{
  z-index: 3;
}
.component--header .component__logo svg{
  height: 4.8rem;
  width: auto;
  color: var(--color-primary);
}
@media (min-width: 1024px){
  .component--header .component__logo svg{
    height: 6rem;
  }
}
.component--header .component__logo svg {
  transition: height var(--animation);
}
.component--header .component__logo svg * {
  transition: color var(--animation), transform var(--animation);
  transition-delay: 0s, 0s;
}
.component--header .component__logo svg .line-2 {
  transition-delay: 0s, 0.1s;
}
.component--header .component__logo svg .line-3 {
  transition-delay: 0s, 0.2s;
}
.component--header .component__logo svg .line-4 {
  transition-delay: 0s, 0.3s;
}
.component--header .component__navigation{
  display: flex;
  width: 100%;
  align-items: center;
}
@media (min-width: 1024px){
  .component--header .component__navigation{
    gap: var(--spacing-xxl);
  }
}
.component--header .component__links{
  z-index: 3;
  margin-left: auto;
  display: flex;
  flex-shrink: 0;
  align-items: center;
  justify-content: space-between;
  gap: 1.6rem;
}
.component--header .component__links ul{
  display: none;
  align-items: center;
  justify-content: space-between;
  gap: var(--spacing-xl);
}
@media (min-width: 1024px){
  .component--header .component__links ul{
    display: flex;
  }
}
.component--header .component__links ul a {
    font-size: var(--ts-font-size);
    --ts-font-size: 1.5rem;
    line-height: var(--ts-line-height);
    --ts-line-height: 1.7rem;
  }
.component--header .component__wrapper-pannel{
  position: absolute;
  z-index: 2;
}
@media (max-width: 1023px) {
  .component--header .component__breadcrumbs{
    position: absolute;
    left: var(--margin);
    width: calc(100% - var(--margin) * 2);
    bottom: calc(var(--spacing-l) * -1);
    transform: translate3d(0, 100%, 0);
  }
  .component--header .component__breadcrumbs::before{
    position: absolute;
    top: 0rem;
    left: 0rem;
    height: 0.1rem;
    width: 100%;
    background-color: var(--color-dark);
    opacity: 0.2;
    content: "";
    transition: width var(--animation);
  }
  .component--header .component__breadcrumbs .component--breadcrumbs{
    padding-top: var(--spacing-l);
  }
  .component--header .component__links .button, .component--header .component__links .component--form-search form button[type=button], .component--form-search form .component--header .component__links button[type=button], .component--header .component__links .component--form-search form button[type=submit], .component--form-search form .component--header .component__links button[type=submit], .component--header .component__links .component--menu-header-primary .component__container-buttons a, .component--menu-header-primary .component__container-buttons .component--header .component__links a, .component--header .component__links .component--editor a > button, .component--editor .component--header .component__links a > button, .component--header .component__links .Search__count button, .Search__count .component--header .component__links button, .component--header .component__links .Search__item > div:nth-child(3) a, .Search__item > div:nth-child(3) .component--header .component__links a, .component--header .component__links .acf-component--form button[type=submit], .acf-component--form .component--header .component__links button[type=submit]{
    width: 4.8rem;
    padding-left: 0rem;
    padding-right: 0rem;
  }
  .component--header .component__links .button > span:not(.button__burger), .component--header .component__links .component--form-search form button[type=button] > span:not(.button__burger), .component--form-search form .component--header .component__links button[type=button] > span:not(.button__burger), .component--header .component__links .component--form-search form button[type=submit] > span:not(.button__burger), .component--form-search form .component--header .component__links button[type=submit] > span:not(.button__burger), .component--header .component__links .component--menu-header-primary .component__container-buttons a > span:not(.button__burger), .component--menu-header-primary .component__container-buttons .component--header .component__links a > span:not(.button__burger), .component--header .component__links .component--editor a > button > span:not(.button__burger), .component--editor .component--header .component__links a > button > span:not(.button__burger), .component--header .component__links .Search__count button > span:not(.button__burger), .Search__count .component--header .component__links button > span:not(.button__burger), .component--header .component__links .Search__item > div:nth-child(3) a > span:not(.button__burger), .Search__item > div:nth-child(3) .component--header .component__links a > span:not(.button__burger), .component--header .component__links .acf-component--form button[type=submit] > span:not(.button__burger), .acf-component--form .component--header .component__links button[type=submit] > span:not(.button__burger){
    display: none;
  }
}
.component--header * {
  color: var(--color-dark);
  transition: all var(--animation);
}

body[wp-class*=single-event]:not(.headroom--not-top) .component--header,body[wp-class*=single-event]:not(.headroom--not-top) .component--header * {
  --color-dark: #fff;
  --color-light: #3C0068;
  --color-dark: var(--color-primary);
}

body[wp-class*=single-course]:not(.headroom--not-top) .component--header .component__logo *, body[wp-class*=single-course]:not(.headroom--not-top) .component--header .component__links *,
body[wp-class*=home]:not(.headroom--not-top) .component--header .component__logo *,
body[wp-class*=home]:not(.headroom--not-top) .component--header .component__links *,
body[wp-class*=page-template-template-landing]:not(.headroom--not-top) .component--header .component__logo *,
body[wp-class*=page-template-template-landing]:not(.headroom--not-top) .component--header .component__links * {
  --color-dark: white;
}
@media (max-width: 1023px) {
  body[wp-class*=single-course].headroom--not-top .component--header .component__breadcrumbs, body[wp-class*=single-course].headroom--not-top .component--header .component__breadcrumbs *,
  body[wp-class*=single-course] .component--header .component__breadcrumbs,
  body[wp-class*=single-course] .component--header .component__breadcrumbs *,
  body[wp-class*=home].headroom--not-top .component--header .component__breadcrumbs,
  body[wp-class*=home].headroom--not-top .component--header .component__breadcrumbs *,
  body[wp-class*=home] .component--header .component__breadcrumbs,
  body[wp-class*=home] .component--header .component__breadcrumbs *,
  body[wp-class*=page-template-template-landing].headroom--not-top .component--header .component__breadcrumbs,
  body[wp-class*=page-template-template-landing].headroom--not-top .component--header .component__breadcrumbs *,
  body[wp-class*=page-template-template-landing] .component--header .component__breadcrumbs,
  body[wp-class*=page-template-template-landing] .component--header .component__breadcrumbs * {
    --color-dark: white;
  }
}
@media (min-width: 1024px) {
  body[wp-class*=single-course].headroom--top .component--header .component__breadcrumbs, body[wp-class*=single-course].headroom--top .component--header .component__breadcrumbs *,
  body[wp-class*=home].headroom--top .component--header .component__breadcrumbs,
  body[wp-class*=home].headroom--top .component--header .component__breadcrumbs *,
  body[wp-class*=page-template-template-landing].headroom--top .component--header .component__breadcrumbs,
  body[wp-class*=page-template-template-landing].headroom--top .component--header .component__breadcrumbs * {
    --color-dark: white;
  }
}

body.show-pannel:not(.show-pannel-full) .component--header .component__links,body.show-pannel:not(.show-pannel-full) .component--header .component__links * {
  --color-dark: #fff;
  --color-light: #3C0068;
  --color-dark: var(--color-primary);
}
@media (max-width: 1023px) {

body.show-pannel:not(.show-pannel-full) .component--header .component__logo,body.show-pannel:not(.show-pannel-full) .component--header .component__logo * {
  --color-dark: #fff;
  --color-light: #3C0068;
  --color-dark: var(--color-primary);
}
}

body.welcome .welcome {
  display: flex;
  justify-content: center;
  align-items: center;
  position: fixed;
  width: 100%;
  height: 100%;
  inset: 0;
  background-color: var(--color-light);
  opacity: 1;
  visibility: visible;
  z-index: 1000;
  transition: opacity var(--animation-property), visibility 0s;
}
body.welcome .welcome.hide {
  opacity: 0;
  visibility: hidden;
  transition-delay: 0s, 1s;
}

body:not(.welcome) .welcome {
  display: none;
}

.accordion{
  width: 100%;
}
.accordion.active .accordion__header svg{
  --tw-rotate: 180deg;
  transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
}
.accordion.active .accordion__body{
  grid-template-rows: 1fr;
}
.accordion__header{
  display: flex;
  width: 100%;
  cursor: pointer;
  align-items: center;
  justify-content: space-between;
  gap: var(--spacing-l);
}
.accordion__header svg {
  transition: transform 0.3s ease;
  height: 0.8rem;
}
.accordion__body {
  transition: grid-template-rows 0.3s ease;
  display: grid;
  grid-template-rows: 0fr;
}
.accordion__body.list {
  grid-template-columns: repeat(6, minmax(0, 1fr));
}
@media (min-width: 768px) {
  .accordion__body.list {
    grid-template-columns: repeat(8, minmax(0, 1fr));
  }
}
@media (min-width: 1024px) {
  .accordion__body.list {
    grid-template-columns: repeat(12, minmax(0, 1fr));
  }
}
.accordion__content{
  overflow: hidden;
}
.accordion__content::before, .accordion__content::after {
  content: "";
  display: block;
  padding-bottom: var(--spacing-m);
}

.component--alert{
  position: fixed;
  top: 0rem;
  left: 0rem;
  z-index: 1010;
  display: flex;
  width: 100%;
  justify-content: space-between;
  gap: var(--spacing-xxl);
  background-color: var(--color-yellow);
  padding-left: var(--margin);
  padding-right: var(--margin);
  padding-top: var(--spacing-l);
  padding-bottom: var(--spacing-l);
  transition: transform var(--animation-property);
}
.component--alert > div{
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: var(--spacing-l);
}
.component--alert .component__button{
  display: flex;
  flex-shrink: 0;
  align-items: center;
  gap: var(--spacing-s);
    font-size: var(--ts-font-size);
    --ts-font-size: 1.3rem;
    line-height: var(--ts-line-height);
    --ts-line-height: 1.6rem;
}
.component--alert .component__button svg{
  height: 1.6rem;
  width: 1.6rem;
}
.component--alert button{
  padding: var(--spacing-l);
}
.component--alert button svg{
  height: 1.6rem;
  width: 1.6rem;
}

.button, .component--form-search form button[type=button], .component--form-search form button[type=submit], .component--menu-header-primary .component__container-buttons a, .component--editor a > button, .Search__count button, .Search__item > div:nth-child(3) a, .acf-component--form button[type=submit]{
  position: relative;
  display: flex;
  height: 4.8rem;
  align-items: center;
  justify-content: center;
  gap: 0.8rem;
  overflow: hidden;
  white-space: nowrap;
  border-radius: 9999px;
  background-color: var(--color-dark);
  padding-left: var(--spacing-xl);
  padding-right: var(--spacing-xl);
  color: var(--color-light);
    font-size: var(--ts-font-size);
    --ts-font-size: 1.5rem;
    line-height: var(--ts-line-height);
    --ts-line-height: 1.7rem;
}
.button *, .component--form-search form button[type=button] *, .component--form-search form button[type=submit] *, .component--menu-header-primary .component__container-buttons a *, .component--editor a > button *, .Search__count button *, .Search__item > div:nth-child(3) a *, .acf-component--form button[type=submit] *{
  color: var(--color-light);
}
.button:disabled, .component--form-search form button[type=button]:disabled, .component--form-search form button[type=submit]:disabled, .component--menu-header-primary .component__container-buttons a:disabled, .component--editor a > button:disabled, .Search__count button:disabled, .Search__item > div:nth-child(3) a:disabled, .acf-component--form button[type=submit]:disabled {
  cursor: not-allowed;
  opacity: 0.2;
}
.button--light, .component--form-search form button[type=button], .Search__item > div:nth-child(3) a{
  border-width: 1px;
  border-color: var(--color-dark);
  background-color: transparent;
}
.button--light *, .component--form-search form button[type=button] *, .Search__item > div:nth-child(3) a *{
  color: var(--color-dark);
}
.button--icon, .component--form-search form button[type=button], .Search__item > div:nth-child(3) a{
  height: 4.8rem;
  width: 4.8rem;
  padding: 0rem;
}
.button--icon svg, .component--form-search form button[type=button] svg, .Search__item > div:nth-child(3) a svg{
  height: 1.6rem;
  width: auto;
}
.button--burger > .button__burger{
  position: relative;
  display: flex;
  height: 1.4rem;
  width: 1.6rem;
  flex-direction: column;
  justify-content: center;
  transform-origin: center;
  transition: transform var(--animation);
}
.button--burger > .button__burger span{
  position: absolute;
  height: 0.2rem;
  width: 100%;
  background-color: var(--color-dark);
  border-radius: 0 1rem 1rem 0;
}
.button--burger > .button__burger > span:nth-child(1) {
  transform: translate3d(0, -0.6rem, 0);
}
.button--burger > .button__burger > span:nth-child(2) {
  width: 75%;
}
.button--burger > .button__burger > span:nth-child(3) {
  width: 50%;
  transform: translate3d(0, 0.6rem, 0);
}
.button--burger.active > .button__burger, .button--burger.show-pannel > .button__burger {
  transform: rotate(45deg);
}
.button--burger.active > .button__burger > span:nth-child(1), .button--burger.show-pannel > .button__burger > span:nth-child(1) {
  width: 90%;
  transform: translate3d(0, 0, 0);
}
.button--burger.active > .button__burger > span:nth-child(2), .button--burger.show-pannel > .button__burger > span:nth-child(2) {
  width: 90%;
  height: 0;
}
.button--burger.active > .button__burger > span:nth-child(3), .button--burger.show-pannel > .button__burger > span:nth-child(3) {
  width: 90%;
  transform: translate3d(0, 0, 0) rotate(90deg);
}
.button svg, .component--form-search form button[type=button] svg, .component--form-search form button[type=submit] svg, .component--menu-header-primary .component__container-buttons a svg, .component--editor a > button svg, .Search__count button svg, .Search__item > div:nth-child(3) a svg, .acf-component--form button[type=submit] svg{
  max-height: 4.8rem;
  max-width: 4.8rem;
  flex-shrink: 0;
}

.component--button a{
  position: relative;
  display: flex;
  height: 4.8rem;
  align-items: center;
  justify-content: center;
  gap: 0.8rem;
  overflow: hidden;
  white-space: nowrap;
  border-radius: 9999px;
  background-color: var(--color-dark);
  color: var(--color-light);
    font-size: var(--ts-font-size);
    --ts-font-size: 1.5rem;
    line-height: var(--ts-line-height);
    --ts-line-height: 1.7rem;
  border-right: solid var(--spacing-xl) var(--color-dark);
  border-left: solid var(--spacing-xl) var(--color-dark);
  border-top: solid 1.6rem var(--color-dark);
  border-bottom: solid 1.6rem var(--color-dark);
}
.component--button a *{
  color: var(--color-light);
}
.component--button:not(.component--secondary) > a > span {
  transform-origin: left;
  transition: transform var(--animation), visibility 0s;
  transition-delay: 0s, var(--animation-duration);
}
.component--button:not(.component--secondary) > a > span:last-child{
  position: absolute;
  transform: translate3d(0, 120%, 0) rotate(45deg);
  visibility: hidden;
}
.component--button:not(.component--secondary) > a:hover > span, .component--button:not(.component--secondary) > a:focus > span {
  transition-delay: 0s, 0s;
}
.component--button:not(.component--secondary) > a:hover > span:first-child, .component--button:not(.component--secondary) > a:focus > span:first-child {
  transform: translate3d(0, -120%, 0) rotate(-45deg);
}
.component--button:not(.component--secondary) > a:hover > span:last-child, .component--button:not(.component--secondary) > a:focus > span:last-child {
  transform: translate3d(0, 0, 0) rotate(0deg);
  visibility: visible;
}
.component--button.component--secondary a{
  height: auto;
  border-style: none;
  background-color: transparent;
}
.component--button.component--secondary a *{
  color: var(--color-dark);
}
.component--button.component--secondary a span {
    font-size: var(--ts-font-size);
    --ts-font-size: 1.5rem;
    line-height: var(--ts-line-height);
    --ts-line-height: 1.7rem;
  }
.component--button.component--secondary a svg{
  height: 1.6rem;
}

body {
  --header-height: 8.4rem;
  --header-margin: var(--spacing-xxxl);
  --headroom-height: 6.4rem;
}
body .component--header{
  position: fixed;
  top: 0rem;
  left: 0rem;
  z-index: 1002;
  width: 100%;
}
body::before{
  position: fixed;
  top: 0rem;
  left: 0rem;
  z-index: 1001;
  height: 6.4rem;
  width: 100%;
  background-color: var(--color-beige);
  content: "";
  height: calc(var(--headroom-height));
}
body .component--header, body::before {
  transition: transform var(--animation), top var(--animation), padding var(--animation), height var(--animation), background-color var(--animation);
}
body.headroom--not-top .component--header{
  padding-top: 0.8rem;
  padding-bottom: 0.8rem;
}
body.headroom--not-top .component__logo svg{
  height: 4.8rem;
}
body.headroom--not-top .component__logo svg .line-1,
body.headroom--not-top .component__logo svg .line-2,
body.headroom--not-top .component__logo svg .line-3,
body.headroom--not-top .component__logo svg .line-4 {
  transform: translate3d(0, 5rem, 0);
}
body.headroom--unpinned:not(.show-pannel) .component--header, body.headroom--unpinned:not(.show-pannel)::before, body.show-pannel-full .component--header, body.show-pannel-full::before, body.show-mediaviewer .component--header, body.show-mediaviewer::before {
  top: calc(var(--headroom-height) * -1 - 10rem);
  transition-delay: 0s;
}
body:not(.headroom--unpinned).show-pannel-full .component--pannel {
  transition-delay: calc(var(--animation-duration) / 2), 0s;
}
body:not(.headroom--not-top)::before {
  transform: translate3d(0, calc(var(--headroom-height) * -1 - 2rem), 0);
  transition-delay: 0s;
}
body.headroom--unpinned:not(.show-pannel) .component--header .component__logo *, body.headroom--unpinned:not(.show-pannel) .component--header .component__links *, body.headroom--unpinned:not(.show-pannel) .component--header .component__wrapper-breadcrumbs * {
  transition-delay: calc(var(--animation-duration) / 2);
}
body[wp-class*=page-template-template-landing]::before{
  background-color: var(--color-light);
}
@media (max-width: 1023px) {
  body.headroom--not-top .component__breadcrumbs::before, body[wp-class*=home] .component__breadcrumbs::before {
    width: 0;
    transition-delay: 0s !important;
  }
  body.headroom--not-top .component--breadcrumbs, body[wp-class*=home] .component--breadcrumbs {
    transform: translate3d(0, -102%, 0);
    transition-delay: 0s !important;
  }
}
@media (min-width: 1024px) {
  body.headroom--not-top .component__wrapper-breadcrumbs {
    margin-left: calc(-16rem + var(--spacing-xxl));
    transition-delay: calc(var(--animation-duration) / 2);
  }
}

.marquee {
  display: flex;
  width: 100%;
  overflow: hidden;
}
.marquee > * {
  padding-right: var(--spacing-m);
  flex-shrink: 0;
}

.component--cookies-manager {
  position: fixed;
  bottom: var(--margin);
  right: var(--margin);
  background-color: var(--color-light);
  border-radius: 0.8rem;
  z-index: 10;
}
.component--cookies-manager:not(.active) {
  display: none;
}
.component--cookies-manager > div:not(.active) {
  visibility: hidden;
}
.component--cookies-manager .component__main, .component--cookies-manager .component__preferences{
  display: flex;
  flex-direction: column;
  gap: var(--spacing-s);
  background-color: var(--color-light);
  padding: var(--spacing-xl);
  border-radius: 0.8rem;
}
.component--cookies-manager .component__preferences {
  position: absolute;
  left: 0;
  bottom: 0;
  width: 100%;
  min-height: 100%;
}
.component--cookies-manager .component__title{
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: var(--spacing-l);
    font-size: var(--ts-font-size);
    --ts-font-size: 2.4rem;
    line-height: var(--ts-line-height);
    --ts-line-height: 2.4rem;
    font-family: "Macan", sans-serif;
}
@media (min-width: 1024px) {
    .component--cookies-manager .component__title {
      font-size: var(--ts-font-size);
      --ts-font-size: 2.8rem;
      line-height: var(--ts-line-height);
      --ts-line-height: 3.2rem;
    }
  }
.component--cookies-manager .component__title button svg{
  height: auto;
  width: 2.8rem;
}
.component--cookies-manager .component__description{
  max-width: 30rem;
    font-size: var(--ts-font-size);
    --ts-font-size: 1.5rem;
    line-height: var(--ts-line-height);
    --ts-line-height: 1.7rem;
}
.component--cookies-manager .component__privacy-policy{
  text-decoration-line: underline;
    font-size: var(--ts-font-size);
    --ts-font-size: 1.5rem;
    line-height: var(--ts-line-height);
    --ts-line-height: 1.7rem;
}
.component--cookies-manager .component__buttons{
  margin-top: var(--spacing-m);
  display: flex;
  gap: var(--spacing-s);
}
.component--cookies-manager .component__buttons > button{
  width: 100%;
}
.component--embed a.component--cookies-manager .component__button-personalize,.component--embed a .component--cookies-manager .component__button-decline{
  color: var(--color-light);
}
@media (max-width: 1023px) {
  .component--header .component__links .component--cookies-manager .component__button-personalize,.component--header .component__links  .component--cookies-manager .component__button-decline{
    width: 4.8rem;
    padding-left: 0rem;
    padding-right: 0rem;
  }
  .component--header .component__links .component--cookies-manager .component__button-personalize > span:not(.button__burger),.component--header .component__links  .component--cookies-manager .component__button-decline > span:not(.button__burger){
    display: none;
  }
}
.component--cookies-manager .component__button-personalize, .component--cookies-manager .component__button-decline{
  position: relative;
  display: flex;
  height: 4.8rem;
  align-items: center;
  justify-content: center;
  gap: 0.8rem;
  overflow: hidden;
  white-space: nowrap;
  border-radius: 9999px;
  background-color: var(--color-dark);
  padding-left: var(--spacing-xl);
  padding-right: var(--spacing-xl);
  color: var(--color-light);
    font-size: var(--ts-font-size);
    --ts-font-size: 1.5rem;
    line-height: var(--ts-line-height);
    --ts-line-height: 1.7rem;
}
.component--cookies-manager .component__button-personalize *, .component--cookies-manager .component__button-decline *{
  color: var(--color-light);
}
.component--cookies-manager .component__button-personalize:disabled, .component--cookies-manager .component__button-decline:disabled {
  cursor: not-allowed;
  opacity: 0.2;
}
.component--cookies-manager .component__button-personalize svg, .component--cookies-manager .component__button-decline svg{
  max-height: 4.8rem;
  max-width: 4.8rem;
  flex-shrink: 0;
}
.component--embed a.component--cookies-manager .component__button-accept,.component--embed a .component--cookies-manager .component__button-confirm{
  color: var(--color-light);
}
@media (max-width: 1023px) {
  .component--header .component__links .component--cookies-manager .component__button-accept,.component--header .component__links  .component--cookies-manager .component__button-confirm{
    width: 4.8rem;
    padding-left: 0rem;
    padding-right: 0rem;
  }
  .component--header .component__links .component--cookies-manager .component__button-accept > span:not(.button__burger),.component--header .component__links  .component--cookies-manager .component__button-confirm > span:not(.button__burger){
    display: none;
  }
}
.component--cookies-manager .component__button-accept, .component--cookies-manager .component__button-confirm{
  position: relative;
  display: flex;
  height: 4.8rem;
  align-items: center;
  justify-content: center;
  gap: 0.8rem;
  overflow: hidden;
  white-space: nowrap;
  border-radius: 9999px;
  background-color: var(--color-dark);
  padding-left: var(--spacing-xl);
  padding-right: var(--spacing-xl);
  color: var(--color-light);
    font-size: var(--ts-font-size);
    --ts-font-size: 1.5rem;
    line-height: var(--ts-line-height);
    --ts-line-height: 1.7rem;
}
.component--cookies-manager .component__button-accept *, .component--cookies-manager .component__button-confirm *{
  color: var(--color-light);
}
.component--cookies-manager .component__button-accept:disabled, .component--cookies-manager .component__button-confirm:disabled {
  cursor: not-allowed;
  opacity: 0.2;
}
.component--cookies-manager .component__button-accept svg, .component--cookies-manager .component__button-confirm svg{
  max-height: 4.8rem;
  max-width: 4.8rem;
  flex-shrink: 0;
}
.component--cookies-manager .component__services{
  display: flex;
  flex-direction: column;
  gap: var(--spacing-s);
  border-width: 1px;
  border-color: var(--color-dark);
  padding: var(--spacing-m);
  border-radius: 0.8rem;
}
.component--cookies-manager .component__service{
  display: flex;
  justify-content: space-between;
  gap: var(--spacing-l);
}
.component--cookies-manager .component__service button {
  width: 4rem;
  height: 2rem;
  position: relative;
}
.component--cookies-manager .component__service button::before {
  content: "";
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  background-color: var(--color-light);
  border: solid 1px var(--color-dark);
  border-radius: 10rem;
  transition: background-color 0.3s ease;
}
.component--cookies-manager .component__service button::after {
  content: "";
  position: absolute;
  inset: 0;
  width: calc(2rem - 6px);
  height: calc(2rem - 6px);
  margin: 3px;
  background-color: var(--color-dark);
  border-radius: 10rem;
  transition: background-color 0.3s ease, left 0.3s ease;
}
.component--cookies-manager .component__service.active button::before, .component--cookies-manager .component__service[data-name=necessary] button::before {
  background-color: var(--color-dark);
}
.component--cookies-manager .component__service.active button::after, .component--cookies-manager .component__service[data-name=necessary] button::after {
  background-color: var(--color-light);
  left: calc(100% - 2rem);
}
.component--cookies-manager .component__service[data-name=necessary] button {
  opacity: 0.3;
}

.component--youtube-manager{
  aspect-ratio: 2/1;
}
.component--youtube-manager iframe{
  height: 100%;
  width: 100%;
}

body:not(.show-quick-links) #quick-links{
  clip: rect(0, 0, 0, 0);
  border-width: 0;
  border: 0;
  clip: rect(1px, 1px, 1px, 1px);
  -webkit-clip-path: inset(50%);
  clip-path: inset(50%);
  height: 1px;
  margin: -1px;
  overflow: hidden;
  padding: 0;
  position: absolute;
  width: 1px;
  white-space: nowrap;
}

.component--hero {
  height: calc(100lvh - 14.4rem);
}

.component--footer{
  position: relative;
  display: grid;
  grid-template-columns: repeat(12, minmax(0, 1fr));
  gap: var(--gap);
  row-gap: var(--spacing-xxl);
  background-color: var(--color-light);
  padding-left: var(--margin);
  padding-right: var(--margin);
  padding-top: var(--spacing-xxxl);
}

.component--footer.list {
  grid-template-columns: repeat(6, minmax(0, 1fr));
}

@media (min-width: 768px) {
  .component--footer.list {
    grid-template-columns: repeat(8, minmax(0, 1fr));
  }
}

@media (min-width: 1024px) {
  .component--footer.list {
    grid-template-columns: repeat(12, minmax(0, 1fr));
  }
}

.component--footer,.component--footer * {
  --color-dark: #fff;
  --color-light: #3C0068;
  --color-dark: var(--color-primary);
}

@media (min-width: 1024px){
  .component--footer{
    padding-top: var(--spacing-xxl);
  }
}
.component--footer svg .mask{
  width: 0rem;
  transition: width calc(var(--animation-duration) * 3) var(--animation-timing);
}
.component--footer .is-in-view > svg .mask{
  width: 100%;
}
.component--footer .component__social-networks{
  grid-column: 1 / -1;
  display: flex;
  flex-direction: column;
  gap: var(--spacing-xl);
  padding-bottom: var(--spacing-xxl);
}
@media (min-width: 1024px){
  .component--footer .component__social-networks{
    grid-column: span 4 / span 4;
  }
}
.component--footer .component__social-networks > div{
  display: flex;
  flex-wrap: wrap;
  gap: 1rem;
}
.component--footer .component__social-networks > div a{
  text-transform: uppercase;
}
.component--footer .component__social-networks h2 {
    font-size: var(--ts-font-size);
    --ts-font-size: 3rem;
    line-height: var(--ts-line-height);
    --ts-line-height: 3.4rem;
    font-family: "MacanStencil", sans-serif;
  }
@media (min-width: 1024px) {
    .component--footer .component__social-networks h2 {
      font-size: var(--ts-font-size);
      --ts-font-size: 4rem;
      line-height: var(--ts-line-height);
      --ts-line-height: 4.4rem;
    }
  }
.component--footer .component__wrapper-image{
  position: relative;
  grid-column: 1 / -1;
  aspect-ratio: 3/2;
}
.component--footer .component__wrapper-image,.component--footer .component__wrapper-image * {
  --color-dark: #3C0068;
  --color-light: #fff;
}
@media (min-width: 1024px){
  .component--footer .component__wrapper-image{
    grid-column: span 6 / span 6;
    grid-column-start: 7;
  }
}
.component--footer .component__wrapper-image .component__wave,
.component--footer .component__wrapper-image .component__wave-mask{
  position: absolute;
  top: 0rem;
  right: 0rem;
  width: 100%;
  height: 100%;
  transition: height var(--animation);
}
.component--footer .component__wrapper-image .component__wave *,
.component--footer .component__wrapper-image .component__wave-mask *{
  color: var(--color-primary);
}
.component--footer .component__wrapper-image .component__wave svg,
.component--footer .component__wrapper-image .component__wave-mask svg{
  position: absolute;
  top: 60%;
  left: -24vw;
}
.component--footer .component__wrapper-image .component__wave-mask{
  z-index: 2;
  overflow: hidden;
}
.component--footer .component__wrapper-image .component__wave-mask *{
  color: var(--color-light);
}
.component--footer .component__wrapper-image .component__overflow-image{
  position: relative;
  height: 0rem;
  overflow: hidden;
  transition: height var(--animation);
}
.component--footer .component__wrapper-image .component__overflow-image.is-in-view{
  height: 100%;
}
.component--footer .component__wrapper-image .component__overflow-image .image{
  z-index: 1;
  aspect-ratio: 3/2;
  transition: height var(--animation);
  background-color: var(--color-primary);
}
.component--footer .component__wrapper-image .component__overflow-image .image img{
  height: auto;
}
.component--footer .component__wrapper-image .component__overflow-image .image::before{
  position: absolute;
  z-index: 1;
  height: 100%;
  width: 100%;
  background-color: var(--color-dark);
  mix-blend-mode: lighten;
  content: "";
}
.component--footer .component__wrapper-image .component__overflow-image .image > *{
  mix-blend-mode: multiply;
  --tw-grayscale: grayscale(100%);
  filter: var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow);
}
.component--footer .component__menus{
  grid-column: 1 / -1;
  display: flex;
  flex-direction: column;
  row-gap: var(--spacing-xxl);
  -moz-column-gap: var(--gap);
       column-gap: var(--gap);
}
@media (min-width: 1024px){
  .component--footer .component__menus{
    grid-column: span 6 / span 6;
    flex-direction: row;
  }
}
.component--footer .component__menus ul{
  display: flex;
  width: 100%;
  flex-direction: column;
  gap: var(--spacing-m);
}
.component--footer .component__information-areas{
  grid-column: 1 / -1;
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  row-gap: var(--spacing-xxl);
  -moz-column-gap: var(--gap);
       column-gap: var(--gap);
}
.component--footer .component__information-areas.list {
  grid-template-columns: repeat(6, minmax(0, 1fr));
}
@media (min-width: 768px) {
  .component--footer .component__information-areas.list {
    grid-template-columns: repeat(8, minmax(0, 1fr));
  }
}
@media (min-width: 1024px) {
  .component--footer .component__information-areas.list {
    grid-template-columns: repeat(12, minmax(0, 1fr));
  }
  .component--footer .component__information-areas{
    order: 1;
    grid-column: span 6 / span 6;
  }
}
.component--footer .component__information-areas > div{
  grid-column: 1 / -1;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 2.4rem;
}
@media (min-width: 1024px){
  .component--footer .component__information-areas > div{
    grid-column: span 1 / span 1;
  }
}
.component--footer .component__information-areas > div div{
  display: flex;
  flex-direction: column;
  gap: 0.8rem;
}
.component--footer .component__information-areas > div h2 {
    font-size: var(--ts-font-size);
    --ts-font-size: 1.6rem;
    line-height: var(--ts-line-height);
    --ts-line-height: 2.2rem;
    font-family: "Inter", sans-serif;
    font-weight: var(--ts-font-weight);
    --ts-font-weight: 600;
  }
.component--footer .component__other-data{
  display: flex;
  align-items: center;
  justify-content: space-between;
  order: 1;
  grid-column: 1 / -1;
  gap: var(--spacing-xl);
  --tw-bg-opacity: 1;
  background-color: rgb(255 255 255 / var(--tw-bg-opacity));
  padding-left: var(--margin);
  padding-right: var(--margin);
  padding-top: var(--spacing-l);
  padding-bottom: var(--spacing-l);
}
.component--footer .component__other-data,.component--footer .component__other-data * {
  --color-dark: #3C0068;
  --color-light: #fff;
}
.component--footer .component__other-data {
  width: calc(100% + var(--margin) * 2);
  margin-left: calc(var(--margin) * -1);
}
.component--footer .component__other-data > a svg{
  height: 8rem;
}
.component--footer .component__other-data > ul{
  display: flex;
  flex-direction: column;
  align-items: flex-end;
  gap: 0.8rem;
}
@media (min-width: 1024px){
  .component--footer .component__other-data > ul{
    flex-direction: row;
    align-items: center;
    gap: var(--spacing-l);
  }
}
.component--footer .component__other-data > ul li{
  display: flex;
}
.component--footer .component__other-data > ul a{
  text-align: right;
    font-size: var(--ts-font-size);
    --ts-font-size: 1.3rem;
    line-height: var(--ts-line-height);
    --ts-line-height: 1.6rem;
}
@media (min-width: 1024px){
  .component--footer .component__other-data > ul a{
    text-align: left;
  }
}

.component--carousel-swiper{
  position: relative;
  aspect-ratio: 17/20;
}
.component--carousel-swiper .swiper-pagination-bullets{
  position: absolute;
  bottom: var(--spacing-l);
  left: 0rem;
  z-index: 1;
  display: flex;
  width: 100%;
  justify-content: center;
  gap: 1.2rem;
}
.component--carousel-swiper .swiper-pagination-bullets .swiper-pagination-bullet{
  height: 1rem;
  width: 1rem;
  border-radius: 9999px;
  --tw-bg-opacity: 1;
  background-color: rgb(255 255 255 / var(--tw-bg-opacity));
  opacity: 0.4;
}
.component--carousel-swiper .swiper-pagination-bullets .swiper-pagination-bullet.swiper-pagination-bullet-active{
  opacity: 1;
}

.label{
  display: flex;
  align-items: center;
  border-radius: 9999px;
  border-width: 1px;
  border-color: currentColor;
  padding: var(--spacing-m);
    font-size: var(--ts-font-size);
    --ts-font-size: 1.3rem;
    line-height: var(--ts-line-height);
    --ts-line-height: 1.6rem;
}
.label--yellow{
  border-style: none;
  background-color: var(--color-yellow);
}
.label--plum{
  border-style: none;
  background-color: var(--color-plum);
  color: var(--color-light);
}

.component--pannel{
  position: fixed;
  top: 0rem;
  right: 0rem;
  z-index: 10;
  height: 100lvh;
  background-color: var(--color-light);
  padding: var(--margin);
}

.component--pannel,.component--pannel * {
  --color-dark: #fff;
  --color-light: #3C0068;
  --color-dark: var(--color-primary);
}

@media (min-width: 1024px){
  .component--pannel{
    min-width: 60rem;
  }
}

.component--pannel {
  width: calc(calc((var(--width-of-layout) - var(--gap) * (var(--max-columns) - 1)) / var(--max-columns) * 5 + var(--gap) * (5 - 1)) + var(--margin));
  padding-top: calc(var(--margin) * 2 + var(--spacing-xxl));
  transform: translate3d(100%, 0, 0);
  transition: transform var(--animation-property), padding-top 0s;
  transition-delay: 0s, var(--animation-duration);
  z-index: 10;
}
.component--pannel.active {
  transform: translate3d(0, 0, 0);
  transition-delay: 0s, 0s;
}
.component--pannel.is-changing .component__wrapper {
  opacity: 0;
}
.component--pannel .component__wrapper{
  height: 100%;
  overflow-y: auto;
  transition: opacity calc(var(--animation-duration) / 2) ease;
}
.component--pannel .component__wrapper > *{
  height: 100%;
  width: 100%;
}
@media (max-width: 1023px) {
  .component--pannel {
    width: 100%;
  }
}

body.show-pannel-full .component--pannel {
  padding-top: 2.4rem;
}

body.show-pannel::after {
  visibility: visible;
  opacity: 0.3;
  transition-delay: 0s, 0s;
}

.component--filters-event{
  display: flex;
  max-height: 100lvh;
  flex-direction: column;
  gap: var(--spacing-xxl);
}
.component--filters-event .component__navigation{
  display: flex;
  align-items: center;
  gap: var(--spacing-xxl);
}
.component--filters-event .component__navigation-pannel{
  display: flex;
  width: 100%;
  gap: var(--spacing-xl);
}
.component--filters-event .component__navigation-pannel button{
  width: 100%;
  border-bottom-width: 1px;
  padding-top: var(--spacing-l);
  padding-bottom: var(--spacing-l);
  text-align: left;
  transition: none;
}
.component--filters-event .component__navigation-pannel button:not(.active){
  color: var(--color-light);
}
.component--filters-event .component__navigation-pannel button:not(.active),.component--filters-event .component__navigation-pannel button:not(.active) * {
  --color-dark: #3C0068;
  --color-light: #fff;
}
.component--filters-event .component__navigation-close button{
  display: flex;
  align-items: center;
  justify-content: center;
  height: 4.8rem;
  width: 4.8rem;
  border-radius: 9999px;
  border-width: 1px;
}
.component--filters-event .component__navigation-close button svg{
  height: 1.6rem;
  width: 1.6rem;
}
.component--filters-event .component__main{
  height: 100%;
}
.component--filters-event .component__main > div:not(.active){
  display: none;
}
.component--filters-event .component__dates{
  display: flex;
  flex-direction: column;
  gap: var(--spacing-xxl);
}
.component--filters-event .component__dates-shortcuts{
  display: flex;
  flex-wrap: wrap;
  gap: var(--spacing-m);
}
.component--filters-event .component__dates-shortcuts .active{
  background-color: var(--color-dark);
  color: var(--color-light);
}
.component--filters-event .component__filters{
  display: flex;
  height: 100%;
  flex-direction: column;
  gap: var(--spacing-xxl);
}
.component--filters-event .component__filters > div{
  display: flex;
  flex-wrap: wrap;
  gap: var(--spacing-m);
}
.component--filters-event .component__filters .active{
  background-color: var(--color-dark);
  color: var(--color-light);
}
.component--filters-event .component__buttons{
  display: flex;
  align-items: center;
  justify-content: flex-end;
  gap: var(--spacing-l);
}

.vanilla-calendar_default{
  width: 100%;
  padding: 0rem;
}
.vanilla-calendar_default * {
    font-size: var(--ts-font-size);
    --ts-font-size: 1.6rem;
    line-height: var(--ts-line-height);
    --ts-line-height: 2.2rem;
    font-family: "Inter", sans-serif;
  }
.vanilla-calendar_default .vanilla-calendar-header{
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-bottom: var(--spacing-xl);
}
.vanilla-calendar_default .vanilla-calendar-header__content{
  display: flex;
  align-items: center;
  justify-content: flex-start;
}
.vanilla-calendar_default .vanilla-calendar-header__content button {
    font-size: var(--ts-font-size);
    --ts-font-size: 2.4rem;
    line-height: var(--ts-line-height);
    --ts-line-height: 2.4rem;
    font-family: "Macan", sans-serif;
  }
@media (min-width: 1024px) {
    .vanilla-calendar_default .vanilla-calendar-header__content button {
      font-size: var(--ts-font-size);
      --ts-font-size: 2.8rem;
      line-height: var(--ts-line-height);
      --ts-line-height: 3.2rem;
    }
  }
.vanilla-calendar_default .vanilla-calendar-header__arrows{
  display: flex;
  align-items: center;
  justify-content: flex-start;
  gap: 0.8rem;
}
.vanilla-calendar_default .vanilla-calendar-header__arrows > div{
  display: flex;
  align-items: center;
  justify-content: center;
  position: relative;
  height: 4.8rem;
  width: 4.8rem;
  border-radius: 9999px;
  border-width: 1px;
}
.vanilla-calendar_default .vanilla-calendar-header__arrows > div button{
  position: absolute;
  z-index: 1;
  height: 100%;
  width: 100%;
  opacity: 0;
}
.vanilla-calendar_default .vanilla-calendar-header__arrows > div svg{
  height: 1.6rem;
  width: 1.6rem;
}
.vanilla-calendar_default .vanilla-calendar-days{
  row-gap: 0.8rem;
}
.vanilla-calendar_default .vanilla-calendar-week__day,
.vanilla-calendar_default .vanilla-calendar-day__btn{
  height: 4.8rem;
  width: 4.8rem;
}
.vanilla-calendar_default .vanilla-calendar-day__btn_selected,
.vanilla-calendar_default .vanilla-calendar-day__btn_selected.vanilla-calendar-day__btn_hover{
  border-radius: 9999px;
  background-color: var(--color-dark);
  color: var(--color-light);
}
.vanilla-calendar_default .vanilla-calendar-week__day {
    font-size: var(--ts-font-size);
    --ts-font-size: 1.3rem;
    line-height: var(--ts-line-height);
    --ts-line-height: 1.6rem;
  }
.vanilla-calendar_default div.vanilla-calendar-day_selected-first,
.vanilla-calendar_default div.vanilla-calendar-day_selected-last,
.vanilla-calendar_default div.vanilla-calendar-day_selected-intermediate {
  @flex;
}
.vanilla-calendar_default div.vanilla-calendar-day_selected-first::before,
.vanilla-calendar_default div.vanilla-calendar-day_selected-last::before,
.vanilla-calendar_default div.vanilla-calendar-day_selected-intermediate::before{
  position: absolute;
  z-index: 1;
  height: 100%;
  width: 100%;
  background-color: var(--color-primary);
  opacity: 0.2;
  content: "";
}
.vanilla-calendar_default div.vanilla-calendar-day_selected-first button,
.vanilla-calendar_default div.vanilla-calendar-day_selected-last button,
.vanilla-calendar_default div.vanilla-calendar-day_selected-intermediate button{
  z-index: 2;
  background-color: transparent;
  color: var(--color-dark);
}
.vanilla-calendar_default div.vanilla-calendar-day_selected-first::before,
.vanilla-calendar_default div.vanilla-calendar-day_selected-last::before{
  width: 50%;
}
.vanilla-calendar_default div.vanilla-calendar-day_selected-first button,
.vanilla-calendar_default div.vanilla-calendar-day_selected-last button{
  border-radius: 9999px;
  background-color: var(--color-dark);
  color: var(--color-light);
}
.vanilla-calendar_default div.vanilla-calendar-day_selected-first::before{
  left: 50%;
}
.vanilla-calendar_default div.vanilla-calendar-day_selected-last::before{
  right: 50%;
}
.vanilla-calendar_default button.vanilla-calendar-day__btn {
    font-weight: var(--ts-font-weight);
    --ts-font-weight: 600;
  }
.vanilla-calendar_default .vanilla-calendar-day__btn_today{
  border-radius: 9999px;
  border-width: 1px;
}

.component--filters-course{
  display: flex;
  max-height: 100lvh;
  flex-direction: column;
  gap: var(--spacing-xxl);
}
.component--filters-course .component__navigation{
  display: flex;
  align-items: center;
  gap: var(--spacing-xxl);
}
.component--filters-course .component__navigation-pannel{
  display: flex;
  width: 100%;
  gap: var(--spacing-xl);
}
.component--filters-course .component__navigation-pannel button{
  width: 100%;
  border-bottom-width: 1px;
  padding-top: var(--spacing-l);
  padding-bottom: var(--spacing-l);
  text-align: left;
}
.component--filters-course .component__navigation-pannel button:not(.active){
  color: var(--color-light);
}
.component--filters-course .component__navigation-pannel button:not(.active),.component--filters-course .component__navigation-pannel button:not(.active) * {
  --color-dark: #3C0068;
  --color-light: #fff;
}
.component--filters-course .component__navigation-close button{
  display: flex;
  align-items: center;
  justify-content: center;
  height: 4.8rem;
  width: 4.8rem;
  border-radius: 9999px;
  border-width: 1px;
}
.component--filters-course .component__navigation-close button svg{
  height: 1.6rem;
  width: 1.6rem;
}
.component--filters-course .component__main{
  height: 100%;
}
.component--filters-course .component__main > div:not(.active){
  display: none;
}
.component--filters-course .component__dates{
  display: flex;
  flex-direction: column;
  gap: var(--spacing-xxl);
}
.component--filters-course .component__dates-shortcuts{
  display: flex;
  flex-wrap: wrap;
  gap: var(--spacing-m);
}
.component--filters-course .component__dates-shortcuts .active{
  background-color: var(--color-dark);
  color: var(--color-light);
}
.component--filters-course .component__filters{
  display: flex;
  height: 100%;
  flex-direction: column;
  gap: var(--spacing-xl);
}
.component--filters-course .component__filters > div{
  display: flex;
  flex-wrap: wrap;
  gap: var(--spacing-m);
}
.component--filters-course .component__filters-subitems{
  display: flex;
  flex-direction: column;
  gap: var(--spacing-m);
}
.component--filters-course .component__filters-subitems > span {
    font-weight: var(--ts-font-weight);
    --ts-font-weight: 600;
  }
.component--filters-course .component__filters-subitems > div{
  display: flex;
  flex-wrap: wrap;
  gap: var(--spacing-m);
}
.component--filters-course .component__filters .active{
  background-color: var(--color-dark);
  color: var(--color-light);
}
.component--filters-course .component__buttons{
  display: flex;
  align-items: center;
  justify-content: flex-end;
  gap: var(--spacing-l);
}

.vanilla-calendar_default{
  width: 100%;
  padding: 0rem;
}
.vanilla-calendar_default * {
    font-size: var(--ts-font-size);
    --ts-font-size: 1.6rem;
    line-height: var(--ts-line-height);
    --ts-line-height: 2.2rem;
    font-family: "Inter", sans-serif;
  }
.vanilla-calendar_default .vanilla-calendar-header{
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-bottom: var(--spacing-xl);
}
.vanilla-calendar_default .vanilla-calendar-header__content{
  display: flex;
  align-items: center;
  justify-content: flex-start;
}
.vanilla-calendar_default .vanilla-calendar-header__content button {
    font-size: var(--ts-font-size);
    --ts-font-size: 2.4rem;
    line-height: var(--ts-line-height);
    --ts-line-height: 2.4rem;
    font-family: "Macan", sans-serif;
  }
@media (min-width: 1024px) {
    .vanilla-calendar_default .vanilla-calendar-header__content button {
      font-size: var(--ts-font-size);
      --ts-font-size: 2.8rem;
      line-height: var(--ts-line-height);
      --ts-line-height: 3.2rem;
    }
  }
.vanilla-calendar_default .vanilla-calendar-header__arrows{
  display: flex;
  align-items: center;
  justify-content: flex-start;
  gap: 0.8rem;
}
.vanilla-calendar_default .vanilla-calendar-header__arrows > div{
  display: flex;
  align-items: center;
  justify-content: center;
  position: relative;
  height: 4.8rem;
  width: 4.8rem;
  border-radius: 9999px;
  border-width: 1px;
}
.vanilla-calendar_default .vanilla-calendar-header__arrows > div button{
  position: absolute;
  z-index: 1;
  height: 100%;
  width: 100%;
  opacity: 0;
}
.vanilla-calendar_default .vanilla-calendar-header__arrows > div svg{
  height: 1.6rem;
  width: 1.6rem;
}
.vanilla-calendar_default .vanilla-calendar-days{
  row-gap: 0.8rem;
}
.vanilla-calendar_default .vanilla-calendar-week__day,
.vanilla-calendar_default .vanilla-calendar-day__btn{
  height: 4.8rem;
  width: 4.8rem;
}
.vanilla-calendar_default .vanilla-calendar-day__btn_selected,
.vanilla-calendar_default .vanilla-calendar-day__btn_selected.vanilla-calendar-day__btn_hover{
  border-radius: 9999px;
  background-color: var(--color-dark);
  color: var(--color-light);
}
.vanilla-calendar_default .vanilla-calendar-week__day {
    font-size: var(--ts-font-size);
    --ts-font-size: 1.3rem;
    line-height: var(--ts-line-height);
    --ts-line-height: 1.6rem;
  }
.vanilla-calendar_default div.vanilla-calendar-day_selected-first,
.vanilla-calendar_default div.vanilla-calendar-day_selected-last,
.vanilla-calendar_default div.vanilla-calendar-day_selected-intermediate {
  @flex;
}
.vanilla-calendar_default div.vanilla-calendar-day_selected-first::before,
.vanilla-calendar_default div.vanilla-calendar-day_selected-last::before,
.vanilla-calendar_default div.vanilla-calendar-day_selected-intermediate::before{
  position: absolute;
  z-index: 1;
  height: 100%;
  width: 100%;
  background-color: var(--color-primary);
  opacity: 0.2;
  content: "";
}
.vanilla-calendar_default div.vanilla-calendar-day_selected-first button,
.vanilla-calendar_default div.vanilla-calendar-day_selected-last button,
.vanilla-calendar_default div.vanilla-calendar-day_selected-intermediate button{
  z-index: 2;
  background-color: transparent;
  color: var(--color-dark);
}
.vanilla-calendar_default div.vanilla-calendar-day_selected-first::before,
.vanilla-calendar_default div.vanilla-calendar-day_selected-last::before{
  width: 50%;
}
.vanilla-calendar_default div.vanilla-calendar-day_selected-first button,
.vanilla-calendar_default div.vanilla-calendar-day_selected-last button{
  border-radius: 9999px;
  background-color: var(--color-dark);
  color: var(--color-light);
}
.vanilla-calendar_default div.vanilla-calendar-day_selected-first::before{
  left: 50%;
}
.vanilla-calendar_default div.vanilla-calendar-day_selected-last::before{
  right: 50%;
}
.vanilla-calendar_default button.vanilla-calendar-day__btn {
    font-weight: var(--ts-font-weight);
    --ts-font-weight: 600;
  }
.vanilla-calendar_default .vanilla-calendar-day__btn_today{
  border-radius: 9999px;
  border-width: 1px;
}

.component--hero-archive-event{
  position: relative;
  display: grid;
  grid-template-columns: repeat(12, minmax(0, 1fr));
  gap: var(--gap);
  row-gap: var(--spacing-xxl);
}

.component--hero-archive-event.list {
  grid-template-columns: repeat(6, minmax(0, 1fr));
}

@media (min-width: 768px) {
  .component--hero-archive-event.list {
    grid-template-columns: repeat(8, minmax(0, 1fr));
  }
}

@media (min-width: 1024px) {
  .component--hero-archive-event.list {
    grid-template-columns: repeat(12, minmax(0, 1fr));
  }
}

.component--hero-archive-event {
  --hero-height: 100lvh;
  height: var(--hero-height);
  transition: height var(--animation);
}
.component--hero-archive-event svg .mask{
  width: 0rem;
  transition: width calc(var(--animation-duration) * 3) var(--animation-timing);
}
.component--hero-archive-event .is-in-view > svg .mask{
  width: 100%;
}
.component--hero-archive-event .component__informations{
  grid-column: 1 / -1;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
}
@media (min-width: 1024px){
  .component--hero-archive-event .component__informations{
    grid-column: span 4 / span 4;
  }
}
.component--hero-archive-event .component__informations > a{
  display: none;
  flex-direction: column;
  gap: var(--spacing-l);
}
@media (min-width: 1024px){
  .component--hero-archive-event .component__informations > a{
    display: flex;
  }
}
.component--hero-archive-event .component__informations > a > div:first-child{
  display: flex;
  flex-direction: column;
  gap: var(--spacing-m);
}
.component--hero-archive-event .component__informations > a > div:last-child{
  display: flex;
  align-items: center;
  justify-content: flex-start;
  gap: var(--spacing-l);
}
.component--hero-archive-event .component__date {
    font-size: var(--ts-font-size);
    --ts-font-size: 1.3rem;
    line-height: var(--ts-line-height);
    --ts-line-height: 1.6rem;
  }
.component--hero-archive-event .component__type_of_news{
  display: flex;
  align-items: center;
  border-radius: 9999px;
  border-width: 1px;
  border-color: currentColor;
  padding: var(--spacing-m);
    font-size: var(--ts-font-size);
    --ts-font-size: 1.3rem;
    line-height: var(--ts-line-height);
    --ts-line-height: 1.6rem;
}
.component--hero-archive-event .component__type_of_news > div{
  display: flex;
  flex-direction: column;
  gap: var(--spacing-l);
}
.component--hero-archive-event .component__tags{
  position: absolute;
  top: 0rem;
  left: 0rem;
  z-index: 2;
  margin: var(--spacing-l);
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: var(--spacing-s);
}
.component--hero-archive-event .component__full-place {
    font-size: var(--ts-font-size);
    --ts-font-size: 1.3rem;
    line-height: var(--ts-line-height);
    --ts-line-height: 1.6rem;
  }
.component--hero-archive-event .component__title {
    font-size: var(--ts-font-size);
    --ts-font-size: 2rem;
    line-height: var(--ts-line-height);
    --ts-line-height: 2.6rem;
    font-family: "Macan", sans-serif;
  }
.component--hero-archive-event .component__wrapper-image{
  position: relative;
  grid-column: 1 / -1;
  display: none;
}
@media (min-width: 1024px){
  .component--hero-archive-event .component__wrapper-image{
    grid-column: span 8 / span 8;
    display: block;
  }
}
.component--hero-archive-event .component__wrapper-image .component__wave,
.component--hero-archive-event .component__wrapper-image .component__wave-mask,
.component--hero-archive-event .component__wrapper-image .component__line1,
.component--hero-archive-event .component__wrapper-image .component__line2{
  position: absolute;
  top: 0rem;
  right: 0rem;
  width: 100%;
  height: var(--hero-height);
  transition: height var(--animation);
}
.component--hero-archive-event .component__wrapper-image .component__wave *,
.component--hero-archive-event .component__wrapper-image .component__wave-mask *,
.component--hero-archive-event .component__wrapper-image .component__line1 *,
.component--hero-archive-event .component__wrapper-image .component__line2 *{
  color: var(--color-primary);
}
.component--hero-archive-event .component__wrapper-image .component__line1 svg{
  position: absolute;
  top: 30%;
  left: calc(((var(--width-of-layout) - var(--gap) * (var(--max-columns) - 1)) / var(--max-columns) * 3 + var(--gap) * (3 - 1) + var(--gap)) * -1);
}
.component--hero-archive-event .component__wrapper-image .component__line2 svg{
  position: absolute;
  top: 20%;
  left: calc(((var(--width-of-layout) - var(--gap) * (var(--max-columns) - 1)) / var(--max-columns) * 1 + var(--gap) * (1 - 1) + var(--gap)) * -1);
}
.component--hero-archive-event .component__wrapper-image .component__wave svg,
.component--hero-archive-event .component__wrapper-image .component__wave-mask svg{
  position: absolute;
  top: 50%;
  left: calc(((var(--width-of-layout) - var(--gap) * (var(--max-columns) - 1)) / var(--max-columns) * 2 + var(--gap) * (2 - 1) + var(--gap)) * -1);
}
.component--hero-archive-event .component__wrapper-image .component__wave-mask{
  z-index: 2;
  overflow: hidden;
}
.component--hero-archive-event .component__wrapper-image .component__wave-mask *{
  color: var(--color-light);
}
.component--hero-archive-event .component__overflow-image{
  position: relative;
  height: 0rem;
  overflow: hidden;
  transition: height var(--animation);
}
.component--hero-archive-event .component__overflow-image.is-in-view{
  height: 100%;
}
.component--hero-archive-event .component__overflow-image .image{
  z-index: 1;
  height: var(--hero-height);
  transition: height var(--animation);
}
.component--hero-archive-event .component__filter-image{
  position: relative;
}
.component--hero-archive-event .component__wrapper-card{
  grid-column: 1 / -1;
}
@media (min-width: 1024px){
  .component--hero-archive-event .component__wrapper-card{
    display: none;
  }
}
.component--hero-archive-event .component__decoration-mobile{
  grid-column: 1 / -1;
  display: flex;
  flex-direction: column;
  gap: 7rem;
}
@media (min-width: 1024px){
  .component--hero-archive-event .component__decoration-mobile{
    display: none;
  }
}
.component--hero-archive-event .component__decoration-mobile *{
  color: var(--color-primary);
}
.component--hero-archive-event .component__decoration-mobile .component__line1{
  margin-left: 50%;
}
.component--hero-archive-event .component__decoration-mobile .component__wave svg{
  margin-left: auto;
  transform: translate3d(calc(var(--margin) + 8rem), 0, 0);
}
@media (max-width: 1023px) {
  .component--hero-archive-event{
    height: auto;
  }
}

.component--hero-event{
  position: relative;
  display: grid;
  grid-template-columns: repeat(12, minmax(0, 1fr));
  align-items: flex-end;
  gap: var(--gap);
  row-gap: var(--spacing-xxl);
  background-color: var(--color-light);
  padding: var(--margin);
  padding-bottom: var(--spacing-xxl);
}

.component--hero-event.list {
  grid-template-columns: repeat(6, minmax(0, 1fr));
}

@media (min-width: 768px) {
  .component--hero-event.list {
    grid-template-columns: repeat(8, minmax(0, 1fr));
  }
}

@media (min-width: 1024px) {
  .component--hero-event.list {
    grid-template-columns: repeat(12, minmax(0, 1fr));
  }
}

.component--hero-event,.component--hero-event * {
  --color-dark: #fff;
  --color-light: #3C0068;
  --color-dark: var(--color-primary);
}

@media (min-width: 1024px){
  .component--hero-event{
    padding-bottom: var(--margin);
  }
}

.component--hero-event {
  --hero-height: 100lvh;
  min-height: var(--hero-height);
  padding-top: calc(var(--header-height) + var(--header-margin));
  margin-top: calc((var(--header-height) + var(--header-margin)) * -1);
  transition: height var(--animation);
}
.component--hero-event svg .mask{
  width: 0rem;
  transition: width calc(var(--animation-duration) * 3) var(--animation-timing);
}
.component--hero-event .is-in-view > svg .mask{
  width: 100%;
}
.component--hero-event .component__informations{
  grid-column: 1 / -1;
  display: flex;
  height: 100%;
  flex-direction: column;
  justify-content: space-between;
  gap: var(--spacing-l);
}
@media (min-width: 1024px){
  .component--hero-event .component__informations{
    grid-column: span 5 / span 5;
  }
}
.component--hero-event .component__informations > *{
  z-index: 1;
}
.component--hero-event .component__informations-main{
  display: flex;
  flex-direction: column;
  gap: var(--spacing-l);
}
@media (min-width: 1024px){
  .component--hero-event .component__informations-main{
    gap: var(--spacing-xl);
  }
}
.component--hero-event .component__informations-main > div{
  display: flex;
  align-items: center;
  justify-content: flex-start;
  gap: var(--spacing-l);
}
.component--hero-event .component__informations-secondary{
  display: flex;
  flex-direction: column;
  gap: var(--spacing-m);
    font-size: var(--ts-font-size);
    --ts-font-size: 2rem;
    line-height: var(--ts-line-height);
    --ts-line-height: 2.6rem;
    font-family: "Macan", sans-serif;
}
.component--hero-event .component__is-free {
    font-size: var(--ts-font-size);
    --ts-font-size: 2rem;
    line-height: var(--ts-line-height);
    --ts-line-height: 2.6rem;
    font-family: "Macan", sans-serif;
  }
.component--hero-event .component__type_of_news{
  display: flex;
  align-items: center;
  border-radius: 9999px;
  border-width: 1px;
  border-color: currentColor;
  padding: var(--spacing-m);
    font-size: var(--ts-font-size);
    --ts-font-size: 1.3rem;
    line-height: var(--ts-line-height);
    --ts-line-height: 1.6rem;
}
.component--hero-event .component__type_of_news > div{
  display: flex;
  flex-direction: column;
  gap: var(--spacing-l);
}
.component--hero-event .component__tags{
  position: absolute;
  top: 0rem;
  left: 0rem;
  z-index: 2;
  margin: var(--spacing-l);
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: var(--spacing-s);
}
.component--hero-event .component__wrapper-image{
  position: relative;
  grid-column: 1 / -1;
  aspect-ratio: 1/1;
}
.component--hero-event .component__wrapper-image,.component--hero-event .component__wrapper-image * {
  --color-dark: #3C0068;
  --color-light: #fff;
}
@media (min-width: 1024px){
  .component--hero-event .component__wrapper-image{
    grid-column: span 5 / span 5;
    grid-column-start: 8;
  }
}
.component--hero-event .component__wrapper-image .component__decoration-desktop{
  position: absolute;
  bottom: 0rem;
  right: 0rem;
  display: none;
  width: 100%;
  flex-direction: column;
  align-items: flex-end;
  gap: var(--spacing-xxxl);
  padding-bottom: var(--spacing-xxxl);
}
@media (min-width: 1024px){
  .component--hero-event .component__wrapper-image .component__decoration-desktop{
    display: flex;
  }
}
.component--hero-event .component__wrapper-image .component__wave,
.component--hero-event .component__wrapper-image .component__wave-mask,
.component--hero-event .component__wrapper-image .component__line1,
.component--hero-event .component__wrapper-image .component__line2{
  display: none;
}
@media (min-width: 1024px){
  .component--hero-event .component__wrapper-image .component__wave,
.component--hero-event .component__wrapper-image .component__wave-mask,
.component--hero-event .component__wrapper-image .component__line1,
.component--hero-event .component__wrapper-image .component__line2{
    display: block;
  }
}
.component--hero-event .component__wrapper-image .component__wave *,
.component--hero-event .component__wrapper-image .component__wave-mask *,
.component--hero-event .component__wrapper-image .component__line1 *,
.component--hero-event .component__wrapper-image .component__line2 *{
  color: var(--color-primary);
}
.component--hero-event .component__wrapper-image .component__line1,
.component--hero-event .component__wrapper-image .component__line2 {
  margin-right: 100%;
}
.component--hero-event .component__wrapper-image .component__wave,
.component--hero-event .component__wrapper-image .component__wave-mask {
  margin-right: calc((var(--width-of-layout) - var(--gap) * (var(--max-columns) - 1)) / var(--max-columns) * 4 + var(--gap) * (4 - 1));
}
.component--hero-event .component__wrapper-image .component__wave-mask{
  position: absolute;
  bottom: 0rem;
  right: 0rem;
  z-index: 1;
  padding-bottom: var(--spacing-xxxl);
}
.component--hero-event .component__wrapper-image .component__wave-mask *{
  color: var(--color-light);
}
.component--hero-event .component__overflow-image{
  position: relative;
  height: 0rem;
  overflow: hidden;
  transition: height var(--animation);
}
.component--hero-event .component__overflow-image.is-in-view{
  height: 100%;
}
.component--hero-event .component__overflow-image .image{
  z-index: 1;
  aspect-ratio: 1/1;
  height: 100%;
  transition: height var(--animation);
}
.component--hero-event .component__decoration-mobile{
  grid-column: 1 / -1;
  display: flex;
  flex-direction: column;
  gap: 6rem;
}
@media (min-width: 1024px){
  .component--hero-event .component__decoration-mobile{
    display: none;
  }
}
.component--hero-event .component__decoration-mobile *{
  color: var(--color-primary);
}
.component--hero-event .component__decoration-mobile .component__line1{
  margin-left: auto;
  margin-right: calc((var(--width-of-layout) - var(--gap) * (var(--max-columns) - 1)) / var(--max-columns) * 1 + var(--gap) * (1 - 1));
}
.component--hero-event .component__decoration-mobile .component__line2 {
  margin-left: calc((var(--width-of-layout) - var(--gap) * (var(--max-columns) - 1)) / var(--max-columns) * 1 + var(--gap) * (1 - 1) + var(--gap));
}
.component--hero-event .component__decoration-mobile .component__wave svg {
  margin-left: -29vw;
}
@media (max-width: 1023px) {
  .component--hero-event{
    height: auto;
  }
}

.component--editor > *{
  margin-bottom: 2.4rem;
}
.component--editor > *:first-child{
  margin-top: 0rem;
}
.component--editor > *:last-child{
  margin-bottom: 0rem;
}
.component--editor h2{
  margin-top: var(--spacing-xxxl);
    font-size: var(--ts-font-size);
    --ts-font-size: 3rem;
    line-height: var(--ts-line-height);
    --ts-line-height: 3.4rem;
    font-family: "MacanStencil", sans-serif;
}
@media (min-width: 1024px) {
    .component--editor h2 {
      font-size: var(--ts-font-size);
      --ts-font-size: 4rem;
      line-height: var(--ts-line-height);
      --ts-line-height: 4.4rem;
    }
  }
.component--editor h3{
  margin-top: var(--spacing-xxxl);
    font-size: var(--ts-font-size);
    --ts-font-size: 2.4rem;
    line-height: var(--ts-line-height);
    --ts-line-height: 2.4rem;
    font-family: "Macan", sans-serif;
}
@media (min-width: 1024px) {
    .component--editor h3 {
      font-size: var(--ts-font-size);
      --ts-font-size: 2.8rem;
      line-height: var(--ts-line-height);
      --ts-line-height: 3.2rem;
    }
  }
.component--editor ul{
  padding-left: 1.8rem;
}
.component--editor ul li{
  position: relative;
}
.component--editor ul li::before{
  position: absolute;
  top: .3em;
  left: -1.8rem;
  height: 1rem;
  width: 1rem;
  border-radius: 9999px;
  border-width: 0.15rem;
  border-width: 1px;
  --tw-content: "";
  content: var(--tw-content);
}
.component--editor p,
.component--editor ul{
  --tw-text-opacity: 1;
  color: rgb(0 0 0 / var(--tw-text-opacity));
}
.component--editor p *,
.component--editor ul *{
  --tw-text-opacity: 1;
  color: rgb(0 0 0 / var(--tw-text-opacity));
}
@media (max-width: 1023px) {
  .component--editor h2{
    margin-top: var(--spacing-xxl);
  }
  .component--editor h3{
    margin-top: var(--spacing-xxl);
  }
}

.component--hero-course{
  position: relative;
  height: 100lvh;
}
.component--hero-course .component__image{
  position: absolute;
  inset: 0rem;
}
.component--hero-course .component__image::after{
  position: absolute;
  inset: 0rem;
  z-index: 1;
  --tw-content: "";
  content: var(--tw-content);
  background: linear-gradient(180deg, rgba(0, 0, 0, 0.3) 0%, rgba(0, 0, 0, 0) 49.5%, rgba(0, 0, 0, 0.3) 100%), linear-gradient(0deg, rgba(0, 0, 0, 0.2), rgba(0, 0, 0, 0.2));
}
.component--hero-course .component__informations{
  display: flex;
  align-items: flex-start;
  justify-content: flex-end;
  position: relative;
  z-index: 2;
  height: 100%;
  width: 100%;
  flex-direction: column;
  gap: var(--spacing-xxl);
  padding: var(--margin);
}
@media (min-width: 1024px){
  .component--hero-course .component__informations{
    gap: var(--spacing-xxxl);
  }
}
.component--hero-course .component__informations *{
  --tw-text-opacity: 1;
  color: rgb(255 255 255 / var(--tw-text-opacity));
}
.component--hero-course .component__text{
  display: flex;
  align-items: flex-start;
  justify-content: flex-end;
  flex-direction: column;
  gap: var(--spacing-l);
}
.component--hero-course .component__taxonomies{
  display: flex;
  align-items: center;
  justify-content: flex-start;
  gap: 1rem;
}
.component--hero-course .component__wave{
  margin-left: auto;
}
.component--hero-course .component__wave svg{
  --tw-translate-x: 8vw;
  transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
}
@media (min-width: 1024px){
  .component--hero-course .component__wave svg{
    --tw-translate-x: var(--margin);
    transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
  }
}
.component--hero-course .component__wave svg .mask{
  width: 0rem;
  transition: width calc(var(--animation-duration) * 3) var(--animation-timing);
}
.component--hero-course .component__wave svg *{
  --tw-text-opacity: 1;
  color: rgb(255 255 255 / var(--tw-text-opacity));
}
.component--hero-course .component__wave.is-in-view svg .mask{
  width: 100%;
}

.component--hero-front-page{
  position: relative;
  height: 100lvh;
  overflow: hidden;
}

.component--hero-front-page,.component--hero-front-page * {
  --color-dark: #fff;
  --color-light: #3C0068;
  --color-dark: var(--color-primary);
}
.component--hero-front-page,
.component--hero-front-page * {
  --color-dark: white;
}
.component--hero-front-page .component__image{
  position: absolute;
  inset: 0rem;
}
.component--hero-front-page .component__image::after{
  position: absolute;
  inset: 0rem;
  z-index: 1;
  --tw-content: "";
  content: var(--tw-content);
  background: linear-gradient(180deg, rgba(0, 0, 0, 0.3) 0%, rgba(0, 0, 0, 0) 49.5%, rgba(0, 0, 0, 0.3) 100%), linear-gradient(0deg, rgba(0, 0, 0, 0.2), rgba(0, 0, 0, 0.2));
}
.component--hero-front-page .component__video{
  position: absolute;
  inset: 0rem;
  height: 100%;
  width: 100%;
}
.component--hero-front-page .component__video video{
  height: 100%;
  width: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}
.component--hero-front-page .component__video::after{
  position: absolute;
  inset: 0rem;
  z-index: 1;
  --tw-content: "";
  content: var(--tw-content);
  background: linear-gradient(180deg, rgba(0, 0, 0, 0.3) 0%, rgba(0, 0, 0, 0) 49.5%, rgba(0, 0, 0, 0.3) 100%), linear-gradient(0deg, rgba(0, 0, 0, 0.2), rgba(0, 0, 0, 0.2));
}
.component--hero-front-page .component__wrapper-informations{
  position: absolute;
  bottom: 0rem;
  left: 0rem;
  z-index: 2;
  display: flex;
  width: 100%;
  flex-direction: column;
  align-items: flex-start;
  gap: var(--spacing-xl);
  padding: var(--margin);
}
@media (min-width: 1024px){
  .component--hero-front-page .component__wrapper-informations {
    width: calc((var(--width-of-layout) - var(--gap) * (var(--max-columns) - 1)) / var(--max-columns) * 6 + var(--gap) * (6 - 1));
  }
}
.component--hero-front-page .component__button .play{
  display: none;
}
.component--hero-front-page .component__decoration-mobile{
  margin-bottom: 4rem;
  display: flex;
  width: 100%;
  flex-direction: column;
  align-items: flex-end;
  gap: var(--spacing-xxl);
}
@media (min-width: 1024px){
  .component--hero-front-page .component__decoration-mobile{
    display: none;
  }
}
.component--hero-front-page .component__decoration-mobile .component__line1 {
  transform: translate3d(calc(((var(--width-of-layout) - var(--gap) * (var(--max-columns) - 1)) / var(--max-columns) * 1 + var(--gap) * (1 - 1) + var(--gap)) * -1), 0, 0);
}
.component--hero-front-page .component__decoration-mobile .component__line2 {
  transform: translate3d(var(--margin), 0, 0);
}
.component--hero-front-page .component__decoration-mobile .component__wave {
  transform: translate3d(calc(var(--margin) + 22vw), 0, 0);
}
.component--hero-front-page .component__decoration-desktop{
  display: none;
}
@media (min-width: 1024px){
  .component--hero-front-page .component__decoration-desktop{
    display: block;
  }
}
.component--hero-front-page .component__decoration-desktop .component__wave,
.component--hero-front-page .component__decoration-desktop .component__line1,
.component--hero-front-page .component__decoration-desktop .component__line2{
  z-index: 2;
}
.component--hero-front-page .component__decoration-desktop .component__wave svg .mask,
.component--hero-front-page .component__decoration-desktop .component__line1 svg .mask,
.component--hero-front-page .component__decoration-desktop .component__line2 svg .mask{
  width: 0rem;
  transition: width calc(var(--animation-duration) * 3) var(--animation-timing);
}
.component--hero-front-page .component__decoration-desktop .component__wave.is-in-view svg .mask,
.component--hero-front-page .component__decoration-desktop .component__line1.is-in-view svg .mask,
.component--hero-front-page .component__decoration-desktop .component__line2.is-in-view svg .mask{
  width: 100%;
}
.component--hero-front-page .component__decoration-desktop .component__wave{
  position: absolute;
  bottom: 25%;
  right: 0rem;
  z-index: 1;
  right: 0;
}
.component--hero-front-page .component__decoration-desktop .component__line1,
.component--hero-front-page .component__decoration-desktop .component__line2 {
  position: absolute;
  right: var(--margin);
  bottom: 50%;
  height: 0.4rem;
}
.component--hero-front-page .component__decoration-desktop .component__line1.is-in-view svg .mask,
.component--hero-front-page .component__decoration-desktop .component__line2.is-in-view svg .mask{
  width: 100%;
}
.component--hero-front-page .component__decoration-desktop .component__line2 {
  right: calc((var(--width-of-layout) - var(--gap) * (var(--max-columns) - 1)) / var(--max-columns) * 1 + var(--gap) * (1 - 1) + var(--gap) + var(--margin));
  bottom: 60%;
}
.component--hero-front-page .component__decoration-mobile .mask, .component--hero-front-page .component__decoration-desktop .mask{
  width: 0rem;
  transition: width calc(var(--animation-duration) * 3) var(--animation-timing);
}
.component--hero-front-page .component__decoration-mobile.is-in-view .mask, .component--hero-front-page .component__decoration-desktop.is-in-view .mask{
  width: 100%;
}
.component--hero-front-page.paused .component__button .pause{
  display: none;
}
.component--hero-front-page.paused .component__button .play{
  display: flex;
}

.component--hero-archive-course{
  position: relative;
  padding-top: var(--spacing-xxxl);
  padding-bottom: var(--spacing-xxxl);
}
.component--hero-archive-course .component__text{
  display: flex;
  flex-direction: column;
  gap: var(--spacing-xl);
}
@media (min-width: 1024px) {
  .component--hero-archive-course .component__text {
    max-width: calc((var(--width-of-layout) - var(--gap) * (var(--max-columns) - 1)) / var(--max-columns) * 6 + var(--gap) * (6 - 1));
  }
}
.component--hero-archive-course .component__wave svg .mask, .component--hero-archive-course .component__line1 svg .mask, .component--hero-archive-course .component__line2 svg .mask{
  width: 0rem;
  transition: width calc(var(--animation-duration) * 3) var(--animation-timing);
}
.component--hero-archive-course .component__wave svg *, .component--hero-archive-course .component__line1 svg *, .component--hero-archive-course .component__line2 svg *{
  color: var(--color-primary);
}
.component--hero-archive-course .component__wave.is-in-view svg .mask, .component--hero-archive-course .component__line1.is-in-view svg .mask, .component--hero-archive-course .component__line2.is-in-view svg .mask{
  width: 100%;
}
.component--hero-archive-course .component__wave{
  position: absolute;
  top: 50%;
  z-index: 1;
  left: calc((var(--width-of-layout) - var(--gap) * (var(--max-columns) - 1)) / var(--max-columns) * 8 + var(--gap) * (8 - 1) + var(--gap));
}
.component--hero-archive-course .component__line1, .component--hero-archive-course .component__line2 {
  position: absolute;
  top: var(--spacing-xxxl);
  left: calc((var(--width-of-layout) - var(--gap) * (var(--max-columns) - 1)) / var(--max-columns) * 10 + var(--gap) * (10 - 1) + var(--gap));
  height: 0.4rem;
}
.component--hero-archive-course .component__line1.is-in-view svg .mask, .component--hero-archive-course .component__line2.is-in-view svg .mask{
  width: 100%;
}
.component--hero-archive-course .component__line2 {
  left: calc((var(--width-of-layout) - var(--gap) * (var(--max-columns) - 1)) / var(--max-columns) * 11 + var(--gap) * (11 - 1) + var(--gap));
  top: auto;
  bottom: 0;
}

.component--anchors-course{
  display: flex;
  align-items: center;
  justify-content: space-between;
  width: 100%;
  gap: var(--spacing-xl);
  padding-left: var(--margin);
  padding-right: var(--margin);
  padding-top: var(--spacing-m);
  padding-bottom: var(--spacing-m);
}
.component--anchors-course .component__wrapper-anchors{
  display: flex;
  gap: var(--spacing-s);
  overflow-x: auto;
  padding-right: var(--spacing-xl);
  scrollbar-width: none;
  scroll-behavior: smooth;
}
.component--anchors-course .component__wrapper-anchors a{
  display: flex;
  align-items: center;
  justify-content: center;
  height: 3.2rem;
  flex-shrink: 0;
  border-radius: 9999px;
  border-width: 1px;
  border-color: transparent;
  padding-left: var(--spacing-m);
  padding-right: var(--spacing-m);
    font-size: var(--ts-font-size);
    --ts-font-size: 1.3rem;
    line-height: var(--ts-line-height);
    --ts-line-height: 1.6rem;
}
.component--anchors-course .component__wrapper-anchors a.active{
  border-color: var(--color-dark);
}
.component--anchors-course .component__wrapper-anchors::after {
  content: "";
  position: absolute;
  top: 0rem;
  right: 0rem;
  height: 100%;
  width: var(--spacing-xl);
  background: linear-gradient(to right, transparent, var(--color-beige));
  pointer-events: none;
}
.component--anchors-course .component__button-candidate{
  position: fixed;
  bottom: 0rem;
  left: 0rem;
  margin: var(--margin);
  flex-shrink: 0;
}
@media (min-width: 1024px){
  .component--anchors-course .component__button-candidate{
    position: relative;
    margin: auto;
    display: flex;
    width: auto;
  }
}
@media (max-width: 1023px) {
  .component--anchors-course .component__button-candidate {
    width: calc(100% - 2 * var(--margin));
  }
}

.component--menu-header-primary{
  position: relative;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  gap: var(--spacing-xl);
  border-top-width: 1px;
}
.component--menu-header-primary .component__container-items {
  overflow-y: auto;
  overflow-x: hidden;
}
.component--menu-header-primary .component__container-items > li > a, .component--menu-header-primary .component__container-items > li > button{
  display: flex;
  align-items: center;
  justify-content: space-between;
  width: 100%;
  gap: var(--spacing-xl);
  border-bottom-width: 1px;
  padding-top: var(--spacing-l);
  padding-bottom: var(--spacing-l);
  text-align: left;
    font-size: var(--ts-font-size);
    --ts-font-size: 2.4rem;
    line-height: var(--ts-line-height);
    --ts-line-height: 2.4rem;
    font-family: "Macan", sans-serif;
}
@media (min-width: 1024px) {
    .component--menu-header-primary .component__container-items > li > a, .component--menu-header-primary .component__container-items > li > button {
      font-size: var(--ts-font-size);
      --ts-font-size: 2.8rem;
      line-height: var(--ts-line-height);
      --ts-line-height: 3.2rem;
    }
  }
.component--menu-header-primary .component__container-items > li > a svg, .component--menu-header-primary .component__container-items > li > button svg{
  height: 1.6rem;
  flex-shrink: 0;
}
.component--menu-header-primary .component__container-items > li div{
  visibility: hidden;
  display: flex;
  width: 100%;
  flex-direction: column;
  gap: var(--spacing-l);
}
.component--menu-header-primary .component__container-items > li div button{
  display: flex;
  align-items: center;
  justify-content: flex-start;
  width: 100%;
  gap: 0.8rem;
  border-bottom-width: 1px;
  padding-left: 0.8rem;
  padding-right: 0.8rem;
  padding-top: var(--spacing-l);
  padding-bottom: var(--spacing-l);
  text-align: left;
    font-size: var(--ts-font-size);
    --ts-font-size: 1.5rem;
    line-height: var(--ts-line-height);
    --ts-line-height: 1.7rem;
}
.component--menu-header-primary .component__container-items > li div button svg{
  height: 1.6rem;
  flex-shrink: 0;
}
.component--menu-header-primary .component__container-items > li div li{
  margin-bottom: var(--spacing-m);
    font-size: var(--ts-font-size);
    --ts-font-size: 2rem;
    line-height: var(--ts-line-height);
    --ts-line-height: 2.6rem;
    font-family: "Macan", sans-serif;
  opacity: 0;
  visibility: hidden;
  transform: translateX(1rem);
}
.component--menu-header-primary .component__container-items > li div li:first-child{
  margin-bottom: var(--spacing-l);
}
.component--menu-header-primary .component__container-items > li div:not(.active){
  display: none;
}
.component--menu-header-primary .component__container-buttons{
  display: flex;
  flex-shrink: 0;
  flex-direction: column;
  gap: var(--spacing-xl);
}
@media (min-width: 1024px){
  .component--menu-header-primary .component__container-buttons{
    display: none;
  }
}
.component--menu-header-primary.show-submenu .component__item > a,
.component--menu-header-primary.show-submenu .component__item > button{
  display: none;
}
.component--menu-header-primary.show-submenu .component__container-submenu.active{
  position: relative;
}

.component--decoration-wave{
  width: 40vw;
}
@media (max-width: 1023px) {
  .component--decoration-wave{
    width: 110vw;
  }
}

.component--decoration-line{
  width: 14vw;
}
@media (max-width: 1023px) {
  .component--decoration-line{
    width: 42vw;
  }
}

.component--decoration-line2{
  width: 6.4vw;
}
@media (max-width: 1023px) {
  .component--decoration-line2{
    width: 20vw;
  }
}

.component--hero-template-landing{
  position: relative;
  display: flex;
  flex-direction: column;
  justify-content: flex-end;
  gap: 10rem;
  background-color: var(--color-dark);
  padding: var(--margin);
}

@media (min-width: 1024px){
  .component--hero-template-landing{
    gap: 3rem;
  }
}

.component--hero-template-landing {
  --component-height: 100lvh;
  height: var(--component-height);
}
.component--hero-template-landing *{
  color: var(--color-light);
}
.component--hero-template-landing .component__wrapper-image{
  position: absolute;
  top: 0rem;
  left: 0rem;
  height: 0rem;
  width: 100%;
  overflow: hidden;
  transition: height var(--animation);
}
.component--hero-template-landing .component__wrapper-image.is-in-view{
  height: 100%;
}
.component--hero-template-landing .component__wrapper-image .image{
  width: 100%;
  height: var(--component-height);
}
.component--hero-template-landing .component__wrapper-image .image::after{
  position: absolute;
  inset: 0rem;
  --tw-content: "";
  content: var(--tw-content);
  background: linear-gradient(180deg, rgba(0, 0, 0, 0.3) 0%, rgba(0, 0, 0, 0) 49.5%, rgba(0, 0, 0, 0.3) 100%), linear-gradient(0deg, rgba(0, 0, 0, 0.2), rgba(0, 0, 0, 0.2));
}
@media (min-width: 1024px) {
  .component--hero-template-landing .component__title {
    max-width: calc((var(--width-of-layout) - var(--gap) * (var(--max-columns) - 1)) / var(--max-columns) * 8 + var(--gap) * (8 - 1));
  }
}
.component--hero-template-landing .component__wave{
  z-index: 1;
  display: flex;
  justify-content: flex-end;
}
.component--hero-template-landing .component__wave svg {
  transform: translate3d(calc(var(--margin) + 8rem), 0, 0);
}
.component--hero-template-landing .component__wave svg .mask{
  width: 0rem;
  transition: width calc(var(--animation-duration) * 3) var(--animation-timing);
}
@media (min-width: 1024px) {
  .component--hero-template-landing .component__wave svg {
    transform: translate3d(var(--margin), 0, 0);
  }
}
.component--hero-template-landing .component__wave.is-in-view svg .mask{
  width: 100%;
}

.component--hero-archive-news{
  position: relative;
  display: grid;
  grid-template-columns: repeat(12, minmax(0, 1fr));
  gap: var(--gap);
  row-gap: var(--spacing-xxl);
}

.component--hero-archive-news.list {
  grid-template-columns: repeat(6, minmax(0, 1fr));
}

@media (min-width: 768px) {
  .component--hero-archive-news.list {
    grid-template-columns: repeat(8, minmax(0, 1fr));
  }
}

@media (min-width: 1024px) {
  .component--hero-archive-news.list {
    grid-template-columns: repeat(12, minmax(0, 1fr));
  }
}

.component--hero-archive-news {
  --hero-height: 100lvh;
  height: var(--hero-height);
  transition: height var(--animation);
}
.component--hero-archive-news svg .mask{
  width: 0rem;
  transition: width calc(var(--animation-duration) * 3) var(--animation-timing);
}
.component--hero-archive-news .is-in-view > svg .mask{
  width: 100%;
}
.component--hero-archive-news .component__informations{
  grid-column: 1 / -1;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
}
@media (min-width: 1024px){
  .component--hero-archive-news .component__informations{
    grid-column: span 4 / span 4;
  }
}
.component--hero-archive-news .component__informations > div{
  display: none;
  flex-direction: column;
  gap: var(--spacing-l);
}
@media (min-width: 1024px){
  .component--hero-archive-news .component__informations > div{
    display: flex;
  }
}
.component--hero-archive-news .component__informations > div > div{
  display: flex;
  align-items: center;
  justify-content: flex-start;
  gap: var(--spacing-l);
}
.component--hero-archive-news .component__title {
    font-size: var(--ts-font-size);
    --ts-font-size: 2rem;
    line-height: var(--ts-line-height);
    --ts-line-height: 2.6rem;
    font-family: "Macan", sans-serif;
  }
.component--hero-archive-news .component__type_of_news{
  display: flex;
  align-items: center;
  border-radius: 9999px;
  border-width: 1px;
  border-color: currentColor;
  padding: var(--spacing-m);
    font-size: var(--ts-font-size);
    --ts-font-size: 1.3rem;
    line-height: var(--ts-line-height);
    --ts-line-height: 1.6rem;
}
.component--hero-archive-news .component__type_of_news > div{
  display: flex;
  flex-direction: column;
  gap: var(--spacing-l);
}
.component--hero-archive-news .component__wrapper-image{
  position: relative;
  grid-column: 1 / -1;
  display: none;
}
@media (min-width: 1024px){
  .component--hero-archive-news .component__wrapper-image{
    grid-column: span 8 / span 8;
    display: block;
  }
}
.component--hero-archive-news .component__wrapper-image .component__wave,
.component--hero-archive-news .component__wrapper-image .component__wave-mask,
.component--hero-archive-news .component__wrapper-image .component__line1,
.component--hero-archive-news .component__wrapper-image .component__line2{
  position: absolute;
  top: 0rem;
  right: 0rem;
  width: 100%;
  height: var(--hero-height);
  transition: height var(--animation);
}
.component--hero-archive-news .component__wrapper-image .component__wave *,
.component--hero-archive-news .component__wrapper-image .component__wave-mask *,
.component--hero-archive-news .component__wrapper-image .component__line1 *,
.component--hero-archive-news .component__wrapper-image .component__line2 *{
  color: var(--color-primary);
}
.component--hero-archive-news .component__wrapper-image .component__line1 svg{
  position: absolute;
  top: 30%;
  left: calc(((var(--width-of-layout) - var(--gap) * (var(--max-columns) - 1)) / var(--max-columns) * 3 + var(--gap) * (3 - 1) + var(--gap)) * -1);
}
.component--hero-archive-news .component__wrapper-image .component__line2 svg{
  position: absolute;
  top: 20%;
  left: calc(((var(--width-of-layout) - var(--gap) * (var(--max-columns) - 1)) / var(--max-columns) * 1 + var(--gap) * (1 - 1) + var(--gap)) * -1);
}
.component--hero-archive-news .component__wrapper-image .component__wave svg,
.component--hero-archive-news .component__wrapper-image .component__wave-mask svg{
  position: absolute;
  top: 50%;
  left: calc(((var(--width-of-layout) - var(--gap) * (var(--max-columns) - 1)) / var(--max-columns) * 2 + var(--gap) * (2 - 1) + var(--gap)) * -1);
}
.component--hero-archive-news .component__wrapper-image .component__wave-mask{
  z-index: 2;
  overflow: hidden;
}
.component--hero-archive-news .component__wrapper-image .component__wave-mask *{
  color: var(--color-light);
}
.component--hero-archive-news .component__overflow-image{
  position: relative;
  height: 0rem;
  overflow: hidden;
  transition: height var(--animation);
}
.component--hero-archive-news .component__overflow-image.is-in-view{
  height: 100%;
}
.component--hero-archive-news .component__overflow-image .image{
  z-index: 1;
  height: var(--hero-height);
  transition: height var(--animation);
}
.component--hero-archive-news .component__wrapper-card{
  grid-column: 1 / -1;
}
@media (min-width: 1024px){
  .component--hero-archive-news .component__wrapper-card{
    display: none;
  }
}
.component--hero-archive-news .component__decoration-mobile{
  grid-column: 1 / -1;
  display: flex;
  flex-direction: column;
  gap: 7rem;
}
@media (min-width: 1024px){
  .component--hero-archive-news .component__decoration-mobile{
    display: none;
  }
}
.component--hero-archive-news .component__decoration-mobile *{
  color: var(--color-primary);
}
.component--hero-archive-news .component__decoration-mobile .component__line1{
  margin-left: 50%;
}
.component--hero-archive-news .component__decoration-mobile .component__wave svg{
  margin-left: auto;
  transform: translate3d(calc(var(--margin) + 8rem), 0, 0);
}
@media (max-width: 1023px) {
  .component--hero-archive-news{
    height: auto;
  }
}

.component--hero-template-contact{
  position: relative;
  display: grid;
  grid-template-columns: repeat(12, minmax(0, 1fr));
  gap: var(--gap);
  row-gap: var(--spacing-xxl);
}

.component--hero-template-contact.list {
  grid-template-columns: repeat(6, minmax(0, 1fr));
}

@media (min-width: 768px) {
  .component--hero-template-contact.list {
    grid-template-columns: repeat(8, minmax(0, 1fr));
  }
}

@media (min-width: 1024px) {
  .component--hero-template-contact.list {
    grid-template-columns: repeat(12, minmax(0, 1fr));
  }
}

.component--hero-template-contact {
  --hero-height: 100lvh;
  height: var(--hero-height);
  transition: height var(--animation);
}
.component--hero-template-contact svg .mask{
  width: 0rem;
  transition: width calc(var(--animation-duration) * 3) var(--animation-timing);
}
.component--hero-template-contact .is-in-view > svg .mask{
  width: 100%;
}
.component--hero-template-contact .component__informations{
  grid-column: 1 / -1;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
}
@media (min-width: 1024px){
  .component--hero-template-contact .component__informations{
    grid-column: span 4 / span 4;
  }
}
.component--hero-template-contact .component__informations > div{
  display: none;
  flex-direction: column;
  gap: var(--spacing-l);
}
@media (min-width: 1024px){
  .component--hero-template-contact .component__informations > div{
    display: flex;
  }
}
.component--hero-template-contact .component__informations > div p {
    font-size: var(--ts-font-size);
    --ts-font-size: 2rem;
    line-height: var(--ts-line-height);
    --ts-line-height: 2.6rem;
    font-family: "Macan", sans-serif;
  }
.component--hero-template-contact .component__informations > div > div{
  display: flex;
  align-items: center;
  justify-content: flex-start;
  gap: var(--spacing-l);
}
.component--hero-template-contact .component__type_of_news{
  display: flex;
  align-items: center;
  border-radius: 9999px;
  border-width: 1px;
  border-color: currentColor;
  padding: var(--spacing-m);
    font-size: var(--ts-font-size);
    --ts-font-size: 1.3rem;
    line-height: var(--ts-line-height);
    --ts-line-height: 1.6rem;
}
.component--hero-template-contact .component__type_of_news > div{
  display: flex;
  flex-direction: column;
  gap: var(--spacing-l);
}
.component--hero-template-contact .component__wrapper-image{
  position: relative;
  grid-column: 1 / -1;
  display: none;
}
@media (min-width: 1024px){
  .component--hero-template-contact .component__wrapper-image{
    grid-column: span 8 / span 8;
    display: block;
  }
}
.component--hero-template-contact .component__wrapper-image .component__wave,
.component--hero-template-contact .component__wrapper-image .component__wave-mask,
.component--hero-template-contact .component__wrapper-image .component__line1,
.component--hero-template-contact .component__wrapper-image .component__line2{
  position: absolute;
  top: 0rem;
  right: 0rem;
  width: 100%;
  height: var(--hero-height);
  transition: height var(--animation);
}
.component--hero-template-contact .component__wrapper-image .component__wave *,
.component--hero-template-contact .component__wrapper-image .component__wave-mask *,
.component--hero-template-contact .component__wrapper-image .component__line1 *,
.component--hero-template-contact .component__wrapper-image .component__line2 *{
  color: var(--color-primary);
}
.component--hero-template-contact .component__wrapper-image .component__line1 svg{
  position: absolute;
  top: 30%;
  left: calc(((var(--width-of-layout) - var(--gap) * (var(--max-columns) - 1)) / var(--max-columns) * 3 + var(--gap) * (3 - 1) + var(--gap)) * -1);
}
.component--hero-template-contact .component__wrapper-image .component__line2 svg{
  position: absolute;
  top: 20%;
  left: calc(((var(--width-of-layout) - var(--gap) * (var(--max-columns) - 1)) / var(--max-columns) * 1 + var(--gap) * (1 - 1) + var(--gap)) * -1);
}
.component--hero-template-contact .component__wrapper-image .component__wave svg,
.component--hero-template-contact .component__wrapper-image .component__wave-mask svg{
  position: absolute;
  top: 50%;
  left: calc(((var(--width-of-layout) - var(--gap) * (var(--max-columns) - 1)) / var(--max-columns) * 2 + var(--gap) * (2 - 1) + var(--gap)) * -1);
}
.component--hero-template-contact .component__wrapper-image .component__wave-mask{
  z-index: 2;
  overflow: hidden;
}
.component--hero-template-contact .component__wrapper-image .component__wave-mask *{
  color: var(--color-light);
}
.component--hero-template-contact .component__overflow-image{
  position: relative;
  height: 0rem;
  overflow: hidden;
  transition: height var(--animation);
}
.component--hero-template-contact .component__overflow-image.is-in-view{
  height: 100%;
}
.component--hero-template-contact .component__overflow-image .image{
  z-index: 1;
  height: var(--hero-height);
  transition: height var(--animation);
}
.component--hero-template-contact .component__wrapper-card{
  grid-column: 1 / -1;
  display: flex;
  flex-direction: column;
  gap: var(--spacing-xl);
}
@media (min-width: 1024px){
  .component--hero-template-contact .component__wrapper-card{
    display: none;
  }
}
.component--hero-template-contact .component__decoration-mobile{
  grid-column: 1 / -1;
  display: flex;
  flex-direction: column;
  gap: 7rem;
}
@media (min-width: 1024px){
  .component--hero-template-contact .component__decoration-mobile{
    display: none;
  }
}
.component--hero-template-contact .component__decoration-mobile *{
  color: var(--color-primary);
}
.component--hero-template-contact .component__decoration-mobile .component__line1{
  margin-left: 50%;
}
.component--hero-template-contact .component__decoration-mobile .component__wave svg{
  margin-left: auto;
  transform: translate3d(calc(var(--margin) + 8rem), 0, 0);
}
@media (max-width: 1023px) {
  .component--hero-template-contact{
    height: auto;
  }
}

.component--form-search{
  position: fixed;
  top: 0rem;
  left: 0rem;
  z-index: 1004;
  width: 100%;
  background-color: var(--color-light);
  padding-left: var(--margin);
  padding-right: var(--margin);
  padding-top: var(--spacing-xl);
  padding-bottom: var(--spacing-xl);
}

.component--form-search,.component--form-search * {
  --color-dark: #fff;
  --color-light: #3C0068;
  --color-dark: var(--color-primary);
}

.component--form-search {
  transition: transform var(--animation);
}
.component--form-search form{
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: var(--spacing-xxl);
}
.component--form-search form input{
  width: 100%;
  background-color: transparent;
  padding-top: var(--spacing-s);
  padding-bottom: var(--spacing-s);
}
.component--form-search form input::-moz-placeholder{
  color: currentColor;
}
.component--form-search form input::placeholder{
  color: currentColor;
}
.component--form-search form button[type=submit]{
  display: none;
}
@media (min-width: 1024px){
  .component--form-search form button[type=submit]{
    display: flex;
  }
}
.component--form-search form span{
  display: none;
}
@media (min-width: 1024px){
  .component--form-search form span{
    display: flex;
  }
}
.component--form-search form span {
    font-size: var(--ts-font-size);
    --ts-font-size: 1.3rem;
    line-height: var(--ts-line-height);
    --ts-line-height: 1.6rem;
  }
.component--form-search form svg{
  height: 1.6rem;
}
.component--form-search form > div{
  display: flex;
  align-items: center;
  justify-content: flex-start;
  gap: var(--spacing-l);
}
.component--form-search form > div:first-child{
  width: 100%;
}
.component--form-search form > div:last-child{
  flex-shrink: 0;
}
.component--form-search:not(.active) {
  transform: translate3d(0, -102%, 0);
}

.component--card-teaching-team{
  display: flex;
  align-items: flex-start;
  justify-content: flex-end;
  position: relative;
  min-height: 20rem;
  flex-direction: column;
  gap: var(--spacing-m);
  border-width: 1px;
  padding: var(--spacing-xl);
}
.component--card-teaching-team::before {
  content: "";
  position: absolute;
  top: 0rem;
  left: 0rem;
  height: 0rem;
  width: 100%;
  background-color: var(--color-dark);
  transition: all var(--animation);
}
.component--card-teaching-team .component__role{
  z-index: 1;
    font-size: var(--ts-font-size);
    --ts-font-size: 1.3rem;
    line-height: var(--ts-line-height);
    --ts-line-height: 1.6rem;
  transition: all var(--animation);
}
.component--card-teaching-team .component__title{
  z-index: 1;
    font-size: var(--ts-font-size);
    --ts-font-size: 2rem;
    line-height: var(--ts-line-height);
    --ts-line-height: 2.6rem;
    font-family: "Macan", sans-serif;
  transition: all var(--animation);
}
.component--card-teaching-team:hover::before {
  width: 100%;
  height: 100%;
}
.component--card-teaching-team:hover .component__role, .component--card-teaching-team:hover .component__title{
  color: var(--color-light);
}

.component--card-course{
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  min-height: 20rem;
  flex-direction: column;
  gap: var(--spacing-l);
  padding: var(--spacing-xl);
}

.component--card-course::before{
  content: var(--tw-content);
  background-color: var(--color-beige);
}

@media (min-width: 1024px){
  .component--card-course{
    aspect-ratio: 1/1;
  }
}
.component--card-course::after {
  content: "";
  position: absolute;
  top: 0rem;
  left: 0rem;
  height: 0rem;
  width: 100%;
  background-color: var(--color-dark);
  transition: all var(--animation);
}
.component--card-course .component__title{
  z-index: 1;
    font-size: var(--ts-font-size);
    --ts-font-size: 2rem;
    line-height: var(--ts-line-height);
    --ts-line-height: 2.6rem;
    font-family: "Macan", sans-serif;
  transition: all var(--animation);
}
.component--card-course .component__labels{
  display: flex;
  align-items: flex-start;
  justify-content: flex-start;
  flex-wrap: wrap;
  gap: var(--spacing-m);
}
@media (min-width: 1024px){
  .component--card-course .component__labels{
    flex-direction: column;
  }
}
.component--card-course .component__labels * {
  transition: all var(--animation);
}
.component--card-course:hover::after {
  height: 100%;
}
.component--card-course:hover *{
  color: var(--color-primary);
}

.component--content-cross{
  background-color: var(--color-beige);
  padding-left: var(--margin);
  padding-right: var(--margin);
}
.component--content-cross .component--acf-flex-content{
  display: flex;
  flex-direction: column;
  gap: var(--spacing-xxxl);
}
.component--content-cross .component--acf-flex-content > *:first-child:not(.component-full){
  margin-top: var(--spacing-xxxl);
}
.component--content-cross .component--acf-flex-content > *:last-child:not(.component-full){
  margin-bottom: var(--spacing-xxxl);
}
.component--content-cross .component--acf-flex-content > .component-full + .component-full {
  margin-top: calc(var(--spacing-xxxl) * -1);
}
.component--content-cross .component--acf-flex-content > .acf-component--push-simple + .acf-component--files-to-download {
  margin-top: calc(var(--spacing-xxxl) * -1);
}
.component--content-cross .component--acf-flex-content .component-full {
  width: calc(100% + var(--margin) * 2);
  margin-left: calc(var(--margin) * -1);
}

.component--selection-partners{
  display: flex;
  flex-direction: column;
  gap: 0.8rem;
}
.component--selection-partners > div{
  display: flex;
  align-items: center;
  gap: var(--spacing-xl);
}
.component--selection-partners > div > div{
  height: var(--spacing-xxxl);
  width: var(--spacing-xxxl);
}
.component--selection-partners .image{
  aspect-ratio: auto;
  height: 100%;
  width: 100%;
  border-width: 1px;
}
:root {
  --animation-duration: .6s;
  --animation-timing: cubic-bezier(0.33, 0.01, 0.17, 0.97);
  --animation-property: var(--animation-duration) var(--animation-timing);
}

.dark,
.dark * {
  --color-dark: var(--color-primary);
}

#app-content {
  transition: opacity 0.3s ease;
}

body::after{
  position: fixed;
  top: 0rem;
  left: 0rem;
  z-index: 1000;
  height: 100%;
  width: 100%;
  background-color: var(--color-dark);
  content: "";
  opacity: 0;
  visibility: hidden;
  transition: opacity var(--animation-duration) var(--animation-timing), visibility 0s var(--animation-duration);
  transition-delay: 0s, var(--animation-duration);
}
body.page-switching #app-content {
  opacity: 0;
}
body.page-switching .component--breadcrumbs {
  opacity: 0;
}

@media screen and (max-width: 414px) {
  html {
    font-size: 2.4154589372vw;
  }
}

.before\:absolute::before{
  content: var(--tw-content);
  position: absolute;
}

.before\:z-\[1\]::before{
  content: var(--tw-content);
  z-index: 1;
}

.before\:z-\[2\]::before{
  content: var(--tw-content);
  z-index: 2;
}

.before\:h-full::before{
  content: var(--tw-content);
  height: 100%;
}

.before\:w-full::before{
  content: var(--tw-content);
  width: 100%;
}

.before\:bg-beige::before{
  content: var(--tw-content);
  background-color: var(--color-beige);
}

.before\:bg-dark::before{
  content: var(--tw-content);
  background-color: var(--color-dark);
}

.before\:bg-light::before{
  content: var(--tw-content);
  background-color: var(--color-light);
}

.before\:bg-pink::before{
  content: var(--tw-content);
  background-color: var(--color-pink);
}

.before\:bg-yellow::before{
  content: var(--tw-content);
  background-color: var(--color-yellow);
}

.before\:mix-blend-lighten::before{
  content: var(--tw-content);
  mix-blend-mode: lighten;
}

.childs\:h-full *{
  height: 100%;
}

.childs\:w-full *{
  width: 100%;
}

.childs\:object-contain *{
  -o-object-fit: contain;
     object-fit: contain;
}

.childs\:object-cover *{
  -o-object-fit: cover;
     object-fit: cover;
}

.childs\:font-normal *{
  font-weight: 400;
}

.childs\:text-\[black\] *{
  --tw-text-opacity: 1;
  color: rgb(0 0 0 / var(--tw-text-opacity));
}

.child\:absolute > *{
  position: absolute;
}

.child\:h-16 > *{
  height: 1.6rem !important;
}

.child\:h-7 > *{
  height: 0.7rem !important;
}

.child\:h-full > *{
  height: 100%;
}

.child\:h-xxl > *{
  height: var(--spacing-xxl) !important;
}

.child\:max-h-\[50px\] > *{
  max-height: 50px;
}

.child\:w-16 > *{
  width: 1.6rem !important;
}

.child\:w-20 > *{
  width: 2rem !important;
}

.child\:w-full > *{
  width: 100%;
}

.child\:max-w-\[50px\] > *{
  max-width: 50px;
}

.child\:rounded > *{
  border-radius: 0.8rem;
}

.child\:bg-dark > *{
  background-color: var(--color-dark);
}

.child\:mix-blend-multiply > *{
  mix-blend-mode: multiply;
}

.child\:grayscale > *{
  --tw-grayscale: grayscale(100%);
  filter: var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow);
}

@media (min-width: 0px){
  .s\:block{
    display: block;
  }
  .s\:grid{
    display: grid;
  }
  .s\:hidden{
    display: none;
  }
}

@media (min-width: 768px){
  .m\:block{
    display: block;
  }
  .m\:grid{
    display: grid;
  }
  .m\:hidden{
    display: none;
  }
}

@media (min-width: 1024px){
  .l\:block{
    display: block;
  }
  .l\:grid{
    display: grid;
  }
  .l\:hidden{
    display: none;
  }
  .d\:order-\[1\]{
    order: 1;
  }
  .d\:col-span-1{
    grid-column: span 1 / span 1;
  }
  .d\:col-span-10{
    grid-column: span 10 / span 10;
  }
  .d\:col-span-3{
    grid-column: span 3 / span 3;
  }
  .d\:col-span-4{
    grid-column: span 4 / span 4;
  }
  .d\:col-span-6{
    grid-column: span 6 / span 6;
  }
  .d\:col-span-7{
    grid-column: span 7 / span 7;
  }
  .d\:col-span-8{
    grid-column: span 8 / span 8;
  }
  .d\:col-start-3{
    grid-column-start: 3;
  }
  .d\:col-start-5{
    grid-column-start: 5;
  }
  .d\:col-start-9{
    grid-column-start: 9;
  }
  .d\:my-xxxl{
    margin-top: var(--spacing-xxxl) !important;
    margin-bottom: var(--spacing-xxxl) !important;
  }
  .d\:aspect-\[14\/9\]{
    aspect-ratio: 14/9;
  }
  .d\:min-h-\[47rem\]{
    min-height: 47rem;
  }
  .d\:flex-row{
    flex-direction: row;
  }
  .d\:items-center{
    align-items: center;
  }
  .d\:justify-end{
    justify-content: flex-end;
  }
  .d\:gap-gap{
    gap: var(--gap) !important;
  }
  .d\:gap-xl{
    gap: var(--spacing-xl) !important;
  }
  .d\:gap-xxl{
    gap: var(--spacing-xxl) !important;
  }
  .d\:gap-xxxl{
    gap: var(--spacing-xxxl) !important;
  }
  .d\:border-r{
    border-right-width: 1px;
  }
  .d\:p-xxl{
    padding: var(--spacing-xxl) !important;
  }
  .d\:px-0{
    padding-left: 0rem !important;
    padding-right: 0rem !important;
  }
  .d\:py-\[16rem\]{
    padding-top: 16rem;
    padding-bottom: 16rem;
  }
  .d\:py-xxxl{
    padding-top: var(--spacing-xxxl) !important;
    padding-bottom: var(--spacing-xxxl) !important;
  }
  .d\:pl-xxl{
    padding-left: var(--spacing-xxl) !important;
  }
  .d\:ts-h4 {
    font-size: var(--ts-font-size);
    --ts-font-size: 2.4rem;
    line-height: var(--ts-line-height);
    --ts-line-height: 2.4rem;
    font-family: "Macan", sans-serif;
  }
  .d\:ts-body {
    font-size: var(--ts-font-size);
    --ts-font-size: 1.6rem;
    line-height: var(--ts-line-height);
    --ts-line-height: 2.2rem;
    font-family: "Inter", sans-serif;
  }
  @media (min-width: 1024px) {
    .d\:ts-h4 {
      font-size: var(--ts-font-size);
      --ts-font-size: 2.8rem;
      line-height: var(--ts-line-height);
      --ts-line-height: 3.2rem;
    }
  }
}

@media (min-width: 1280px){
  .xl\:block{
    display: block;
  }
  .xl\:grid{
    display: grid;
  }
  .xl\:hidden{
    display: none;
  }
}

@media (min-width: 1500px){
  .xxl\:block{
    display: block;
  }
  .xxl\:grid{
    display: grid;
  }
  .xxl\:hidden{
    display: none;
  }
}

.\[\&\>\*\:first-child\]\:indent-\[1em\]>*:first-child{
  text-indent: 1em;
}
