.component.size-full {
  width: 100%;
  height: 100%; }
.component.size-full-width {
  width: 100%; }
.component.size-half-width {
  width: 50%; }
.component.size-quarter-width {
  width: 25%; }
.component.size-full-height {
  height: 100%; }

.component.cookie-disclaimer {
  display: none;
  z-index: 999;
  position: fixed;
  width: 100%;
  height: fit-content;
  left: 0;
  bottom: 0;
  background-color: var(--base-color);
  text-align: center;
  padding: 2em 0 1em 0;
  box-shadow: 0 16px 16px 16px black; }
  .component.cookie-disclaimer p {
    color: var(--contrast-base-color); }
  .component.cookie-disclaimer .banner-title {
    font-size: 18pt;
    font-weight: bold; }
  .component.cookie-disclaimer .banner-text {
    font-size: 8pt; }
  .component.cookie-disclaimer .button-wrapper button {
    border: 2px solid var(--contrast-base-color);
    padding: 0.5em 1.5em; }
@media only screen and (max-width: 800px) {
  .component.grid.mobile-one-row .wrapper, .component.area-grid.mobile-one-row .wrapper {
    grid-template-columns: 1fr !important; } }
.component.grid .wrapper {
  display: grid;
  grid-template-rows: var(--template-rows);
  grid-template-columns: var(--template-cols);
  column-gap: var(--column-gap);
  row-gap: var(--row-gap); }
.component.area-grid .wrapper {
  display: grid;
  grid-template-areas: var(--areas);
  column-gap: var(--column-gap);
  row-gap: var(--row-gap); }
