html {
  --navbar-padding-y: 45px;
  --navbar-logo-height: 75px;
  --navbar-height: calc(
    var(--navbar-padding-y) * 2 + var(--navbar-logo-height)
  );

  @media (min-width: 768px) {
    --navbar-logo-height: 90px;
  }

  --color-primary: #6e46ff;
  --color-cta: #ffd200;

  --h1: 45px;
  --h2: 30px;
  --h3: 22px;
  --h4: 26px;
  --h5: 40px;
  --h6: 35px;
  --h7: 18px;
  --h8: 18px;

  .navbar .nav-item .nav-link, .navbar .nav-item .nav-link:focus {
    padding-left:  10px;
    padding-right: 10px;
  }

  @media (min-width: 992px)  {
    --h1: 52.8px;
    --h2: 35.2px;
    --h3: 19.4px;
    --h4: 26.4px;
    --h5: 79.2px;
    --h6: 52.8px;
    --h7: 16px;
    --h8: 16px;

    .navbar .nav-item .nav-link, .navbar .nav-item .nav-link:focus {
      font-size: 14px;
    }
  }

  @media (min-width: 1400px) {
    --h1: 60px;
    --h2: 40px;
    --h3: 22px;
    --h4: 30px;
    --h5: 90px;
    --h6: 60px;
    --h7: 18px;
    --h8: 18px;

    .navbar .nav-item .nav-link, .navbar .nav-item .nav-link:focus {
      padding-left:  13px;
      padding-right: 13px;

      font-size: 15px;
    }
  }

  @media (min-width: 1650px) {
    .navbar .nav-item .nav-link, .navbar .nav-item .nav-link:focus {
      padding-left:  18px;
      padding-right: 18px;

      font-size: var(--h7);
    }
  }
}

.color-primary {
  color: var(--color-primary) !important;
}
.color-cta {
  color: var(--color-cta) !important;
}
.color-black {
  color: black !important;
}
.color-white {
  color: white !important;
}

.bg-primary,
a.bg-primary:hover {
  background-color: var(--color-primary) !important;
}
.bg-cta,
a.bg-cta:hover {
  background-color: var(--color-cta) !important;
}
.bg-black,
a.bg-black:hover {
  background-color: black !important;
}
.bg-white,
a.bg-white:hover {
  background-color: white !important;
  color: black;
}

.max-w-sm {
  max-width: 576px !important;
}

.max-w-md {
  max-width: 768px !important;
}

.max-w-lg {
  max-width: 992px !important;
}

.max-w-xl {
  max-width: 1200px !important;
}

.w-fit {
  width: fit-content;
}
.h-fit {
  height: fit-content;
}

.inset-0 {
  inset: 0;
}
.inset-1 {
  inset: 0.25rem;
}
.inset-2 {
  inset: 0.5rem;
}
.inset-3 {
  inset: 1rem;
}
.inset-4 {
  inset: 1.5rem;
}
.inset-5 {
  inset: 3rem;
}
.inset-6 {
  inset: 5.25rem;
}

.w-100-1 {
  width: calc(100% - 2 * 0.25rem);
}
.w-100-2 {
  width: calc(100% - 2 * 0.5rem);
}
.w-100-3 {
  width: calc(100% - 2 * 1rem);
}
.w-100-4 {
  width: calc(100% - 2 * 1.5rem);
}
.w-100-5 {
  width: calc(100% - 2 * 3rem);
}
.w-100-6 {
  width: calc(100% - 2 * 5.25rem);
}

.h-100-1 {
  height: calc(100% - 2 * 0.25rem);
}
.h-100-2 {
  height: calc(100% - 2 * 0.5rem);
}
.h-100-3 {
  height: calc(100% - 2 * 1rem);
}
.h-100-4 {
  height: calc(100% - 2 * 1.5rem);
}
.h-100-5 {
  height: calc(100% - 2 * 3rem);
}
.h-100-6 {
  height: calc(100% - 2 * 5.25rem);
}

.flex-grow {
  flex-grow: 1;
}

.flex-shrink-0 {
  flex-shrink: 0;
}

