/*-----------------------------------------------------------*/
/* Template                                                  */
/*-----------------------------------------------------------*/

body {
  -webkit-hyphenate-limit-chars: 6 3 3;
  -webkit-hyphenate-limit-before: 3;
  -webkit-hyphenate-limit-after: 3;
  -webkit-hyphenate-limit-lines: 2;

  -moz-hyphenate-limit-chars: 6 3 3;

  -ms-hyphenate-limit-lines: 2;
  -ms-hyphenate-limit-chars: 6 3 3;

  hyphenate-limit-chars: 6 3 3;
  hyphenate-limit-lines: 2;
  -webkit-font-smoothing: antialiased;
}

a {
  color: inherit;
}

svg {
  display: block;
}

/* Utility Classes */

[lang]:not([lang="de"]) [cb-lang-element="de"],
[lang]:not([lang="fr"]) [cb-lang-element="fr"],
[lang]:not([lang="it"]) [cb-lang-element="it"],
[lang]:not([lang="en"]) [cb-lang-element="en"] {
  display: none;
}

.utl__hidden {
  display: none;
}

.utl__inline {
  display: inline;
}

.utl__hyphens {
  -webkit-hyphens: auto;
  -ms-hyphens: auto;
  hyphens: auto;
}

/* Hide Scrollbar */

[cb-scrollbar-hidden="true"]::-webkit-scrollbar {
  display: none;
}

[cb-scrollbar-hidden="true"]::-webkit-scrollbar {
  display: none;
}

body.utl-locked {
  overflow: hidden !important;
}

/* remove webkit styles from Form Fields */

input,
select {
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
}

/* Different CSS for touch devices */

@media (hover: hover) and (pointer: fine) {}

@media (hover: none) and (pointer: coarse) {}

/* Rich Text */

.utl__rich-text ol li {
  counter-increment: step-counter;
}

.utl__rich-text ol li::before {
  content: counter(step-counter);
  position: absolute;
  left: 0;
  width: 26px;
  height: 26px;
  font-size: 14px;
  color: #111111;
  font-weight: 500;
  background-color: #f3f4f5;
  border-radius: 99px;
  text-align: center;
  line-height: 28px;
}

/* Remove top padding and top margin on the first elements of the default rich text fields */

.utl__rich-text>*:first-child {
  margin-top: 0;
  padding-top: 0;
}

/* Colored selection */

/*
::selection {
  background: rgb(67, 83, 255);
  color: white;
}
::-moz-selection {
  background: rgb(67, 83, 255);
  color: white;
}
*/

/* Hides Headings and Links in the Header Symbols when they're empty */

.utl-header__text-wrapper .wf-empty,
.utl-header__text-wrapper *:empty,
.utl-header__wrapper .utl__button[href="#"] {
  display: none;
}

/* hides the last paragraph in rich text elements when they're empty */

.w-richtext p:last-child:empty {
  display: none;
}

/* hides the progressbar from Weglot */

body .wg-progress {
  background-color: transparent;
  box-shadow: none;
  display: none;
}

body .wg-progress-bar {
  background-color: transparent;
  box-shadow: none;
  display: none;
}

/*-----------------------------------------------------------*/
/* Templates                                                 */
/*-----------------------------------------------------------*/

/* Modal */

.utl-modal.hidden,
.utl-modal__background {
  pointer-events: none;
}

.utl-modal.hidden {
  z-index: 999990;
}

.utl-modal__background * {
  pointer-events: auto;
}

.utl-modal {
  overflow-y: scroll;
}

.utl-modal.hidden .utl-modal__block {
  -webkit-transform: translate(0, 20px);
  -ms-transform: translate(0, 20px);
  transform: translate(0, 20px);
  opacity: 0;
}

.utl-modal.hidden .utl-modal__background {
  opacity: 0;
}

/*-----------------------------------------------------------*/
/* Custom CSS                                                */
/*-----------------------------------------------------------*/

.test {
  background-color: red;
}

@media (hover: hover) and (pointer: fine) {

  .utl__btn:hover {
    opacity: 0.5;
  }

  .utl__btn:hover .utl__btn-icon {
    transform: translate(4px);
  }

  .utl__btn-2.is-back:hover .utl__btn-icon {
    transform: translate(-4px);
    opacity: 1;
  }

  .utl__btn-2.is-next:hover .utl__btn-icon {
    transform: translate(4px);
    opacity: 1;
  }

  .utl__textlink:hover {
    opacity: 0.5;
    transform: translate(4px);
  }

  .utl__textlink.is-secondary:hover {
    color: white;
    transform: translate(0px);
  }

  .swiper-button-prev:hover {
    opacity: 0.5;
  }

  .swiper-button-prev:hover .utl__slider-arrow-left {
    transform: translate(-4px);
  }

  .swiper-button-next:hover {
    opacity: 0.5;
  }

  .swiper-button-next:hover .utl__slider-arrow-right {
    transform: translate(4px);
  }

  .utl__close-btn:hover {
    opacity: 0.5;
  }

}

.utl__bg {
  background: linear-gradient(5deg, black, #0c0c0c, #5f5f5f);
  background-size: 400% 400%;
  animation: gradient 5s ease infinite;
  height: 100vh;
}

@keyframes gradient {
  0% {
    background-position: 0% 50%;
  }

  50% {
    background-position: 100% 50%;
  }

  100% {
    background-position: 0% 50%;
  }
}

/*-----------------------------------------------------------*/
/* Page Load                                                */
/*-----------------------------------------------------------*/

body:not(.body-ready) .p-load__item {
  transform: translateY(20px);
  opacity: 0;
}

.p-load__item {
  transition-duration: 2s;
  transition-timing-function: cubic-bezier(.23, 1, .32, 1);
  transition-property: opacity, transform;
}