.component.simple-navbar {
  width: 100vw;
  transition: height ease-in-out 250ms; }
  .component.simple-navbar.has-hamburger .navbar-mobile-flex.right {
    padding-right: 4.5em; }
  .component.simple-navbar.clear .mobile-menu {
    background-color: var(--grey-color);
    border-color: grey;
    border-style: solid;
    border-width: 0; }
    .component.simple-navbar.clear .mobile-menu.top {
      border-bottom-width: 2px; }
    .component.simple-navbar.clear .mobile-menu.bottom {
      border-top-width: 2px; }
    .component.simple-navbar.clear .mobile-menu.left {
      border-right-width: 2px; }
    .component.simple-navbar.clear .mobile-menu.right {
      border-left-width: 2px; }
  .component.simple-navbar.white {
    background-color: white; }
    .component.simple-navbar.white .mobile-menu {
      background-color: white; }
  .component.simple-navbar.solid {
    background-color: var(--base-color); }
    .component.simple-navbar.solid .mobile-menu {
      background-color: var(--base-color); }
    .component.simple-navbar.solid .mobile-menu-toggle {
      color: var(--contrast-base-color) !important; }
    .component.simple-navbar.solid .navbar-link span {
      color: var(--contrast-base-color); }
    .component.simple-navbar.solid .navbar-lang-switcher a {
      color: var(--contrast-base-color); }
  @media only screen and (min-width: 1201px) {
    .component.simple-navbar {
      height: var(--height-desktop); }
      .component.simple-navbar .mobile, .component.simple-navbar .mobile-menu {
        display: none; } }
  @media only screen and (max-width: 1200px) {
    .component.simple-navbar {
      height: var(--height-mobile); }
      .component.simple-navbar .desktop {
        display: none; } }
  .component.simple-navbar .mobile-menu {
    position: fixed;
    transform: translate(-50%, -50%);
    padding: 5em;
    z-index: 9;
    transition: transform ease-in-out 500ms; }
    .component.simple-navbar .mobile-menu.left, .component.simple-navbar .mobile-menu.right {
      width: calc(var(--width-mobile-menu) - 10em);
      height: calc(100vh - 10em); }
    .component.simple-navbar .mobile-menu.top, .component.simple-navbar .mobile-menu.bottom {
      height: calc(var(--width-mobile-menu) - 10em);
      width: calc(100vw - 10em); }
    .component.simple-navbar .mobile-menu.top {
      top: 0;
      left: 0;
      transform: translateY(-100%); }
    .component.simple-navbar .mobile-menu.bottom {
      bottom: 0;
      left: 0;
      transform: translateY(100%); }
    .component.simple-navbar .mobile-menu.left {
      top: 0;
      left: 0;
      transform: translateX(-100%); }
    .component.simple-navbar .mobile-menu.right {
      top: 0;
      right: 0;
      transform: translateX(100%); }
    .component.simple-navbar .mobile-menu.open {
      transform: none !important; }
    .component.simple-navbar .mobile-menu .navbar-mobile-menu {
      display: flex;
      flex-direction: column;
      width: 100%;
      height: 100%;
      gap: 1.5em;
      justify-content: center;
      align-items: center; }
  .component.simple-navbar .desktop, .component.simple-navbar .mobile {
    height: 100%;
    position: relative; }
  .component.simple-navbar .navbar-mobile-flex .navbar-menu-toggle {
    position: absolute;
    right: 2em;
    top: 50%;
    transform: translate(-50%, -50%);
    z-index: 10;
    cursor: pointer; }
    .component.simple-navbar .navbar-mobile-flex .navbar-menu-toggle .mobile-menu-toggle {
      color: var(--base-color); }
  .component.simple-navbar .navbar-desktop-flex, .component.simple-navbar .navbar-mobile-flex {
    display: flex;
    flex-direction: row;
    align-items: center;
    gap: 2em;
    height: 100%; }
    .component.simple-navbar .navbar-desktop-flex.left, .component.simple-navbar .navbar-mobile-flex.left {
      padding-left: 2em;
      justify-content: start; }
    .component.simple-navbar .navbar-desktop-flex.right, .component.simple-navbar .navbar-mobile-flex.right {
      padding-right: 2em;
      justify-content: end; }
    .component.simple-navbar .navbar-desktop-flex.center, .component.simple-navbar .navbar-mobile-flex.center {
      justify-content: center; }
    .component.simple-navbar .navbar-desktop-flex.two-cols, .component.simple-navbar .navbar-desktop-flex.three-cols, .component.simple-navbar .navbar-mobile-flex.two-cols, .component.simple-navbar .navbar-mobile-flex.three-cols {
      padding: 0 2em;
      display: grid;
      grid-template-rows: 1fr; }
      .component.simple-navbar .navbar-desktop-flex.two-cols .col-one, .component.simple-navbar .navbar-desktop-flex.two-cols .col-two, .component.simple-navbar .navbar-desktop-flex.two-cols .col-three, .component.simple-navbar .navbar-desktop-flex.three-cols .col-one, .component.simple-navbar .navbar-desktop-flex.three-cols .col-two, .component.simple-navbar .navbar-desktop-flex.three-cols .col-three, .component.simple-navbar .navbar-mobile-flex.two-cols .col-one, .component.simple-navbar .navbar-mobile-flex.two-cols .col-two, .component.simple-navbar .navbar-mobile-flex.two-cols .col-three, .component.simple-navbar .navbar-mobile-flex.three-cols .col-one, .component.simple-navbar .navbar-mobile-flex.three-cols .col-two, .component.simple-navbar .navbar-mobile-flex.three-cols .col-three {
        display: flex;
        gap: 2em;
        flex-direction: row;
        align-items: center; }
      .component.simple-navbar .navbar-desktop-flex.two-cols .col-one, .component.simple-navbar .navbar-desktop-flex.three-cols .col-one, .component.simple-navbar .navbar-mobile-flex.two-cols .col-one, .component.simple-navbar .navbar-mobile-flex.three-cols .col-one {
        justify-content: start; }
    .component.simple-navbar .navbar-desktop-flex.two-cols, .component.simple-navbar .navbar-mobile-flex.two-cols {
      grid-template-columns: repeat(2, 1fr); }
      .component.simple-navbar .navbar-desktop-flex.two-cols .col-two, .component.simple-navbar .navbar-mobile-flex.two-cols .col-two {
        justify-content: end; }
    .component.simple-navbar .navbar-desktop-flex.three-cols, .component.simple-navbar .navbar-mobile-flex.three-cols {
      grid-template-columns: repeat(3, 1fr); }
      .component.simple-navbar .navbar-desktop-flex.three-cols .col-two, .component.simple-navbar .navbar-mobile-flex.three-cols .col-two {
        justify-content: center; }
      .component.simple-navbar .navbar-desktop-flex.three-cols .col-three, .component.simple-navbar .navbar-mobile-flex.three-cols .col-three {
        justify-content: end; }
  .component.simple-navbar .navbar-link {
    display: block;
    height: fit-content;
    text-decoration: none; }
    .component.simple-navbar .navbar-link span {
      color: var(--base-color);
      font-size: 13pt;
      font-weight: bold; }
      .component.simple-navbar .navbar-link span.active {
        font-weight: bolder; }
  .component.simple-navbar .navbar-logo .image-wrapper {
    display: flex;
    justify-content: center;
    align-content: center; }
    @media only screen and (min-width: 1201px) {
      .component.simple-navbar .navbar-logo .image-wrapper img {
        max-height: calc(var(--height-desktop) - 1em);
        width: auto; } }
    @media only screen and (max-width: 1200px) {
      .component.simple-navbar .navbar-logo .image-wrapper img {
        max-height: calc(var(--height-mobile) - 1em);
        width: auto; } }
  .component.simple-navbar .navbar-lang-switcher {
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 1em; }
    .component.simple-navbar .navbar-lang-switcher a {
      text-decoration: none;
      color: var(--base-color); }
      .component.simple-navbar .navbar-lang-switcher a.active {
        text-decoration: underline; }
    .component.simple-navbar .navbar-lang-switcher.flags a {
      width: 1.5em;
      height: 1em; }
      .component.simple-navbar .navbar-lang-switcher.flags a.active img {
        border-bottom: var(--positive-color) 1px solid;
        height: calc(1em - 1px); }
      .component.simple-navbar .navbar-lang-switcher.flags a img {
        width: 1.5em;
        height: 1em; }