.p-6,
.pt-6,
.py-6 {
  padding-top: 5.25rem !important;
}
.p-6,
.pr-6,
.px-6 {
  padding-right: 5.25rem !important;
}
.p-6,
.pb-6,
.py-6 {
  padding-bottom: 5.25rem !important;
}
.p-6,
.pl-6,
.px-6 {
  padding-left: 5.25rem !important;
}
.m-6,
.mt-6,
.my-6 {
  margin-top: 5.25rem !important;
}
.m-6,
.mr-6,
.mx-6 {
  margin-right: 5.25rem !important;
}
.m-6,
.mb-6,
.my-6 {
  margin-bottom: 5.25rem !important;
}
.m-6,
.ml-6,
.mx-6 {
  margin-left: 5.25rem !important;
}

@media (min-width: 768px) {
  .pt-md-6,
  .py-md-6 {
    padding-top: 5.25rem !important;
  }
  .pr-md-6,
  .px-md-6 {
    padding-right: 5.25rem !important;
  }
  .pb-md-6,
  .py-md-6 {
    padding-bottom: 5.25rem !important;
  }
  .pl-md-6,
  .px-md-6 {
    padding-left: 5.25rem !important;
  }
  .mt-md-6,
  .my-md-6 {
    margin-top: 5.25rem !important;
  }
  .mr-md-6,
  .mx-md-6 {
    margin-right: 5.25rem !important;
  }
  .mb-md-6,
  .my-md-6 {
    margin-bottom: 5.25rem !important;
  }
  .ml-md-6,
  .mx-md-6 {
    margin-left: 5.25rem !important;
  }
}

@media (min-width: 992px) {
  .pt-lg-6,
  .py-lg-6 {
    padding-top: 5.25rem !important;
  }
  .pr-lg-6,
  .px-lg-6 {
    padding-right: 5.25rem !important;
  }
  .pb-lg-6,
  .py-lg-6 {
    padding-bottom: 5.25rem !important;
  }
  .pl-lg-6,
  .px-lg-6 {
    padding-left: 5.25rem !important;
  }
  .mt-lg-6,
  .my-lg-6 {
    margin-top: 5.25rem !important;
  }
  .mr-lg-6,
  .mx-lg-6 {
    margin-right: 5.25rem !important;
  }
  .mb-lg-6,
  .my-lg-6 {
    margin-bottom: 5.25rem !important;
  }
  .ml-lg-6,
  .mx-lg-6 {
    margin-left: 5.25rem !important;
  }
}

.object-fit-contain {
  object-fit: contain !important;
}

.object-fit-cover {
  object-fit: cover !important;
}

* {
  padding: 0;
  margin: 0;
  transition: all 0.3s ease-in-out;
}

html {
  scroll-behavior: smooth;
}

body {
  background-color: black;
  color: white;
  font-family: PoppinsRegular !important;
}

@media (min-width: 1350px) {
  .container {
    max-width: 1250px;
  }
}

@media (min-width: 1600px) {
  .container {
    max-width: 1500px;
  }
}

.navbar {
  padding: var(--navbar-padding-y) 30px;
}

.navbar .navbar-brand {
  padding: 0;
}

.navbar .navbar-brand img {
  height: var(--navbar-logo-height);
  transition: height 0.35s ease-in-out;
}

.navbar .navbar-nav {
  width: 100%;
  margin-top: 30px;
  gap: 15px;
}

@media (min-width: 1400px) {
  .navbar .container {
    max-width: calc(100vw - 250px);
  }
}

.navbar .nav-item {
  padding: 5px 0;
  display: flex;
  justify-content: start;
  align-items: center;
}

.navbar .nav-item .nav-link,
.navbar .nav-item .nav-link:focus {
  text-transform: uppercase;
  text-align: center;

  --color: 255, 255, 255;
  color: rgb(var(--color));
  border-radius: 9999px;

  padding-top: 4px;
  padding-bottom: 0px;
}

.navbar .nav-item .nav-link:hover,
.navbar .nav-item.highlighted .nav-link {
  color: var(--color-cta);
}

.navbar .nav-item.active .nav-link {
  background-color: white;
  color: black;
}

.navbar .nav-item.active:hover .nav-link {
  background-color: var(--color-primary);
  color: white;
}

