/* required styles */

.leaflet-pane,
.leaflet-tile,
.leaflet-marker-icon,
.leaflet-marker-shadow,
.leaflet-tile-container,
.leaflet-pane > svg,
.leaflet-pane > canvas,
.leaflet-zoom-box,
.leaflet-image-layer,
.leaflet-layer {
	position: absolute;
	left: 0;
	top: 0;
	}
.leaflet-container {
	overflow: hidden;
	}
.leaflet-tile,
.leaflet-marker-icon,
.leaflet-marker-shadow {
	-webkit-user-select: none;
	   -moz-user-select: none;
	        user-select: none;
	  -webkit-user-drag: none;
	}
/* Prevents IE11 from highlighting tiles in blue */
.leaflet-tile::-moz-selection {
	background: transparent;
}
.leaflet-tile::selection {
	background: transparent;
}
/* Safari renders non-retina tile on retina better with this, but Chrome is worse */
.leaflet-safari .leaflet-tile {
	image-rendering: -webkit-optimize-contrast;
	}
/* hack that prevents hw layers "stretching" when loading new tiles */
.leaflet-safari .leaflet-tile-container {
	width: 1600px;
	height: 1600px;
	-webkit-transform-origin: 0 0;
	}
.leaflet-marker-icon,
.leaflet-marker-shadow {
	display: block;
	}
/* .leaflet-container svg: reset svg max-width decleration shipped in Joomla! (joomla.org) 3.x */
/* .leaflet-container img: map is broken in FF if you have max-width: 100% on tiles */
.leaflet-container .leaflet-overlay-pane svg {
	max-width: none !important;
	max-height: none !important;
	}
.leaflet-container .leaflet-marker-pane img,
.leaflet-container .leaflet-shadow-pane img,
.leaflet-container .leaflet-tile-pane img,
.leaflet-container img.leaflet-image-layer,
.leaflet-container .leaflet-tile {
	max-width: none !important;
	max-height: none !important;
	width: auto;
	padding: 0;
	}

.leaflet-container img.leaflet-tile {
	/* See: https://bugs.chromium.org/p/chromium/issues/detail?id=600120 */
	mix-blend-mode: plus-lighter;
}

.leaflet-container.leaflet-touch-zoom {
	touch-action: pan-x pan-y;
	}
.leaflet-container.leaflet-touch-drag {
	/* Fallback for FF which doesn't support pinch-zoom */
	touch-action: none;
	touch-action: pinch-zoom;
}
.leaflet-container.leaflet-touch-drag.leaflet-touch-zoom {
	touch-action: none;
}
.leaflet-container {
	-webkit-tap-highlight-color: transparent;
}
.leaflet-container a {
	-webkit-tap-highlight-color: rgba(51, 181, 229, 0.4);
}
.leaflet-tile {
	filter: inherit;
	visibility: hidden;
	}
.leaflet-tile-loaded {
	visibility: inherit;
	}
.leaflet-zoom-box {
	width: 0;
	height: 0;
	box-sizing: border-box;
	z-index: 800;
	}
/* workaround for https://bugzilla.mozilla.org/show_bug.cgi?id=888319 */
.leaflet-overlay-pane svg {
	-moz-user-select: none;
	}

.leaflet-pane         { z-index: 400; }

.leaflet-tile-pane    { z-index: 200; }
.leaflet-overlay-pane { z-index: 400; }
.leaflet-shadow-pane  { z-index: 500; }
.leaflet-marker-pane  { z-index: 600; }
.leaflet-tooltip-pane   { z-index: 650; }
.leaflet-popup-pane   { z-index: 700; }

.leaflet-map-pane canvas { z-index: 100; }
.leaflet-map-pane svg    { z-index: 200; }

.leaflet-vml-shape {
	width: 1px;
	height: 1px;
	}