.component.slideshow {
  position: relative;
  margin: 0 auto; }
  .component.slideshow .slides-window {
    position: relative;
    width: var(--slide-width);
    height: var(--slide-height);
    overflow: hidden;
    margin: 0 auto;
    white-space: nowrap; }
    .component.slideshow .slides-window .slides-wrapper {
      display: flex;
      flex-direction: row;
      justify-content: start;
      align-content: center;
      gap: 2em;
      height: var(--slide-height); }
      .component.slideshow .slides-window .slides-wrapper .slide {
        flex-grow: 0;
        flex-shrink: 0;
        flex-basis: var(--slide-width);
        height: var(--slide-height); }
        .component.slideshow .slides-window .slides-wrapper .slide .std-centering {
          height: 100%;
          width: 100%; }
        .component.slideshow .slides-window .slides-wrapper .slide * {
          max-width: var(--slide-width);
          max-height: var(--slide-height);
          display: block;
          white-space: wrap; }
  .component.slideshow .dots-wrapper {
    position: absolute;
    bottom: -20px;
    left: 50%;
    transform: translateX(-50%);
    display: flex;
    flex-direction: row;
    justify-content: center;
    align-content: center;
    gap: 0.5em; }
    .component.slideshow .dots-wrapper .slide-dot {
      font-size: 42pt;
      color: grey;
      cursor: pointer; }
      .component.slideshow .dots-wrapper .slide-dot.active {
        color: var(--accent-color); }
  .component.slideshow .arrows-wrapper .slideshow-arrow-left, .component.slideshow .arrows-wrapper .slideshow-arrow-right {
    position: absolute;
    bottom: 50%;
    transform: translate(-50%, -50%);
    cursor: pointer; }
  .component.slideshow .arrows-wrapper .slideshow-arrow-left {
    left: 1em; }
  .component.slideshow .arrows-wrapper .slideshow-arrow-right {
    right: 0; }
.component.cards .flex-card .component.flex {
  width: var(--width);
  height: var(--height);
  background-color: var(--color);
  border-radius: 1em;
  padding: 1.5em;
  text-align: center;
  overflow: hidden; }
  .component.cards .flex-card .component.flex .flex-item {
    max-width: 100%; }
    .component.cards .flex-card .component.flex .flex-item img {
      max-width: 80%;
      max-height: 30%; }
.component.article {
  padding: 1em; }
  .component.article .column > .std-centering {
    height: 100%; }
  .component.article img {
    max-width: 80%;
    max-height: 30em; }
  .component.article .article-title {
    font-size: 16pt;
    max-width: 80%; }
  .component.article .article-text {
    max-width: 80%; }
  .component.article .button-wrapper {
    display: flex;
    flex-direction: row;
    justify-content: center;
    align-items: center;
    gap: 0.5em; }
  @media only screen and (max-width: 1200px) {
    .component.article .article-title, .component.article .article-text {
      text-align: center; } }
.component.columns {
  display: grid;
  grid-template-rows: 1fr;
  grid-template-columns: var(--grid-template-columns);
  grid-gap: var(--gap); }
  @media only screen and (max-width: 800px) {
    .component.columns {
      display: flex;
      flex-direction: column;
      gap: var(--gap);
      justify-content: start;
      align-items: center; }
      .component.columns.reversed {
        flex-direction: column-reverse; } }
  .component.columns .column {
    padding: var(--padding) 0;
    display: flex;
    flex-direction: column;
    justify-content: start;
    align-items: center;
    gap: var(--item-gap); }
