@charset "utf-8";
/* global fonts*/
@font-face {
  font-family: "Grota";
  src: url("./fonts/Grota-Thin.otf");
  font-weight: 200;
}
@font-face {
  font-family: "Grota";
  src: url("./fonts/Grota-Light.otf");
  font-weight: 300;
}
@font-face {
  font-family: "Grota";
  src: url("./fonts/Grota-Reg.otf");
  font-weight: 400;
}
@font-face {
  font-family: "Grota";
  src: url("./fonts/Grota-Bold.otf");
  font-weight: 600;
}
@font-face {
  font-family: "Grota";
  src: url("./fonts/Grota-ExtraBold.otf");
  font-weight: 700;
}
@font-face {
  font-family: "Grota";
  src: url("./fonts/Grota-Black.otf");
  font-weight: 800;
}
/* RALEWAY */
@font-face {
  font-family: "Raleway";
  src: url("./fonts/Raleway-ExtraLight.ttf");
  font-weight: 200;
}
@font-face {
  font-family: "Raleway";
  src: url("./fonts/Raleway-ExtraLightItalic.ttf");
  font-weight: 200;
  font-style: italic;
}
@font-face {
  font-family: "Raleway";
  src: url("./fonts/Raleway-Light.ttf");
  font-weight: 300;
}
@font-face {
  font-family: "Raleway";
  src: url("./fonts/Raleway-LightItalic.ttf");
  font-weight: 300;
  font-style: italic;
}
@font-face {
  font-family: "Raleway";
  src: url("./fonts/Raleway-Regular.ttf");
  font-weight: 400;
}
@font-face {
  font-family: "Raleway";
  src: url("./fonts/Raleway-Italic.ttf");
  font-weight: 400;
  font-style: italic;
}
@font-face {
  font-family: "Raleway";
  src: url("./fonts/Raleway-Medium.ttf");
  font-weight: 500;
}
@font-face {
  font-family: "Raleway";
  src: url("./fonts/Raleway-MediumItalic.ttf");
  font-weight: 500;
  font-style: italic;
}
@font-face {
  font-family: "Raleway";
  src: url("./fonts/Raleway-SemiBold.ttf");
  font-weight: 600;
}
@font-face {
  font-family: "Raleway";
  src: url("./fonts/Raleway-SemiBoldItalic.ttf");
  font-weight: 600;
  font-style: italic;
}
@font-face {
  font-family: "Raleway";
  src: url("./fonts/Raleway-Bold.ttf");
  font-weight: 700;
}
@font-face {
  font-family: "Raleway";
  src: url("./fonts/Raleway-BoldItalic.ttf");
  font-weight: 700;
  font-style: italic;
}
/* axial variables*/
/* FRAMEWORK VARIABLES */
:root {
  /* colors */
  --white: #fff;
  --greyLight: #f2f3f4;
  --greyDark: #232323;
  --black: #111;
  --themeColor: #0463b1;
  /* body */
  --body___mainFont: "Grota", sans-serif;
  --body___backgroundColor: var(--greyLight);
  --body___textColor: var(--greyDark);
  /* header */
  --header___height: 80px;
  --header___paddingH: 10px;
  --header___paddingV: 10px;
  --header___backgroundColor: var(--greyDark);
  --header___color: var(--greyLight);
  --headerTitle___fontSize: 36px;
  --headerTitle___fontWeight: 700;
  /* header logo */
  --headerLogo___height: 100%;
  /* header nav item */
  --headerNavItem___fontSize: 21px;
  --headerNavItem___fontWeight: 600;
  --headerNavItem___marginH: 10px;
  /* footer */
  --footer___paddingH: 20px;
  --footer___paddingV: 20px;
  --footer___sectionDirection: column;
  --footer___backgroundColor: var(--black);
  --footer___color: var(--white);
  /* section */
  --section___paddingH: 20px;
  --section___paddingV: 20px;
  /* input */
  --input___fontSize: 17px;
  --input___fontWeight: 500;
  --input___placeholderFontSize: 16px;
  --input___placeholderFontWeight: 400;
  /* components */
  --component___borderRadius: 6px;
  --container___borderRadius: 10px;
  /* AxialButton */
  --AxialButton___textColor: var(--white);
  --AxialButton___backgroundColor: var(--themeColor);
  --AxialButton___fontWeight: 500;
  --AxialButton___boxShadow: 0px 1px 1px var(--greyDark);
  /* AxialToggleButton */
  --AxialToggleButton___textColor: var(--white);
  --AxialToggleButton___backgroundColor: var(--themeColor);
  --AxialToggleButton___fontWeight: 500;
  --AxialToggleButton___boxShadow: 0px 1px 1px var(--greyDark);
  /* AxialBurgerButton */
  --AxialBurgerButton___lineColor: var(--themeColor);
  --AxialBurgerButton___backgroundColor: var(--white);
  /* AxialToggleCheck */
  --AxialToggleCheck___textColor: var(--white);
  /* AxialToggleRadio */
  --AxialToggleRadio___color: var(--greyDark);
}
/* global variables */
/* axial core & application : will be probably merged */
.axial_component_base {
  display: block;
  box-sizing: border-box;
  -webkit-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none;
  pointer-events: all;
}
* {
  box-sizing: border-box;
}
html {
  -webkit-tap-highlight-color: transparent;
  text-shadow: none;
}
body {
  width: 100%;
  min-height: 100svh;
  margin: 0;
  padding: 0;
  overflow-x: hidden;
  overflow-y: auto;
  font-family: var(--body___mainFont);
  font-weight: 600;
  background-color: var(--body___backgroundColor);
  color: var(--body___textColor);
  -webkit-text-size-adjust: 100%;
  text-size-adjust: 100%;
  -webkit-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none;
}
a {
  text-decoration: none;
  color: var(--body___textColor);
}
a:visited {
  text-decoration: none;
  color: var(--body___textColor);
}
h1,
h2,
h3,
h4,
h5,
h6 {
  color: var(--white);
}
input {
  -webkit-user-select: text;
  user-select: text;
  appearance: none;
  outline: none;
  display: block;
  width: 100%;
  min-height: 42px;
  padding-left: 10px;
  padding-right: 10px;
  padding-top: 3px;
  padding-bottom: 4px;
  font-family: var(--body___mainFont);
  font-size: var(--input___fontSize);
  font-weight: var(--input___fontWeight);
  border-radius: var(--component___borderRadius);
  border: 2px solid var(--greyDark);
  background-color: var(--white);
}
input::placeholder {
  font-size: var(--input___placeholderFontSize);
  font-weight: var(--input___placeholderFontWeight);
}
input[type="file"] {
  min-height: 60px;
}
input[type="file" i] {
  font-family: var(--body___mainFont);
  color: var(--body___textColor);
}
input[type="file"]::file-selector-button {
  min-height: 42px;
  cursor: pointer;
  appearance: none;
  border: none;
  outline: none;
  padding-top: 10px;
  padding-bottom: 8px;
  padding-left: 14px;
  padding-right: 14px;
  font-family: var(--body___mainFont);
  border-radius: var(--component___borderRadius);
  font-weight: var(--AxialButton___fontWeight);
  color: var(--AxialButton___textColor);
  background-color: var(--AxialButton___backgroundColor);
  box-shadow: var(--AxialButton___boxShadow);
}
textarea {
  display: block;
  resize: none;
  outline: none;
  width: 100%;
  height: 100%;
  min-height: 200px;
  padding: 10px;
  font-family: var(--body___mainFont);
  font-size: var(--input___fontSize);
  font-weight: var(--input___fontWeight);
  border-radius: var(--component___borderRadius);
  border: 2px solid var(--black);
  background-color: var(--white);
}
/* layers */
.axial_layer_base {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  pointer-events: none;
  overflow: hidden;
}
.axial_background_layer {
  background-color: transparent;
}
.axial_3d_layer {
  background-color: transparent;
}
.axial_main_layer {
  position: relative;
  min-width: 100%;
  min-height: 100svh;
  overflow: hidden;
}
.axial_intro_layer {
  z-index: 999999;
  background-color: transparent;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
}
.axial_popup_layer {
  z-index: 3;
}
.axial_notification_layer {
  z-index: 4;
}
.axial_overlay_layer {
  z-index: 5;
}
.axial_tooltip_layer {
  z-index: 6;
}
.axial_transition_layer {
  z-index: 999999999;
  pointer-events: all;
  transform: translateY(0%);
  transition-property: transform;
  transition-duration: 600ms;
  transition-timing-function: ease;
  background-color: var(--black);
}
/* header */
.axial_header {
  position: fixed;
  width: 100%;
  z-index: 1;
  height: var(--header___height);
  color: var(--header___color);
}
.axial_header_background {
  position: absolute;
  width: 100%;
  height: 100%;
  background-color: var(--header___backgroundColor);
}
.axial_header_content {
  position: absolute;
  width: 100%;
  height: 100%;
  display: flex;
  flex-direction: row;
  align-items: center;
  padding-left: var(--header___paddingH);
  padding-right: var(--header___paddingH);
  padding-top: var(--header___paddingV);
  padding-bottom: var(--header___paddingV);
}
.axial_header_title {
  font-size: var(--headerTitle___fontSize);
  font-weight: var(--headerTitle___fontWeight);
}
.axial_header_logo {
  display: flex;
  height: var(--headerLogo___height);
  width: auto;
}
.axial_header_logo_svg {
  display: block;
  height: var(--headerLogo___height);
  width: auto;
}
.axial_header_logo_img {
  display: block;
  height: var(--headerLogo___height);
  width: auto;
}
.axial_header_nav {
  height: 100%;
  width: auto;
  display: none;
  flex-direction: row;
  align-items: center;
}
.axial_header_nav_item {
  display: flex;
  flex-direction: column;
  justify-content: center;
  width: auto;
  height: 100%;
  margin-left: var(--headerNavItem___marginH);
  margin-right: var(--headerNavItem___marginH);
  font-size: var(--headerNavItem___fontSize);
  font-weight: var(--headerNavItem___fontWeight);
  cursor: pointer;
}
.axial_header_nav_item-label {
  margin-bottom: 4px;
}
.axial_header_nav_item-line {
  width: 100%;
  height: 2px;
  border-radius: 1px;
  background-color: var(--white);
  transform-origin: center;
  transform: scaleX(0);
  transition-property: transform;
  transition-duration: 420ms;
  transition-timing-function: ease;
}
.axial_header_nav_item:hover .axial_header_nav_item-line {
  transform: scaleX(1);
}
.axial_header_nav_item_separator {
  margin-left: 10px;
  margin-right: 10px;
}
/* breadcrumbs */
.axial_breadcrumbs {
  padding-left: var(--section___paddingH);
  padding-right: var(--section___paddingH);
  padding-top: 6px;
  padding-bottom: 6px;
  width: 100%;
  min-height: 40px;
  height: auto;
  display: flex;
  flex-direction: row;
  align-items: center;
  justify-content: flex-start;
  background-color: var(--themeColor);
}
.axial_breadcrumbs_item {
  color: var(--white);
}
.axial_breadcrumbs_link {
  color: var(--white);
  text-decoration: underline;
}
.axial_breadcrumbs_link:visited {
  color: var(--white);
  text-decoration: underline;
}
.axial_breadcrumbs_link:visited:hover {
  color: var(--white);
  text-decoration: underline;
}
.axial_breadcrumbs_separator {
  color: var(--white);
  margin-left: 10px;
  margin-right: 10px;
}
/* main */
.axial_main {
  position: relative;
  display: block;
  width: 100%;
  min-height: 100svh;
}
/* section */
.axial_section {
  position: relative;
  width: 100%;
  min-height: 100svh;
}
.axial_section_background {
  position: absolute;
  width: 100%;
  height: 100%;
}
.axial_section_content {
  position: relative;
  width: 100%;
  min-height: 100vh;
}
/* section utils */
.axial_section_padding {
  padding-top: var(--header___height);
  padding-left: var(--section___paddingH);
  padding-right: var(--section___paddingH);
  padding-bottom: var(--section___paddingV);
}
.axial_section_subtitle {
  font-size: 18px;
  font-weight: 500;
  text-decoration: underline;
  text-transform: uppercase;
  text-align: center;
}
.axial_section_title {
  font-size: 48px;
  text-align: center;
  margin-top: 14px;
  margin-bottom: 14px;
}
.axial_section_map {
  width: 100%;
  height: 600px;
}
.axial_section_mapframe {
  width: 100%;
  height: 100%;
}
/* footer */
.axial_footer {
  position: relative;
  display: block;
  width: 100%;
  height: auto;
  color: var(--white);
}
.axial_footer_background {
  position: absolute;
  width: 100%;
  height: 100%;
  background-color: var(--footer___backgroundColor);
  color: var(--footer___color);
}
.axial_footer_content {
  position: relative;
  width: 100%;
  height: 100%;
  display: flex;
  flex-direction: column;
  padding-left: var(--footer___paddingH);
  padding-right: var(--footer___paddingH);
}
.axial_footer_section {
  width: 100%;
  height: auto;
  display: flex;
  flex-direction: var(--footer___sectionDirection);
  justify-content: space-between;
  padding-top: 20px;
  padding-bottom: 20px;
  margin-top: 20px;
  margin-bottom: 20px;
}
/* utils */
.axial_spacer {
  flex-grow: 1;
}
.axial_parallax {
  will-change: transform;
  /*transform: translate3d(0, 0, 0);*/
  translate: 0px 0px;
  scale: 1;
}
/* Notifier */
.axial_notifier {
  position: absolute;
  width: 100%;
  height: 100%;
  pointer-events: none;
}
.axial_notifier_holder {
  position: absolute;
  width: 100%;
  height: auto;
  padding: 20px;
  bottom: 0px;
  transform: translateY(100%);
  transition-property: transform;
  transition-duration: 300ms;
  transition-timing-function: ease;
}
.axial_notifier_content {
  width: 100%;
  height: auto;
  padding: 10px;
  min-height: 40px;
  color: var(--greyDark);
  background-color: var(--greyLight);
  border-radius: var(--component___borderRadius);
  box-shadow: 0px 1px 3px var(--black);
}
/* axial aniimation */
/* POPUPS ANIMATIONS */
/* Obfuscator fader */
@keyframes axial_obfuscator_fade-in {
  from {
    opacity: 0;
  }
  to {
    opacity: 1;
  }
}
@keyframes axial_obfuscator_fade-out {
  from {
    opacity: 1;
  }
  to {
    opacity: 0;
  }
}
/* Popup fader */
@keyframes axial_popup_fade-in {
  from {
    opacity: 0;
  }
  to {
    opacity: 1;
  }
}
@keyframes axial_popup_fade-out {
  from {
    opacity: 1;
  }
  to {
    opacity: 0;
  }
}
/* Popup translate_up */
@keyframes axial_popup_translate_up-in {
  from {
    transform: translateY(100%);
  }
  to {
    transform: translateY(0%);
  }
}
@keyframes axial_popup_translate_up-out {
  from {
    transform: translateY(0%);
  }
  to {
    transform: translateY(100%);
  }
}
/* Popup translate_down */
@keyframes axial_popup_translate_down-in {
  from {
    transform: translateY(-100%);
  }
  to {
    transform: translateY(0%);
  }
}
@keyframes axial_popup_translate_down-out {
  from {
    transform: translateY(0%);
  }
  to {
    transform: translateY(-100%);
  }
}
/* Popup translate_left */
@keyframes axial_popup_translate_left-in {
  from {
    transform: translateX(100%);
  }
  to {
    transform: translateX(0%);
  }
}
@keyframes axial_popup_translate_left-out {
  from {
    transform: translateX(0%);
  }
  to {
    transform: translateX(100%);
  }
}
/* Popup translate_right */
@keyframes axial_popup_translate_right-in {
  from {
    transform: translateX(-100%);
  }
  to {
    transform: translateX(0%);
  }
}
@keyframes axial_popup_translate_right-out {
  from {
    transform: translateX(0%);
  }
  to {
    transform: translateX(-100%);
  }
}
/* Popup fade_translate_up */
@keyframes axial_popup_fade_translate_up-in {
  from {
    transform: translateY(100%);
    opacity: 0;
  }
  to {
    transform: translateY(0%);
    opacity: 1;
  }
}
@keyframes axial_popup_fade_translate_up-out {
  from {
    transform: translateY(0%);
    opacity: 1;
  }
  to {
    transform: translateY(100%);
    opacity: 0;
  }
}
/* Popup fade_translate_down */
@keyframes axial_popup_fade_translate_down-in {
  from {
    transform: translateY(-100%);
    opacity: 0;
  }
  to {
    transform: translateY(0%);
    opacity: 1;
  }
}
@keyframes axial_popup_fade_translate_down-out {
  from {
    transform: translateY(0%);
    opacity: 1;
  }
  to {
    transform: translateY(-100%);
    opacity: 0;
  }
}
/* Popup fade_translate_left */
@keyframes axial_popup_fade_translate_left-in {
  from {
    transform: translateX(100%);
    opacity: 0;
  }
  to {
    transform: translateX(0%);
    opacity: 1;
  }
}
@keyframes axial_popup_fade_translate_left-out {
  from {
    transform: translateX(0%);
    opacity: 1;
  }
  to {
    transform: translateX(100%);
    opacity: 0;
  }
}
/* Popup fade_translate_right */
@keyframes axial_popup_fade_translate_right-in {
  from {
    transform: translateX(-100%);
    opacity: 0;
  }
  to {
    transform: translateX(0%);
    opacity: 1;
  }
}
@keyframes axial_popup_fade_translate_right-out {
  from {
    transform: translateX(0%);
    opacity: 1;
  }
  to {
    transform: translateX(-100%);
    opacity: 0;
  }
}
/**/
@keyframes fade-in {
  from {
    opacity: 0;
  }
  to {
    opacity: 1;
  }
}
@keyframes fade-out {
  from {
    opacity: 1;
  }
  to {
    opacity: 0;
  }
}
/**/
@keyframes translate_up-in {
  from {
    transform: translateY(100%);
  }
  to {
    transform: translateY(0%);
  }
}
@keyframes translate_up-out {
  from {
    transform: translateY(0%);
  }
  to {
    transform: translateY(-100%);
  }
}
/**/
@keyframes translate_down-in {
  from {
    transform: translateY(-100%);
  }
  to {
    transform: translateY(0%);
  }
}
@keyframes translate_down-out {
  from {
    transform: translateY(0%);
  }
  to {
    transform: translateY(100%);
  }
}
/* axial components */
/* form utils */
.axial_form_utils_grid {
  display: flex;
  flex-direction: column;
  grid-template-columns: repeat(2, 1fr);
  grid-template-rows: 1;
  gap: 0px 20px;
}
.axial_form_utils_column-1 {
  grid-column: 1;
  grid-row: 1;
  display: flex;
  flex-direction: column;
}
.axial_form_utils_column-2 {
  grid-column: 2;
  grid-row: 1;
  display: flex;
  flex-direction: column;
}
/* AxialLoginForm */
.axial_login_form {
  display: block;
  min-width: 280px;
  width: auto;
  height: auto;
  padding: 0px;
}
.axial_login_form-form {
  width: 100%;
  height: auto;
  display: flex;
  flex-direction: column;
}
.axial_login_form-input {
  margin-top: 6px;
  margin-bottom: 14px;
}
.axial_login_form-button {
  opacity: 0.5;
  pointer-events: none;
  transition-property: opacity;
  transition-duration: 250ms;
  transition-timing-function: ease;
}
/* AxialRegistrationForm */
.axial_registration_form {
  display: block;
  min-width: 280px;
  width: auto;
  height: auto;
  padding: 0px;
}
.axial_registration_form-form {
  width: 100%;
  height: auto;
  display: flex;
  flex-direction: column;
}
.axial_registration_form-input {
  margin-top: 6px;
  margin-bottom: 14px;
}
.axial_registration_form-button {
  opacity: 0.5;
  pointer-events: none;
  transition-property: opacity;
  transition-duration: 250ms;
  transition-timing-function: ease;
}
/* AxialMessageForm */
.axial_message_form {
  display: block;
  min-width: 280px;
  width: auto;
  height: auto;
  padding: 0px;
}
.axial_message_form-form {
  width: 100%;
  height: auto;
  display: flex;
  flex-direction: column;
}
.axial_message_form-input {
  margin-top: 6px;
  margin-bottom: 14px;
}
.axial_message_form-toggle {
  margin-bottom: 14px;
}
.axial_message_form-button {
  opacity: 0.5;
  pointer-events: none;
  transition-property: opacity;
  transition-duration: 250ms;
  transition-timing-function: ease;
}
/* AxialContactForm */
.axial_contact_form {
  display: block;
  min-width: 280px;
  width: auto;
  height: auto;
}
.axial_contact_form-form {
  width: 100%;
  height: auto;
  display: flex;
  flex-direction: column;
}
.axial_contact_form-input {
  margin-top: 6px;
  margin-bottom: 14px;
}
.axial_contact_form-toggle {
  margin-bottom: 14px;
}
.axial_contact_form-button {
  opacity: 0.5;
  pointer-events: none;
  transition-property: opacity;
  transition-duration: 250ms;
  transition-timing-function: ease;
}
/* AxialButtonBase */
.axial_button_base {
  cursor: pointer;
}
/* AxialButton */
.axial_button {
  overflow: hidden;
  position: relative;
  width: auto;
  height: auto;
  border-radius: var(--component___borderRadius);
  box-shadow: var(--AxialButton___boxShadow);
  fill: #fff;
}
.axial_button-background {
  position: absolute;
  width: 100%;
  height: 100%;
  background-color: var(--AxialButton___backgroundColor);
}
.axial_button-foreground {
  position: absolute;
  width: 100%;
  height: 100%;
  background-color: rgba(255, 255, 255, 0);
  transition-property: background-color;
  transition-duration: 240ms;
  transition-timing-function: linear;
}
.axial_button-content {
  position: relative;
  width: 100%;
  height: 100%;
  display: flex;
  flex-direction: row;
  justify-content: center;
  align-items: center;
  padding-top: 9px;
  padding-bottom: 9px;
  padding-left: 14px;
  padding-right: 14px;
}
.axial_button-label {
  width: auto;
  color: var(--AxialButton___textColor);
  font-weight: var(--AxialButton___fontWeight);
}
.axial_button-icon {
  position: relative;
}
.axial_button_helper-icon_holder {
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  width: 18px;
  height: 18px;
}
/* AxialToggleButton */
.axial_toggle_button {
  overflow: hidden;
  position: relative;
  width: auto;
  height: auto;
  border-radius: var(--component___borderRadius);
  box-shadow: var(--AxialToggleButton___boxShadow);
  fill: #fff;
}
.axial_toggle_button-background {
  position: absolute;
  width: 100%;
  height: 100%;
  background-color: var(--AxialToggleButton___backgroundColor);
}
.axial_toggle_button-foreground {
  position: absolute;
  width: 100%;
  height: 100%;
  background-color: rgba(255, 255, 255, 0);
  transition-property: background-color;
  transition-duration: 240ms;
  transition-timing-function: linear;
}
.axial_toggle_button-content {
  position: relative;
  width: 100%;
  height: 100%;
  display: flex;
  flex-direction: row;
  justify-content: center;
  align-items: center;
  padding-top: 9px;
  padding-bottom: 9px;
  padding-left: 14px;
  padding-right: 14px;
}
.axial_toggle_button-label {
  width: auto;
  color: var(--AxialToggleButton___textColor);
  font-weight: var(--AxialToggleButton___fontWeight);
}
.axial_toggle_button-icon {
  position: relative;
}
.axial_toggle_button_helper-icon_holder {
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  width: 18px;
  height: 18px;
}
/* AxialToggleCheck */
.axial_toggle_check {
  width: -moz-fit-content;
  width: fit-content;
  /*min-width: 42px;*/
  height: 42px;
  min-height: 42px;
  /*padding: 4px;*/
  display: flex;
  flex-direction: row;
  align-items: center;
}
.axial_toggle_check-border {
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  width: 24px;
  height: 24px;
  border-radius: 6px;
  background-color: #111;
  margin-right: 12px;
  border: solid 2px #fff;
  flex-shrink: 0;
}
.axial_toggle_check-sign {
  display: block;
  width: 12px;
  height: 12px;
  border-radius: 2px;
  background-color: #fff;
  transform: scale(0);
  transition-property: transform;
  transition-duration: 200ms;
}
.axial_toggle_check-label {
  color: var(--AxialToggleCheck___textColor);
}
/* AxialToggleRadio */
.axial_toggle_radio {
  width: -moz-fit-content;
  width: fit-content;
  height: 42px;
  min-height: 42px;
  display: flex;
  flex-direction: row;
  align-items: center;
  gap: 8px;
}
.axial_toggle_radio-border {
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  width: 24px;
  height: 24px;
  border-radius: 50%;
  background-color: var(--black);
  border: solid 2px var(--white);
}
.axial_toggle_radio-circle {
  display: block;
  width: 12px;
  height: 12px;
  border-radius: 50%;
  background-color: var(--white);
  transform: scale(0);
  transition-property: transform;
  transition-duration: 200ms;
}
.axial_toggle_radio-label {
  color: var(--AxialToggleRadio___color);
  display: flex;
  flex-direction: row;
  align-items: center;
  padding-bottom: 6px;
}
/* AxialToggleSwitch */
.axial_toggle_switch {
  width: 46px;
  min-height: 30px;
  height: 30px;
  border-radius: 15px;
  border: 2px solid var(--white);
  padding: 4px;
  background-color: var(--black);
}
.axial_toggle_switch-circle {
  width: 18px;
  height: 18px;
  border-radius: 50%;
  border: 2px solid var(--white);
  position: relative;
  left: 0px;
  transition-property: left;
  transition-duration: 200ms;
}
/* AxialBurgerButton */
.axial_burger_button {
  position: relative;
  display: block;
  width: 48px;
  height: 48px;
  overflow: hidden;
  border-radius: var(--component___borderRadius);
  z-index: 1000;
}
.axial_burger_button-background {
  position: absolute;
  width: 100%;
  height: 100%;
  overflow: hidden;
  background-color: var(--AxialBurgerButton___backgroundColor);
}
.axial_burger_button-lines {
  position: absolute;
  width: 100%;
  height: 100%;
  overflow: hidden;
}
.axial_burger_button-line {
  position: absolute;
  width: 26px;
  height: 2px;
  overflow: hidden;
  left: 11px;
  transform-origin: center;
  transition-property: top, transform;
  transition-duration: 400ms;
  transition-timing-function: ease;
  background-color: var(--AxialBurgerButton___lineColor);
}
.axial_burger_button-top {
  top: 13px;
}
.axial_burger_button-middle {
  top: 23px;
}
.axial_burger_button-bottom {
  top: 33px;
}
/* AxialViewerBase */
.axial_viewer_base {
  display: block;
  position: relative;
  width: 100%;
  height: 100%;
  overflow: hidden;
  /*touch-action: none;*/
}
/* AxialViewBase */
.axial_view_base {
  display: block;
  position: absolute;
  width: 100%;
  height: 100%;
  left: 0px;
  top: 0px;
  overflow: hidden;
}
.axial_loader_layer {
  position: absolute;
  left: 0px;
  right: 0px;
  top: 0px;
  bottom: 0px;
  visibility: hidden;
}
.axial_loader_background {
  position: absolute;
  left: 0px;
  right: 0px;
  top: 0px;
  bottom: 0px;
}
.axial_loader_content {
  position: absolute;
  left: 0px;
  right: 0px;
  top: 0px;
  bottom: 0px;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
}
.axial_loader_holder {
  width: 300px;
  height: 100%;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  color: #000;
}
.axial_loader_icon {
  width: 40px;
  height: 40px;
  margin: 20px;
  border-radius: 50%;
  border-top: 5px solid #000;
  border-left: 5px solid #000;
  border-bottom: 5px solid #000;
  border-right: 5px solid transparent;
}
.axial_loader_number {
  width: 100%;
  font-weight: 600;
  text-align: center;
  margin-bottom: 10px;
}
.axial_loader_text {
  width: 100%;
  font-weight: 600;
  text-align: center;
}
@keyframes axial_loader_icon_animation {
  0% {
    transform: rotate(0deg);
  }
  100% {
    transform: rotate(360deg);
  }
}
/* NEW SHADOW */
/*
.axial_popup_layer
{
    position: absolute;
    
    left: 0px;
    right: 0px;
    bottom: 0px;
    top: 0px;
    visibility: hidden;
    overflow-x: hidden;
    overflow-y: hidden;
    pointer-events: none;
}
*/
.axial_popup_obfuscator {
  position: absolute;
  left: 0px;
  right: 0px;
  top: 0px;
  bottom: 0px;
  background-color: rgba(0, 0, 0, 0.73);
  visibility: hidden;
  opacity: 0;
  pointer-events: all;
}
.axial_popup_base {
  position: absolute;
  visibility: hidden;
  pointer-events: all;
}
.axial_popup_arrow {
  position: absolute;
  display: none;
}
/* arrow up */
.axial_popup_base_arrow-bottom {
  border-left: 10px solid transparent;
  border-right: 10px solid transparent;
  border-bottom: 10px solid #fff;
}
/* arrow down */
.axial_popup_base_arrow-top {
  border-left: 10px solid transparent;
  border-right: 10px solid transparent;
  border-top: 10px solid #fff;
}
/* arrow left */
.axial_popup_base_arrow-right {
  border-bottom: 10px solid transparent;
  border-top: 10px solid transparent;
  border-right: 10px solid #fff;
}
/* arrow right */
.axial_popup_base_arrow-left {
  border-bottom: 10px solid transparent;
  border-top: 10px solid transparent;
  border-left: 10px solid #fff;
}
/* AxialPopupBurger */
.axial_popup_burger {
  width: 300px;
  height: 100%;
  background-color: var(--white);
  padding-top: var(--header___height);
}
.ax-progress-element {
  box-sizing: border-box;
  padding: 0;
  /*overflow: hidden;*/
}
.ax-progress-bar {
  position: relative;
  height: 100%;
  box-sizing: border-box;
  transition-property: width;
  transition-duration: 800ms;
}
.ax-progress-indicator {
  position: relative;
  width: 32px;
  height: 32px;
  margin-left: -16px;
  transition-property: left;
  transition-duration: 800ms;
}
/* TOOLTIP NEW 2024 */
.axial_tooltip_base {
  position: absolute;
  visibility: hidden;
  opacity: 1;
  transform: translate(0%, 0%);
  transition-property: none;
  transition-duration: 500ms;
  transition-timing-function: ease;
  padding-left: 14px;
  padding-right: 14px;
  padding-bottom: 14px;
  padding-top: 14px;
  border: 1px solid #000;
  background-color: rgba(0, 0, 0, 0.73);
  backdrop-filter: blur(8px);
  color: var(--white);
  border-radius: 10px;
  font-size: 13px;
  font-weight: 600;
}
/* OVERLAY NEW 2024 */
.axial_overlay_base {
  position: absolute;
  visibility: hidden;
  opacity: 1;
  transform: translate(0%, 0%);
  transition-property: none;
  transition-duration: 500ms;
  transition-timing-function: ease;
}
/* experimental */
/* AxialCrossContainer */
.axial_cross_container {
  position: absolute;
  width: 100%;
  height: 100%;
}
.axial_cross_container_element {
  position: absolute;
  width: 100%;
  height: 100%;
}
.axial_cross_container-center {
  transform: translate(0%, 0%);
}
.axial_cross_container-top {
  transform: translate(0%, -100%);
}
.axial_cross_container-right {
  transform: translate(100%, 0%);
}
.axial_cross_container-bottom {
  transform: translate(0%, 100%);
}
.axial_cross_container-left {
  transform: translate(-100%, 0%);
}
/* AxialRateStars */
.axial_rate_stars {
  width: 200px;
  height: 34px;
}
.axial_rate_stars-holder {
  width: 100%;
  height: 100%;
  display: flex;
  flex-direction: row;
  justify-content: space-between;
  align-items: center;
}
.axial_rate_stars-symbol {
  width: 32px;
  height: 32px;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
}
.axial_rate_stars-fill {
  fill: #fff;
}
/* AxialNavigationHelper*/
.axial_navigation_helper {
  height: 100%;
  width: auto;
}
/* Axial3DViewer : to move in a specific css */
.axial_3d_viewer {
  position: relative;
  display: block;
  width: 300px;
  height: 150px;
  min-width: 300px;
  min-height: 150px;
}
.axial_3d_viewer-full {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}
.axial_3d_canvas {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}
/* AxialAccordionElement */
.axial_accordion_element {
  position: relative;
  width: 100%;
  height: 0;
  min-width: 100px;
  transition-property: height;
  transition-duration: 400ms;
  transition-timing-function: ease;
  overflow: hidden;
}
.axial_accordion_element-content {
  width: 100%;
  height: auto;
  bottom: 0;
}
.axial_accordion_element-slot {
  width: 100%;
  height: auto;
  padding: 10px;
}
/* AxialFlipbookBase */
.axial_flipbook_base {
  position: relative;
  width: 100%;
  height: 100%;
  min-width: 300px;
  min-height: 120px;
  overflow: visible;
}
/* AxialFlipbookPageBase */
.axial_flipbook_page_base {
  position: absolute;
  left: 50%;
  width: 50%;
  height: 100%;
  display: none;
  background-color: var(--greyLight);
}
/* AxialToggleCalendarDate */
.axial_toggle_calendar_date {
  overflow: hidden;
  position: relative;
  width: 100%;
  height: 100%;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
}
.axial_toggle_calendar_date-holder {
  position: relative;
  width: 34px;
  height: 34px;
  border-radius: 4px;
  overflow: hidden;
}
.axial_toggle_calendar_date-background {
  position: absolute;
  width: 100%;
  height: 100%;
  background-color: #efefef;
  opacity: 0;
}
.axial_toggle_calendar_date-middleground {
  position: absolute;
  width: 100%;
  height: 100%;
  background-color: var(--themeColor);
  opacity: 0;
}
.axial_toggle_calendar_date-foreground {
  position: absolute;
  width: 100%;
  height: 100%;
}
.axial_toggle_calendar_date-num {
  position: absolute;
  width: 100%;
  height: 100%;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  font-weight: 500;
  font-size: 15px;
  color: #232323;
}
/* AxialCalendarGrid */
.axial_calendar_grid_base {
  width: 280px;
  height: 240px;
  display: grid;
  grid-template-columns: repeat(7, 1fr);
  grid-template-rows: repeat(6, 1fr);
  gap: 4px;
  background-color: #fff;
}
/* AxialCalendar */
.axial_overlay_calendar {
  position: absolute;
  width: 300px;
  height: 340px;
  border-radius: var(--container___borderRadius);
  overflow: hidden;
}
/* AxialCalendar */
.axial_calendar {
  position: relative;
  width: 300px;
  height: 340px;
  border-radius: var(--container___borderRadius);
  overflow: hidden;
}
.axial_calendar-background {
  position: absolute;
  width: 100%;
  height: 100%;
  background-color: #fff;
}
.axial_calendar-content {
  position: absolute;
  width: 100%;
  height: 100%;
  padding: 10px;
  display: flex;
  flex-direction: column;
}
.axial_calendar-header {
  width: 100%;
  height: 40px;
  display: flex;
  flex-direction: row;
  align-items: center;
}
.axial_calendar-label {
  flex-grow: 1;
  color: #000;
  font-weight: 600;
  font-size: 16px;
  padding-left: 4px;
}
.axial_calendar-previous {
  width: 40px;
  height: 40px;
  background-color: #eee;
}
.axial_calendar-next {
  width: 40px;
  height: 40px;
  background-color: #eee;
}
.axial_calendar-days {
  width: 100%;
  height: 40px;
  display: grid;
  grid-template-columns: repeat(7, 1fr);
  grid-template-rows: 1fr;
  column-gap: 4px;
}
.axial_calendar-day {
  color: #000;
  font-size: 15px;
  display: flex;
  flex-direction: row;
  justify-content: center;
  align-items: center;
}
.axial_calendar-dates {
  flex-grow: 1;
  display: grid;
  grid-template-columns: repeat(7, 1fr);
  grid-template-rows: repeat(6, 1fr);
  gap: 4px;
}
.axial_calendar-date {
  color: #000;
  font-size: 15px;
  display: flex;
  flex-direction: row;
  justify-content: center;
  align-items: center;
}
/* framework responsiveness*/
@media screen and (min-width: 768px) {
  .axial_form_utils_grid {
    display: grid;
  }
}
@media screen and (min-width: 992px) {
  .axial_header_nav {
    display: flex;
  }
  /* AxialBurgerButton */
  .axial_burger_button {
    display: none;
  }
}
@media screen and (min-width: 1200px) {
  :root {
    /* header */
    --header___paddingH: 4%;
    --header___paddingV: 10px;
    /* header nav item */
    --headerNavItem___fontSize: 20px;
    /* footer */
    --footer___paddingH: 4%;
    --footer___paddingV: 0px;
    --footer___sectionDirection: row;
    /* sections */
    --section___paddingH: 4%;
    --section___paddingV: 40px;
  }
}
@media screen and (min-width: 1400px) {
  :root {
    /* header */
    --header___paddingH: 4%;
    --header___paddingV: 10px;
    /* header nav item */
    --headerNavItem___fontSize: 21px;
    /* footer */
    --footer___paddingH: 4%;
    --footer___paddingV: 0px;
    --footer___sectionDirection: row;
    /* sections */
    --section___paddingH: 4%;
    --section___paddingV: 40px;
  }
}
@media screen and (min-width: 1600px) {
  :root {
    /* header */
    --header___paddingH: 10%;
    --header___paddingV: 10px;
    /* header nav item */
    --headerNavItem___fontSize: 23px;
    /* footer */
    --footer___paddingH: 10%;
    --footer___paddingV: 0px;
    --footer___sectionDirection: row;
    /* sections */
    --section___paddingH: 10%;
    --section___paddingV: 40px;
  }
}
/*
@media screen and (orientation: landscape)
{
    .axial_intro_layer
    {
        display: none;
    }    
}
@media screen and (orientation: portrait)
{
    .axial_intro_layer
    {
        display: none;
    }    
}
*/
/* global project styles */
.arrow_back_holder {
  pointer-events: all;
  position: absolute;
  /*
	top: 40px;
	left: 30px;
	*/
  bottom: 20px;
  right: 20px;
  width: 60px;
  height: 60px;
  background-color: #172c49;
  border-radius: 50%;
  overflow: hidden;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
}
.arrow_back_link {
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  width: 60px;
  height: 60px;
  transform: scale(0.5);
}
/* SuperVisionArrow */
.supervision_arrow {
  display: block;
  position: relative;
  width: 54px;
  height: 54px;
  cursor: pointer;
}
.supervision_arrow_holder {
  position: absolute;
  width: 100%;
  height: 100%;
}
.supervision_arrow_item {
  position: absolute;
  opacity: 0;
  width: 100%;
  height: 100%;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
}
.supervision_arrow_icon {
  width: 68%;
  height: 68%;
  border-left: solid 8px #fff;
  border-bottom: solid 8px #fff;
  transform: rotate(-45deg);
}
.supervision_arrow_first_d {
  animation-name: supervisionArrowMovementD;
  animation-duration: 2s;
  animation-timing-function: ease-in-out;
  animation-iteration-count: infinite;
}
.supervision_arrow_second_d {
  animation-name: supervisionArrowMovementD;
  animation-duration: 2s;
  animation-delay: 1s;
  animation-timing-function: ease-in-out;
  animation-iteration-count: infinite;
}
@keyframes supervisionArrowMovementD {
  0% {
    opacity: 0;
    transform: translateY(-50%);
  }
  70% {
    opacity: 1;
  }
  100% {
    opacity: 0;
  }
}
.supervision_arrow_first {
  animation-name: supervisionArrowMovement;
  animation-duration: 2s;
  animation-timing-function: ease-in-out;
  animation-iteration-count: infinite;
}
.supervision_arrow_second {
  animation-name: supervisionArrowMovement;
  animation-duration: 2s;
  animation-delay: 1s;
  animation-timing-function: ease-in-out;
  animation-iteration-count: infinite;
}
@keyframes supervisionArrowMovement {
  0% {
    opacity: 0;
    transform: translateY(-6px);
  }
  70% {
    opacity: 1;
  }
  100% {
    opacity: 0;
  }
}
.supervision_arrow_first_top {
  animation-name: supervisionArrowMovement;
  animation-duration: 2s;
  animation-timing-function: ease-in-out;
  animation-iteration-count: infinite;
}
.supervision_arrow_second_top {
  animation-name: supervisionArrowMovementTop;
  animation-duration: 2s;
  animation-delay: 1s;
  animation-timing-function: ease-in-out;
  animation-iteration-count: infinite;
}
@keyframes supervisionArrowMovementTop {
  0% {
    opacity: 0;
    transform: translateY(6px);
  }
  70% {
    opacity: 1;
  }
  100% {
    opacity: 0;
  }
}
@media screen and (min-width: 1200px) {
  .arrow_back_holder {
    pointer-events: all;
    position: absolute;
    top: 40px;
    left: 30px;
    bottom: unset;
    right: unset;
    width: 60px;
    height: 60px;
    background-color: transparent;
    border-radius: 50%;
    overflow: hidden;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
  }
  .arrow_back_link {
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    width: 60px;
    height: 60px;
    transform: scale(1);
  }
}
/* local page styles */
:root {
  --burgerTextFontSize: 18px;
  --burgerMenuFontSize: 28px;
  --burgerMenuLineHeight: 38px;
  --burgerIconSize: 48px;
}
.axial_tooltip_layer {
  display: none;
}
.axial_overlay_layer {
  display: none;
}
.axial_background_layer {
  display: none;
}
body {
  background-color: #1e1e1e;
}
.hf_portrait {
  display: block;
  position: relative;
  width: 100%;
  height: auto;
}
.hf_holder {
  position: absolute;
  width: 100%;
  height: 100%;
  overflow: hidden;
  display: none;
  background-color: #1e1e1e;
  touch-action: none;
}
.hf_scene {
  position: absolute;
  will-change: transform;
  /*
    transition-property: transform;
    transition-duration: 300ms;
    transition-timing-function: ease;
    */
  /*
    transform: translateZ(0);
    */
  transform: translate3d(0, 0, 0);
}
.stroker {
  stroke: #000;
  stroke-width: 2px;
}
.hf_image {
  position: absolute;
  width: 100%;
  height: 100%;
}
.hf_svg {
  position: relative;
  transform: translate3d(0, 0, 0);
}
.hf_landscape_svg {
  display: block;
  -moz-transform: translateZ(0.1px);
  transform: translateZ(0.1px);
  object-fit: contain;
}
.hf_purple_cloud {
  /*will-change: transform;*/
  transform: translate3d(0, 0, 0);
}
.phf_purple_cloud {
  /*will-change: transform;*/
  transform: translate3d(0, 0, 0);
}
.hf_curtains {
  display: block;
}
/* animated elements */
.hf_ticket_light {
  display: initial;
}
.phf_ticket_light {
  display: initial;
}
.hf_parallax {
  /*will-change: transform;*/
  transform: translate3d(0, 0, 0.1px);
}
.hf_parallax_reverse {
  display: initial;
}
.hf_parallax_start {
  display: initial;
}
.hf_parallax_stop {
  display: initial;
}
.hf_big_cloud {
  display: initial;
}
.hf_link_fill {
  stroke-width: 0;
  fill: rgba(0, 0, 0, 0);
}
.hf_link {
  cursor: pointer;
  transform: scale(1);
  transition-property: transform;
  transition-duration: 200ms;
  transition-timing-function: linear;
  pointer-events: all;
}
.hf_link:hover {
  transform: scale(0.95);
}
.hf_transform {
  visibility: visible;
  /*
    will-change: tranform;
    transform: translate3d(0,0,0);
    */
}
.hf_transform_test {
  /*will-change: tranform;*/
  transform: translate3d(0, 0, 0.1px);
}
/* BLINKING ARROWS */
.hf_blinking_arrow {
  fill: #ffe000;
  animation-name: blinkingArrowAnimation;
  animation-duration: 1s;
  animation-timing-function: step-start;
  animation-play-state: running;
  animation-iteration-count: infinite;
  animation-fill-mode: both;
}
@keyframes blinkingArrowAnimation {
  0% {
    fill: #ffe000;
  }
  50% {
    fill: #fff;
  }
}
/* RAINBOW */
.hf_rainbow {
  visibility: visible;
}
/* PLANE */
.hf_plane {
  animation-name: planeAnimation;
  animation-duration: 7s;
  animation-timing-function: ease-in-out;
  animation-play-state: running;
  animation-iteration-count: infinite;
}
@keyframes planeAnimation {
  0% {
    transform: rotate(0deg);
  }
  95% {
    transform: rotate(3600deg);
  }
  100% {
    transform: rotate(3600deg);
  }
}
/* GALLERIE */
.hf_gallerie {
  animation-name: gallerieAnimation;
  animation-duration: 7s;
  animation-timing-function: ease-in-out;
  animation-play-state: running;
  animation-iteration-count: infinite;
}
@keyframes gallerieAnimation {
  0% {
    transform: rotate(10deg);
  }
  50% {
    transform: rotate(-10deg);
  }
  100% {
    transform: rotate(10deg);
  }
}
/* TICKET CURSOR */
.hf_ticket_cursor {
  animation-name: ticketCursorAnimation;
  animation-duration: 4s;
  animation-timing-function: ease-in-out;
  animation-play-state: running;
  animation-iteration-count: infinite;
  animation-fill-mode: both;
}
@keyframes ticketCursorAnimation {
  0% {
    transform: scale(1);
  }
  10% {
    transform: scale(1.1);
  }
  20% {
    transform: scale(1);
  }
  30% {
    transform: scale(1.05);
  }
  40% {
    transform: scale(1);
  }
  50% {
    transform: scale(1.1);
  }
  60% {
    transform: scale(1);
  }
  100% {
    transform: scale(1);
  }
}
/* QUESTION MARKS */
.hf_question_mark_green {
  animation-name: greenMarkAnimation;
  animation-duration: 3s;
  animation-timing-function: ease-in-out;
  animation-play-state: running;
  animation-iteration-count: infinite;
  animation-fill-mode: both;
}
@keyframes greenMarkAnimation {
  0% {
    transform: scale(1);
  }
  10% {
    transform: scale(1.1);
  }
  20% {
    transform: scale(1);
  }
  30% {
    transform: scale(1.1);
  }
  40% {
    transform: scale(1);
  }
  50% {
    transform: scale(1.1);
  }
  60% {
    transform: scale(1);
  }
  100% {
    transform: scale(1);
  }
}
.hf_question_mark_yellow {
  animation-name: yellowMarkAnimation;
  animation-duration: 3.4s;
  animation-timing-function: ease-in-out;
  animation-play-state: running;
  animation-iteration-count: infinite;
  animation-fill-mode: both;
}
@keyframes yellowMarkAnimation {
  0% {
    transform: scale(1);
  }
  10% {
    transform: scale(1.2);
  }
  20% {
    transform: scale(1);
  }
  30% {
    transform: scale(1.2);
  }
  40% {
    transform: scale(1);
  }
  50% {
    transform: scale(1.2);
  }
  60% {
    transform: scale(1);
  }
  100% {
    transform: scale(1);
  }
}
.hf_question_mark_red {
  animation-name: redMarkAnimation;
  animation-duration: 3.9s;
  animation-timing-function: ease-in-out;
  animation-play-state: running;
  animation-iteration-count: infinite;
  animation-fill-mode: both;
}
@keyframes redMarkAnimation {
  0% {
    transform: scale(1);
  }
  10% {
    transform: scale(1.15);
  }
  20% {
    transform: scale(1);
  }
  30% {
    transform: scale(1.2);
  }
  40% {
    transform: scale(1);
  }
  50% {
    transform: scale(1.1);
  }
  60% {
    transform: scale(1);
  }
  100% {
    transform: scale(1);
  }
}
.hf_question_mark_pink {
  animation-name: pinkMarkAnimation;
  animation-duration: 2.8s;
  animation-timing-function: ease-in-out;
  animation-play-state: running;
  animation-iteration-count: infinite;
  animation-fill-mode: both;
}
@keyframes pinkMarkAnimation {
  0% {
    transform: scale(1);
  }
  10% {
    transform: scale(1.1);
  }
  20% {
    transform: scale(1);
  }
  30% {
    transform: scale(1.15);
  }
  40% {
    transform: scale(1);
  }
  50% {
    transform: scale(1.2);
  }
  60% {
    transform: scale(1);
  }
  70% {
    transform: scale(1.1);
  }
  80% {
    transform: scale(1);
  }
  100% {
    transform: scale(1);
  }
}
.hf_question_mark_orange {
  animation-name: orangeMarkAnimation;
  animation-duration: 3.8s;
  animation-timing-function: ease-in-out;
  animation-play-state: running;
  animation-iteration-count: infinite;
  animation-fill-mode: both;
}
@keyframes orangeMarkAnimation {
  0% {
    transform: scale(1);
  }
  10% {
    transform: scale(1.1);
  }
  20% {
    transform: scale(1);
  }
  30% {
    transform: scale(1.15);
  }
  40% {
    transform: scale(1);
  }
  50% {
    transform: scale(1.2);
  }
  60% {
    transform: scale(1);
  }
  70% {
    transform: scale(1.1);
  }
  80% {
    transform: scale(1);
  }
  100% {
    transform: scale(1);
  }
}
.hf_question_mark_blue {
  animation-name: blueMarkAnimation;
  animation-duration: 3.8s;
  animation-timing-function: ease-in-out;
  animation-play-state: running;
  animation-iteration-count: infinite;
  animation-fill-mode: both;
}
@keyframes blueMarkAnimation {
  0% {
    transform: scale(1);
  }
  10% {
    transform: scale(1.1);
  }
  20% {
    transform: scale(1);
  }
  30% {
    transform: scale(1.15);
  }
  40% {
    transform: scale(1);
  }
  50% {
    transform: scale(1.2);
  }
  60% {
    transform: scale(1);
  }
  70% {
    transform: scale(1.1);
  }
  80% {
    transform: scale(1);
  }
  100% {
    transform: scale(1);
  }
}
.hf_question_mark_white {
  animation-name: whiteMarkAnimation;
  animation-duration: 3.8s;
  animation-timing-function: ease-in-out;
  animation-play-state: running;
  animation-iteration-count: infinite;
  animation-fill-mode: both;
}
@keyframes whiteMarkAnimation {
  0% {
    transform: scale(1);
  }
  10% {
    transform: scale(1.1);
  }
  20% {
    transform: scale(1);
  }
  30% {
    transform: scale(1.15);
  }
  40% {
    transform: scale(1);
  }
  50% {
    transform: scale(1.2);
  }
  60% {
    transform: scale(1);
  }
  70% {
    transform: scale(1.1);
  }
  80% {
    transform: scale(1);
  }
  100% {
    transform: scale(1);
  }
}
/* BUMP STAR */
.hf_bump_star {
  animation-name: none;
  animation-duration: 0s;
  animation-timing-function: ease-in-out;
  animation-play-state: running;
  animation-iteration-count: infinite;
  animation-fill-mode: both;
}
@keyframes bumpStarAnimation_0 {
  0% {
    transform: scale(1);
  }
  10% {
    transform: scale(1.1);
  }
  20% {
    transform: scale(1);
  }
  30% {
    transform: scale(1.1);
  }
  40% {
    transform: scale(1);
  }
  50% {
    transform: scale(1.1);
  }
  60% {
    transform: scale(1);
  }
  100% {
    transform: scale(1);
  }
}
@keyframes bumpStarAnimation_1 {
  0% {
    transform: scale(1);
  }
  10% {
    transform: scale(1.1);
  }
  20% {
    transform: scale(1);
  }
  30% {
    transform: scale(1.15);
  }
  40% {
    transform: scale(1);
  }
  50% {
    transform: scale(1.2);
  }
  60% {
    transform: scale(1);
  }
  70% {
    transform: scale(1.1);
  }
  80% {
    transform: scale(1);
  }
  100% {
    transform: scale(1);
  }
}
@keyframes bumpStarAnimation_2 {
  0% {
    transform: scale(1);
  }
  10% {
    transform: scale(1.1);
  }
  20% {
    transform: scale(1);
  }
  30% {
    transform: scale(1.15);
  }
  40% {
    transform: scale(1);
  }
  50% {
    transform: scale(1.2);
  }
  60% {
    transform: scale(1);
  }
  70% {
    transform: scale(1.1);
  }
  80% {
    transform: scale(1);
  }
  100% {
    transform: scale(1);
  }
}
.hf_ticket_area {
  cursor: pointer;
}
/* blinking stars */
.hf_star {
  animation-name: none;
  animation-duration: 0s;
  animation-delay: 0s;
  animation-timing-function: step-start;
  animation-play-state: running;
  animation-iteration-count: infinite;
  animation-fill-mode: both;
}
@keyframes blinkStarAnimation {
  0% {
    visibility: visible;
  }
  50% {
    visibility: hidden;
  }
  100% {
    visibility: visible;
  }
}
.hf_aftermovie {
  fill: #fd86a5;
  animation-name: pinkAftermovieAnimation;
  animation-duration: 1s;
  animation-timing-function: step-start;
  animation-play-state: running;
  animation-iteration-count: infinite;
  animation-fill-mode: both;
}
@keyframes pinkAftermovieAnimation {
  0% {
    fill: #fd86a5;
  }
  50% {
    fill: #ffe28e;
  }
}
.hf_klick {
  fill: #ffe28e;
  animation-name: yellowCurtainAnimation;
  animation-duration: 1s;
  animation-timing-function: step-start;
  animation-play-state: running;
  animation-iteration-count: infinite;
  animation-fill-mode: both;
}
@keyframes yellowCurtainAnimation {
  0% {
    fill: #ffe28e;
  }
  50% {
    fill: #fd86a5;
  }
}
.hf_curtain_pink {
  animation-name: pinkCurtainAnimation;
  animation-duration: 1s;
  animation-timing-function: step-start;
  animation-play-state: running;
  animation-iteration-count: infinite;
  animation-fill-mode: both;
}
@keyframes pinkCurtainAnimation {
  0% {
    fill: #ffc0c8;
  }
  50% {
    fill: #f95f47;
  }
}
.hf_curtain_red {
  animation-name: redCurtainAnimation;
  animation-duration: 1s;
  animation-timing-function: step-start;
  animation-play-state: running;
  animation-iteration-count: infinite;
  animation-fill-mode: both;
}
@keyframes redCurtainAnimation {
  0% {
    fill: #f95f47;
  }
  50% {
    fill: #ffc0c8;
  }
}
.portrait_curtains {
  transition-property: transform;
  transition-duration: 1s;
  transition-timing-function: ease-out;
}
/* rainbow */
.hf_rainbow_red {
  animation-name: redRainbowAnimation;
  animation-duration: 4s;
  animation-timing-function: step-start;
  animation-play-state: running;
  animation-iteration-count: infinite;
  animation-fill-mode: both;
}
@keyframes redRainbowAnimation {
  0% {
    fill: #fd86a5;
  }
  14% {
    fill: #b091e1;
  }
  28% {
    fill: #63bde5;
  }
  42% {
    fill: #aeeeee;
  }
  56% {
    fill: #a4de5c;
  }
  70% {
    fill: #ffde5d;
  }
  84% {
    fill: #feac54;
  }
}
.hf_rainbow_orange {
  animation-name: orangeRainbowAnimation;
  animation-duration: 4s;
  animation-timing-function: step-start;
  animation-play-state: running;
  animation-iteration-count: infinite;
  animation-fill-mode: both;
}
@keyframes orangeRainbowAnimation {
  0% {
    fill: #feac54;
  }
  14% {
    fill: #fd86a5;
  }
  28% {
    fill: #b091e1;
  }
  42% {
    fill: #63bde5;
  }
  56% {
    fill: #aeeeee;
  }
  70% {
    fill: #a4de5c;
  }
  84% {
    fill: #ffde5d;
  }
}
.hf_rainbow_yellow {
  animation-name: yellowRainbowAnimation;
  animation-duration: 4s;
  animation-timing-function: step-start;
  animation-play-state: running;
  animation-iteration-count: infinite;
  animation-fill-mode: both;
}
@keyframes yellowRainbowAnimation {
  0% {
    fill: #ffde5d;
  }
  14% {
    fill: #feac54;
  }
  28% {
    fill: #fd86a5;
  }
  42% {
    fill: #b091e1;
  }
  56% {
    fill: #63bde5;
  }
  70% {
    fill: #aeeeee;
  }
  84% {
    fill: #a4de5c;
  }
}
.hf_rainbow_green {
  animation-name: greenRainbowAnimation;
  animation-duration: 4s;
  animation-timing-function: step-start;
  animation-play-state: running;
  animation-iteration-count: infinite;
  animation-fill-mode: both;
}
@keyframes greenRainbowAnimation {
  0% {
    fill: #a4de5c;
  }
  14% {
    fill: #ffde5d;
  }
  28% {
    fill: #feac54;
  }
  42% {
    fill: #fd86a5;
  }
  56% {
    fill: #b091e1;
  }
  70% {
    fill: #63bde5;
  }
  84% {
    fill: #aeeeee;
  }
}
.hf_rainbow_white {
  animation-name: whiteRainbowAnimation;
  animation-duration: 4s;
  animation-timing-function: step-start;
  animation-play-state: running;
  animation-iteration-count: infinite;
  animation-fill-mode: both;
}
@keyframes whiteRainbowAnimation {
  0% {
    fill: #aeeeee;
  }
  14% {
    fill: #a4de5c;
  }
  28% {
    fill: #ffde5d;
  }
  42% {
    fill: #feac54;
  }
  56% {
    fill: #fd86a5;
  }
  70% {
    fill: #b091e1;
  }
  84% {
    fill: #63bde5;
  }
}
.hf_rainbow_blue {
  animation-name: blueRainbowAnimation;
  animation-duration: 4s;
  animation-timing-function: step-start;
  animation-play-state: running;
  animation-iteration-count: infinite;
  animation-fill-mode: both;
}
@keyframes blueRainbowAnimation {
  0% {
    fill: #63bde5;
  }
  14% {
    fill: #aeeeee;
  }
  28% {
    fill: #a4de5c;
  }
  42% {
    fill: #ffde5d;
  }
  56% {
    fill: #feac54;
  }
  70% {
    fill: #fd86a5;
  }
  84% {
    fill: #b091e1;
  }
}
.hf_rainbow_purple {
  animation-name: purpleRainbowAnimation;
  animation-duration: 4s;
  animation-timing-function: step-start;
  animation-play-state: running;
  animation-iteration-count: infinite;
  animation-fill-mode: both;
}
@keyframes purpleRainbowAnimation {
  0% {
    fill: #b091e1;
  }
  14% {
    fill: #63bde5;
  }
  28% {
    fill: #aeeeee;
  }
  42% {
    fill: #a4de5c;
  }
  56% {
    fill: #ffde5d;
  }
  70% {
    fill: #feac54;
  }
  84% {
    fill: #fd86a5;
  }
}
.hf_social_cursor {
  animation-name: socialCursorAnimation;
  animation-duration: 4s;
  animation-timing-function: ease;
  animation-play-state: running;
  animation-iteration-count: infinite;
  animation-fill-mode: both;
}
@keyframes socialCursorAnimation {
  0% {
    transform: translate(7357px, 1830px) scale(0.5);
  }
  15% {
    transform: translate(7659px, 1828px) scale(0.5);
  }
  30% {
    transform: translate(7748px, 1884px) scale(0.5) rotateY(180deg);
  }
  45% {
    transform: translate(7673px, 2058px) scale(0.5);
  }
  60% {
    transform: translate(7579px, 2270px) scale(0.5);
  }
  75% {
    transform: translate(7360px, 2302px) scale(0.5) rotateY(180deg);
  }
  100% {
    transform: translate(7357px, 1830px) scale(0.5);
  }
}
.phf_social_cursor {
  animation-name: portraitSocialCursorAnimation;
  animation-duration: 4s;
  animation-timing-function: ease;
  animation-play-state: running;
  animation-iteration-count: infinite;
  animation-fill-mode: both;
}
@keyframes portraitSocialCursorAnimation {
  0% {
    transform: translate(699px, 6776px) scale(0.5);
  }
  20% {
    transform: translate(872px, 6766px) scale(0.5) rotateY(180deg);
  }
  40% {
    transform: translate(955px, 6948px) scale(0.5);
  }
  60% {
    transform: translate(907px, 7154px) scale(0.5);
  }
  80% {
    transform: translate(685px, 7180px) scale(0.5) rotateY(180deg);
  }
  100% {
    transform: translate(699px, 6776px) scale(0.5);
  }
}
.hf_peace {
  display: block;
}
.phf_moon {
  transition-property: transform;
  transition-duration: 1s;
  transition-timing-function: ease-in-out;
  transform: translate3d(0, 300px, 0);
}
.phf_scroll_top {
  cursor: pointer;
}
.lhf_arrow_holder {
  position: absolute;
  bottom: 20px;
  left: 20px;
  opacity: 1;
}
.portrait_clip_rect {
  transition-property: transform;
  transition-duration: 1s;
  transition-timing-function: ease-out;
}
.hf_shop_cursor {
  transform: translate(2423px, -300px);
}
.hf_shop_cursor_mobile {
  transform: translate(-2120px, 830px);
}
.phf_scroll_parallax {
  transform: translate(0, 0);
  transition-property: transform;
  transition-duration: 500ms;
  transition-timing-function: linear;
}
.heidebeat_lineup {
  display: block;
}
.hf_lineup_arrow {
  cursor: pointer;
}
/* burger */
.hf_burger_layer {
  position: absolute;
  width: 100%;
  height: 100%;
  overflow: hidden;
  pointer-events: none;
}
.hf_burger_menu {
  position: absolute;
  width: 100%;
  height: 100%;
  background-color: rgba(255, 255, 255, 0.5);
  pointer-events: all;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  transform: translateY(101%);
  transition-property: transform;
  transition-duration: 500ms;
  transition-timing-function: ease-out;
}
.hf_burger {
  cursor: pointer;
}
.hf_burger_close {
  position: absolute;
  top: 20px;
  left: 20px;
  width: 24px;
  height: 24px;
  display: flex;
  flex-direction: column;
  justify-content: flex-start;
  align-items: flex-start;
  cursor: pointer;
  font-size: 30px;
  font-weight: 800;
  color: #fcff8b;
}
/* burger elements */
.hf_burger_menu-holder {
  position: relative;
  width: 100%;
  height: 100%;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  padding-left: 20px;
  padding-right: 20px;
  padding-top: 40px;
  padding-bottom: 0px;
  background-color: #ff98c6;
  gap: 16px;
}
.hf_burger_menu-info {
  color: #fff;
  font-size: var(--burgerTextFontSize);
  font-weight: 800;
  text-align: center;
}
.hf_burger_menu-links {
  display: flex;
  flex-direction: column;
  justify-content: center;
  flex-wrap: nowrap;
  gap: 0;
}
.hf_burger_menu-links_group {
  display: flex;
  flex-direction: column;
  justify-content: center;
}
.hf_burger_menu-link {
  font-weight: 800;
  text-align: center;
  font-size: var(--burgerMenuFontSize);
  line-height: var(--burgerMenuLineHeight);
}
.hf_burger_menu-link_separator {
  color: #fff;
  display: none;
  font-weight: 800;
  font-size: 24px;
  margin-left: 10px;
  margin-right: 10px;
}
.hf_burger_menu-about {
  color: #0979da;
}
.hf_burger_menu-charity {
  color: #ffdb00;
}
.hf_burger_menu-ticket {
  color: #1f8156;
}
.hf_burger_menu-lineup {
  color: #f8543f;
}
.hf_burger_menu-shop {
  color: #a4ebeb;
}
.hf_burger_menu-contest {
  color: #fcff8b;
}
.hf_burger_menu-faq {
  color: #8a5891;
}
.hf_burger_menu-kontakt {
  color: #9ad951;
}
.hf_burger_menu-about:visited {
  color: #0979da;
}
.hf_burger_menu-charity:visited {
  color: #ffdb00;
}
.hf_burger_menu-ticket:visited {
  color: #1f8156;
}
.hf_burger_menu-lineup:visited {
  color: #f8543f;
}
.hf_burger_menu-shop:visited {
  color: #a4ebeb;
}
.hf_burger_menu-contest:visited {
  color: #fcff8b;
}
.hf_burger_menu-faq:visited {
  color: #8a5891;
}
.hf_burger_menu-kontakt:visited {
  color: #9ad951;
}
.hf_burger_menu-socials {
  display: flex;
  flex-direction: row;
  justify-content: space-between;
  margin-top: 6px;
  width: 100%;
  max-width: 460px;
}
.hf_burger_menu-social {
  width: 48px;
  height: 48px;
}
.hf_burger_menu-legals {
  display: flex;
  flex-direction: row;
  justify-content: center;
  align-items: center;
  gap: 14px;
  color: #fff;
}
.hf_burger_menu-legal_link {
  color: #fff;
  font-size: var(--burgerTextFontSize);
  font-weight: 800;
}
.hf_burger_menu-legal_link:visited {
  color: #fff;
  font-size: var(--burgerTextFontSize);
  font-weight: 800;
}
.hf_burger_menu-legal_separator {
  display: block;
  font-weight: 800;
  font-size: 20px;
}
.hf_burger_menu-social_image {
  display: block;
  width: var(--burgerIconSize);
  height: var(--burgerIconSize);
  object-fit: contain;
}
.hf_burger_menu-localmove {
  margin-top: -6px;
  color: #fcff8b;
  font-size: var(--burgerTextFontSize);
  font-weight: 800;
  text-align: center;
}
.hf_burger_close_desktop {
  align-self: center;
  width: 50px;
  height: 50px;
  display: none;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  cursor: pointer;
  /*
    font-size: 40px;
    line-height: 40px;
    font-weight: 800;
    */
  background-color: #0979da;
  color: #fff;
  border-radius: 50%;
  /*padding: 13px;*/
}
.hf_burger_logo {
  width: 280px;
  height: auto;
  display: none;
  align-self: center;
}
.hf_burger_logo_image {
  display: flex;
}
.hf_burger_close_desktop_svg {
  margin-left: 1px;
  display: block;
  width: 24px;
  height: 24px;
}
.hf_blitzer_land {
  position: absolute;
  /*pointer-events: none;*/
  width: 260px;
  left: 37.3%;
  bottom: -40px;
}
.hf_balloon {
  animation-name: balloonAnimation;
  animation-duration: 2.2s;
  animation-timing-function: ease;
  animation-play-state: running;
  animation-iteration-count: infinite;
  animation-fill-mode: both;
}
@keyframes balloonAnimation {
  0% {
    transform: translate(0px, 0px);
  }
  40% {
    transform: translate(0px, -10px);
  }
  50% {
    transform: translate(0px, -10px);
  }
  90% {
    transform: translate(0px, 0px);
  }
  100% {
    transform: translate(0px, 0px);
  }
}
.st23 {
  fill: #eb6505;
}
.st33 {
  fill: #005ba8;
}
.st36 {
  fill: #005ba8;
}
.st76 {
  fill: #ffe28e;
}
.st25 {
  fill: #eb6505;
}
@media screen and (min-width: 1200px) {
  :root {
    --burgerTextFontSize: 22px;
    --burgerMenuFontSize: 34px;
    --burgerMenuLineHeight: 38px;
    --burgerIconSize: 60px;
  }
  .hf_burger_menu-holder {
    position: relative;
    justify-content: space-evenly;
    width: 80vh;
    height: 80vh;
    border-radius: 50%;
    padding-left: 16vh;
    padding-right: 16vh;
    padding-top: 5vh;
    padding-bottom: 3vh;
  }
  .hf_burger_close_desktop {
    display: flex;
  }
  .hf_burger_close {
    display: none;
  }
  .hf_burger_menu-links {
    display: flex;
    flex-direction: row;
    /*justify-content: center;*/
    flex-wrap: wrap;
    gap: 10px;
    font-size: 36px;
    margin-left: -10vh;
    margin-right: -10vh;
  }
  .hf_burger_menu-link_separator {
    display: block;
  }
  .hf_burger_menu-links_group {
    display: flex;
    flex-direction: row;
    justify-content: center;
  }
  .hf_burger_logo {
    display: flex;
  }
}
@media screen and (orientation: portrait) {
  .hf_portrait {
    display: block;
  }
  .hf_holder {
    display: none;
  }
}
@media screen and (orientation: landscape) {
  .hf_portrait {
    display: none;
  }
  .hf_holder {
    display: block;
  }
}
@media screen and (orientation: landscape) and (max-height: 500px) {
  .hf_burger_menu-links {
    flex-direction: column;
  }
  .hf_burger_menu-link_separator {
    display: block;
  }
  .hf_burger_menu-links_group {
    display: flex;
    flex-direction: row;
    justify-content: center;
  }
}