.navbar.scrolled,
.navbar:has(.navbar-collapse.collapsing:not(.show)),
.navbar:has(.navbar-collapse.show) {
 /* --navbar-logo-height: 75px;
  --navbar-padding-y: 35px; */

  background: transparent;
  /* backdrop-filter: blur(14px); */
  /* background-color: rgba(0 0 0 / 85%); */
  box-shadow: 0 0 25px rgba(0 0 0 / 50%);
}

.navbar::before {
  position: absolute;
  content: "";
  height: 100%;
  width: 100%;
  top: 0;
  left: 0;

  background-color: rgba(0 0 0 / 0%);
  pointer-events: none;
}

.navbar.scrolled::before,
.navbar:has(.navbar-collapse.collapsing:not(.show))::before,
.navbar:has(.navbar-collapse.show)::before {
  z-index: -1;
  background-color: rgba(0 0 0 / 85%);
  backdrop-filter: blur(14px);
}

@media (min-width: 1200px) {
  .navbar .navbar-nav {
    gap: 0;
    margin-top: 0;
  }

  .navbar .navbar-brand img {
    margin-right: 20px;
  }

  .navbar .navbar-brand img {
    /* margin-right: 100px; */
  }

  .navbar .nav-item {
    justify-content: center;
  }
}

h1,
.h1,
h2,
.h2,
h3,
.h3,
h4,
.h4,
h5,
.h5,
h6,
.h6,
.h7,
.h8 {
  margin-bottom: unset;
}

.h1 {
  font-size: var(--h1);
  font-family: PoppinsSemiBold !important;
}

.h2 {
  font-size: var(--h2);
  font-family: PoppinsSemiBold !important;
}

.h3 {
  font-size: var(--h3);
  font-family: PoppinsRegular !important;
}

.h4 {
  font-size: var(--h4);
  font-family: PoppinsRegular !important;
}

.h5 {
  font-size: var(--h5);
  font-family: PoppinsSemiBold !important;
}

.h6 {
  font-size: var(--h6);
  font-family: PoppinsRegular !important;
}

.h7 {
  font-size: var(--h7);
  font-family: PoppinsSemiBold !important;
}

.h8 {
  font-size: var(--h8);
  font-family: PoppinsRegular !important;
}

.semibold {
  font-family: PoppinsSemiBold !important;
}

.gap-btn {
  gap: 1rem !important;
}

.btn {
  background-color: var(--color-cta);
  font-size: var(--h3);
  color: black;
  border-radius: 9999px;

  padding: 2px 27.5px;
  padding-bottom: 0;
}

.btn-wide {
  padding-left: 32px;
  padding-right: 32px;
}

.btn-sm {
  width: 200px;
}

.btn-md {
  width: 250px;
}

.btn-lg {
  width: 350px;
}

.btn-xl {
}

@media (max-width: 576px) {
  .btn-sm,
  .btn-md,
  .btn-lg,
  .btn-xl {
    width: 100%;
  }
}

.btn:hover {
  background-color: var(--color-primary);
  color: white;
}

.btn-on-primary {
  border: unset !important;
}

.btn-on-primary:hover,
.btn-on-primary:active {
  background-color: white !important;
  color: black !important;
}

.turbine {
  max-width: 300px;
}

@media (min-width: 768px) {
  .turbine {
    max-width: 550px;
  }
}

.rounded {
  border-radius: 15px !important;
}

.choice-card {
  position: relative;
  max-width: var(--max-width);
  transition: ease-in-out 0.1s !important;
  text-decoration: none !important;

  cursor: pointer;
}

.choice-card:hover {
  z-index: 10;
  transform: scale(1.02);
}

.choice-card:hover .choice-card-img {
  box-shadow: 0 3px 20px 0 rgba(0 0 0 / 10%);
}

.choice-card .choice-card-img {
  width: 100%;
  height: 100%;
  aspect-ratio: var(--aspect-ratio);
  object-fit: cover;
}

.choice-card .choice-card-title {
  height: fit-content;
  width: 100%;

  position: absolute;
  bottom: 0;
  left: 0;
  right: 0;

  padding: 1rem;
  text-align: center;

  color: black;
  background-color: rgba(255 255 255 / 75%);
}

.choice-card:hover .choice-card-title {
  backdrop-filter: blur(3px);
  background-color: rgba(255 255 255 / 80%);
}