.lvml {
	behavior: url(#default#VML);
	display: inline-block;
	position: absolute;
	}


/* control positioning */

.leaflet-control {
	position: relative;
	z-index: 800;
	pointer-events: visiblePainted; /* IE 9-10 doesn't have auto */
	pointer-events: auto;
	}
.leaflet-top,
.leaflet-bottom {
	position: absolute;
	z-index: 1000;
	pointer-events: none;
	}
.leaflet-top {
	top: 0;
	}
.leaflet-right {
	right: 0;
	}
.leaflet-bottom {
	bottom: 0;
	}
.leaflet-left {
	left: 0;
	}
.leaflet-control {
	float: left;
	clear: both;
	}
.leaflet-right .leaflet-control {
	float: right;
	}
.leaflet-top .leaflet-control {
	margin-top: 10px;
	}
.leaflet-bottom .leaflet-control {
	margin-bottom: 10px;
	}
.leaflet-left .leaflet-control {
	margin-left: 10px;
	}
.leaflet-right .leaflet-control {
	margin-right: 10px;
	}


/* zoom and fade animations */

.leaflet-fade-anim .leaflet-popup {
	opacity: 0;
	transition: opacity 0.2s linear;
	}
.leaflet-fade-anim .leaflet-map-pane .leaflet-popup {
	opacity: 1;
	}
.leaflet-zoom-animated {
	transform-origin: 0 0;
	}
svg.leaflet-zoom-animated {
	will-change: transform;
}

.leaflet-zoom-anim .leaflet-zoom-animated {
	transition:         transform 0.25s cubic-bezier(0,0,0.25,1);
	}
.leaflet-zoom-anim .leaflet-tile,
.leaflet-pan-anim .leaflet-tile {
	transition: none;
	}

.leaflet-zoom-anim .leaflet-zoom-hide {
	visibility: hidden;
	}


/* cursors */

.leaflet-interactive {
	cursor: pointer;
	}
.leaflet-grab {
	cursor:         grab;
	}
.leaflet-crosshair,
.leaflet-crosshair .leaflet-interactive {
	cursor: crosshair;
	}
.leaflet-popup-pane,
.leaflet-control {
	cursor: auto;
	}
.leaflet-dragging .leaflet-grab,
.leaflet-dragging .leaflet-grab .leaflet-interactive,
.leaflet-dragging .leaflet-marker-draggable {
	cursor: move;
	cursor:         grabbing;
	}

/* marker & overlays interactivity */
.leaflet-marker-icon,
.leaflet-marker-shadow,
.leaflet-image-layer,
.leaflet-pane > svg path,
.leaflet-tile-container {
	pointer-events: none;
	}

.leaflet-marker-icon.leaflet-interactive,
.leaflet-image-layer.leaflet-interactive,
.leaflet-pane > svg path.leaflet-interactive,
svg.leaflet-image-layer.leaflet-interactive path {
	pointer-events: visiblePainted; /* IE 9-10 doesn't have auto */
	pointer-events: auto;
	}

/* visual tweaks */

.leaflet-container {
	background: #ddd;
	outline-offset: 1px;
	}
.leaflet-container a {
	color: #0078A8;
	}
.leaflet-zoom-box {
	border: 2px dotted #38f;
	background: rgba(255,255,255,0.5);
	}


/* general typography */
.leaflet-container {
	font-family: "Helvetica Neue", Arial, Helvetica, sans-serif;
	font-size: 12px;
	font-size: 0.75rem;
	line-height: 1.5;
	}


/* general toolbar styles */

.leaflet-bar {
	box-shadow: 0 1px 5px rgba(0,0,0,0.65);
	border-radius: 4px;
	}
.leaflet-bar a {
	background-color: #fff;
	border-bottom: 1px solid #ccc;
	width: 26px;
	height: 26px;
	line-height: 26px;
	display: block;
	text-align: center;
	text-decoration: none;
	color: black;
	}
.leaflet-bar a,
.leaflet-control-layers-toggle {
	background-position: 50% 50%;
	background-repeat: no-repeat;
	display: block;
	}
.leaflet-bar a:hover,
.leaflet-bar a:focus {
	background-color: #f4f4f4;
	}
.leaflet-bar a:first-child {
	border-top-left-radius: 4px;
	border-top-right-radius: 4px;
	}
.leaflet-bar a:last-child {
	border-bottom-left-radius: 4px;
	border-bottom-right-radius: 4px;
	border-bottom: none;
	}
.leaflet-bar a.leaflet-disabled {
	cursor: default;
	background-color: #f4f4f4;
	color: #bbb;
	}

.leaflet-touch .leaflet-bar a {
	width: 30px;
	height: 30px;
	line-height: 30px;
	}
.leaflet-touch .leaflet-bar a:first-child {
	border-top-left-radius: 2px;
	border-top-right-radius: 2px;
	}
.leaflet-touch .leaflet-bar a:last-child {
	border-bottom-left-radius: 2px;
	border-bottom-right-radius: 2px;
	}

/* zoom control */

.leaflet-control-zoom-in,
.leaflet-control-zoom-out {
	font: bold 18px 'Lucida Console', Monaco, monospace;
	text-indent: 1px;
	}

.leaflet-touch .leaflet-control-zoom-in, .leaflet-touch .leaflet-control-zoom-out  {
	font-size: 22px;
	}


/* layers control */

.leaflet-control-layers {
	box-shadow: 0 1px 5px rgba(0,0,0,0.4);
	background: #fff;
	border-radius: 5px;
	}
.leaflet-control-layers-toggle {
	background-image: url(images/layers.png);
	width: 36px;
	height: 36px;
	}
.leaflet-retina .leaflet-control-layers-toggle {
	background-image: url(images/layers-2x.png);
	background-size: 26px 26px;
	}
.leaflet-touch .leaflet-control-layers-toggle {
	width: 44px;
	height: 44px;
	}
.leaflet-control-layers .leaflet-control-layers-list,
.leaflet-control-layers-expanded .leaflet-control-layers-toggle {
	display: none;
	}
.leaflet-control-layers-expanded .leaflet-control-layers-list {
	display: block;
	position: relative;
	}
.leaflet-control-layers-expanded {
	padding: 6px 10px 6px 6px;
	color: #333;
	background: #fff;
	}
.leaflet-control-layers-scrollbar {
	overflow-y: scroll;
	overflow-x: hidden;
	padding-right: 5px;
	}
.leaflet-control-layers-selector {
	margin-top: 2px;
	position: relative;
	top: 1px;
	}
.leaflet-control-layers label {
	display: block;
	font-size: 13px;
	font-size: 1.08333em;
	}
.leaflet-control-layers-separator {
	height: 0;
	border-top: 1px solid #ddd;
	margin: 5px -10px 5px -6px;
	}

/* Default icon URLs */
.leaflet-default-icon-path { /* used only in path-guessing heuristic, see L.Icon.Default */
	background-image: url(images/marker-icon.png);
	}


/* attribution and scale controls */

.leaflet-container .leaflet-control-attribution {
	background: #fff;
	background: rgba(255, 255, 255, 0.8);
	margin: 0;
	}
.leaflet-control-attribution,
.leaflet-control-scale-line {
	padding: 0 5px;
	color: #333;
	line-height: 1.4;
	}
.leaflet-control-attribution a {
	text-decoration: none;
	}
.leaflet-control-attribution a:hover,
.leaflet-control-attribution a:focus {
	text-decoration: underline;
	}
.leaflet-attribution-flag {
	display: inline !important;
	vertical-align: baseline !important;
	width: 1em;
	height: 0.6669em;
	}
.leaflet-left .leaflet-control-scale {
	margin-left: 5px;
	}
.leaflet-bottom .leaflet-control-scale {
	margin-bottom: 5px;
	}
.leaflet-control-scale-line {
	border: 2px solid #777;
	border-top: none;
	line-height: 1.1;
	padding: 2px 5px 1px;
	white-space: nowrap;
	box-sizing: border-box;
	background: rgba(255, 255, 255, 0.8);
	text-shadow: 1px 1px #fff;
	}
.leaflet-control-scale-line:not(:first-child) {
	border-top: 2px solid #777;
	border-bottom: none;
	margin-top: -2px;
	}
.leaflet-control-scale-line:not(:first-child):not(:last-child) {
	border-bottom: 2px solid #777;
	}

.leaflet-touch .leaflet-control-attribution,
.leaflet-touch .leaflet-control-layers,
.leaflet-touch .leaflet-bar {
	box-shadow: none;
	}
.leaflet-touch .leaflet-control-layers,
.leaflet-touch .leaflet-bar {
	border: 2px solid rgba(0,0,0,0.2);
	background-clip: padding-box;
	}


/* popup */

.leaflet-popup {
	position: absolute;
	text-align: center;
	margin-bottom: 20px;
	}
.leaflet-popup-content-wrapper {
	padding: 1px;
	text-align: left;
	border-radius: 12px;
	}
.leaflet-popup-content {
	margin: 13px 24px 13px 20px;
	line-height: 1.3;
	font-size: 13px;
	font-size: 1.08333em;
	min-height: 1px;
	}
.leaflet-popup-content p {
	margin: 17px 0;
	margin: 1.3em 0;
	}
.leaflet-popup-tip-container {
	width: 40px;
	height: 20px;
	position: absolute;
	left: 50%;
	margin-top: -1px;
	margin-left: -20px;
	overflow: hidden;
	pointer-events: none;
	}
.leaflet-popup-tip {
	width: 17px;
	height: 17px;
	padding: 1px;

	margin: -10px auto 0;
	pointer-events: auto;
	transform: rotate(45deg);
	}
.leaflet-popup-content-wrapper,
.leaflet-popup-tip {
	background: white;
	color: #333;
	box-shadow: 0 3px 14px rgba(0,0,0,0.4);
	}
.leaflet-container a.leaflet-popup-close-button {
	position: absolute;
	top: 0;
	right: 0;
	border: none;
	text-align: center;
	width: 24px;
	height: 24px;
	font: 16px/24px Tahoma, Verdana, sans-serif;
	color: #757575;
	text-decoration: none;
	background: transparent;
	}
.leaflet-container a.leaflet-popup-close-button:hover,
.leaflet-container a.leaflet-popup-close-button:focus {
	color: #585858;
	}
.leaflet-popup-scrolled {
	overflow: auto;
	}

.leaflet-oldie .leaflet-popup-content-wrapper {
	-ms-zoom: 1;
	}
.leaflet-oldie .leaflet-popup-tip {
	width: 24px;
	margin: 0 auto;

	-ms-filter: "progid:DXImageTransform.Microsoft.Matrix(M11=0.70710678, M12=0.70710678, M21=-0.70710678, M22=0.70710678)";
	filter: progid:DXImageTransform.Microsoft.Matrix(M11=0.70710678, M12=0.70710678, M21=-0.70710678, M22=0.70710678);
	}

.leaflet-oldie .leaflet-control-zoom,
.leaflet-oldie .leaflet-control-layers,
.leaflet-oldie .leaflet-popup-content-wrapper,
.leaflet-oldie .leaflet-popup-tip {
	border: 1px solid #999;
	}


/* div icon */

.leaflet-div-icon {
	background: #fff;
	border: 1px solid #666;
	}


/* Tooltip */
/* Base styles for the element that has a tooltip */
.leaflet-tooltip {
	position: absolute;
	padding: 6px;
	background-color: #fff;
	border: 1px solid #fff;
	border-radius: 3px;
	color: #222;
	white-space: nowrap;
	-webkit-user-select: none;
	-moz-user-select: none;
	user-select: none;
	pointer-events: none;
	box-shadow: 0 1px 3px rgba(0,0,0,0.4);
	}
.leaflet-tooltip.leaflet-interactive {
	cursor: pointer;
	pointer-events: auto;
	}
.leaflet-tooltip-top:before,
.leaflet-tooltip-bottom:before,
.leaflet-tooltip-left:before,
.leaflet-tooltip-right:before {
	position: absolute;
	pointer-events: none;
	border: 6px solid transparent;
	background: transparent;
	content: "";
	}

/* Directions */

.leaflet-tooltip-bottom {
	margin-top: 6px;
}
.leaflet-tooltip-top {
	margin-top: -6px;
}
.leaflet-tooltip-bottom:before,
.leaflet-tooltip-top:before {
	left: 50%;
	margin-left: -6px;
	}
.leaflet-tooltip-top:before {
	bottom: 0;
	margin-bottom: -12px;
	border-top-color: #fff;
	}
.leaflet-tooltip-bottom:before {
	top: 0;
	margin-top: -12px;
	margin-left: -6px;
	border-bottom-color: #fff;
	}
.leaflet-tooltip-left {
	margin-left: -6px;
}
.leaflet-tooltip-right {
	margin-left: 6px;
}
.leaflet-tooltip-left:before,
.leaflet-tooltip-right:before {
	top: 50%;
	margin-top: -6px;
	}
.leaflet-tooltip-left:before {
	right: 0;
	margin-right: -12px;
	border-left-color: #fff;
	}
.leaflet-tooltip-right:before {
	left: 0;
	margin-left: -12px;
	border-right-color: #fff;
	}

/* Printing */

@media print {
	/* Prevent printers from removing background-images of controls. */
	.leaflet-control {
		-webkit-print-color-adjust: exact;
		print-color-adjust: exact;
		}
	}

.leaflet-cluster-anim .leaflet-marker-icon, .leaflet-cluster-anim .leaflet-marker-shadow {
	transition: transform 0.3s ease-out, opacity 0.3s ease-in;
}

.leaflet-cluster-spider-leg {
	/* stroke-dashoffset (duration and function) should match with leaflet-marker-icon transform in order to track it exactly */
	transition: stroke-dashoffset 0.3s ease-out, stroke-opacity 0.3s ease-in;
}

h1,
h2,
.ts-h1,
.ts-h2,
.ts-label{
    color: var(--color-primary);
}

p b,
p strong {
    font-weight: var(--ts-font-weight);
    --ts-font-weight: 600;
  }

/*
! 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: #e5e7eb; /* 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));
  }
.fcc{
    display: flex;
    align-items: center;
    justify-content: center;
}
.fsc{
    display: flex;
    align-items: center;
    justify-content: flex-start;
}
.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;
}
.bottom-m{
    bottom: var(--spacing-m) !important;
}
.right-m{
    right: var(--spacing-m) !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;
}
.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;
}
.grid{
    display: grid;
}
.hidden{
    display: none;
}
.aspect-\[1\/1\]{
    aspect-ratio: 1/1;
}
.aspect-\[11\/7\]{
    aspect-ratio: 11/7;
}
.aspect-\[2\/3\]{
    aspect-ratio: 2/3;
}
.aspect-\[3\/2\]{
    aspect-ratio: 3/2;
}
.aspect-\[4\/3\]{
    aspect-ratio: 4/3;
}
.h-280{
    height: 28rem !important;
}
.h-36{
    height: 3.6rem !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-xl{
    height: var(--spacing-xl) !important;
}
.h-xxl{
    height: var(--spacing-xxl) !important;
}
.h-xxxl{
    height: var(--spacing-xxxl) !important;
}
.min-h-\[17\.8rem\]{
    min-height: 17.8rem;
}
.min-h-xxxl{
    min-height: var(--spacing-xxxl) !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;
}
.shrink-0{
    flex-shrink: 0;
}
.rotate-180{
    --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));
}
.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-between{
    justify-content: space-between;
}
.gap-0{
    gap: 0rem !important;
}
.gap-100{
    gap: 10rem !important;
}
.gap-50{
    gap: 5rem !important;
}
.gap-8{
    gap: 0.8rem !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-xxxl{
    gap: var(--spacing-xxxl) !important;
}
.gap-x-gap{
    -moz-column-gap: var(--gap) !important;
         column-gap: var(--gap) !important;
}
.gap-x-m{
    -moz-column-gap: var(--spacing-m) !important;
         column-gap: var(--spacing-m) !important;
}
.gap-y-0{
    row-gap: 0rem !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-l{
    border-left-width: 1px;
}
.border-t{
    border-top-width: 1px;
}
.border-\[\#fff3\]{
    border-color: #fff3;
}
.border-dark{
    border-color: var(--color-dark);
}
.border-darkgray{
    border-color: var(--color-darkgray);
}
.border-light{
    border-color: var(--color-light);
}
.border-lightblue{
    border-color: var(--color-lightblue);
}
.border-lightgray{
    border-color: var(--color-lightgray);
}
.border-midgray{
    border-color: var(--color-midgray);
}
.border-primary{
    border-color: var(--color-primary);
}
.bg-\[red\]{
    --tw-bg-opacity: 1;
    background-color: rgb(255 0 0 / var(--tw-bg-opacity));
}
.bg-dark{
    background-color: var(--color-dark);
}
.bg-darkgray{
    background-color: var(--color-darkgray);
}
.bg-light{
    background-color: var(--color-light);
}
.bg-lightblue{
    background-color: var(--color-lightblue);
}
.bg-lightgray{
    background-color: var(--color-lightgray);
}
.bg-midgray{
    background-color: var(--color-midgray);
}
.bg-primary{
    background-color: var(--color-primary);
}
.p-l{
    padding: var(--spacing-l) !important;
}
.p-m{
    padding: var(--spacing-m) !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-20{
    padding-left: 2rem !important;
    padding-right: 2rem !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-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-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-center{
    text-align: center;
}
.text-\[10px\]{
    font-size: 10px;
}
.font-\[600\]{
    font-weight: 600;
}
.uppercase{
    text-transform: uppercase;
}
.text-\[white\!important\]{
    color: white !important;
}
.text-dark{
    color: var(--color-dark);
}
.text-darkgray{
    color: var(--color-darkgray);
}
.text-light{
    color: var(--color-light);
}
.text-lightblue{
    color: var(--color-lightblue);
}
.text-lightgray{
    color: var(--color-lightgray);
}
.text-midgray{
    color: var(--color-midgray);
}
.text-primary{
    color: var(--color-primary);
}
.opacity-20{
    opacity: 0.2;
}
.opacity-40{
    opacity: 0.4;
}
.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: 5.8rem;
    line-height: var(--ts-line-height);
    --ts-line-height: 5.6rem;
    font-weight: var(--ts-font-weight);
    --ts-font-weight: 400;
    font-family: "Roobert", sans-serif;
  }
.ts-h1 {
    font-size: var(--ts-font-size);
    --ts-font-size: 5.8rem;
    line-height: var(--ts-line-height);
    --ts-line-height: 5.6rem;
    font-weight: var(--ts-font-weight);
    --ts-font-weight: 400;
    font-family: "Roobert", sans-serif;
  }
:root {
    --ts-h1-font-size: 5.8rem;
    --ts-h1-line-height: 5.6rem;
    --ts-h1-font-weight: 400;
  }
h2 {
    font-size: var(--ts-font-size);
    --ts-font-size: 3.4rem;
    line-height: var(--ts-line-height);
    --ts-line-height: 3.6rem;
    font-weight: var(--ts-font-weight);
    --ts-font-weight: 400;
    font-family: "Roobert", sans-serif;
  }
.ts-h2 {
    font-size: var(--ts-font-size);
    --ts-font-size: 3.4rem;
    line-height: var(--ts-line-height);
    --ts-line-height: 3.6rem;
    font-weight: var(--ts-font-weight);
    --ts-font-weight: 400;
    font-family: "Roobert", sans-serif;
  }
:root {
    --ts-h2-font-size: 3.4rem;
    --ts-h2-line-height: 3.6rem;
    --ts-h2-font-weight: 400;
  }
h3 {
    font-size: var(--ts-font-size);
    --ts-font-size: 2.8rem;
    line-height: var(--ts-line-height);
    --ts-line-height: 3.2rem;
    font-weight: var(--ts-font-weight);
    --ts-font-weight: 500;
  }
.ts-h3 {
    font-size: var(--ts-font-size);
    --ts-font-size: 2.8rem;
    line-height: var(--ts-line-height);
    --ts-line-height: 3.2rem;
    font-weight: var(--ts-font-weight);
    --ts-font-weight: 500;
  }
:root {
    --ts-h3-font-size: 2.8rem;
    --ts-h3-line-height: 3.2rem;
    --ts-h3-font-weight: 500;
  }
h4 {
    font-size: var(--ts-font-size);
    --ts-font-size: 2.2rem;
    line-height: var(--ts-line-height);
    --ts-line-height: 2.6rem;
    font-family: "Roobert", sans-serif;
    font-weight: var(--ts-font-weight);
    --ts-font-weight: 500;
  }
.ts-h4 {
    font-size: var(--ts-font-size);
    --ts-font-size: 2.2rem;
    line-height: var(--ts-line-height);
    --ts-line-height: 2.6rem;
    font-family: "Roobert", sans-serif;
    font-weight: var(--ts-font-weight);
    --ts-font-weight: 500;
  }
:root {
    --ts-h4-font-size: 2.2rem;
    --ts-h4-line-height: 2.6rem;
    --ts-h4-font-weight: 500;
  }
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;
  }
cta {
    font-size: var(--ts-font-size);
    --ts-font-size: 1.6rem;
    line-height: var(--ts-line-height);
    --ts-line-height: 1.8rem;
  }
:root {
    --ts-cta-font-size: 1.6rem;
    --ts-cta-line-height: 1.8rem;
  }
label {
    font-size: var(--ts-font-size);
    --ts-font-size: 1.2rem;
    line-height: var(--ts-line-height);
    --ts-line-height: 1.4rem;
    text-transform: var(--ts-text-transform);
    --ts-text-transform: uppercase;
  }
.ts-label {
    font-size: var(--ts-font-size);
    --ts-font-size: 1.2rem;
    line-height: var(--ts-line-height);
    --ts-line-height: 1.4rem;
    text-transform: var(--ts-text-transform);
    --ts-text-transform: uppercase;
  }
:root {
    --ts-label-font-size: 1.2rem;
    --ts-label-line-height: 1.4rem;
    --ts-label-text-transform: uppercase;
  }
bold {
    font-weight: var(--ts-font-weight);
    --ts-font-weight: 600;
  }
:root {
    --ts-bold-font-weight: 600;
  }
@media (min-width: 1024px) {
    h1 {
      font-size: var(--ts-font-size);
      --ts-font-size: 9.2rem;
      line-height: var(--ts-line-height);
      --ts-line-height: 8.4rem;
    }
    .ts-h1 {
      font-size: var(--ts-font-size);
      --ts-font-size: 9.2rem;
      line-height: var(--ts-line-height);
      --ts-line-height: 8.4rem;
    }
    :root {
      --ts-h1-font-size: 9.2rem;
      --ts-h1-line-height: 8.4rem;
    }
    h2 {
      font-size: var(--ts-font-size);
      --ts-font-size: 4.4rem;
      line-height: var(--ts-line-height);
      --ts-line-height: 4.6rem;
    }
    .ts-h2 {
      font-size: var(--ts-font-size);
      --ts-font-size: 4.4rem;
      line-height: var(--ts-line-height);
      --ts-line-height: 4.6rem;
    }
    :root {
      --ts-h2-font-size: 4.4rem;
      --ts-h2-line-height: 4.6rem;
    }
    h3 {
      font-size: var(--ts-font-size);
      --ts-font-size: 3.2rem;
      line-height: var(--ts-line-height);
      --ts-line-height: 3.6rem;
    }
    .ts-h3 {
      font-size: var(--ts-font-size);
      --ts-font-size: 3.2rem;
      line-height: var(--ts-line-height);
      --ts-line-height: 3.6rem;
    }
    :root {
      --ts-h3-font-size: 3.2rem;
      --ts-h3-line-height: 3.6rem;
    }
  }
.container {
  width: 100%;
  max-width: initial;
  padding-left: var(--margin);
  padding-right: var(--margin);
}
:root {
  --margin: 2.4rem;
}

@media (min-width: 1024px) {
  :root {
    --margin: 4.8rem;
  }
}
@media (min-width: 1280px) {
  :root {
    --margin: 9.6rem;
  }
}
: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: 1024px) {
  :root {
    --gap: 4.8rem;
  }
}
.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: #000;
  --color-light: #fff;
  --color-primary: #F4475C;
  --color-darkgray: #999;
  --color-midgray: #CCCDD5;
  --color-lightgray: #DEDEDE;
  --color-lightblue: #F3F4FE;
}

.rounded {
  border-radius: 0rem;
}

: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: 400ms;
  --animation-timing: ease;
  --animation: var(--animation-duration) var(--animation-timing);
}

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

:root {
  --animation-secondary-duration: 1600ms;
  --animation-secondary-timing: cubic-bezier(0.2, 0.2, 0.06, 0.97);
  --animation-secondary: var(--animation-secondary-duration) var(--animation-secondary-timing);
}

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

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

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

.dark,
.dark * {
  --color-dark: #fff;
  --color-light: #000;
  color: var(--color-dark);
}
.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-secondary);
}
.animation--fade-up {
  opacity: 0;
  transform: translate3d(0, var(--spacing-l), 0);
  transition: opacity var(--animation-secondary), transform var(--animation-secondary);
}
.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-secondary);
}
.animation--fade-down-bg > *{
    z-index: 1;
}
.animation--fade-down-bg.is-in-view::before{
    height: 100%;
}

.FrontPage{
    display: flex;
    flex-direction: column;
    gap: var(--spacing-xxxl);
}
.FrontPage__top{
    display: flex;
    align-items: center;
    justify-content: center;
    flex-direction: column;
    gap: var(--spacing-xxl);
    text-align: center;
}
.FrontPage__top h1{
    color: var(--color-dark);
}
@media (min-width: 1024px){
    .FrontPage .acf-component--image-full > *{
        aspect-ratio: 12/5;
    }
}

.Page__breadcrumbs{
    margin-bottom: var(--spacing-l);
    display: flex;
    justify-content: center;
}
.Page__title{
    margin-left: auto;
    margin-right: auto;
    margin-bottom: var(--spacing-xxl);
    padding-left: var(--margin);
    padding-right: var(--margin);
    text-align: center;
}
@media (min-width: 1024px){
    .Page__title{
        margin-bottom: var(--spacing-xxxl);
    max-width: calc((var(--width-of-layout) - var(--gap) * (var(--max-columns) - 1)) / var(--max-columns) * 10 + var(--gap) * (10 - 1));
    }
}
.Page__thumbnail{
    position: relative;
    margin-bottom: var(--spacing-xxl);
    display: flex;
    aspect-ratio: 12/5;
    align-items: flex-end;
}
@media (min-width: 1024px){
    .Page__thumbnail{
        margin-bottom: var(--spacing-xxxl);
    }
}
.Page__thumbnail > div{
    display: flex;
    height: 0rem;
    width: 100%;
    align-items: flex-end;
    overflow: hidden;
  transition: height var(--animation-secondary);
}
.Page__thumbnail > div .image{
    aspect-ratio: 12/5;
    height: auto;
}
.Page__thumbnail > span{
    position: absolute;
    bottom: 0rem;
    right: 0rem;
    margin: var(--spacing-m);
    font-size: var(--ts-font-size);
    --ts-font-size: 1.2rem;
    line-height: var(--ts-line-height);
    --ts-line-height: 1.4rem;
    text-transform: var(--ts-text-transform);
    --ts-text-transform: uppercase;
    color: var(--color-primary);
  color: var(--color-light) !important;
}
.Page__thumbnail.is-in-view > div {
  height: 100%;
}
.Page .Page__content-main{
    position: relative;
}
.Page .Page__introduction{
    position: relative;
}
.Page .Page__introduction .Page__introduction-anchor{
    position: absolute;
    left: 0rem;
    top: -8.8rem;
    display: block;
}
.Page .Page__anchors > div {
  transition: top var(--animation);
}
.Page .Page__anchors > div > div{
    display: flex;
    flex-direction: column;
    gap: var(--spacing-m);
    border-width: 1px;
    border-color: var(--color-midgray);
    background-color: var(--color-light);
    padding: var(--spacing-xl);
  border-radius: var(--spacing-m);
  transition: top var(--animation);
}
.Page .Page__anchors > div > div > *{
    display: flex;
    gap: var(--spacing-m);
}
.Page .Page__anchors > div > div > * *{
    color: var(--color-primary);
}
.Page .Page__anchors > div > div > * svg{
    height: 1.6rem;
    flex-shrink: 0;
}
.Page .Page__anchors > div > div > * span {
    font-size: var(--ts-font-size);
    --ts-font-size: 1.6rem;
    line-height: var(--ts-line-height);
    --ts-line-height: 1.8rem;
  }
@media (max-width: 1023px) {
  .Page .Page__anchors{
        margin-bottom: var(--spacing-xxl);
        padding-left: var(--margin);
        padding-right: var(--margin);
    }
}
@media (min-width: 1024px) {
  .Page .Page__anchors{
        position: absolute;
        top: 0rem;
        left: var(--margin);
        height: 100%;
        padding-left: 0rem;
        padding-right: 0rem;
    width: calc((var(--width-of-layout) - var(--gap) * (var(--max-columns) - 1)) / var(--max-columns) * 3 + var(--gap) * (3 - 1));
    }
  .Page .Page__anchors > div{
        position: sticky;
        top: 0rem;
        z-index: 1000;
        padding-top: var(--spacing-xxl);
        padding-bottom: var(--spacing-xxl);
    margin-top: calc(var(--spacing-xxl) * -1);
    }
}
.Page__content-top{
    margin-bottom: var(--spacing-xxl);
    display: grid;
    grid-template-columns: repeat(12, minmax(0, 1fr));
    padding-left: var(--margin);
    padding-right: var(--margin);
  gap: var(--gap);
}
.Page__content-top.list {
  grid-template-columns: repeat(6, minmax(0, 1fr));
}
@media (min-width: 768px) {
  .Page__content-top.list {
    grid-template-columns: repeat(8, minmax(0, 1fr));
  }
}
@media (min-width: 1024px) {
  .Page__content-top.list {
    grid-template-columns: repeat(12, minmax(0, 1fr));
  }
  .Page__content-top{
        margin-bottom: var(--spacing-xxxl);
    }
}
.Page__content-top .Page__introduction{
    grid-column: 1 / -1;
    display: flex;
    flex-direction: column;
    gap: var(--spacing-xl);
}
@media (min-width: 1024px){
    .Page__content-top .Page__introduction{
        grid-column: span 6 / span 6;
        grid-column-start: 6;
        gap: var(--spacing-xxl);
    }
}
.Page__content > section > *:last-child{
    margin-bottom: 0rem;
}
.Page__content-cross > .is-full:has(+ *.is-full){
    padding-bottom: 0rem;
}

@media (min-width: 1024px){
    body[wp-class*=single-news] .Page .Page__introduction{
        grid-column-start: 4;
    }
    body[wp-class*=single-news] .Page .acf-component--section .component__title > h2{
        grid-column-start: 4;
    }
    body[wp-class*=single-news] .Page .acf-component--section section .acf-component--wysiwyg > *,
body[wp-class*=single-news] .Page .acf-component--section section .acf-component--title-3 > *,
body[wp-class*=single-news] .Page .acf-component--section section .acf-component--button > *,
body[wp-class*=single-news] .Page .acf-component--section section .acf-component--accordions > *,
body[wp-class*=single-news] .Page .acf-component--section section .acf-component--file-to-download > * > *,
body[wp-class*=single-news] .Page .acf-component--section section .acf-component--keys-figures > * > *{
        grid-column-start: 4;
    }
}
body[wp-class*=single-news] .Page .acf-component--section section .acf-component--image > div{
    margin-right: auto;
}

.ArchiveNews{
    padding-left: var(--margin);
    padding-right: var(--margin);
    padding-bottom: var(--spacing-xxxl);
}
.ArchiveNews__top{
    margin-bottom: var(--spacing-xxl);
    text-align: center;
}
@media (min-width: 1024px){
    .ArchiveNews__top{
        margin-bottom: var(--spacing-xxxl);
    }
}
.ArchiveNews__breadcrumbs{
    margin-bottom: var(--spacing-l);
}
.ArchiveNews__filters{
    display: flex;
    align-items: center;
    justify-content: center;
    margin-top: var(--spacing-xxl);
}
.ArchiveNews__filters .component--filters{
    justify-content: center;
}
.ArchiveNews__content{
    display: flex;
    flex-direction: column;
    gap: var(--spacing-xxl);
}
@media (min-width: 1024px){
    .ArchiveNews__content{
        gap: var(--spacing-xxxl);
    }
}
.ArchiveNews__content .ArchiveNews__posts{
    display: grid;
    grid-template-columns: repeat(12, minmax(0, 1fr));
    -moz-column-gap: var(--gap);
         column-gap: var(--gap);
    row-gap: var(--spacing-xxl);
}
.ArchiveNews__content .ArchiveNews__posts.list {
  grid-template-columns: repeat(6, minmax(0, 1fr));
}
@media (min-width: 768px) {
  .ArchiveNews__content .ArchiveNews__posts.list {
    grid-template-columns: repeat(8, minmax(0, 1fr));
  }
}
@media (min-width: 1024px) {
  .ArchiveNews__content .ArchiveNews__posts.list {
    grid-template-columns: repeat(12, minmax(0, 1fr));
  }
}
.ArchiveNews__content .ArchiveNews__posts > *{
    grid-column: 1 / -1;
}
@media (min-width: 1024px){
    .ArchiveNews__content .ArchiveNews__posts > *{
        grid-column: span 4 / span 4;
    }
}

.ArchiveThematic{
    padding-left: var(--margin);
    padding-right: var(--margin);
    padding-bottom: var(--spacing-xxxl);
}
.ArchiveThematic__top{
    margin-bottom: var(--spacing-xxxl);
    text-align: center;
}
.ArchiveThematic__breadcrumbs{
    margin-bottom: var(--spacing-l);
}
.ArchiveThematic__content{
    display: flex;
    flex-direction: column;
    gap: var(--spacing-xxxl);
}
.ArchiveThematic__content .ArchiveThematic__posts{
    display: grid;
    grid-template-columns: repeat(12, minmax(0, 1fr));
    row-gap: var(--spacing-xxl);
    -moz-column-gap: var(--gap);
         column-gap: var(--gap);
}
.ArchiveThematic__content .ArchiveThematic__posts.list {
  grid-template-columns: repeat(6, minmax(0, 1fr));
}
@media (min-width: 768px) {
  .ArchiveThematic__content .ArchiveThematic__posts.list {
    grid-template-columns: repeat(8, minmax(0, 1fr));
  }
}
@media (min-width: 1024px) {
  .ArchiveThematic__content .ArchiveThematic__posts.list {
    grid-template-columns: repeat(12, minmax(0, 1fr));
  }
  .ArchiveThematic__content .ArchiveThematic__posts{
        row-gap: var(--gap);
    }
}
.ArchiveThematic__content .ArchiveThematic__posts > *{
    grid-column: 1 / -1;
}
@media (min-width: 1024px){
    .ArchiveThematic__content .ArchiveThematic__posts > *{
        grid-column: span 6 / span 6;
    }
}

.TemplateContact{
    display: flex;
    flex-direction: column;
    gap: var(--spacing-xxxl);
    padding-left: var(--margin);
    padding-right: var(--margin);
    padding-bottom: var(--spacing-xxxl);
}
.TemplateContact__top{
    display: flex;
    flex-direction: column;
    gap: var(--spacing-l);
}
.TemplateContact__top h1{
    margin-left: auto;
    margin-right: auto;
    text-align: center;
}
@media (min-width: 1024px){
  .TemplateContact__top h1 {
    width: calc((var(--width-of-layout) - var(--gap) * (var(--max-columns) - 1)) / var(--max-columns) * 10 + var(--gap) * (10 - 1));
  }
}
.TemplateContact__content{
    display: grid;
    grid-template-columns: repeat(12, minmax(0, 1fr));
    border-top-width: 1px;
    border-color: var(--color-midgray);
    padding-top: var(--spacing-xxl);
  gap: var(--gap);
}
.TemplateContact__content.list {
  grid-template-columns: repeat(6, minmax(0, 1fr));
}
@media (min-width: 768px) {
  .TemplateContact__content.list {
    grid-template-columns: repeat(8, minmax(0, 1fr));
  }
}
@media (min-width: 1024px) {
  .TemplateContact__content.list {
    grid-template-columns: repeat(12, minmax(0, 1fr));
  }
}
.TemplateContact__content .TemplateContact__informations{
    grid-column: 1 / -1;
    display: flex;
    flex-direction: column;
    gap: var(--spacing-m);
}
@media (min-width: 1024px){
    .TemplateContact__content .TemplateContact__informations{
        grid-column: span 4 / span 4;
    }
}
.TemplateContact__content .TemplateContact__informations .TemplateContact__site-title {
    font-size: var(--ts-font-size);
    --ts-font-size: 2.2rem;
    line-height: var(--ts-line-height);
    --ts-line-height: 2.6rem;
    font-family: "Roobert", sans-serif;
    font-weight: var(--ts-font-weight);
    --ts-font-weight: 500;
  }
.TemplateContact__content .TemplateContact__form{
    grid-column: 1 / -1;
    display: flex;
    flex-direction: column;
    gap: var(--spacing-xxl);
}
@media (min-width: 1024px){
    .TemplateContact__content .TemplateContact__form{
        grid-column: span 6 / span 6;
        grid-column-start: 6;
    }
}
.TemplateContact__content .TemplateContact__form > p{
    color: var(--color-darkgray);
}
.TemplateContact 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);
}
.TemplateContact form.advancedform.list {
  grid-template-columns: repeat(6, minmax(0, 1fr));
}
@media (min-width: 768px) {
  .TemplateContact form.advancedform.list {
    grid-template-columns: repeat(8, minmax(0, 1fr));
  }
}
@media (min-width: 1024px) {
  .TemplateContact form.advancedform.list {
    grid-template-columns: repeat(12, minmax(0, 1fr));
  }
}
.TemplateContact form.advancedform > .advancedform-field-container{
    grid-column: 1 / -1;
}
.TemplateContact form.advancedform > .advancedform-field-container > p{
    display: flex;
    flex-direction: column;
}
.TemplateContact form.advancedform > .advancedform-field-container > p br{
    display: none;
}
.TemplateContact form.advancedform > .advancedform-field-container label {
    font-size: var(--ts-font-size);
    --ts-font-size: 1.2rem;
    line-height: var(--ts-line-height);
    --ts-line-height: 1.4rem;
    text-transform: var(--ts-text-transform);
    --ts-text-transform: uppercase;
    color: var(--color-primary);
  color: var(--color-darkgray) !important;
  }
.TemplateContact form.advancedform > .advancedform-field-container input[type=text],
.TemplateContact form.advancedform > .advancedform-field-container input[type=email],
.TemplateContact form.advancedform > .advancedform-field-container input[type=tel],
.TemplateContact form.advancedform > .advancedform-field-container select,
.TemplateContact form.advancedform > .advancedform-field-container textarea{
    width: 100%;
    border-bottom-width: 1px;
    border-color: var(--color-dark);
    padding-top: var(--spacing-l);
    padding-bottom: var(--spacing-l);
}
.TemplateContact form.advancedform > .advancedform-field-container input[type=text]::-moz-placeholder, .TemplateContact form.advancedform > .advancedform-field-container input[type=email]::-moz-placeholder, .TemplateContact form.advancedform > .advancedform-field-container input[type=tel]::-moz-placeholder, .TemplateContact form.advancedform > .advancedform-field-container select::-moz-placeholder, .TemplateContact form.advancedform > .advancedform-field-container textarea::-moz-placeholder{
    color: var(--color-darkgray);
}
.TemplateContact form.advancedform > .advancedform-field-container input[type=text]::placeholder,
.TemplateContact form.advancedform > .advancedform-field-container input[type=email]::placeholder,
.TemplateContact form.advancedform > .advancedform-field-container input[type=tel]::placeholder,
.TemplateContact form.advancedform > .advancedform-field-container select::placeholder,
.TemplateContact form.advancedform > .advancedform-field-container textarea::placeholder{
    color: var(--color-darkgray);
}
.TemplateContact form.advancedform > .advancedform-field-container.checkbox{
    display: flex;
    flex-direction: column;
    gap: var(--spacing-m);
}
.TemplateContact form.advancedform > .advancedform-field-container.checkbox input.custom{
    position: absolute;
    height: 0rem;
    width: 0rem;
    opacity: 0;
}
.TemplateContact form.advancedform > .advancedform-field-container.checkbox input.custom:not(:checked) + span.custom-checkbox svg{
    display: none;
}
.TemplateContact form.advancedform > .advancedform-field-container.checkbox span.custom-checkbox{
    display: flex;
    align-items: center;
    justify-content: center;
    height: var(--spacing-xl);
    width: var(--spacing-xl);
    cursor: pointer;
    border-width: 1px;
    border-color: var(--color-primary);
}
.TemplateContact form.advancedform > .advancedform-field-container.checkbox span.custom-checkbox svg{
    height: var(--spacing-l);
    width: var(--spacing-l);
}
.TemplateContact form.advancedform > .advancedform-field-container.checkbox span.custom-checkbox *{
    color: var(--color-primary);
}
.TemplateContact form.advancedform > .advancedform-field-container.checkbox span.custom-checkbox + label{
    cursor: pointer;
  color: var(--color-dark) !important;
}
.TemplateContact form.advancedform > .advancedform-field-container.checkbox > div > p{
    display: flex;
    align-items: center;
    gap: var(--spacing-m);
}
@media (min-width: 1024px){
    .TemplateContact form.advancedform > .advancedform-field-container.checkbox > div > p{
        gap: var(--spacing-xl);
    }
    .TemplateContact form.advancedform > .advancedform-field-container.half{
        grid-column: span 1 / span 1;
    }
}
.TemplateContact form.advancedform > .information-message{
    grid-column: 1 / -1;
}

.TemplateFinancialAid{
    display: flex;
    flex-direction: column;
    gap: var(--spacing-xxxl);
}
.TemplateFinancialAid__top{
    display: flex;
    flex-direction: column;
    gap: var(--spacing-l);
}
.TemplateFinancialAid__top h1{
    margin-left: auto;
    margin-right: auto;
    text-align: center;
}
@media (min-width: 1024px){
  .TemplateFinancialAid__top h1 {
    width: calc((var(--width-of-layout) - var(--gap) * (var(--max-columns) - 1)) / var(--max-columns) * 10 + var(--gap) * (10 - 1));
  }
}
.TemplateFinancialAid__content .component--acf-flex-content > *:last-child:not(.is-full){
    margin-bottom: var(--spacing-xxxl);
}
@media (min-width: 1024px){
    .TemplateFinancialAid__content .acf-component--image-full > *{
        aspect-ratio: 12/5;
    }
}

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

@media (min-width: 1024px){
    .Search{
        gap: var(--spacing-xxxl);
    }
}
.Search__header{
    display: grid;
    grid-template-columns: repeat(12, minmax(0, 1fr));
  gap: var(--gap);
}
.Search__header.list {
  grid-template-columns: repeat(6, minmax(0, 1fr));
}
@media (min-width: 768px) {
  .Search__header.list {
    grid-template-columns: repeat(8, minmax(0, 1fr));
  }
}
@media (min-width: 1024px) {
  .Search__header.list {
    grid-template-columns: repeat(12, minmax(0, 1fr));
  }
}
.Search__content{
    margin-bottom: var(--spacing-xxl);
    display: grid;
    grid-template-columns: repeat(12, minmax(0, 1fr));
    -moz-column-gap: var(--gap);
         column-gap: var(--gap);
    row-gap: var(--spacing-xxl);
    border-top-width: 1px;
    border-color: var(--color-midgray);
    padding-top: var(--spacing-xxl);
}
.Search__content.list {
  grid-template-columns: repeat(6, minmax(0, 1fr));
}
@media (min-width: 768px) {
  .Search__content.list {
    grid-template-columns: repeat(8, minmax(0, 1fr));
  }
}
@media (min-width: 1024px) {
  .Search__content.list {
    grid-template-columns: repeat(12, minmax(0, 1fr));
  }
  .Search__content{
        margin-bottom: var(--spacing-xxxl);
    }
}
.Search__content .component--breadcrumbs > div{
    justify-content: flex-start;
  padding: 0 !important;
}

.acf-component--studies{
    display: flex;
    flex-direction: column;
    gap: var(--spacing-xxl);
    overflow: hidden;
    background-color: var(--color-lightblue);
    padding-left: var(--margin);
    padding-right: var(--margin);
    padding-top: var(--spacing-xxl);
    padding-bottom: var(--spacing-xxl);
}

@media (min-width: 1024px){
    .acf-component--studies{
        padding-top: var(--spacing-xxxl);
        padding-bottom: var(--spacing-xxxl);
    }
}
.acf-component--studies .acf-component__head{
    display: flex;
    flex-direction: column;
    gap: var(--spacing-xl);
}
@media (min-width: 1024px){
    .acf-component--studies .acf-component__head{
        flex-direction: row;
        align-items: center;
        justify-content: space-between;
    }
}
.acf-component--studies .acf-component__navigation{
    display: flex;
    align-items: center;
    gap: var(--spacing-xl);
}
.acf-component--studies .acf-component__navigation > div{
    display: none;
    align-items: center;
    gap: var(--spacing-m);
}
@media (min-width: 1024px){
    .acf-component--studies .acf-component__navigation > div{
        display: flex;
    }
}
.acf-component--studies .acf-component__carousel{
    display: none;
}
@media (min-width: 1024px){
    .acf-component--studies .acf-component__carousel{
        display: block;
    }
}
.acf-component--studies .acf-component__list{
    display: flex;
    flex-direction: column;
    gap: var(--spacing-xxl);
}
@media (min-width: 1024px){
    .acf-component--studies .acf-component__list{
        display: none;
    }
}
.acf-component--studies .swiper{
    width: 100%;
    overflow: visible;
}
.acf-component--studies .swiper-wrapper{
    display: none;
}
@media (min-width: 1024px){
    .acf-component--studies .swiper-wrapper{
        display: flex;
    }
}
.acf-component--studies .swiper-wrapper > .swiper-slide:last-child{
    padding-right: 0rem;
  width: calc((var(--width-of-layout) - var(--gap) * (var(--max-columns) - 1)) / var(--max-columns) * 4 + var(--gap) * (4 - 1));
}
.acf-component--studies .swiper-slide{
    height: auto;
  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--studies .swiper-slide > *, .acf-component--studies .swiper-slide > * > *{
    height: 100%;
}
.acf-component--studies .swiper-previous{
    --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));
}

.acf-component--wysiwyg{
    display: grid;
    grid-template-columns: repeat(12, minmax(0, 1fr));
    padding-left: var(--margin);
    padding-right: var(--margin);
  gap: var(--gap);
}

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

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

@media (min-width: 1024px) {
  .acf-component--wysiwyg.list {
    grid-template-columns: repeat(12, minmax(0, 1fr));
  }
}
.acf-component--wysiwyg > *{
    grid-column: 1 / -1;
}
@media (min-width: 1024px){
    .acf-component--wysiwyg > *{
        grid-column: span 6 / span 6;
        grid-column-start: 6;
    }
}

.acf-component--title-3{
    display: grid;
    grid-template-columns: repeat(12, minmax(0, 1fr));
    padding-left: var(--margin);
    padding-right: var(--margin);
  gap: var(--gap);
}

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

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

@media (min-width: 1024px) {
  .acf-component--title-3.list {
    grid-template-columns: repeat(12, minmax(0, 1fr));
  }
}
.acf-component--title-3 > *{
    grid-column: 1 / -1;
}
@media (min-width: 1024px){
    .acf-component--title-3 > *{
        grid-column: span 6 / span 6;
        grid-column-start: 6;
    }
}

.acf-component--accordions{
    display: grid;
    grid-template-columns: repeat(12, minmax(0, 1fr));
    padding-left: var(--margin);
    padding-right: var(--margin);
  gap: var(--gap);
}

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

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

@media (min-width: 1024px) {
  .acf-component--accordions.list {
    grid-template-columns: repeat(12, minmax(0, 1fr));
  }
}
.acf-component--accordions > *{
    grid-column: 1 / -1;
}
@media (min-width: 1024px){
    .acf-component--accordions > *{
        grid-column: span 6 / span 6;
        grid-column-start: 6;
    }
}
.acf-component--accordions .component--accordions{
    border-bottom-width: 1px;
    border-color: var(--color-midgray);
}
.acf-component--accordions .component--accordions .accordion{
    border-top-width: 1px;
    border-color: var(--color-midgray);
}
.acf-component--accordions .component--accordions .accordion .accordion__header{
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: var(--spacing-xxl);
    padding-top: var(--spacing-l);
    padding-bottom: var(--spacing-l);
}
.acf-component--accordions .component--accordions .accordion .accordion__header h4{
    text-align: left;
    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;
}
.acf-component--accordions .component--accordions .accordion .accordion__header span{
    display: flex;
    align-items: center;
    justify-content: center;
    height: var(--spacing-xxl);
    width: var(--spacing-xxl);
    flex-shrink: 0;
    border-radius: 9999px;
    border-width: 1px;
    border-color: var(--color-primary);
}
.acf-component--accordions .component--accordions .accordion .accordion__header span svg{
    height: 1.6rem;
}
.acf-component--accordions .component--accordions .accordion .accordion__header span svg *{
    color: var(--color-primary);
}
.acf-component--accordions .component--accordions .accordion .accordion__content::after{
    padding-bottom: var(--spacing-xl);
}

.acf-component--image{
    position: relative;
}
.acf-component--image > div{
    margin-left: var(--margin);
    margin-right: var(--margin);
    aspect-ratio: 3/2;
}
@media (min-width: 1024px){
    .acf-component--image > div{
        margin-left: auto;
        margin-right: 0rem;
    width: calc((var(--width-of-layout) - var(--gap) * (var(--max-columns) - 1)) / var(--max-columns) * 7 + var(--gap) * (7 - 1) + var(--margin));
    }
}
.acf-component--image > span{
    position: absolute;
    bottom: 0rem;
    right: 0rem;
    margin: var(--spacing-m);
    font-size: var(--ts-font-size);
    --ts-font-size: 1.2rem;
    line-height: var(--ts-line-height);
    --ts-line-height: 1.4rem;
    text-transform: var(--ts-text-transform);
    --ts-text-transform: uppercase;
    color: var(--color-primary);
  color: var(--color-light) !important;
}
.acf-component--image.height-auto > div{
    aspect-ratio: auto;
}
.acf-component--image.height-auto > div img{
    position: relative;
}

.acf-component--section{
    position: relative;
}
.acf-component--section .component__anchor{
    position: absolute;
    left: 0rem;
    top: -8.8rem;
    display: block;
}
.acf-component--section .component__title{
    margin-top: var(--spacing-xxxl);
    margin-bottom: var(--spacing-xl);
    display: grid;
    grid-template-columns: repeat(12, minmax(0, 1fr));
    padding-left: var(--margin);
    padding-right: var(--margin);
  gap: var(--gap);
}
.acf-component--section .component__title.list {
  grid-template-columns: repeat(6, minmax(0, 1fr));
}
@media (min-width: 768px) {
  .acf-component--section .component__title.list {
    grid-template-columns: repeat(8, minmax(0, 1fr));
  }
}
@media (min-width: 1024px) {
  .acf-component--section .component__title.list {
    grid-template-columns: repeat(12, minmax(0, 1fr));
  }
  .acf-component--section .component__title{
        margin-bottom: var(--spacing-xxl);
    }
}
.acf-component--section .component__title > *{
    grid-column: 1 / -1;
}
@media (min-width: 1024px){
    .acf-component--section .component__title > *{
        grid-column: span 6 / span 6;
        grid-column-start: 6;
    }
}
.acf-component--section .component__content .component--acf-flex-content .acf-component--title-3{
    margin-top: var(--spacing-xxl);
    margin-bottom: var(--spacing-xl);
}
@media (min-width: 1024px){
    .acf-component--section .component__content .component--acf-flex-content .acf-component--title-3{
        margin-top: 6.4rem;
    }
}
.acf-component--section .component__content .component--acf-flex-content .acf-component--file-to-download,
.acf-component--section .component__content .component--acf-flex-content .acf-component--wysiwyg,
.acf-component--section .component__content .component--acf-flex-content .acf-component--button,
.acf-component--section .component__content .component--acf-flex-content .acf-component--accordions{
    margin-top: var(--spacing-xl);
    margin-bottom: var(--spacing-xl);
}
.acf-component--section .component__content .component--acf-flex-content > *:first-child{
    margin-top: 0rem;
}
.acf-component--section .component__content .component--acf-flex-content > *:last-child:not(.is-full){
    margin-bottom: var(--spacing-xxxl);
}
.acf-component--section .component__content .component--acf-flex-content > *:last-child:has(.is-full){
    margin-bottom: 0rem;
}

.acf-component--video{
    position: relative;
    aspect-ratio: 16/9;
    background-color: var(--color-light);
}

.acf-component--video,.acf-component--video * {
  --color-dark: #fff;
  --color-light: #000;
  color: var(--color-dark);
}

.acf-component--video .component--button,.acf-component--video .component--button * {
  --color-dark: #fff;
  --color-primary: #fff;
  --color-light: #F4475C;
  color: var(--color-dark);
}
.acf-component--video > div{
    display: flex;
    align-items: center;
    justify-content: center;
    height: 100%;
    width: 100%;
}
.acf-component--video > div .component--embed{
    display: flex;
    align-items: center;
    justify-content: center;
    position: absolute;
    top: 0rem;
    left: 0rem;
    display: none;
    height: 100%;
    width: 100%;
}
.acf-component--video > div .component--embed iframe {
  pointer-events: auto;
}
.acf-component--video > div .image{
    position: absolute;
    top: 0rem;
    left: 0rem;
    height: 100%;
    width: 100%;
}
.acf-component--video > div .image::after{
    position: absolute;
    top: 0rem;
    left: 0rem;
    height: 100%;
    width: 100%;
    background-color: var(--color-light);
    opacity: 0.2;
}
.acf-component--video > div button{
    display: flex;
    align-items: center;
    justify-content: center;
    position: absolute;
    inset: 0rem;
    height: 100%;
    width: 100%;
}
.acf-component--video.see-video > div .component--embed{
    display: flex;
}
.acf-component--video.see-video > div .image,
.acf-component--video.see-video > div button{
    display: none;
}

.acf-component--map-structures{
    position: relative;
}
.acf-component--map-structures .acf-component__template-marker{
    display: none;
}
.acf-component--map-structures .acf-component__map{
    height: 100svh;
    width: 100%;
}
@media (min-width: 1024px){
    .acf-component--map-structures .acf-component__map{
        aspect-ratio: 2/1;
        height: auto;
    }
}
.acf-component--map-structures .acf-component__map .custom-marker {
  width: 1px !important;
  height: 1px !important;
}
.acf-component--map-structures .acf-component__map .custom-marker svg{
    height: 4rem;
    width: auto;
  transform: translate3d(-50%, -100%, 0);
}
.acf-component--map-structures .acf-component__map .custom-marker *{
    color: var(--color-primary);
}
.acf-component--map-structures .acf-component__map .custom-marker.is-shown {
  z-index: 1000 !important;
}
.acf-component--map-structures .acf-component__map .custom-marker.is-shown *{
    color: var(--color-dark);
}
.acf-component--map-structures .acf-component__map .marker-cluster{
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 9999px;
    background-color: var(--color-primary);
}
.acf-component--map-structures .acf-component__map .marker-cluster *{
    font-size: 1.2rem;
    color: var(--color-light);
}
.acf-component--map-structures .acf-component__structure {
    width: calc((var(--width-of-layout) - var(--gap) * (var(--max-columns) - 1)) / var(--max-columns) * 6 + var(--gap) * (6 - 1));
    position: absolute;
    bottom: var(--spacing-xxl);
    right: var(--spacing-xxl);
    z-index: 1;
    display: none;
    flex-direction: column;
    gap: var(--spacing-xl);
    background-color: var(--color-light);
    padding: var(--spacing-xl);
  }
@media (min-width: 1024px){
  .acf-component--map-structures .acf-component__structure {
    width: calc((var(--width-of-layout) - var(--gap) * (var(--max-columns) - 1)) / var(--max-columns) * 4 + var(--gap) * (4 - 1));
  }
}
.acf-component--map-structures .acf-component__structure {
  border-radius: var(--spacing-m);
}
.acf-component--map-structures .acf-component__structure .acf-component__structure-top{
    display: flex;
    flex-direction: column;
    gap: var(--spacing-m);
}
.acf-component--map-structures .acf-component__structure .acf-component__structure-top .acf-component__structure-title{
    color: var(--color-primary);
    font-size: var(--ts-font-size);
    --ts-font-size: 2.2rem;
    line-height: var(--ts-line-height);
    --ts-line-height: 2.6rem;
    font-family: "Roobert", sans-serif;
    font-weight: var(--ts-font-weight);
    --ts-font-weight: 500;
  width: calc(100% - var(--spacing-l) - var(--spacing-xl));
}
.acf-component--map-structures .acf-component__structure .acf-component__structure-top .acf-component__structure-adress{
    font-weight: 600;
}
.acf-component--map-structures .acf-component__structure .acf-component__structure-top .acf-component__structure-type {
    font-size: var(--ts-font-size);
    --ts-font-size: 1.2rem;
    line-height: var(--ts-line-height);
    --ts-line-height: 1.4rem;
    text-transform: var(--ts-text-transform);
    --ts-text-transform: uppercase;
    color: var(--color-primary);
  color: black !important;
  }
.acf-component--map-structures .acf-component__structure .acf-component__structure-informations{
    display: flex;
    flex-direction: column;
}
.acf-component--map-structures .acf-component__structure .acf-component__structure-informations > div{
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: var(--spacing-l);
    border-top-width: 1px;
    border-color: var(--color-midgray);
    padding-top: var(--spacing-m);
    padding-bottom: var(--spacing-m);
}
.acf-component--map-structures .acf-component__structure .acf-component__structure-informations > div > span:first-child {
    font-size: var(--ts-font-size);
    --ts-font-size: 1.2rem;
    line-height: var(--ts-line-height);
    --ts-line-height: 1.4rem;
    text-transform: var(--ts-text-transform);
    --ts-text-transform: uppercase;
    color: var(--color-primary);
  }
.acf-component--map-structures .acf-component__structure .acf-component__structure-button-close{
    position: absolute;
    top: var(--spacing-xl);
    right: var(--spacing-xl);
}
.acf-component--map-structures .acf-component__structure .acf-component__structure-button-close svg{
    height: var(--spacing-l);
    width: var(--spacing-l);
}
.acf-component--map-structures .acf-component__structure.is-shown{
    z-index: 1000;
    display: flex;
}

.acf-component--button{
    display: grid;
    grid-template-columns: repeat(12, minmax(0, 1fr));
    padding-left: var(--margin);
    padding-right: var(--margin);
  gap: var(--gap);
}

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

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

@media (min-width: 1024px) {
  .acf-component--button.list {
    grid-template-columns: repeat(12, minmax(0, 1fr));
  }
}
.acf-component--button > *{
    grid-column: 1 / -1;
}
@media (min-width: 1024px){
    .acf-component--button > *{
        grid-column: span 6 / span 6;
        grid-column-start: 6;
    }
}

.component--button{
    display: inline-flex;
    height: 4.6rem;
    align-items: center;
    justify-content: center;
    gap: 0.8rem;
    border-radius: 9999px;
    border-width: 1px;
    border-color: var(--color-primary);
    background-color: transparent;
    padding-left: 2rem;
    padding-right: 2rem;
  transition: all var(--animation);
}
.component--button *{
    color: var(--color-primary);
}
.component--button .component__text {
  transition: color var(--animation);
}
.component--button .component__icons{
    position: relative;
    height: 1.6rem;
    width: 1.6rem;
    overflow: hidden;
}
.component--button .component__icons svg{
    height: 1.6rem;
    width: 1.6rem;
  transform: translate3d(0, 0, 0);
  transition: transform var(--animation);
}
.component--button .component__icons svg * {
  transition: color var(--animation);
}
.component--button .component__icons svg:first-child{
    position: absolute;
    left: -2rem;
  transition-delay: 0s;
}
.component--button .component__icons svg:last-child {
  transition-delay: calc(var(--animation-duration) / 2), 0s;
}
.component--button .component__text {
    font-size: var(--ts-font-size);
    --ts-font-size: 1.6rem;
    line-height: var(--ts-line-height);
    --ts-line-height: 1.8rem;
  }
.component--button.component--chevron, .component--button.component--arrow, .component--button.component--pagination, .component--button.component--play, .component--button.component--icon{
    height: var(--spacing-xxl);
    width: var(--spacing-xxl);
    padding-left: 0rem;
    padding-right: 0rem;
}
.component--button.component--download .component__icons svg:first-child, .component--button.component--play .component__icons svg:first-child, .component--button.component--search .component__icons svg:first-child{
    left: 0rem;
}
.component--button.component--download:hover .component__icons svg:first-child, .component--button.component--download:focus .component__icons svg:first-child, .component--button.component--play:hover .component__icons svg:first-child, .component--button.component--play:focus .component__icons svg:first-child, .component--button.component--search:hover .component__icons svg:first-child, .component--button.component--search:focus .component__icons svg:first-child {
  transform: translate3d(0, 0, 0);
}
.component--button.component--icon svg * {
  transition: color var(--animation);
}
.component--button.component--icon:hover svg *, .component--button.component--icon:focus svg *{
    color: var(--color-light);
}

.component--button:hover,
.component--button:focus,
.target-button:hover .component--button,
.target-button:focus .component--button{
    background-color: var(--color-primary);
}
.component--button:hover .component__text,
.component--button:focus .component__text,
.target-button:hover .component--button .component__text,
.target-button:focus .component--button .component__text{
    color: var(--color-light);
}
.component--button:hover .component__icons svg,
.component--button:focus .component__icons svg,
.target-button:hover .component--button .component__icons svg,
.target-button:focus .component--button .component__icons svg {
  transform: translate3d(2rem, 0, 0);
}
.component--button:hover .component__icons svg:first-child,
.component--button:focus .component__icons svg:first-child,
.target-button:hover .component--button .component__icons svg:first-child,
.target-button:focus .component--button .component__icons svg:first-child {
  transition-delay: calc(var(--animation-duration) / 2), 0s;
}
.component--button:hover .component__icons svg:last-child,
.component--button:focus .component__icons svg:last-child,
.target-button:hover .component--button .component__icons svg:last-child,
.target-button:focus .component--button .component__icons svg:last-child {
  transition-delay: 0s;
}
.component--button:hover .component__icons svg *,
.component--button:focus .component__icons svg *,
.target-button:hover .component--button .component__icons svg *,
.target-button:focus .component--button .component__icons svg *{
    color: var(--color-light);
}
.component--button:hover.component--download .component__icons svg:first-child, .component--button:hover.component--play .component__icons svg:first-child, .component--button:hover.component--search .component__icons svg:first-child,
.component--button:focus.component--download .component__icons svg:first-child,
.component--button:focus.component--play .component__icons svg:first-child,
.component--button:focus.component--search .component__icons svg:first-child,
.target-button:hover .component--button.component--download .component__icons svg:first-child,
.target-button:hover .component--button.component--play .component__icons svg:first-child,
.target-button:hover .component--button.component--search .component__icons svg:first-child,
.target-button:focus .component--button.component--download .component__icons svg:first-child,
.target-button:focus .component--button.component--play .component__icons svg:first-child,
.target-button:focus .component--button.component--search .component__icons svg:first-child {
  transform: translate3d(0, 0, 0);
}

span.component--pagination{
    background-color: var(--color-primary);
}
span.component--pagination .component__text{
    color: var(--color-light);
}

.dark .component--button,
.dark .component--button * {
  --color-dark: #fff;
  --color-primary: #fff;
  --color-light: #F4475C;
  color: var(--color-dark);
}

.component--marquee-images{
    display: flex;
    overflow: hidden;
}
.component--marquee-images > *{
    display: flex;
    flex-shrink: 0;
    align-items: flex-end;
}
.component--marquee-images > * > *{
    display: flex;
    width: 63vw;
    align-items: flex-end;
}
@media (min-width: 1024px){
    .component--marquee-images > * > *{
        width: 27.5vw;
    }
}
.component--marquee-images > * > *:nth-child(2n-1), .component--marquee-images > * > *:nth-child(2n-1) img {
  height: auto;
  aspect-ratio: 13/15;
}
.component--marquee-images > * > *:nth-child(2n), .component--marquee-images > * > *:nth-child(2n) img {
  height: auto;
  aspect-ratio: 8/7;
}
.component--marquee-images > * > * > *{
    display: flex;
    height: 0rem;
    align-items: flex-end;
    overflow: hidden;
  transition: height var(--animation-secondary);
}
.component--marquee-images > * > *.is-visible > *{
    height: 100%;
}

.component--acf-flex-content > *{
    margin-top: var(--spacing-xxl);
    margin-bottom: var(--spacing-xxl);
}

@media (min-width: 1024px){
    .component--acf-flex-content > *{
        margin-top: var(--spacing-xxxl);
        margin-bottom: var(--spacing-xxxl);
    }
}
.component--acf-flex-content > *.is-full + .is-full {
  margin-top: calc(var(--spacing-xxl) * -1);
}
@media (min-width: 1024px) {
  .component--acf-flex-content > *.is-full + .is-full {
    margin-top: calc(var(--spacing-xxxl) * -1);
  }
}
.component--acf-flex-content > *:first-child{
    margin-top: 0rem;
}
.component--acf-flex-content > *:last-child.is-full{
    margin-bottom: 0rem;
}
.component--acf-flex-content > *.acf-component--section, .component--acf-flex-content > *.acf-component--section-focus, .component--acf-flex-content > *.acf-component--section-study{
    margin-top: 0rem;
    margin-bottom: 0rem;
}

.component--form-search{
    display: flex;
    height: var(--spacing-xxxl);
    width: 100%;
    justify-content: space-between;
    gap: var(--spacing-xxl);
    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__buttons{
    display: flex;
    align-items: center;
    gap: var(--spacing-xl);
}
.component--form-search .component__buttons .component__button-close{
    display: flex;
}
.component--form-search .component__buttons .component__button-close svg{
    height: 1.6rem;
    width: 1.6rem;
}
.component--form-search input{
    width: 100%;
    background-color: transparent;
    font-size: var(--ts-font-size);
    --ts-font-size: 3.4rem;
    line-height: var(--ts-line-height);
    --ts-line-height: 3.6rem;
    font-weight: var(--ts-font-weight);
    --ts-font-weight: 400;
    font-family: "Roobert", sans-serif;
}
@media (min-width: 1024px) {
    .component--form-search input {
      font-size: var(--ts-font-size);
      --ts-font-size: 4.4rem;
      line-height: var(--ts-line-height);
      --ts-line-height: 4.6rem;
    }
  }
.component--form-search input{
    color: var(--color-primary);
}
.component--form-search input::-moz-placeholder{
    color: var(--color-primary);
}
.component--form-search input::placeholder{
    color: var(--color-primary);
}
.component--form-search a {
  cursor: pointer;
}

.component--header-desktop{
    display: none;
    flex-direction: column;
}

@media (min-width: 1024px){
    .component--header-desktop{
        display: flex;
    }
}
.component--header-desktop::before{
    position: absolute;
    top: 0rem;
    left: 0rem;
    height: 0rem;
    width: 100%;
    --tw-bg-opacity: 1;
    background-color: rgb(255 255 255 / var(--tw-bg-opacity));
    opacity: 0.9;
}
.component--header-desktop .component__form-search{
    z-index: 111;
    display: flex;
    height: 0rem;
    align-items: flex-end;
    overflow: hidden;
  transition: height var(--animation);
}
.component--header-desktop .component__secondary{
    display: flex;
    align-items: center;
    justify-content: space-between;
    z-index: 110;
    margin-left: var(--margin);
    margin-right: var(--margin);
    height: 3.6rem;
    font-size: var(--ts-font-size);
    --ts-font-size: 1.2rem;
    line-height: var(--ts-line-height);
    --ts-line-height: 1.4rem;
    text-transform: var(--ts-text-transform);
    --ts-text-transform: uppercase;
    color: var(--color-primary);
  transition: all var(--animation);
}
.component--header-desktop .component__secondary *{
    color: var(--color-dark);
}
.component--header-desktop .component__menu-secondary{
    display: flex;
    align-items: center;
    justify-content: flex-start;
    gap: var(--spacing-l);
}
.component--header-desktop .component__primary{
    display: flex;
    align-items: center;
    justify-content: space-between;
    z-index: 110;
    margin-left: var(--margin);
    margin-right: var(--margin);
    height: 5.4rem;
    border-top-width: 1px;
    border-color: var(--color-midgray);
}
.component--header-desktop .component__logo svg{
    height: 3.2rem;
}
.component--header-desktop .component__logo *{
    color: var(--color-primary);
}
.component--header-desktop .component__nav, .component--header-desktop .component__menu-primary{
    display: flex;
    align-items: center;
    justify-content: flex-start;
    gap: var(--spacing-l);
}
.component--header-desktop .component__nav button svg, .component--header-desktop .component__menu-primary button svg{
    height: 1.6rem;
}
.component--header-desktop .component__nav > ul > li{
    position: relative;
}
.component--header-desktop .component__nav > ul > li > div{
    position: absolute;
    bottom: 0rem;
    left: 0rem;
  padding-top: calc(var(--spacing-l) * 0.5);
  transform: translate3d(0, 100%, 0);
  visibility: hidden;
}
.component--header-desktop .component__nav > ul > li > div > ul{
    display: flex;
    width: -moz-max-content;
    width: max-content;
    max-width: 30rem;
    flex-direction: column;
    gap: 1rem;
    border-width: 1px;
    border-color: var(--color-midgray);
    background-color: var(--color-light);
    padding: var(--spacing-xl);
  border-radius: var(--spacing-l);
}
.component--header-desktop .component__nav > ul > li > div *{
    color: var(--color-primary);
}
.component--header-desktop .component__nav > ul > li > div a {
    font-size: var(--ts-font-size);
    --ts-font-size: 1.6rem;
    line-height: var(--ts-line-height);
    --ts-line-height: 1.8rem;
  }
.component--header-desktop .component__nav > ul > li:hover > div {
  visibility: visible;
}

body.show-form-search .component--header-desktop .component__form-search{
    height: var(--spacing-xxxl);
}

body {
  --height-initial: calc(var(--spacing-xxl) + var(--spacing-xl) + var(--spacing-l));
}

.component--header-mobile{
    display: flex;
    height: 100dvh;
    width: 100%;
    flex-direction: column;
    overflow: hidden;
    background-color: var(--color-light);
    padding-left: var(--margin);
    padding-right: var(--margin);
    padding-top: var(--spacing-xxl);
}

@media (min-width: 1024px){
    .component--header-mobile{
        display: none;
    }
}

.component--header-mobile {
  height: var(--height-initial);
  transition: all var(--animation);
}
.component--header-mobile .component__top{
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding-bottom: var(--spacing-l);
  height: calc(var(--spacing-xl) + var(--spacing-l));
}
.component--header-mobile .component__top .component__logo svg{
    height: var(--spacing-xl);
    width: auto;
}
.component--header-mobile .component__top .component__logo *{
    color: var(--color-primary);
}
.component--header-mobile .component__top .component__buttons{
    display: flex;
    align-items: center;
    justify-content: flex-start;
    gap: var(--spacing-xl);
}
.component--header-mobile .component__top .component__buttons .component__button-search svg{
    height: var(--spacing-l);
    width: auto;
}
.component--header-mobile .component__top .component__buttons .component__button-burger{
    display: flex;
    height: 1.2rem;
    width: 1.6rem;
    flex-direction: column;
    align-items: flex-end;
    justify-content: space-between;
  transition: transform var(--animation);
}
.component--header-mobile .component__top .component__buttons .component__button-burger span{
    height: 1.5px;
    width: 100%;
    border-radius: 5px;
    background-color: var(--color-dark);
}
.component--header-mobile .component__top .component__buttons .component__button-burger.active {
  transform: rotate(45deg);
}
.component--header-mobile .component__top .component__buttons .component__button-burger.active span:nth-child(1){
    width: 0rem;
}
.component--header-mobile .component__top .component__buttons .component__button-burger.active span:nth-child(3) {
  transform: translate3d(0, -5px, 0) rotate(90deg);
}
.component--header-mobile .component__wrapper-subitems{
    position: relative;
}
.component--header-mobile .component__form-search .component--form-search{
    display: flex;
    height: auto;
    flex-direction: column;
    align-items: center;
    gap: var(--spacing-xxxl);
    background-color: transparent;
    padding-top: var(--spacing-xxxl);
    padding-bottom: var(--spacing-xxl);
}
.component--header-mobile .component__form-search .component--form-search .component__button-close{
    display: none;
}
.component--header-mobile .component__form-search .component--form-search input{
    text-align: center;
}
.component--header-mobile .component__main{
    display: flex;
    flex-shrink: 0;
    flex-direction: column;
    padding-bottom: var(--margin);
  height: calc(100dvh - var(--height-initial));
  transition: opacity var(--animation);
}
.component--header-mobile .component__main .component__site-title{
    border-top-width: 1px;
    border-color: var(--color-midgray);
    padding-top: var(--spacing-l);
    font-size: var(--ts-font-size);
    --ts-font-size: 1.2rem;
    line-height: var(--ts-line-height);
    --ts-line-height: 1.4rem;
    text-transform: var(--ts-text-transform);
    --ts-text-transform: uppercase;
    color: var(--color-primary);
  color: var(--color-dark) !important;
}
.component--header-mobile .component__main .component__nav{
    margin-top: var(--spacing-xxxl);
    display: flex;
    height: 100%;
    flex-direction: column;
    justify-content: space-between;
    gap: var(--spacing-xxl);
    overflow-y: auto;
    overflow-x: hidden;
}
.component--header-mobile .component__main .component__nav .component__menu-primary{
    display: flex;
    flex-direction: column;
}
.component--header-mobile .component__main .component__nav .component__menu-primary > li:last-child{
    border-bottom-width: 1px;
    border-color: var(--color-midgray);
}
.component--header-mobile .component__main .component__nav .component__menu-primary > li:not(.accordion){
    display: flex;
}
.component--header-mobile .component__main .component__nav .component__menu-primary > li:not(.accordion) a{
    width: 100%;
    border-top-width: 1px;
    border-color: var(--color-midgray);
    padding-top: var(--spacing-l);
    padding-bottom: var(--spacing-l);
    font-size: var(--ts-font-size);
    --ts-font-size: 2.8rem;
    line-height: var(--ts-line-height);
    --ts-line-height: 3.2rem;
    font-weight: var(--ts-font-weight);
    --ts-font-weight: 500;
}
@media (min-width: 1024px) {
    .component--header-mobile .component__main .component__nav .component__menu-primary > li:not(.accordion) a {
      font-size: var(--ts-font-size);
      --ts-font-size: 3.2rem;
      line-height: var(--ts-line-height);
      --ts-line-height: 3.6rem;
    }
  }
.component--header-mobile .component__main .component__nav .component__menu-primary > li.accordion .accordion__header{
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: var(--spacing-xl);
    border-top-width: 1px;
    border-color: var(--color-midgray);
    padding-top: var(--spacing-l);
    padding-bottom: var(--spacing-l);
}
.component--header-mobile .component__main .component__nav .component__menu-primary > li.accordion .accordion__header span {
    font-size: var(--ts-font-size);
    --ts-font-size: 2.8rem;
    line-height: var(--ts-line-height);
    --ts-line-height: 3.2rem;
    font-weight: var(--ts-font-weight);
    --ts-font-weight: 500;
  }
@media (min-width: 1024px) {
    .component--header-mobile .component__main .component__nav .component__menu-primary > li.accordion .accordion__header span {
      font-size: var(--ts-font-size);
      --ts-font-size: 3.2rem;
      line-height: var(--ts-line-height);
      --ts-line-height: 3.6rem;
    }
  }
.component--header-mobile .component__main .component__nav .component__menu-primary > li.accordion .accordion__header span {
  transition: color var(--animation);
}
.component--header-mobile .component__main .component__nav .component__menu-primary > li.accordion .accordion__header svg{
    height: auto;
    width: 1.6rem;
    flex-shrink: 0;
}
.component--header-mobile .component__main .component__nav .component__menu-primary > li.accordion .accordion__header svg *{
    color: var(--color-primary);
}
.component--header-mobile .component__main .component__nav .component__menu-primary > li.accordion .accordion__body .accordion__content::before {
  content: none;
}
.component--header-mobile .component__main .component__nav .component__menu-primary > li.accordion .accordion__body .accordion__content::after{
    padding-bottom: var(--spacing-l);
}
.component--header-mobile .component__main .component__nav .component__menu-primary > li.accordion .accordion__body .accordion__content ul{
    display: flex;
    flex-direction: column;
    gap: 1rem;
}
.component--header-mobile .component__main .component__nav .component__menu-primary > li.accordion .accordion__body a {
    font-size: var(--ts-font-size);
    --ts-font-size: 1.6rem;
    line-height: var(--ts-line-height);
    --ts-line-height: 1.8rem;
  transition: color var(--animation);
  }
.component--header-mobile .component__main .component__nav .component__menu-primary > li.accordion.active *{
    color: var(--color-primary);
}
.component--header-mobile .component__main .component__nav .component__menu-secondary{
    display: flex;
    flex-direction: column;
    gap: var(--spacing-m);
}
.component--header-mobile .component__main .component__nav .component__menu-secondary * {
    font-size: var(--ts-font-size);
    --ts-font-size: 1.2rem;
    line-height: var(--ts-line-height);
    --ts-line-height: 1.4rem;
    text-transform: var(--ts-text-transform);
    --ts-text-transform: uppercase;
    color: var(--color-primary);
  color: var(--color-dark) !important;
  }
.component--header-mobile .component__form-search, .component--header-mobile .component__main{
    visibility: visible;
    width: 100%;
  transition: opacity var(--animation), visibility 0s;
  transition-delay: 0s, 0s;
}
.component--header-mobile .component__form-search:not(.active), .component--header-mobile .component__main:not(.active){
    visibility: hidden;
    position: absolute;
    top: 0rem;
    left: 0rem;
    opacity: 0;
  transition-delay: 0s, var(--animation-duration);
}
.component--header-mobile .component__logo path,
.component--header-mobile .component__top .component__button-search path,
.component--header-mobile .component__top .component__button-burger span {
  transition: all var(--animation);
}
.component--header-mobile.show-form-search {
  background-color: var(--color-primary);
}
.component--header-mobile.show-form-search .component__logo *,
.component--header-mobile.show-form-search .component__top .component__button-search * {
  color: var(--color-light);
}
.component--header-mobile.show-form-search .component__top .component__button-burger span {
  background-color: var(--color-light);
}

.component--headroom{
    position: fixed;
    top: 0rem;
    left: 0rem;
    z-index: 100;
    width: 100%;
    background-color: var(--color-light);
  transform: translate3d(0, -100%, 0);
  transition: transform var(--animation);
}

.content-loaded .component--headroom.is-in-view {
  transform: translate3d(0, 0, 0);
}
.content-loaded .component--headroom.is-in-view.is-shown {
  transition: transform var(--animation);
}
@media (max-width: 1023px) {
  .content-loaded.headroom--not-top {
    --height-initial: calc(var(--margin) + var(--spacing-xl) + var(--spacing-l));
  }
  .content-loaded.headroom--not-top .component--headroom.is-in-view .component--header-mobile{
        padding-top: var(--margin);
    }
  .content-loaded.headroom--unpinned .component--headroom.is-in-view.is-shown {
    transform: translate3d(0, -100%, 0);
  }
}
@media (min-width: 1024px) {
  .content-loaded.headroom--pinned .Page__anchors > div{
        top: 5.4rem;
    }
  .content-loaded:not(.headroom--top) .component--header-desktop .component__secondary{
        margin-top: -3.7rem;
    }
  .content-loaded.headroom--unpinned .component--headroom.is-in-view.is-shown {
    transform: translate3d(0, -100%, 0);
  }
}

.component--footer .component__push-contact{
    position: relative;
}
.component--footer .component__push-contact::after {
  content: "";
  position: absolute;
  bottom: 0rem;
  left: var(--margin);
  right: var(--margin);
  height: 0.1rem;
  background-color: var(--color-light);
  opacity: 0.3;
}

@media (min-width: 1024px) {
  .component--footer {
    z-index: 1;
  }
  .component--footer .component__primary{
        position: relative;
        z-index: 10;
    }
  .component--footer .component__secondary{
        overflow: hidden;
    }
  .component--footer .component__secondary > * {
    transform: translate3d(0, calc((1 - var(--progress)) * 14rem * -1), 0);
  }
  #app-content article{
        position: relative;
        z-index: 10;
        background-color: var(--color-light);
    }
}
.component--accordions .accordion{
    width: 100%;
}
.component--accordions .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));
}
.component--accordions .accordion.active .accordion__body{
    grid-template-rows: 1fr;
}
.component--accordions .accordion__header{
    display: flex;
    width: 100%;
    cursor: pointer;
    align-items: center;
    justify-content: space-between;
    gap: var(--spacing-l);
}
.component--accordions .accordion__header svg {
  transition: transform var(--animation);
  height: 0.8rem;
}
.component--accordions .accordion__body {
  transition: grid-template-rows var(--animation);
  display: grid;
  grid-template-rows: 0fr;
}
.component--accordions .accordion__body.list {
  grid-template-columns: repeat(6, minmax(0, 1fr));
}
@media (min-width: 768px) {
  .component--accordions .accordion__body.list {
    grid-template-columns: repeat(8, minmax(0, 1fr));
  }
}
@media (min-width: 1024px) {
  .component--accordions .accordion__body.list {
    grid-template-columns: repeat(12, minmax(0, 1fr));
  }
}
.component--accordions .accordion__content{
    overflow: hidden;
}
.component--accordions .accordion__content::before, .component--accordions .accordion__content::after {
  content: "";
  display: block;
  padding-bottom: var(--spacing-m);
}

.component--embed iframe{
    height: 100%;
    width: 100%;
}

.component--wysiwyg > div > *{
    margin-bottom: var(--spacing-xl);
}
.component--wysiwyg > div > *:last-child{
    margin-bottom: 0rem;
}
.component--wysiwyg ul li{
    margin-left: var(--spacing-xl);
    list-style-type: disc;
}
.component--wysiwyg ul li li {
  list-style-type: circle;
}
.component--wysiwyg a{
    text-decoration-line: underline;
}

.component--cookies-manager {
  position: fixed;
  bottom: var(--margin);
  right: var(--margin);
  width: 50rem;
  background-color: var(--color-light);
  border-radius: 0.8rem;
  z-index: 100;
}
.component--cookies-manager:not(.active) {
  display: none;
}
.component--cookies-manager > div:not(.active) {
  display: none;
}
.component--cookies-manager .component__main, .component--cookies-manager .component__preferences{
    display: flex;
    flex-direction: column;
    gap: var(--spacing-m);
    border-width: 1px;
    border-color: var(--color-midgray);
    background-color: var(--color-light);
    padding: var(--spacing-xl);
  border-radius: var(--spacing-m);
}
.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.2rem;
    line-height: var(--ts-line-height);
    --ts-line-height: 2.6rem;
    font-family: "Roobert", sans-serif;
    font-weight: var(--ts-font-weight);
    --ts-font-weight: 500;
}
.component--cookies-manager .component__title button{
    display: flex;
    align-items: center;
    justify-content: center;
    height: var(--spacing-xxl);
    width: var(--spacing-xxl);
    border-radius: 9999px;
    border-width: 1px;
    border-color: var(--color-dark);
  transition: all var(--animation);
}
.component--cookies-manager .component__title button * {
  transition: all var(--animation);
}
.component--cookies-manager .component__title button svg{
    height: 1.6rem;
    width: 1.6rem;
}
.component--cookies-manager .component__title button:hover{
    background-color: var(--color-dark);
}
.component--cookies-manager .component__title button:hover *{
    color: var(--color-light);
}
.component--cookies-manager .component__description {
    font-size: var(--ts-font-size);
    --ts-font-size: 1.6rem;
    line-height: var(--ts-line-height);
    --ts-line-height: 1.8rem;
  }
.component--cookies-manager .component__privacy-policy{
    text-decoration-line: underline;
    font-size: var(--ts-font-size);
    --ts-font-size: 1.6rem;
    line-height: var(--ts-line-height);
    --ts-line-height: 1.8rem;
}
.component--cookies-manager .component__buttons{
    margin-top: var(--spacing-m);
    display: flex;
    gap: var(--spacing-s);
}
.component--cookies-manager .component__buttons > button.component__button-accept, .component--cookies-manager .component__buttons > button.component__button-confirm{
    width: 100%;
}
.component--cookies-manager .component__button-personalize, .component--cookies-manager .component__button-decline{
    display: inline-flex;
    height: 4.6rem;
    align-items: center;
    justify-content: center;
    gap: 0.8rem;
    border-radius: 9999px;
    border-width: 1px;
    border-color: var(--color-primary);
    background-color: transparent;
    padding-left: 2rem;
    padding-right: 2rem;
  transition: all var(--animation);
}
.component--cookies-manager .component__button-personalize *, .component--cookies-manager .component__button-decline *{
    color: var(--color-primary);
}
.component--cookies-manager .component__button-personalize .component__text, .component--cookies-manager .component__button-decline .component__text {
  transition: color var(--animation);
}
.component--cookies-manager .component__button-personalize .component__icons, .component--cookies-manager .component__button-decline .component__icons{
    position: relative;
    height: 1.6rem;
    width: 1.6rem;
    overflow: hidden;
}
.component--cookies-manager .component__button-personalize .component__icons svg, .component--cookies-manager .component__button-decline .component__icons svg{
    height: 1.6rem;
    width: 1.6rem;
  transform: translate3d(0, 0, 0);
  transition: transform var(--animation);
}
.component--cookies-manager .component__button-personalize .component__icons svg *, .component--cookies-manager .component__button-decline .component__icons svg * {
  transition: color var(--animation);
}
.component--cookies-manager .component__button-personalize .component__icons svg:first-child, .component--cookies-manager .component__button-decline .component__icons svg:first-child{
    position: absolute;
    left: -2rem;
  transition-delay: 0s;
}
.component--cookies-manager .component__button-personalize .component__icons svg:last-child, .component--cookies-manager .component__button-decline .component__icons svg:last-child {
  transition-delay: calc(var(--animation-duration) / 2), 0s;
}
.component--cookies-manager .component__button-personalize .component__text, .component--cookies-manager .component__button-decline .component__text {
    font-size: var(--ts-font-size);
    --ts-font-size: 1.6rem;
    line-height: var(--ts-line-height);
    --ts-line-height: 1.8rem;
  }
.component--cookies-manager .component__button-personalize.component--chevron,.component--cookies-manager .component__button-personalize.component--arrow,.component--cookies-manager .component__button-personalize.component--pagination,.component--cookies-manager .component__button-personalize.component--play,.component--cookies-manager .component__button-personalize.component--icon, .component--cookies-manager .component__button-decline.component--chevron, .component--cookies-manager .component__button-decline.component--arrow, .component--cookies-manager .component__button-decline.component--pagination, .component--cookies-manager .component__button-decline.component--play, .component--cookies-manager .component__button-decline.component--icon{
    height: var(--spacing-xxl);
    width: var(--spacing-xxl);
    padding-left: 0rem;
    padding-right: 0rem;
}
.component--cookies-manager .component__button-personalize.component--download .component__icons svg:first-child,.component--cookies-manager .component__button-personalize.component--play .component__icons svg:first-child,.component--cookies-manager .component__button-personalize.component--search .component__icons svg:first-child, .component--cookies-manager .component__button-decline.component--download .component__icons svg:first-child, .component--cookies-manager .component__button-decline.component--play .component__icons svg:first-child, .component--cookies-manager .component__button-decline.component--search .component__icons svg:first-child{
    left: 0rem;
}
.component--cookies-manager .component__button-personalize.component--download:hover .component__icons svg:first-child,.component--cookies-manager .component__button-personalize.component--download:focus .component__icons svg:first-child,.component--cookies-manager .component__button-personalize.component--play:hover .component__icons svg:first-child,.component--cookies-manager .component__button-personalize.component--play:focus .component__icons svg:first-child,.component--cookies-manager .component__button-personalize.component--search:hover .component__icons svg:first-child,.component--cookies-manager .component__button-personalize.component--search:focus .component__icons svg:first-child, .component--cookies-manager .component__button-decline.component--download:hover .component__icons svg:first-child, .component--cookies-manager .component__button-decline.component--download:focus .component__icons svg:first-child, .component--cookies-manager .component__button-decline.component--play:hover .component__icons svg:first-child, .component--cookies-manager .component__button-decline.component--play:focus .component__icons svg:first-child, .component--cookies-manager .component__button-decline.component--search:hover .component__icons svg:first-child, .component--cookies-manager .component__button-decline.component--search:focus .component__icons svg:first-child {
  transform: translate3d(0, 0, 0);
}
.component--cookies-manager .component__button-personalize.component--icon svg *, .component--cookies-manager .component__button-decline.component--icon svg * {
  transition: color var(--animation);
}
.component--cookies-manager .component__button-personalize.component--icon:hover svg *,.component--cookies-manager .component__button-personalize.component--icon:focus svg *, .component--cookies-manager .component__button-decline.component--icon:hover svg *, .component--cookies-manager .component__button-decline.component--icon:focus svg *{
    color: var(--color-light);
}
.component--cookies-manager .component__button-personalize:hover,.component--cookies-manager .component__button-personalize:focus,
.target-button:hover .component--cookies-manager .component__button-personalize,
.target-button:focus .component--cookies-manager .component__button-personalize, .component--cookies-manager .component__button-decline:hover, .component--cookies-manager .component__button-decline:focus,
.target-button:hover  .component--cookies-manager .component__button-decline,
.target-button:focus  .component--cookies-manager .component__button-decline{
    background-color: var(--color-primary);
}
.component--cookies-manager .component__button-personalize:hover .component__text,.component--cookies-manager .component__button-personalize:focus .component__text,
.target-button:hover .component--cookies-manager .component__button-personalize .component__text,
.target-button:focus .component--cookies-manager .component__button-personalize .component__text, .component--cookies-manager .component__button-decline:hover .component__text, .component--cookies-manager .component__button-decline:focus .component__text,
.target-button:hover  .component--cookies-manager .component__button-decline .component__text,
.target-button:focus  .component--cookies-manager .component__button-decline .component__text{
    color: var(--color-light);
}
.component--cookies-manager .component__button-personalize:hover .component__icons svg,.component--cookies-manager .component__button-personalize:focus .component__icons svg,
.target-button:hover .component--cookies-manager .component__button-personalize .component__icons svg,
.target-button:focus .component--cookies-manager .component__button-personalize .component__icons svg, .component--cookies-manager .component__button-decline:hover .component__icons svg, .component--cookies-manager .component__button-decline:focus .component__icons svg,
.target-button:hover  .component--cookies-manager .component__button-decline .component__icons svg,
.target-button:focus  .component--cookies-manager .component__button-decline .component__icons svg {
  transform: translate3d(2rem, 0, 0);
}
.component--cookies-manager .component__button-personalize:hover .component__icons svg:first-child,.component--cookies-manager .component__button-personalize:focus .component__icons svg:first-child,
.target-button:hover .component--cookies-manager .component__button-personalize .component__icons svg:first-child,
.target-button:focus .component--cookies-manager .component__button-personalize .component__icons svg:first-child, .component--cookies-manager .component__button-decline:hover .component__icons svg:first-child, .component--cookies-manager .component__button-decline:focus .component__icons svg:first-child,
.target-button:hover  .component--cookies-manager .component__button-decline .component__icons svg:first-child,
.target-button:focus  .component--cookies-manager .component__button-decline .component__icons svg:first-child {
  transition-delay: calc(var(--animation-duration) / 2), 0s;
}
.component--cookies-manager .component__button-personalize:hover .component__icons svg:last-child,.component--cookies-manager .component__button-personalize:focus .component__icons svg:last-child,
.target-button:hover .component--cookies-manager .component__button-personalize .component__icons svg:last-child,
.target-button:focus .component--cookies-manager .component__button-personalize .component__icons svg:last-child, .component--cookies-manager .component__button-decline:hover .component__icons svg:last-child, .component--cookies-manager .component__button-decline:focus .component__icons svg:last-child,
.target-button:hover  .component--cookies-manager .component__button-decline .component__icons svg:last-child,
.target-button:focus  .component--cookies-manager .component__button-decline .component__icons svg:last-child {
  transition-delay: 0s;
}
.component--cookies-manager .component__button-personalize:hover .component__icons svg *,.component--cookies-manager .component__button-personalize:focus .component__icons svg *,
.target-button:hover .component--cookies-manager .component__button-personalize .component__icons svg *,
.target-button:focus .component--cookies-manager .component__button-personalize .component__icons svg *, .component--cookies-manager .component__button-decline:hover .component__icons svg *, .component--cookies-manager .component__button-decline:focus .component__icons svg *,
.target-button:hover  .component--cookies-manager .component__button-decline .component__icons svg *,
.target-button:focus  .component--cookies-manager .component__button-decline .component__icons svg *{
    color: var(--color-light);
}
.component--cookies-manager .component__button-personalize:hover.component--download .component__icons svg:first-child,.component--cookies-manager .component__button-personalize:hover.component--play .component__icons svg:first-child,.component--cookies-manager .component__button-personalize:hover.component--search .component__icons svg:first-child,.component--cookies-manager .component__button-personalize:focus.component--download .component__icons svg:first-child,.component--cookies-manager .component__button-personalize:focus.component--play .component__icons svg:first-child,.component--cookies-manager .component__button-personalize:focus.component--search .component__icons svg:first-child,
.target-button:hover .component--cookies-manager .component__button-personalize.component--download .component__icons svg:first-child,
.target-button:hover .component--cookies-manager .component__button-personalize.component--play .component__icons svg:first-child,
.target-button:hover .component--cookies-manager .component__button-personalize.component--search .component__icons svg:first-child,
.target-button:focus .component--cookies-manager .component__button-personalize.component--download .component__icons svg:first-child,
.target-button:focus .component--cookies-manager .component__button-personalize.component--play .component__icons svg:first-child,
.target-button:focus .component--cookies-manager .component__button-personalize.component--search .component__icons svg:first-child, .component--cookies-manager .component__button-decline:hover.component--download .component__icons svg:first-child, .component--cookies-manager .component__button-decline:hover.component--play .component__icons svg:first-child, .component--cookies-manager .component__button-decline:hover.component--search .component__icons svg:first-child, .component--cookies-manager .component__button-decline:focus.component--download .component__icons svg:first-child, .component--cookies-manager .component__button-decline:focus.component--play .component__icons svg:first-child, .component--cookies-manager .component__button-decline:focus.component--search .component__icons svg:first-child,
.target-button:hover  .component--cookies-manager .component__button-decline.component--download .component__icons svg:first-child,
.target-button:hover  .component--cookies-manager .component__button-decline.component--play .component__icons svg:first-child,
.target-button:hover  .component--cookies-manager .component__button-decline.component--search .component__icons svg:first-child,
.target-button:focus  .component--cookies-manager .component__button-decline.component--download .component__icons svg:first-child,
.target-button:focus  .component--cookies-manager .component__button-decline.component--play .component__icons svg:first-child,
.target-button:focus  .component--cookies-manager .component__button-decline.component--search .component__icons svg:first-child {
  transform: translate3d(0, 0, 0);
}
.dark .component--cookies-manager .component__button-personalize,
.dark .component--cookies-manager .component__button-personalize *,.dark  .component--cookies-manager .component__button-decline,
.dark  .component--cookies-manager .component__button-decline * {
  --color-dark: #fff;
  --color-primary: #fff;
  --color-light: #F4475C;
  color: var(--color-dark);
}
.component--cookies-manager .component__button-personalize,
.component--cookies-manager .component__button-personalize *, .component--cookies-manager .component__button-decline,
.component--cookies-manager .component__button-decline * {
  --color-primary: #000;
}
.component--cookies-manager .component__button-accept, .component--cookies-manager .component__button-confirm{
    display: inline-flex;
    height: 4.6rem;
    align-items: center;
    justify-content: center;
    gap: 0.8rem;
    border-radius: 9999px;
    border-width: 1px;
    border-color: var(--color-primary);
    background-color: transparent;
    padding-left: 2rem;
    padding-right: 2rem;
  transition: all var(--animation);
}
.component--cookies-manager .component__button-accept *, .component--cookies-manager .component__button-confirm *{
    color: var(--color-primary);
}
.component--cookies-manager .component__button-accept .component__text, .component--cookies-manager .component__button-confirm .component__text {
  transition: color var(--animation);
}
.component--cookies-manager .component__button-accept .component__icons, .component--cookies-manager .component__button-confirm .component__icons{
    position: relative;
    height: 1.6rem;
    width: 1.6rem;
    overflow: hidden;
}
.component--cookies-manager .component__button-accept .component__icons svg, .component--cookies-manager .component__button-confirm .component__icons svg{
    height: 1.6rem;
    width: 1.6rem;
  transform: translate3d(0, 0, 0);
  transition: transform var(--animation);
}
.component--cookies-manager .component__button-accept .component__icons svg *, .component--cookies-manager .component__button-confirm .component__icons svg * {
  transition: color var(--animation);
}
.component--cookies-manager .component__button-accept .component__icons svg:first-child, .component--cookies-manager .component__button-confirm .component__icons svg:first-child{
    position: absolute;
    left: -2rem;
  transition-delay: 0s;
}
.component--cookies-manager .component__button-accept .component__icons svg:last-child, .component--cookies-manager .component__button-confirm .component__icons svg:last-child {
  transition-delay: calc(var(--animation-duration) / 2), 0s;
}
.component--cookies-manager .component__button-accept .component__text, .component--cookies-manager .component__button-confirm .component__text {
    font-size: var(--ts-font-size);
    --ts-font-size: 1.6rem;
    line-height: var(--ts-line-height);
    --ts-line-height: 1.8rem;
  }
.component--cookies-manager .component__button-accept.component--chevron,.component--cookies-manager .component__button-accept.component--arrow,.component--cookies-manager .component__button-accept.component--pagination,.component--cookies-manager .component__button-accept.component--play,.component--cookies-manager .component__button-accept.component--icon, .component--cookies-manager .component__button-confirm.component--chevron, .component--cookies-manager .component__button-confirm.component--arrow, .component--cookies-manager .component__button-confirm.component--pagination, .component--cookies-manager .component__button-confirm.component--play, .component--cookies-manager .component__button-confirm.component--icon{
    height: var(--spacing-xxl);
    width: var(--spacing-xxl);
    padding-left: 0rem;
    padding-right: 0rem;
}
.component--cookies-manager .component__button-accept.component--download .component__icons svg:first-child,.component--cookies-manager .component__button-accept.component--play .component__icons svg:first-child,.component--cookies-manager .component__button-accept.component--search .component__icons svg:first-child, .component--cookies-manager .component__button-confirm.component--download .component__icons svg:first-child, .component--cookies-manager .component__button-confirm.component--play .component__icons svg:first-child, .component--cookies-manager .component__button-confirm.component--search .component__icons svg:first-child{
    left: 0rem;
}
.component--cookies-manager .component__button-accept.component--download:hover .component__icons svg:first-child,.component--cookies-manager .component__button-accept.component--download:focus .component__icons svg:first-child,.component--cookies-manager .component__button-accept.component--play:hover .component__icons svg:first-child,.component--cookies-manager .component__button-accept.component--play:focus .component__icons svg:first-child,.component--cookies-manager .component__button-accept.component--search:hover .component__icons svg:first-child,.component--cookies-manager .component__button-accept.component--search:focus .component__icons svg:first-child, .component--cookies-manager .component__button-confirm.component--download:hover .component__icons svg:first-child, .component--cookies-manager .component__button-confirm.component--download:focus .component__icons svg:first-child, .component--cookies-manager .component__button-confirm.component--play:hover .component__icons svg:first-child, .component--cookies-manager .component__button-confirm.component--play:focus .component__icons svg:first-child, .component--cookies-manager .component__button-confirm.component--search:hover .component__icons svg:first-child, .component--cookies-manager .component__button-confirm.component--search:focus .component__icons svg:first-child {
  transform: translate3d(0, 0, 0);
}
.component--cookies-manager .component__button-accept.component--icon svg *, .component--cookies-manager .component__button-confirm.component--icon svg * {
  transition: color var(--animation);
}
.component--cookies-manager .component__button-accept.component--icon:hover svg *,.component--cookies-manager .component__button-accept.component--icon:focus svg *, .component--cookies-manager .component__button-confirm.component--icon:hover svg *, .component--cookies-manager .component__button-confirm.component--icon:focus svg *{
    color: var(--color-light);
}
.component--cookies-manager .component__button-accept:hover,.component--cookies-manager .component__button-accept:focus,
.target-button:hover .component--cookies-manager .component__button-accept,
.target-button:focus .component--cookies-manager .component__button-accept, .component--cookies-manager .component__button-confirm:hover, .component--cookies-manager .component__button-confirm:focus,
.target-button:hover  .component--cookies-manager .component__button-confirm,
.target-button:focus  .component--cookies-manager .component__button-confirm{
    background-color: var(--color-primary);
}
.component--cookies-manager .component__button-accept:hover .component__text,.component--cookies-manager .component__button-accept:focus .component__text,
.target-button:hover .component--cookies-manager .component__button-accept .component__text,
.target-button:focus .component--cookies-manager .component__button-accept .component__text, .component--cookies-manager .component__button-confirm:hover .component__text, .component--cookies-manager .component__button-confirm:focus .component__text,
.target-button:hover  .component--cookies-manager .component__button-confirm .component__text,
.target-button:focus  .component--cookies-manager .component__button-confirm .component__text{
    color: var(--color-light);
}
.component--cookies-manager .component__button-accept:hover .component__icons svg,.component--cookies-manager .component__button-accept:focus .component__icons svg,
.target-button:hover .component--cookies-manager .component__button-accept .component__icons svg,
.target-button:focus .component--cookies-manager .component__button-accept .component__icons svg, .component--cookies-manager .component__button-confirm:hover .component__icons svg, .component--cookies-manager .component__button-confirm:focus .component__icons svg,
.target-button:hover  .component--cookies-manager .component__button-confirm .component__icons svg,
.target-button:focus  .component--cookies-manager .component__button-confirm .component__icons svg {
  transform: translate3d(2rem, 0, 0);
}
.component--cookies-manager .component__button-accept:hover .component__icons svg:first-child,.component--cookies-manager .component__button-accept:focus .component__icons svg:first-child,
.target-button:hover .component--cookies-manager .component__button-accept .component__icons svg:first-child,
.target-button:focus .component--cookies-manager .component__button-accept .component__icons svg:first-child, .component--cookies-manager .component__button-confirm:hover .component__icons svg:first-child, .component--cookies-manager .component__button-confirm:focus .component__icons svg:first-child,
.target-button:hover  .component--cookies-manager .component__button-confirm .component__icons svg:first-child,
.target-button:focus  .component--cookies-manager .component__button-confirm .component__icons svg:first-child {
  transition-delay: calc(var(--animation-duration) / 2), 0s;
}
.component--cookies-manager .component__button-accept:hover .component__icons svg:last-child,.component--cookies-manager .component__button-accept:focus .component__icons svg:last-child,
.target-button:hover .component--cookies-manager .component__button-accept .component__icons svg:last-child,
.target-button:focus .component--cookies-manager .component__button-accept .component__icons svg:last-child, .component--cookies-manager .component__button-confirm:hover .component__icons svg:last-child, .component--cookies-manager .component__button-confirm:focus .component__icons svg:last-child,
.target-button:hover  .component--cookies-manager .component__button-confirm .component__icons svg:last-child,
.target-button:focus  .component--cookies-manager .component__button-confirm .component__icons svg:last-child {
  transition-delay: 0s;
}
.component--cookies-manager .component__button-accept:hover .component__icons svg *,.component--cookies-manager .component__button-accept:focus .component__icons svg *,
.target-button:hover .component--cookies-manager .component__button-accept .component__icons svg *,
.target-button:focus .component--cookies-manager .component__button-accept .component__icons svg *, .component--cookies-manager .component__button-confirm:hover .component__icons svg *, .component--cookies-manager .component__button-confirm:focus .component__icons svg *,
.target-button:hover  .component--cookies-manager .component__button-confirm .component__icons svg *,
.target-button:focus  .component--cookies-manager .component__button-confirm .component__icons svg *{
    color: var(--color-light);
}
.component--cookies-manager .component__button-accept:hover.component--download .component__icons svg:first-child,.component--cookies-manager .component__button-accept:hover.component--play .component__icons svg:first-child,.component--cookies-manager .component__button-accept:hover.component--search .component__icons svg:first-child,.component--cookies-manager .component__button-accept:focus.component--download .component__icons svg:first-child,.component--cookies-manager .component__button-accept:focus.component--play .component__icons svg:first-child,.component--cookies-manager .component__button-accept:focus.component--search .component__icons svg:first-child,
.target-button:hover .component--cookies-manager .component__button-accept.component--download .component__icons svg:first-child,
.target-button:hover .component--cookies-manager .component__button-accept.component--play .component__icons svg:first-child,
.target-button:hover .component--cookies-manager .component__button-accept.component--search .component__icons svg:first-child,
.target-button:focus .component--cookies-manager .component__button-accept.component--download .component__icons svg:first-child,
.target-button:focus .component--cookies-manager .component__button-accept.component--play .component__icons svg:first-child,
.target-button:focus .component--cookies-manager .component__button-accept.component--search .component__icons svg:first-child, .component--cookies-manager .component__button-confirm:hover.component--download .component__icons svg:first-child, .component--cookies-manager .component__button-confirm:hover.component--play .component__icons svg:first-child, .component--cookies-manager .component__button-confirm:hover.component--search .component__icons svg:first-child, .component--cookies-manager .component__button-confirm:focus.component--download .component__icons svg:first-child, .component--cookies-manager .component__button-confirm:focus.component--play .component__icons svg:first-child, .component--cookies-manager .component__button-confirm:focus.component--search .component__icons svg:first-child,
.target-button:hover  .component--cookies-manager .component__button-confirm.component--download .component__icons svg:first-child,
.target-button:hover  .component--cookies-manager .component__button-confirm.component--play .component__icons svg:first-child,
.target-button:hover  .component--cookies-manager .component__button-confirm.component--search .component__icons svg:first-child,
.target-button:focus  .component--cookies-manager .component__button-confirm.component--download .component__icons svg:first-child,
.target-button:focus  .component--cookies-manager .component__button-confirm.component--play .component__icons svg:first-child,
.target-button:focus  .component--cookies-manager .component__button-confirm.component--search .component__icons svg:first-child {
  transform: translate3d(0, 0, 0);
}
.dark .component--cookies-manager .component__button-accept,
.dark .component--cookies-manager .component__button-accept *,.dark  .component--cookies-manager .component__button-confirm,
.dark  .component--cookies-manager .component__button-confirm * {
  --color-dark: #fff;
  --color-primary: #fff;
  --color-light: #F4475C;
  color: var(--color-dark);
}
.component--cookies-manager .component__services{
    display: flex;
    flex-direction: column;
    gap: var(--spacing-s);
}
.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;
}
@media (min-width: 1024px) {
  .component--cookies-manager {
    bottom: var(--spacing-xxl);
    right: var(--spacing-xxl);
  }
}
@media (max-width: 1023px) {
  .component--cookies-manager {
    width: calc(100% - 2 * var(--margin));
  }
  .component--cookies-manager .component__buttons {
    flex-direction: column;
  }
}

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;
}

#app-content {
  transition: opacity 0.3s ease;
}
#app-content article{
    padding-top: 18rem;
}
@media (min-width: 1024px){
    #app-content article{
        padding-top: 19rem;
    }
}

body:not(.content-loaded) {
  opacity: 0;
}
body.page-switching #app-content {
  opacity: 0;
}
body.page-switching .component--breadcrumbs {
  opacity: 0;
}

.button-icon{
    display: flex;
    align-items: center;
    justify-content: center;
    height: var(--spacing-xxl);
    width: var(--spacing-xxl);
    border-radius: 9999px;
    border-width: 1px;
    border-color: var(--color-dark);
}

.colors-primary,
.colors-primary * {
  --color-dark: #fff;
  --color-primary: #fff;
  --color-light: #F4475C;
  color: var(--color-dark);
}

.colors-lightblue,
.colors-lightblue * {
  --color-lightblue: #fff;
  --color-light: #F3F4FE;
}

html.lenis, html.lenis body {
  height: auto;
}

.lenis.lenis-smooth {
  scroll-behavior: auto !important;
}

.lenis.lenis-smooth [data-lenis-prevent] {
  overscroll-behavior: contain;
}

.lenis.lenis-stopped {
  overflow: hidden;
}

.lenis.lenis-smooth iframe {
  pointer-events: none;
}

body::before {
  content: "";
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-color: var(--color-dark);
  opacity: 0;
  visibility: hidden;
  transition: opacity var(--animation), visibility 0s;
  transition-delay: 0s, var(--animation-duration);
  z-index: 100;
}
body.show-pannel::before {
  opacity: 0.4;
  visibility: visible;
  transition-delay: 0s, 0s;
}
.children\:h-full *{
    height: 100%;
}
.children\:w-full *{
    width: 100%;
}
.children\:object-contain *{
    -o-object-fit: contain;
       object-fit: contain;
}
.children\:object-cover *{
    -o-object-fit: cover;
       object-fit: cover;
}
.children\:text-\[black\!important\] *{
    color: black !important;
}
.children\:text-darkgray *{
    color: var(--color-darkgray);
}
.children\:ts-label * {
    font-size: var(--ts-font-size);
    --ts-font-size: 1.2rem;
    line-height: var(--ts-line-height);
    --ts-line-height: 1.4rem;
    text-transform: var(--ts-text-transform);
    --ts-text-transform: uppercase;
  }
.child\:absolute > *{
    position: absolute;
}
.child\:h-16 > *{
    height: 1.6rem !important;
}
.child\:h-32 > *{
    height: 3.2rem !important;
}
.child\:h-full > *{
    height: 100%;
}
.child\:h-xxl > *{
    height: var(--spacing-xxl) !important;
}
.child\:max-h-\[50px\] > *{
    max-height: 50px;
}
.child\:w-full > *{
    width: 100%;
}
.child\:max-w-\[50px\] > *{
    max-width: 50px;
}
.child\:rounded > *{
    border-radius: 1rem;
}
.child\:border-t > *{
    border-top-width: 1px;
}
.child\:border-\[\#fff3\] > *{
    border-color: #fff3;
}
.child\:bg-dark > *{
    background-color: var(--color-dark);
}
.child\:py-xl > *{
    padding-top: var(--spacing-xl) !important;
    padding-bottom: var(--spacing-xl) !important;
}
@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\:col-span-1{
        grid-column: span 1 / span 1;
    }
    .d\:col-span-4{
        grid-column: span 4 / span 4;
    }
    .d\:col-span-5{
        grid-column: span 5 / span 5;
    }
    .d\:col-span-6{
        grid-column: span 6 / span 6;
    }
    .d\:col-span-full{
        grid-column: 1 / -1;
    }
    .d\:col-start-2{
        grid-column-start: 2;
    }
    .d\:col-start-6{
        grid-column-start: 6;
    }
    .d\:col-start-7{
        grid-column-start: 7;
    }
    .d\:aspect-\[2\/1\]{
        aspect-ratio: 2/1;
    }
    .d\:flex-row{
        flex-direction: row;
    }
    .d\:items-center{
        align-items: center;
    }
    .d\:justify-between{
        justify-content: space-between;
    }
    .d\:gap-l{
        gap: var(--spacing-l) !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\:gap-y-xxl{
        row-gap: var(--spacing-xxl) !important;
    }
    .d\:border-l{
        border-left-width: 1px;
    }
    .d\:border-midgray{
        border-color: var(--color-midgray);
    }
    .d\:px-xxl{
        padding-left: var(--spacing-xxl) !important;
        padding-right: var(--spacing-xxl) !important;
    }
    .d\:py-xl{
        padding-top: var(--spacing-xl) !important;
        padding-bottom: var(--spacing-xl) !important;
    }
    .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\:pt-xxxl{
        padding-top: var(--spacing-xxxl) !important;
    }
    .d\:child\:border-none > *{
        border-style: none;
    }
    .d\:child\:py-0 > *{
        padding-top: 0rem !important;
        padding-bottom: 0rem !important;
    }
}
@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;
    }
}