.component.form {
  --text-color: #464646;
  --border-color: #757575;
  --input-max-width: min(80vw, 30em); }
  .component.form > form {
    padding: 1em; }
    .component.form > form .full-width {
      width: 100%; }
    .component.form > form fieldset {
      margin-left: 0;
      padding: 1em; }
      .component.form > form fieldset legend {
        color: var(--text-color);
        font-size: 14pt; }
    .component.form > form .generated-form-entry {
      display: flex;
      flex-direction: column;
      justify-content: start;
      align-items: start;
      gap: 0.2em; }
      .component.form > form .generated-form-entry.checkbox, .component.form > form .generated-form-entry.radio {
        flex-direction: row-reverse; }
        .component.form > form .generated-form-entry.checkbox .input-wrapper, .component.form > form .generated-form-entry.radio .input-wrapper {
          max-width: unset;
          width: unset; }
      .component.form > form .generated-form-entry .label-wrapper label {
        font-size: 13.5pt;
        color: var(--text-color); }
      .component.form > form .generated-form-entry .label-wrapper .required-star {
        font-weight: bold; }
      .component.form > form .generated-form-entry .input-wrapper {
        width: 100%; }
        .component.form > form .generated-form-entry .input-wrapper input[type=radio] {
          width: 1.5em;
          height: 1.5em; }
        .component.form > form .generated-form-entry .input-wrapper.text input, .component.form > form .generated-form-entry .input-wrapper.number input, .component.form > form .generated-form-entry .input-wrapper.email input, .component.form > form .generated-form-entry .input-wrapper.password input, .component.form > form .generated-form-entry .input-wrapper.date input, .component.form > form .generated-form-entry .input-wrapper.time input {
          padding: 0.35em 0.5em;
          border: 1px var(--border-color) solid;
          border-radius: 2px;
          font-size: 11pt;
          width: calc(100% - 1em - 2px); }
        .component.form > form .generated-form-entry .input-wrapper.textarea textarea {
          padding: 0.35em 0.5em;
          border: 1px var(--border-color) solid;
          border-radius: 2px;
          font-size: 11pt;
          width: calc(100% - 1em - 2px);
          resize: vertical;
          height: 10em; }
        .component.form > form .generated-form-entry .input-wrapper.select select, .component.form > form .generated-form-entry .input-wrapper.yesno select {
          padding: 0.35em 0.5em;
          border: 1px var(--border-color) solid;
          background-color: white;
          border-radius: 2px;
          font-size: 11pt;
          width: calc(100%); }
        .component.form > form .generated-form-entry .input-wrapper.checkbox input {
          width: 1.5em;
          height: 1.5em;
          margin-left: 0; }
        .component.form > form .generated-form-entry .input-wrapper.radiogroup input {
          transform: translateY(2px); }
        .component.form > form .generated-form-entry .input-wrapper.radiogroup .radiogroup {
          display: flex;
          flex-direction: row;
          gap: 1em; }
          .component.form > form .generated-form-entry .input-wrapper.radiogroup .radiogroup .radiogroup-item label {
            color: var(--text-color); }
.component.simple-footer .main-footer {
  position: relative;
  width: calc(100vw - 8em);
  padding: 3em 4em 1em;
  background-color: var(--base-color); }
.component.simple-footer .logo:not(.logo-text) {
  max-width: 10em;
  max-height: 7.5em; }
.component.simple-footer .logo-text {
  text-align: center;
  font-size: 24pt;
  margin-top: 0;
  color: var(--contrast-base-color); }
.component.simple-footer .footer-copyright {
  text-align: center;
  font-size: 11pt;
  color: var(--contrast-base-color);
  max-width: 50vw;
  margin: 1em auto; }
.component.simple-footer .footer-made-with {
  position: absolute;
  right: 0.5em;
  bottom: 0.5em; }
  .component.simple-footer .footer-made-with img {
    max-width: 8em;
    max-height: 8em; }
.component.simple-footer .component.columns {
  padding: 1em 0 2em; }
.component.simple-footer .column h5 {
  color: var(--contrast-base-color);
  width: 100%;
  text-align: center;
  margin: 0;
  font-size: 14pt; }
.component.simple-footer .column ul {
  list-style: none;
  margin: 1em 0;
  padding: 0;
  width: 100%;
  text-align: center; }
  .component.simple-footer .column ul li {
    margin: 0.5em 0; }
    .component.simple-footer .column ul li a, .component.simple-footer .column ul li p, .component.simple-footer .column ul li span {
      text-decoration: none;
      color: var(--contrast-base-color); }

form input[type=number].number-field-no-arrows {
  -moz-appearance: textfield; }
  form input[type=number].number-field-no-arrows::-webkit-inner-spin-button, form input[type=number].number-field-no-arrows::-webkit-outer-spin-button {
    -webkit-appearance: none;
    margin: 0; }

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