.choice-card-container {
  --aspect-ratio: 3/2;
  --max-width: 480px;

  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  gap: 5rem;
}

@media (min-width: 992px) {
  .choice-card-container {
    gap: 15px;
    align-items: start;
    flex-direction: row;
  }
}

@media (min-width: 1200px) {
  .choice-card span {
    padding: 1.5rem;
  }
}

.partners {
  position: relative;
}

.partners .owl-nav {
  margin-top: 0;

  position: absolute;
  inset: 0;
}

.partners-container {
  --partners-padding-x: 4rem;

  padding-left: var(--partners-padding-x);
  padding-right: var(--partners-padding-x);
}

@media (min-width: 576px) {
  .partners-container {
    --partners-padding-x: 8rem;
  }
}

.partners .owl-nav button.owl-prev,
.partners .owl-nav button.owl-next {
  --offset: calc(50% + 0.5 * var(--partners-padding-x));

  margin: 0;
  height: 100%;
  width: 23px;

  background-repeat: no-repeat !important;
  background-size: 100% !important;
  background-position: center !important;
  color: transparent !important;
  background-color: transparent !important;
  outline: none !important;
}

.partners .owl-nav button.owl-prev {
  transform: translateX(calc(-1 * var(--offset)));
  float: left;
  background-image: url("/images/frontend/arrow-prev.svg") !important;
}

.partners .owl-nav button.owl-next {
  transform: translateX(var(--offset));
  float: right;
  background-image: url("/images/frontend/arrow-next.svg") !important;
}

.title-shadow {
  text-shadow: 0 0 20px rgba(0 0 0 / 40%);
}

.rich-text :last-child {
  margin-bottom: 0 !important;
}

.rich-text ul {
  margin-left: 15px;
}

@media (min-width: 1200px) {
  .pt-desktop {
    padding-top: 10rem !important;
  }
}

.clients {
  position: relative;
}

/*(1) owl-stage box*/
.clients .owl-stage {
  display: flex;
}
/*(2) the direct div of each element in the owl carousel*/
.clients .article-items {
  height: 100%;
}

.clients .owl-nav {
  margin-top: 0;

  position: absolute;
  inset: 0;
}

.clients .owl-nav button.owl-prev,
.clients .owl-nav button.owl-next {
  --offset: calc(100% + 8px);
  width: 15px;

  margin: 0;
  height: 100%;

  background-repeat: no-repeat !important;
  background-size: 100% !important;
  background-position: center !important;
  color: transparent !important;
  background-color: transparent !important;
  outline: none !important;
  filter: brightness(0);
}

@media (min-width: 768px) {
  .clients .owl-nav button.owl-prev,
  .clients .owl-nav button.owl-next {
    --offset: calc(100% + 25px);
    width: 23px;
  }
}

@media (min-width: 992px) {
  .clients .owl-nav button.owl-prev,
  .clients .owl-nav button.owl-next {
    --offset: calc(100% + 35px);
  }
}

@media (min-width: 1500px) {
  .clients .owl-nav button.owl-prev,
  .clients .owl-nav button.owl-next {
    --offset: calc(100% + 100px);
  }
}

.clients .owl-nav button.owl-prev {
  transform: translateX(calc(-1 * var(--offset)));
  float: left;
  background-image: url("/images/frontend/arrow-prev.svg") !important;
}

.clients .owl-nav button.owl-next {
  transform: translateX(var(--offset));
  float: right;
  background-image: url("/images/frontend/arrow-next.svg") !important;
}

footer {
  padding-top: 3rem;
  padding-bottom: 4.5rem;
}

footer ul {
  list-style: none;
  margin-bottom: 0;
}

footer a {
  color: white;
  text-decoration: none;
}

footer a:hover {
  color: var(--color-cta);
  text-decoration: none;
}

footer .logo {
  padding-bottom: 0.9rem;
  max-width: 300px;
}

@media (min-width: 992px) {
  footer {
    padding-top: 4.5rem;
  }

  footer .logo {
    padding-right: 7rem;
    max-width: 500px;
  }
}

@media (max-width: 768px) {
  .mobile-no-br br {
    display: none;
  }
}

.carousel-indicators {
  gap: 10px;
  margin-bottom: 20px;
}

.carousel-indicators li {
  cursor: pointer;

  border-radius: 100%;
  width: 16px;
  height: 16px;

  border: 5px solid transparent !important;

  outline: 1px solid white;
  outline-offset: -1px;
  background-color: transparent;
}

.carousel-indicators li.active {
  background-color: white;
}

.btn-choice {
  width: fit-content;
  min-width: 250px;
}

@media (min-width: 576px) {
  .btn-choice {
    max-width: 250px;
  }
}

.contact-input {
  border: none !important;
  outline: none !important;

  cursor: pointer !important;

  font-size: var(--h3);

  background-color: white;
  color: black;

  padding-top: 4px;
  padding-bottom: 1px;

  padding-left: 23px;
  padding-right: 23px;

  border-radius: 1.3em;
  resize: none;
}

.contact-input::placeholder {
  color: #6e6e6e;
  color: black;
}

@media (min-width: 992px) {
  textarea.contact-input {
    padding-left: 40px;
    padding-right: 40px;
  }
}

.contact-input:hover {
  background-color: var(--color-cta);
}

.gdpr-checkbox {
  cursor: pointer;

  display: flex;
  justify-content: center;
  align-items: center;
  flex-shrink: 0;

  height: calc(var(--h3) * 1.5 + 5px);
  width: calc(var(--h3) * 1.5 + 5px);

  border-radius: 100%;
  background-color: white;
}

.gdpr-checkbox i {
  color: black !important;
}

.gdpr-checkbox:not(.checked) i {
  display: none !important;
}

.gdpr-checkbox:hover {
  background-color: var(--color-cta);
}

.pictogram {
  height: calc(var(--h2) * 1.2 * 2);
  width: calc(var(--h2) * 1.2 * 2);
  object-fit: contain;
}

/* ------------------------------------------------------------
   Navbar dropdown behavior
   - Mobile (<=768px): keep dropdown trees hidden (we use mobile-subnav)
   - Desktop/tablet (>768px): open dropdowns on hover
------------------------------------------------------------ */

@media (max-width: 768px) {
  .dropdown > .dropdown-menu {
    display: none !important;
  }

  /* prevent Bootstrap's .show from forcing menus open on mobile */
  .dropdown-menu.show {
    display: none !important;
  }
}

@media (min-width: 769px) {
  .dropdown > .dropdown-menu {
    display: none; /* allow hover rule to win */
  }

  .navbar .dropdown:hover > .dropdown-menu {
    display: block;
    margin-top: 0; /* remove the gap so it doesn't close */
  }

  .navbar .dropdown-submenu:hover > .dropdown-menu {
    display: block;
  }

  /* if Bootstrap adds .show, don't hide it on desktop */
  .dropdown-menu.show {
    display: block;
  }
}

.nav-link.dropdown-toggle::after {
  display: none !important;
}

.dropdown-submenu {
  position: relative;
}

.dropdown-submenu a::after {
  transform: rotate(-90deg);
  position: absolute;
  right: 15px;
  top: 0.8em;
}

.nav-item > .dropdown-menu {
  position: relative;
  background: transparent;

  padding: 15px 0;
  background-color: transparent;
  border: none;

  .dropdown-submenu .dropdown-item {
    color: white;
    font-family: PoppinsSemiBold;
    font-size: var(--h7);
  }
}

/* (moved above into mobile-only rules) */

.nav-item > .dropdown-menu::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;

  background-color: rgba(0 0 0 / 85%);
  backdrop-filter: blur(14px);
  border-radius: 15px;
}

.dropdown-submenu .dropdown-menu {
  /* top: 0; */
  top: -15px;
  left: 100%;
  /* margin-top: -54px; */
  margin-top: 0;
  /* margin-left: 0.5rem; */

  padding: 30px 0;
  border-radius: 15px;
  background-color: rgba(0 0 0 / 85%);
  backdrop-filter: blur(14px);
  border: none;

  position: relative;

  row-gap: 2rem;

  flex-wrap: wrap;
}

.dropdown-submenu .dropdown-item {
  padding-right: 40px;
}

.dropdown-submenu .dropdown-menu::before {
  content: "";
  position: absolute;
  z-index: -1;
  top: 0;
  left: -0.5rem;
  width: calc(100% + 0.5rem);
  height: 100%;
}

.dropdown-menu-column {
  width: 100%;
}

.dropdown-menu-column .dropdown-item {
    font-family: PoppinsExtraLight !important;
}

.dropdown-item,
.dropdown-menu-column li span {
  font-family: PoppinsSemiBold !important;
  font-size: var(--h7);
  padding: 30px;
  padding-top: 5px;
  padding-bottom: 3px;
}

.dropdown-menu-column li:first-of-type:has(span) {
  margin-bottom: 5px;
  color: var(--color-cta);
}

.dropdown-item {
  background-color: transparent !important;
}

.dropdown-item:hover {
  background-color: var(--color-cta) !important;
  color: black !important;
}

.dropdown-submenu:hover > .dropdown-menu {
    max-height: var(--dynamic-height, calc(100dvh - 70px));
    overflow-y: auto;
  display: flex;
}

.nav-link.dropdown-toggle {
  padding-right: 0;
}

@media (max-width: 768px) {
  .navbar .navbar-brand img {
    width: auto;
    max-width: 100%;
    height: auto;
    max-height: var(--navbar-logo-height);
  }

  /* Make the opened hamburger menu scrollable */
  #navbarNav.show {
    max-height: calc(100dvh - 110px);
    overflow-y: auto;
    -webkit-overflow-scrolling: touch;
  }

  /* Stack items vertically in hamburger */
  #navbarNav .nav-item {
    flex-direction: column;
    align-items: flex-start;
    width: 100%;
  }

  #navbarNav .nav-item > .nav-link {
    width: 100%;
    text-align: left;
  }

  /* main items (Pre firmy / Pre domácnosti) in hamburger */
  #navbarNav .nav-item.highlighted > .nav-link {
    color: var(--color-cta) !important;
  }

  /* appended mobile subnav under the parent item */
  #navbarNav .mobile-subnav {
    width: 100%;
    padding-left: 15px;
    padding-top: 6px;
    display: flex;
    flex-direction: column;
    gap: 6px;
  }

  #navbarNav .mobile-subnav-link {
    display: block !important;
    width: 100%;
    color: #fff;
    text-decoration: none;
    padding: 0;
    font-family: PoppinsRegular;
    font-size: var(--h7);
  }

  #navbarNav .mobile-subnav-link:hover {
    color: var(--color-cta);
    text-decoration: none;
  }
}


.docs-table {
  position: relative;
}

.docs-table__scroll {
  overflow-x: auto;
  overflow-y: hidden;
  -webkit-overflow-scrolling: touch;
}

.docs-table__table {
  min-width: 720px;
}

.docs-table::after {
  content: "";
  position: absolute;
  top: 0;
  right: 0;
  width: 28px;
  height: 100%;
  pointer-events: none;
  background: linear-gradient(to right, rgba(255, 255, 255, 0), rgba(255, 255, 255, 0.95));
}

@media (max-width: 768px) {
  .docs-table__scroll {
    padding-bottom: 2px;
  }
}

#description {
    display: flex;
    flex-direction: column;
}

#description img {
    max-width: 100%;
    height: auto;
    border-radius: 0.5rem;
    margin: 1.5rem 0;
}

.btn.focus, .btn:focus {
    box-shadow: none !important;
}


.newsletter-alert {
  padding: 10px 25px;
  position: fixed;
  top: 25px;
  left: 50px;
  width: calc(100% - 100px);
  background: rgba(255, 255, 255, 0.75); }
  .newsletter-alert h3 {
    text-align: center;
    font-size: 25px;
    margin: 0; }
  .newsletter-alert.success h3 {
    color: #a5ff93; }
  .newsletter-alert.fail h3 {
    color: #ff6f6f; }

[protected_domain] {
  position: relative; }
  [protected_domain][protected_domain_revealed="true"]:after {
    display: none !important; }
  [protected_domain]:after {
    content: 'viac';
    position: absolute;
    right: -5px;
    top: 0;
    height: 100%;
    background: white;
    border: 1px solid #eee;
    padding: 0 6px;
    color: #555;
    border-radius: 10px;
    box-shadow: -3px 0px 4px 1px #fff; }

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