@charset "UTF-8";
@import url("https://fonts.googleapis.com/css2?family=Poppins:ital,wght@0,100;0,200;0,300;0,400;0,500;0,600;0,700;0,800;0,900;1,100;1,200;1,300;1,400;1,500;1,600;1,700;1,800;1,900&display=swap");
h1, .h1, h2, .h2, h4, .h4, h5, .h5 {
  font-family: "Poppins", sans-serif;
}

h3, .h3 {
  font-family: "Poppins", sans-serif;
}

p, li, button, a, span, label, input, small, .small, table, select {
  font-family: "Poppins", sans-serif !important;
}

/*!
 * Bootstrap Grid v5.3.8 (https://getbootstrap.com/)
 * Copyright 2011-2025 The Bootstrap Authors
 * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)
 */
.container,
.container-fluid,
.container-xxl,
.container-xl,
.container-lg,
.container-md,
.container-sm {
  --bs-gutter-x: 1.5rem;
  --bs-gutter-y: 0;
  width: 100%;
  padding-right: calc(var(--bs-gutter-x) * 0.5);
  padding-left: calc(var(--bs-gutter-x) * 0.5);
  margin-right: auto;
  margin-left: auto;
}

@media (min-width: 576px) {
  .container-sm, .container {
    max-width: 540px;
  }
}
@media (min-width: 768px) {
  .container-md, .container-sm, .container {
    max-width: 720px;
  }
}
@media (min-width: 992px) {
  .container-lg, .container-md, .container-sm, .container {
    max-width: 960px;
  }
}
@media (min-width: 1200px) {
  .container-xl, .container-lg, .container-md, .container-sm, .container {
    max-width: 1140px;
  }
}
@media (min-width: 1400px) {
  .container-xxl, .container-xl, .container-lg, .container-md, .container-sm, .container {
    max-width: 1320px;
  }
}
:root {
  --bs-breakpoint-xs: 0;
  --bs-breakpoint-sm: 576px;
  --bs-breakpoint-md: 768px;
  --bs-breakpoint-lg: 992px;
  --bs-breakpoint-xl: 1200px;
  --bs-breakpoint-xxl: 1400px;
}

.row {
  --bs-gutter-x: 1.5rem;
  --bs-gutter-y: 0;
  display: flex;
  flex-wrap: wrap;
  margin-top: calc(-1 * var(--bs-gutter-y));
  margin-right: calc(-0.5 * var(--bs-gutter-x));
  margin-left: calc(-0.5 * var(--bs-gutter-x));
}
.row > * {
  box-sizing: border-box;
  flex-shrink: 0;
  width: 100%;
  max-width: 100%;
  padding-right: calc(var(--bs-gutter-x) * 0.5);
  padding-left: calc(var(--bs-gutter-x) * 0.5);
  margin-top: var(--bs-gutter-y);
}

.col {
  flex: 1 0 0;
}

.row-cols-auto > * {
  flex: 0 0 auto;
  width: auto;
}

.row-cols-1 > * {
  flex: 0 0 auto;
  width: 100%;
}

.row-cols-2 > * {
  flex: 0 0 auto;
  width: 50%;
}

.row-cols-3 > * {
  flex: 0 0 auto;
  width: 33.33333333%;
}

.row-cols-4 > * {
  flex: 0 0 auto;
  width: 25%;
}

.row-cols-5 > * {
  flex: 0 0 auto;
  width: 20%;
}

.row-cols-6 > * {
  flex: 0 0 auto;
  width: 16.66666667%;
}

.col-auto {
  flex: 0 0 auto;
  width: auto;
}

.col-1 {
  flex: 0 0 auto;
  width: 8.33333333%;
}

.col-2 {
  flex: 0 0 auto;
  width: 16.66666667%;
}

.col-3 {
  flex: 0 0 auto;
  width: 25%;
}

.col-4 {
  flex: 0 0 auto;
  width: 33.33333333%;
}

.col-5 {
  flex: 0 0 auto;
  width: 41.66666667%;
}

.col-6 {
  flex: 0 0 auto;
  width: 50%;
}

.col-7 {
  flex: 0 0 auto;
  width: 58.33333333%;
}

.col-8 {
  flex: 0 0 auto;
  width: 66.66666667%;
}

.col-9 {
  flex: 0 0 auto;
  width: 75%;
}

.col-10 {
  flex: 0 0 auto;
  width: 83.33333333%;
}

.col-11 {
  flex: 0 0 auto;
  width: 91.66666667%;
}

.col-12 {
  flex: 0 0 auto;
  width: 100%;
}

.offset-1 {
  margin-left: 8.33333333%;
}

.offset-2 {
  margin-left: 16.66666667%;
}

.offset-3 {
  margin-left: 25%;
}

.offset-4 {
  margin-left: 33.33333333%;
}

.offset-5 {
  margin-left: 41.66666667%;
}

.offset-6 {
  margin-left: 50%;
}

.offset-7 {
  margin-left: 58.33333333%;
}

.offset-8 {
  margin-left: 66.66666667%;
}

.offset-9 {
  margin-left: 75%;
}

.offset-10 {
  margin-left: 83.33333333%;
}

.offset-11 {
  margin-left: 91.66666667%;
}

.g-0,
.gx-0 {
  --bs-gutter-x: 0;
}

.g-0,
.gy-0 {
  --bs-gutter-y: 0;
}

.g-1,
.gx-1 {
  --bs-gutter-x: 0.25rem;
}

.g-1,
.gy-1 {
  --bs-gutter-y: 0.25rem;
}

.g-2,
.gx-2 {
  --bs-gutter-x: 0.5rem;
}

.g-2,
.gy-2 {
  --bs-gutter-y: 0.5rem;
}

.g-3,
.gx-3 {
  --bs-gutter-x: 1rem;
}

.g-3,
.gy-3 {
  --bs-gutter-y: 1rem;
}

.g-4,
.gx-4 {
  --bs-gutter-x: 1.5rem;
}

.g-4,
.gy-4 {
  --bs-gutter-y: 1.5rem;
}

.g-5,
.gx-5 {
  --bs-gutter-x: 3rem;
}

.g-5,
.gy-5 {
  --bs-gutter-y: 3rem;
}

@media (min-width: 576px) {
  .col-sm {
    flex: 1 0 0;
  }
  .row-cols-sm-auto > * {
    flex: 0 0 auto;
    width: auto;
  }
  .row-cols-sm-1 > * {
    flex: 0 0 auto;
    width: 100%;
  }
  .row-cols-sm-2 > * {
    flex: 0 0 auto;
    width: 50%;
  }
  .row-cols-sm-3 > * {
    flex: 0 0 auto;
    width: 33.33333333%;
  }
  .row-cols-sm-4 > * {
    flex: 0 0 auto;
    width: 25%;
  }
  .row-cols-sm-5 > * {
    flex: 0 0 auto;
    width: 20%;
  }
  .row-cols-sm-6 > * {
    flex: 0 0 auto;
    width: 16.66666667%;
  }
  .col-sm-auto {
    flex: 0 0 auto;
    width: auto;
  }
  .col-sm-1 {
    flex: 0 0 auto;
    width: 8.33333333%;
  }
  .col-sm-2 {
    flex: 0 0 auto;
    width: 16.66666667%;
  }
  .col-sm-3 {
    flex: 0 0 auto;
    width: 25%;
  }
  .col-sm-4 {
    flex: 0 0 auto;
    width: 33.33333333%;
  }
  .col-sm-5 {
    flex: 0 0 auto;
    width: 41.66666667%;
  }
  .col-sm-6 {
    flex: 0 0 auto;
    width: 50%;
  }
  .col-sm-7 {
    flex: 0 0 auto;
    width: 58.33333333%;
  }
  .col-sm-8 {
    flex: 0 0 auto;
    width: 66.66666667%;
  }
  .col-sm-9 {
    flex: 0 0 auto;
    width: 75%;
  }
  .col-sm-10 {
    flex: 0 0 auto;
    width: 83.33333333%;
  }
  .col-sm-11 {
    flex: 0 0 auto;
    width: 91.66666667%;
  }
  .col-sm-12 {
    flex: 0 0 auto;
    width: 100%;
  }
  .offset-sm-0 {
    margin-left: 0;
  }
  .offset-sm-1 {
    margin-left: 8.33333333%;
  }
  .offset-sm-2 {
    margin-left: 16.66666667%;
  }
  .offset-sm-3 {
    margin-left: 25%;
  }
  .offset-sm-4 {
    margin-left: 33.33333333%;
  }
  .offset-sm-5 {
    margin-left: 41.66666667%;
  }
  .offset-sm-6 {
    margin-left: 50%;
  }
  .offset-sm-7 {
    margin-left: 58.33333333%;
  }
  .offset-sm-8 {
    margin-left: 66.66666667%;
  }
  .offset-sm-9 {
    margin-left: 75%;
  }
  .offset-sm-10 {
    margin-left: 83.33333333%;
  }
  .offset-sm-11 {
    margin-left: 91.66666667%;
  }
  .g-sm-0,
  .gx-sm-0 {
    --bs-gutter-x: 0;
  }
  .g-sm-0,
  .gy-sm-0 {
    --bs-gutter-y: 0;
  }
  .g-sm-1,
  .gx-sm-1 {
    --bs-gutter-x: 0.25rem;
  }
  .g-sm-1,
  .gy-sm-1 {
    --bs-gutter-y: 0.25rem;
  }
  .g-sm-2,
  .gx-sm-2 {
    --bs-gutter-x: 0.5rem;
  }
  .g-sm-2,
  .gy-sm-2 {
    --bs-gutter-y: 0.5rem;
  }
  .g-sm-3,
  .gx-sm-3 {
    --bs-gutter-x: 1rem;
  }
  .g-sm-3,
  .gy-sm-3 {
    --bs-gutter-y: 1rem;
  }
  .g-sm-4,
  .gx-sm-4 {
    --bs-gutter-x: 1.5rem;
  }
  .g-sm-4,
  .gy-sm-4 {
    --bs-gutter-y: 1.5rem;
  }
  .g-sm-5,
  .gx-sm-5 {
    --bs-gutter-x: 3rem;
  }
  .g-sm-5,
  .gy-sm-5 {
    --bs-gutter-y: 3rem;
  }
}
@media (min-width: 768px) {
  .col-md {
    flex: 1 0 0;
  }
  .row-cols-md-auto > * {
    flex: 0 0 auto;
    width: auto;
  }
  .row-cols-md-1 > * {
    flex: 0 0 auto;
    width: 100%;
  }
  .row-cols-md-2 > * {
    flex: 0 0 auto;
    width: 50%;
  }
  .row-cols-md-3 > * {
    flex: 0 0 auto;
    width: 33.33333333%;
  }
  .row-cols-md-4 > * {
    flex: 0 0 auto;
    width: 25%;
  }
  .row-cols-md-5 > * {
    flex: 0 0 auto;
    width: 20%;
  }
  .row-cols-md-6 > * {
    flex: 0 0 auto;
    width: 16.66666667%;
  }
  .col-md-auto {
    flex: 0 0 auto;
    width: auto;
  }
  .col-md-1 {
    flex: 0 0 auto;
    width: 8.33333333%;
  }
  .col-md-2 {
    flex: 0 0 auto;
    width: 16.66666667%;
  }
  .col-md-3 {
    flex: 0 0 auto;
    width: 25%;
  }
  .col-md-4 {
    flex: 0 0 auto;
    width: 33.33333333%;
  }
  .col-md-5 {
    flex: 0 0 auto;
    width: 41.66666667%;
  }
  .col-md-6 {
    flex: 0 0 auto;
    width: 50%;
  }
  .col-md-7 {
    flex: 0 0 auto;
    width: 58.33333333%;
  }
  .col-md-8 {
    flex: 0 0 auto;
    width: 66.66666667%;
  }
  .col-md-9 {
    flex: 0 0 auto;
    width: 75%;
  }
  .col-md-10 {
    flex: 0 0 auto;
    width: 83.33333333%;
  }
  .col-md-11 {
    flex: 0 0 auto;
    width: 91.66666667%;
  }
  .col-md-12 {
    flex: 0 0 auto;
    width: 100%;
  }
  .offset-md-0 {
    margin-left: 0;
  }
  .offset-md-1 {
    margin-left: 8.33333333%;
  }
  .offset-md-2 {
    margin-left: 16.66666667%;
  }
  .offset-md-3 {
    margin-left: 25%;
  }
  .offset-md-4 {
    margin-left: 33.33333333%;
  }
  .offset-md-5 {
    margin-left: 41.66666667%;
  }
  .offset-md-6 {
    margin-left: 50%;
  }
  .offset-md-7 {
    margin-left: 58.33333333%;
  }
  .offset-md-8 {
    margin-left: 66.66666667%;
  }
  .offset-md-9 {
    margin-left: 75%;
  }
  .offset-md-10 {
    margin-left: 83.33333333%;
  }
  .offset-md-11 {
    margin-left: 91.66666667%;
  }
  .g-md-0,
  .gx-md-0 {
    --bs-gutter-x: 0;
  }
  .g-md-0,
  .gy-md-0 {
    --bs-gutter-y: 0;
  }
  .g-md-1,
  .gx-md-1 {
    --bs-gutter-x: 0.25rem;
  }
  .g-md-1,
  .gy-md-1 {
    --bs-gutter-y: 0.25rem;
  }
  .g-md-2,
  .gx-md-2 {
    --bs-gutter-x: 0.5rem;
  }
  .g-md-2,
  .gy-md-2 {
    --bs-gutter-y: 0.5rem;
  }
  .g-md-3,
  .gx-md-3 {
    --bs-gutter-x: 1rem;
  }
  .g-md-3,
  .gy-md-3 {
    --bs-gutter-y: 1rem;
  }
  .g-md-4,
  .gx-md-4 {
    --bs-gutter-x: 1.5rem;
  }
  .g-md-4,
  .gy-md-4 {
    --bs-gutter-y: 1.5rem;
  }
  .g-md-5,
  .gx-md-5 {
    --bs-gutter-x: 3rem;
  }
  .g-md-5,
  .gy-md-5 {
    --bs-gutter-y: 3rem;
  }
}
@media (min-width: 992px) {
  .col-lg {
    flex: 1 0 0;
  }
  .row-cols-lg-auto > * {
    flex: 0 0 auto;
    width: auto;
  }
  .row-cols-lg-1 > * {
    flex: 0 0 auto;
    width: 100%;
  }
  .row-cols-lg-2 > * {
    flex: 0 0 auto;
    width: 50%;
  }
  .row-cols-lg-3 > * {
    flex: 0 0 auto;
    width: 33.33333333%;
  }
  .row-cols-lg-4 > * {
    flex: 0 0 auto;
    width: 25%;
  }
  .row-cols-lg-5 > * {
    flex: 0 0 auto;
    width: 20%;
  }
  .row-cols-lg-6 > * {
    flex: 0 0 auto;
    width: 16.66666667%;
  }
  .col-lg-auto {
    flex: 0 0 auto;
    width: auto;
  }
  .col-lg-1 {
    flex: 0 0 auto;
    width: 8.33333333%;
  }
  .col-lg-2 {
    flex: 0 0 auto;
    width: 16.66666667%;
  }
  .col-lg-3 {
    flex: 0 0 auto;
    width: 25%;
  }
  .col-lg-4 {
    flex: 0 0 auto;
    width: 33.33333333%;
  }
  .col-lg-5 {
    flex: 0 0 auto;
    width: 41.66666667%;
  }
  .col-lg-6 {
    flex: 0 0 auto;
    width: 50%;
  }
  .col-lg-7 {
    flex: 0 0 auto;
    width: 58.33333333%;
  }
  .col-lg-8 {
    flex: 0 0 auto;
    width: 66.66666667%;
  }
  .col-lg-9 {
    flex: 0 0 auto;
    width: 75%;
  }
  .col-lg-10 {
    flex: 0 0 auto;
    width: 83.33333333%;
  }
  .col-lg-11 {
    flex: 0 0 auto;
    width: 91.66666667%;
  }
  .col-lg-12 {
    flex: 0 0 auto;
    width: 100%;
  }
  .offset-lg-0 {
    margin-left: 0;
  }
  .offset-lg-1 {
    margin-left: 8.33333333%;
  }
  .offset-lg-2 {
    margin-left: 16.66666667%;
  }
  .offset-lg-3 {
    margin-left: 25%;
  }
  .offset-lg-4 {
    margin-left: 33.33333333%;
  }
  .offset-lg-5 {
    margin-left: 41.66666667%;
  }
  .offset-lg-6 {
    margin-left: 50%;
  }
  .offset-lg-7 {
    margin-left: 58.33333333%;
  }
  .offset-lg-8 {
    margin-left: 66.66666667%;
  }
  .offset-lg-9 {
    margin-left: 75%;
  }
  .offset-lg-10 {
    margin-left: 83.33333333%;
  }
  .offset-lg-11 {
    margin-left: 91.66666667%;
  }
  .g-lg-0,
  .gx-lg-0 {
    --bs-gutter-x: 0;
  }
  .g-lg-0,
  .gy-lg-0 {
    --bs-gutter-y: 0;
  }
  .g-lg-1,
  .gx-lg-1 {
    --bs-gutter-x: 0.25rem;
  }
  .g-lg-1,
  .gy-lg-1 {
    --bs-gutter-y: 0.25rem;
  }
  .g-lg-2,
  .gx-lg-2 {
    --bs-gutter-x: 0.5rem;
  }
  .g-lg-2,
  .gy-lg-2 {
    --bs-gutter-y: 0.5rem;
  }
  .g-lg-3,
  .gx-lg-3 {
    --bs-gutter-x: 1rem;
  }
  .g-lg-3,
  .gy-lg-3 {
    --bs-gutter-y: 1rem;
  }
  .g-lg-4,
  .gx-lg-4 {
    --bs-gutter-x: 1.5rem;
  }
  .g-lg-4,
  .gy-lg-4 {
    --bs-gutter-y: 1.5rem;
  }
  .g-lg-5,
  .gx-lg-5 {
    --bs-gutter-x: 3rem;
  }
  .g-lg-5,
  .gy-lg-5 {
    --bs-gutter-y: 3rem;
  }
}
@media (min-width: 1200px) {
  .col-xl {
    flex: 1 0 0;
  }
  .row-cols-xl-auto > * {
    flex: 0 0 auto;
    width: auto;
  }
  .row-cols-xl-1 > * {
    flex: 0 0 auto;
    width: 100%;
  }
  .row-cols-xl-2 > * {
    flex: 0 0 auto;
    width: 50%;
  }
  .row-cols-xl-3 > * {
    flex: 0 0 auto;
    width: 33.33333333%;
  }
  .row-cols-xl-4 > * {
    flex: 0 0 auto;
    width: 25%;
  }
  .row-cols-xl-5 > * {
    flex: 0 0 auto;
    width: 20%;
  }
  .row-cols-xl-6 > * {
    flex: 0 0 auto;
    width: 16.66666667%;
  }
  .col-xl-auto {
    flex: 0 0 auto;
    width: auto;
  }
  .col-xl-1 {
    flex: 0 0 auto;
    width: 8.33333333%;
  }
  .col-xl-2 {
    flex: 0 0 auto;
    width: 16.66666667%;
  }
  .col-xl-3 {
    flex: 0 0 auto;
    width: 25%;
  }
  .col-xl-4 {
    flex: 0 0 auto;
    width: 33.33333333%;
  }
  .col-xl-5 {
    flex: 0 0 auto;
    width: 41.66666667%;
  }
  .col-xl-6 {
    flex: 0 0 auto;
    width: 50%;
  }
  .col-xl-7 {
    flex: 0 0 auto;
    width: 58.33333333%;
  }
  .col-xl-8 {
    flex: 0 0 auto;
    width: 66.66666667%;
  }
  .col-xl-9 {
    flex: 0 0 auto;
    width: 75%;
  }
  .col-xl-10 {
    flex: 0 0 auto;
    width: 83.33333333%;
  }
  .col-xl-11 {
    flex: 0 0 auto;
    width: 91.66666667%;
  }
  .col-xl-12 {
    flex: 0 0 auto;
    width: 100%;
  }
  .offset-xl-0 {
    margin-left: 0;
  }
  .offset-xl-1 {
    margin-left: 8.33333333%;
  }
  .offset-xl-2 {
    margin-left: 16.66666667%;
  }
  .offset-xl-3 {
    margin-left: 25%;
  }
  .offset-xl-4 {
    margin-left: 33.33333333%;
  }
  .offset-xl-5 {
    margin-left: 41.66666667%;
  }
  .offset-xl-6 {
    margin-left: 50%;
  }
  .offset-xl-7 {
    margin-left: 58.33333333%;
  }
  .offset-xl-8 {
    margin-left: 66.66666667%;
  }
  .offset-xl-9 {
    margin-left: 75%;
  }
  .offset-xl-10 {
    margin-left: 83.33333333%;
  }
  .offset-xl-11 {
    margin-left: 91.66666667%;
  }
  .g-xl-0,
  .gx-xl-0 {
    --bs-gutter-x: 0;
  }
  .g-xl-0,
  .gy-xl-0 {
    --bs-gutter-y: 0;
  }
  .g-xl-1,
  .gx-xl-1 {
    --bs-gutter-x: 0.25rem;
  }
  .g-xl-1,
  .gy-xl-1 {
    --bs-gutter-y: 0.25rem;
  }
  .g-xl-2,
  .gx-xl-2 {
    --bs-gutter-x: 0.5rem;
  }
  .g-xl-2,
  .gy-xl-2 {
    --bs-gutter-y: 0.5rem;
  }
  .g-xl-3,
  .gx-xl-3 {
    --bs-gutter-x: 1rem;
  }
  .g-xl-3,
  .gy-xl-3 {
    --bs-gutter-y: 1rem;
  }
  .g-xl-4,
  .gx-xl-4 {
    --bs-gutter-x: 1.5rem;
  }
  .g-xl-4,
  .gy-xl-4 {
    --bs-gutter-y: 1.5rem;
  }
  .g-xl-5,
  .gx-xl-5 {
    --bs-gutter-x: 3rem;
  }
  .g-xl-5,
  .gy-xl-5 {
    --bs-gutter-y: 3rem;
  }
}
@media (min-width: 1400px) {
  .col-xxl {
    flex: 1 0 0;
  }
  .row-cols-xxl-auto > * {
    flex: 0 0 auto;
    width: auto;
  }
  .row-cols-xxl-1 > * {
    flex: 0 0 auto;
    width: 100%;
  }
  .row-cols-xxl-2 > * {
    flex: 0 0 auto;
    width: 50%;
  }
  .row-cols-xxl-3 > * {
    flex: 0 0 auto;
    width: 33.33333333%;
  }
  .row-cols-xxl-4 > * {
    flex: 0 0 auto;
    width: 25%;
  }
  .row-cols-xxl-5 > * {
    flex: 0 0 auto;
    width: 20%;
  }
  .row-cols-xxl-6 > * {
    flex: 0 0 auto;
    width: 16.66666667%;
  }
  .col-xxl-auto {
    flex: 0 0 auto;
    width: auto;
  }
  .col-xxl-1 {
    flex: 0 0 auto;
    width: 8.33333333%;
  }
  .col-xxl-2 {
    flex: 0 0 auto;
    width: 16.66666667%;
  }
  .col-xxl-3 {
    flex: 0 0 auto;
    width: 25%;
  }
  .col-xxl-4 {
    flex: 0 0 auto;
    width: 33.33333333%;
  }
  .col-xxl-5 {
    flex: 0 0 auto;
    width: 41.66666667%;
  }
  .col-xxl-6 {
    flex: 0 0 auto;
    width: 50%;
  }
  .col-xxl-7 {
    flex: 0 0 auto;
    width: 58.33333333%;
  }
  .col-xxl-8 {
    flex: 0 0 auto;
    width: 66.66666667%;
  }
  .col-xxl-9 {
    flex: 0 0 auto;
    width: 75%;
  }
  .col-xxl-10 {
    flex: 0 0 auto;
    width: 83.33333333%;
  }
  .col-xxl-11 {
    flex: 0 0 auto;
    width: 91.66666667%;
  }
  .col-xxl-12 {
    flex: 0 0 auto;
    width: 100%;
  }
  .offset-xxl-0 {
    margin-left: 0;
  }
  .offset-xxl-1 {
    margin-left: 8.33333333%;
  }
  .offset-xxl-2 {
    margin-left: 16.66666667%;
  }
  .offset-xxl-3 {
    margin-left: 25%;
  }
  .offset-xxl-4 {
    margin-left: 33.33333333%;
  }
  .offset-xxl-5 {
    margin-left: 41.66666667%;
  }
  .offset-xxl-6 {
    margin-left: 50%;
  }
  .offset-xxl-7 {
    margin-left: 58.33333333%;
  }
  .offset-xxl-8 {
    margin-left: 66.66666667%;
  }
  .offset-xxl-9 {
    margin-left: 75%;
  }
  .offset-xxl-10 {
    margin-left: 83.33333333%;
  }
  .offset-xxl-11 {
    margin-left: 91.66666667%;
  }
  .g-xxl-0,
  .gx-xxl-0 {
    --bs-gutter-x: 0;
  }
  .g-xxl-0,
  .gy-xxl-0 {
    --bs-gutter-y: 0;
  }
  .g-xxl-1,
  .gx-xxl-1 {
    --bs-gutter-x: 0.25rem;
  }
  .g-xxl-1,
  .gy-xxl-1 {
    --bs-gutter-y: 0.25rem;
  }
  .g-xxl-2,
  .gx-xxl-2 {
    --bs-gutter-x: 0.5rem;
  }
  .g-xxl-2,
  .gy-xxl-2 {
    --bs-gutter-y: 0.5rem;
  }
  .g-xxl-3,
  .gx-xxl-3 {
    --bs-gutter-x: 1rem;
  }
  .g-xxl-3,
  .gy-xxl-3 {
    --bs-gutter-y: 1rem;
  }
  .g-xxl-4,
  .gx-xxl-4 {
    --bs-gutter-x: 1.5rem;
  }
  .g-xxl-4,
  .gy-xxl-4 {
    --bs-gutter-y: 1.5rem;
  }
  .g-xxl-5,
  .gx-xxl-5 {
    --bs-gutter-x: 3rem;
  }
  .g-xxl-5,
  .gy-xxl-5 {
    --bs-gutter-y: 3rem;
  }
}
.d-inline {
  display: inline !important;
}

.d-inline-block {
  display: inline-block !important;
}

.d-block {
  display: block !important;
}

.d-grid {
  display: grid !important;
}

.d-inline-grid {
  display: inline-grid !important;
}

.d-table {
  display: table !important;
}

.d-table-row {
  display: table-row !important;
}

.d-table-cell {
  display: table-cell !important;
}

.d-flex {
  display: flex !important;
}

.d-inline-flex {
  display: inline-flex !important;
}

.d-none {
  display: none !important;
}

.flex-fill {
  flex: 1 1 auto !important;
}

.flex-row {
  flex-direction: row !important;
}

.flex-column {
  flex-direction: column !important;
}

.flex-row-reverse {
  flex-direction: row-reverse !important;
}

.flex-column-reverse {
  flex-direction: column-reverse !important;
}

.flex-grow-0 {
  flex-grow: 0 !important;
}

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

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

.flex-shrink-1 {
  flex-shrink: 1 !important;
}

.flex-wrap {
  flex-wrap: wrap !important;
}

.flex-nowrap {
  flex-wrap: nowrap !important;
}

.flex-wrap-reverse {
  flex-wrap: wrap-reverse !important;
}

.justify-content-start {
  justify-content: flex-start !important;
}

.justify-content-end {
  justify-content: flex-end !important;
}

.justify-content-center {
  justify-content: center !important;
}

.justify-content-between {
  justify-content: space-between !important;
}

.justify-content-around {
  justify-content: space-around !important;
}

.justify-content-evenly {
  justify-content: space-evenly !important;
}

.align-items-start {
  align-items: flex-start !important;
}

.align-items-end {
  align-items: flex-end !important;
}

.align-items-center {
  align-items: center !important;
}

.align-items-baseline {
  align-items: baseline !important;
}

.align-items-stretch {
  align-items: stretch !important;
}

.align-content-start {
  align-content: flex-start !important;
}

.align-content-end {
  align-content: flex-end !important;
}

.align-content-center {
  align-content: center !important;
}

.align-content-between {
  align-content: space-between !important;
}

.align-content-around {
  align-content: space-around !important;
}

.align-content-stretch {
  align-content: stretch !important;
}

.align-self-auto {
  align-self: auto !important;
}

.align-self-start {
  align-self: flex-start !important;
}

.align-self-end {
  align-self: flex-end !important;
}

.align-self-center {
  align-self: center !important;
}

.align-self-baseline {
  align-self: baseline !important;
}

.align-self-stretch {
  align-self: stretch !important;
}

.order-first {
  order: -1 !important;
}

.order-0 {
  order: 0 !important;
}

.order-1 {
  order: 1 !important;
}

.order-2 {
  order: 2 !important;
}

.order-3 {
  order: 3 !important;
}

.order-4 {
  order: 4 !important;
}

.order-5 {
  order: 5 !important;
}

.order-last {
  order: 6 !important;
}

.m-0 {
  margin: 0 !important;
}

.m-1 {
  margin: 0.25rem !important;
}

.m-2 {
  margin: 0.5rem !important;
}

.m-3 {
  margin: 1rem !important;
}

.m-4 {
  margin: 1.5rem !important;
}

.m-5 {
  margin: 3rem !important;
}

.m-auto {
  margin: auto !important;
}

.mx-0 {
  margin-right: 0 !important;
  margin-left: 0 !important;
}

.mx-1 {
  margin-right: 0.25rem !important;
  margin-left: 0.25rem !important;
}

.mx-2 {
  margin-right: 0.5rem !important;
  margin-left: 0.5rem !important;
}

.mx-3 {
  margin-right: 1rem !important;
  margin-left: 1rem !important;
}

.mx-4 {
  margin-right: 1.5rem !important;
  margin-left: 1.5rem !important;
}

.mx-5 {
  margin-right: 3rem !important;
  margin-left: 3rem !important;
}

.mx-auto {
  margin-right: auto !important;
  margin-left: auto !important;
}

.my-0 {
  margin-top: 0 !important;
  margin-bottom: 0 !important;
}

.my-1 {
  margin-top: 0.25rem !important;
  margin-bottom: 0.25rem !important;
}

.my-2 {
  margin-top: 0.5rem !important;
  margin-bottom: 0.5rem !important;
}

.my-3 {
  margin-top: 1rem !important;
  margin-bottom: 1rem !important;
}

.my-4 {
  margin-top: 1.5rem !important;
  margin-bottom: 1.5rem !important;
}

.my-5 {
  margin-top: 3rem !important;
  margin-bottom: 3rem !important;
}

.my-auto {
  margin-top: auto !important;
  margin-bottom: auto !important;
}

.mt-0 {
  margin-top: 0 !important;
}

.mt-1 {
  margin-top: 0.25rem !important;
}

.mt-2 {
  margin-top: 0.5rem !important;
}

.mt-3 {
  margin-top: 1rem !important;
}

.mt-4 {
  margin-top: 1.5rem !important;
}

.mt-5 {
  margin-top: 3rem !important;
}

.mt-auto {
  margin-top: auto !important;
}

.me-0 {
  margin-right: 0 !important;
}

.me-1 {
  margin-right: 0.25rem !important;
}

.me-2 {
  margin-right: 0.5rem !important;
}

.me-3 {
  margin-right: 1rem !important;
}

.me-4 {
  margin-right: 1.5rem !important;
}

.me-5 {
  margin-right: 3rem !important;
}

.me-auto {
  margin-right: auto !important;
}

.mb-0 {
  margin-bottom: 0 !important;
}

.mb-1 {
  margin-bottom: 0.25rem !important;
}

.mb-2 {
  margin-bottom: 0.5rem !important;
}

.mb-3 {
  margin-bottom: 1rem !important;
}

.mb-4 {
  margin-bottom: 1.5rem !important;
}

.mb-5 {
  margin-bottom: 3rem !important;
}

.mb-auto {
  margin-bottom: auto !important;
}

.ms-0 {
  margin-left: 0 !important;
}

.ms-1 {
  margin-left: 0.25rem !important;
}

.ms-2 {
  margin-left: 0.5rem !important;
}

.ms-3 {
  margin-left: 1rem !important;
}

.ms-4 {
  margin-left: 1.5rem !important;
}

.ms-5 {
  margin-left: 3rem !important;
}

.ms-auto {
  margin-left: auto !important;
}

.p-0 {
  padding: 0 !important;
}

.p-1 {
  padding: 0.25rem !important;
}

.p-2 {
  padding: 0.5rem !important;
}

.p-3 {
  padding: 1rem !important;
}

.p-4 {
  padding: 1.5rem !important;
}

.p-5 {
  padding: 3rem !important;
}

.px-0 {
  padding-right: 0 !important;
  padding-left: 0 !important;
}

.px-1 {
  padding-right: 0.25rem !important;
  padding-left: 0.25rem !important;
}

.px-2 {
  padding-right: 0.5rem !important;
  padding-left: 0.5rem !important;
}

.px-3 {
  padding-right: 1rem !important;
  padding-left: 1rem !important;
}

.px-4 {
  padding-right: 1.5rem !important;
  padding-left: 1.5rem !important;
}

.px-5 {
  padding-right: 3rem !important;
  padding-left: 3rem !important;
}

.py-0 {
  padding-top: 0 !important;
  padding-bottom: 0 !important;
}

.py-1 {
  padding-top: 0.25rem !important;
  padding-bottom: 0.25rem !important;
}

.py-2 {
  padding-top: 0.5rem !important;
  padding-bottom: 0.5rem !important;
}

.py-3 {
  padding-top: 1rem !important;
  padding-bottom: 1rem !important;
}

.py-4 {
  padding-top: 1.5rem !important;
  padding-bottom: 1.5rem !important;
}

.py-5 {
  padding-top: 3rem !important;
  padding-bottom: 3rem !important;
}

.pt-0 {
  padding-top: 0 !important;
}

.pt-1 {
  padding-top: 0.25rem !important;
}

.pt-2 {
  padding-top: 0.5rem !important;
}

.pt-3 {
  padding-top: 1rem !important;
}

.pt-4 {
  padding-top: 1.5rem !important;
}

.pt-5 {
  padding-top: 3rem !important;
}

.pe-0 {
  padding-right: 0 !important;
}

.pe-1 {
  padding-right: 0.25rem !important;
}

.pe-2 {
  padding-right: 0.5rem !important;
}

.pe-3 {
  padding-right: 1rem !important;
}

.pe-4 {
  padding-right: 1.5rem !important;
}

.pe-5 {
  padding-right: 3rem !important;
}

.pb-0 {
  padding-bottom: 0 !important;
}

.pb-1 {
  padding-bottom: 0.25rem !important;
}

.pb-2 {
  padding-bottom: 0.5rem !important;
}

.pb-3 {
  padding-bottom: 1rem !important;
}

.pb-4 {
  padding-bottom: 1.5rem !important;
}

.pb-5 {
  padding-bottom: 3rem !important;
}

.ps-0 {
  padding-left: 0 !important;
}

.ps-1 {
  padding-left: 0.25rem !important;
}

.ps-2 {
  padding-left: 0.5rem !important;
}

.ps-3 {
  padding-left: 1rem !important;
}

.ps-4 {
  padding-left: 1.5rem !important;
}

.ps-5 {
  padding-left: 3rem !important;
}

@media (min-width: 576px) {
  .d-sm-inline {
    display: inline !important;
  }
  .d-sm-inline-block {
    display: inline-block !important;
  }
  .d-sm-block {
    display: block !important;
  }
  .d-sm-grid {
    display: grid !important;
  }
  .d-sm-inline-grid {
    display: inline-grid !important;
  }
  .d-sm-table {
    display: table !important;
  }
  .d-sm-table-row {
    display: table-row !important;
  }
  .d-sm-table-cell {
    display: table-cell !important;
  }
  .d-sm-flex {
    display: flex !important;
  }
  .d-sm-inline-flex {
    display: inline-flex !important;
  }
  .d-sm-none {
    display: none !important;
  }
  .flex-sm-fill {
    flex: 1 1 auto !important;
  }
  .flex-sm-row {
    flex-direction: row !important;
  }
  .flex-sm-column {
    flex-direction: column !important;
  }
  .flex-sm-row-reverse {
    flex-direction: row-reverse !important;
  }
  .flex-sm-column-reverse {
    flex-direction: column-reverse !important;
  }
  .flex-sm-grow-0 {
    flex-grow: 0 !important;
  }
  .flex-sm-grow-1 {
    flex-grow: 1 !important;
  }
  .flex-sm-shrink-0 {
    flex-shrink: 0 !important;
  }
  .flex-sm-shrink-1 {
    flex-shrink: 1 !important;
  }
  .flex-sm-wrap {
    flex-wrap: wrap !important;
  }
  .flex-sm-nowrap {
    flex-wrap: nowrap !important;
  }
  .flex-sm-wrap-reverse {
    flex-wrap: wrap-reverse !important;
  }
  .justify-content-sm-start {
    justify-content: flex-start !important;
  }
  .justify-content-sm-end {
    justify-content: flex-end !important;
  }
  .justify-content-sm-center {
    justify-content: center !important;
  }
  .justify-content-sm-between {
    justify-content: space-between !important;
  }
  .justify-content-sm-around {
    justify-content: space-around !important;
  }
  .justify-content-sm-evenly {
    justify-content: space-evenly !important;
  }
  .align-items-sm-start {
    align-items: flex-start !important;
  }
  .align-items-sm-end {
    align-items: flex-end !important;
  }
  .align-items-sm-center {
    align-items: center !important;
  }
  .align-items-sm-baseline {
    align-items: baseline !important;
  }
  .align-items-sm-stretch {
    align-items: stretch !important;
  }
  .align-content-sm-start {
    align-content: flex-start !important;
  }
  .align-content-sm-end {
    align-content: flex-end !important;
  }
  .align-content-sm-center {
    align-content: center !important;
  }
  .align-content-sm-between {
    align-content: space-between !important;
  }
  .align-content-sm-around {
    align-content: space-around !important;
  }
  .align-content-sm-stretch {
    align-content: stretch !important;
  }
  .align-self-sm-auto {
    align-self: auto !important;
  }
  .align-self-sm-start {
    align-self: flex-start !important;
  }
  .align-self-sm-end {
    align-self: flex-end !important;
  }
  .align-self-sm-center {
    align-self: center !important;
  }
  .align-self-sm-baseline {
    align-self: baseline !important;
  }
  .align-self-sm-stretch {
    align-self: stretch !important;
  }
  .order-sm-first {
    order: -1 !important;
  }
  .order-sm-0 {
    order: 0 !important;
  }
  .order-sm-1 {
    order: 1 !important;
  }
  .order-sm-2 {
    order: 2 !important;
  }
  .order-sm-3 {
    order: 3 !important;
  }
  .order-sm-4 {
    order: 4 !important;
  }
  .order-sm-5 {
    order: 5 !important;
  }
  .order-sm-last {
    order: 6 !important;
  }
  .m-sm-0 {
    margin: 0 !important;
  }
  .m-sm-1 {
    margin: 0.25rem !important;
  }
  .m-sm-2 {
    margin: 0.5rem !important;
  }
  .m-sm-3 {
    margin: 1rem !important;
  }
  .m-sm-4 {
    margin: 1.5rem !important;
  }
  .m-sm-5 {
    margin: 3rem !important;
  }
  .m-sm-auto {
    margin: auto !important;
  }
  .mx-sm-0 {
    margin-right: 0 !important;
    margin-left: 0 !important;
  }
  .mx-sm-1 {
    margin-right: 0.25rem !important;
    margin-left: 0.25rem !important;
  }
  .mx-sm-2 {
    margin-right: 0.5rem !important;
    margin-left: 0.5rem !important;
  }
  .mx-sm-3 {
    margin-right: 1rem !important;
    margin-left: 1rem !important;
  }
  .mx-sm-4 {
    margin-right: 1.5rem !important;
    margin-left: 1.5rem !important;
  }
  .mx-sm-5 {
    margin-right: 3rem !important;
    margin-left: 3rem !important;
  }
  .mx-sm-auto {
    margin-right: auto !important;
    margin-left: auto !important;
  }
  .my-sm-0 {
    margin-top: 0 !important;
    margin-bottom: 0 !important;
  }
  .my-sm-1 {
    margin-top: 0.25rem !important;
    margin-bottom: 0.25rem !important;
  }
  .my-sm-2 {
    margin-top: 0.5rem !important;
    margin-bottom: 0.5rem !important;
  }
  .my-sm-3 {
    margin-top: 1rem !important;
    margin-bottom: 1rem !important;
  }
  .my-sm-4 {
    margin-top: 1.5rem !important;
    margin-bottom: 1.5rem !important;
  }
  .my-sm-5 {
    margin-top: 3rem !important;
    margin-bottom: 3rem !important;
  }
  .my-sm-auto {
    margin-top: auto !important;
    margin-bottom: auto !important;
  }
  .mt-sm-0 {
    margin-top: 0 !important;
  }
  .mt-sm-1 {
    margin-top: 0.25rem !important;
  }
  .mt-sm-2 {
    margin-top: 0.5rem !important;
  }
  .mt-sm-3 {
    margin-top: 1rem !important;
  }
  .mt-sm-4 {
    margin-top: 1.5rem !important;
  }
  .mt-sm-5 {
    margin-top: 3rem !important;
  }
  .mt-sm-auto {
    margin-top: auto !important;
  }
  .me-sm-0 {
    margin-right: 0 !important;
  }
  .me-sm-1 {
    margin-right: 0.25rem !important;
  }
  .me-sm-2 {
    margin-right: 0.5rem !important;
  }
  .me-sm-3 {
    margin-right: 1rem !important;
  }
  .me-sm-4 {
    margin-right: 1.5rem !important;
  }
  .me-sm-5 {
    margin-right: 3rem !important;
  }
  .me-sm-auto {
    margin-right: auto !important;
  }
  .mb-sm-0 {
    margin-bottom: 0 !important;
  }
  .mb-sm-1 {
    margin-bottom: 0.25rem !important;
  }
  .mb-sm-2 {
    margin-bottom: 0.5rem !important;
  }
  .mb-sm-3 {
    margin-bottom: 1rem !important;
  }
  .mb-sm-4 {
    margin-bottom: 1.5rem !important;
  }
  .mb-sm-5 {
    margin-bottom: 3rem !important;
  }
  .mb-sm-auto {
    margin-bottom: auto !important;
  }
  .ms-sm-0 {
    margin-left: 0 !important;
  }
  .ms-sm-1 {
    margin-left: 0.25rem !important;
  }
  .ms-sm-2 {
    margin-left: 0.5rem !important;
  }
  .ms-sm-3 {
    margin-left: 1rem !important;
  }
  .ms-sm-4 {
    margin-left: 1.5rem !important;
  }
  .ms-sm-5 {
    margin-left: 3rem !important;
  }
  .ms-sm-auto {
    margin-left: auto !important;
  }
  .p-sm-0 {
    padding: 0 !important;
  }
  .p-sm-1 {
    padding: 0.25rem !important;
  }
  .p-sm-2 {
    padding: 0.5rem !important;
  }
  .p-sm-3 {
    padding: 1rem !important;
  }
  .p-sm-4 {
    padding: 1.5rem !important;
  }
  .p-sm-5 {
    padding: 3rem !important;
  }
  .px-sm-0 {
    padding-right: 0 !important;
    padding-left: 0 !important;
  }
  .px-sm-1 {
    padding-right: 0.25rem !important;
    padding-left: 0.25rem !important;
  }
  .px-sm-2 {
    padding-right: 0.5rem !important;
    padding-left: 0.5rem !important;
  }
  .px-sm-3 {
    padding-right: 1rem !important;
    padding-left: 1rem !important;
  }
  .px-sm-4 {
    padding-right: 1.5rem !important;
    padding-left: 1.5rem !important;
  }
  .px-sm-5 {
    padding-right: 3rem !important;
    padding-left: 3rem !important;
  }
  .py-sm-0 {
    padding-top: 0 !important;
    padding-bottom: 0 !important;
  }
  .py-sm-1 {
    padding-top: 0.25rem !important;
    padding-bottom: 0.25rem !important;
  }
  .py-sm-2 {
    padding-top: 0.5rem !important;
    padding-bottom: 0.5rem !important;
  }
  .py-sm-3 {
    padding-top: 1rem !important;
    padding-bottom: 1rem !important;
  }
  .py-sm-4 {
    padding-top: 1.5rem !important;
    padding-bottom: 1.5rem !important;
  }
  .py-sm-5 {
    padding-top: 3rem !important;
    padding-bottom: 3rem !important;
  }
  .pt-sm-0 {
    padding-top: 0 !important;
  }
  .pt-sm-1 {
    padding-top: 0.25rem !important;
  }
  .pt-sm-2 {
    padding-top: 0.5rem !important;
  }
  .pt-sm-3 {
    padding-top: 1rem !important;
  }
  .pt-sm-4 {
    padding-top: 1.5rem !important;
  }
  .pt-sm-5 {
    padding-top: 3rem !important;
  }
  .pe-sm-0 {
    padding-right: 0 !important;
  }
  .pe-sm-1 {
    padding-right: 0.25rem !important;
  }
  .pe-sm-2 {
    padding-right: 0.5rem !important;
  }
  .pe-sm-3 {
    padding-right: 1rem !important;
  }
  .pe-sm-4 {
    padding-right: 1.5rem !important;
  }
  .pe-sm-5 {
    padding-right: 3rem !important;
  }
  .pb-sm-0 {
    padding-bottom: 0 !important;
  }
  .pb-sm-1 {
    padding-bottom: 0.25rem !important;
  }
  .pb-sm-2 {
    padding-bottom: 0.5rem !important;
  }
  .pb-sm-3 {
    padding-bottom: 1rem !important;
  }
  .pb-sm-4 {
    padding-bottom: 1.5rem !important;
  }
  .pb-sm-5 {
    padding-bottom: 3rem !important;
  }
  .ps-sm-0 {
    padding-left: 0 !important;
  }
  .ps-sm-1 {
    padding-left: 0.25rem !important;
  }
  .ps-sm-2 {
    padding-left: 0.5rem !important;
  }
  .ps-sm-3 {
    padding-left: 1rem !important;
  }
  .ps-sm-4 {
    padding-left: 1.5rem !important;
  }
  .ps-sm-5 {
    padding-left: 3rem !important;
  }
}
@media (min-width: 768px) {
  .d-md-inline {
    display: inline !important;
  }
  .d-md-inline-block {
    display: inline-block !important;
  }
  .d-md-block {
    display: block !important;
  }
  .d-md-grid {
    display: grid !important;
  }
  .d-md-inline-grid {
    display: inline-grid !important;
  }
  .d-md-table {
    display: table !important;
  }
  .d-md-table-row {
    display: table-row !important;
  }
  .d-md-table-cell {
    display: table-cell !important;
  }
  .d-md-flex {
    display: flex !important;
  }
  .d-md-inline-flex {
    display: inline-flex !important;
  }
  .d-md-none {
    display: none !important;
  }
  .flex-md-fill {
    flex: 1 1 auto !important;
  }
  .flex-md-row {
    flex-direction: row !important;
  }
  .flex-md-column {
    flex-direction: column !important;
  }
  .flex-md-row-reverse {
    flex-direction: row-reverse !important;
  }
  .flex-md-column-reverse {
    flex-direction: column-reverse !important;
  }
  .flex-md-grow-0 {
    flex-grow: 0 !important;
  }
  .flex-md-grow-1 {
    flex-grow: 1 !important;
  }
  .flex-md-shrink-0 {
    flex-shrink: 0 !important;
  }
  .flex-md-shrink-1 {
    flex-shrink: 1 !important;
  }
  .flex-md-wrap {
    flex-wrap: wrap !important;
  }
  .flex-md-nowrap {
    flex-wrap: nowrap !important;
  }
  .flex-md-wrap-reverse {
    flex-wrap: wrap-reverse !important;
  }
  .justify-content-md-start {
    justify-content: flex-start !important;
  }
  .justify-content-md-end {
    justify-content: flex-end !important;
  }
  .justify-content-md-center {
    justify-content: center !important;
  }
  .justify-content-md-between {
    justify-content: space-between !important;
  }
  .justify-content-md-around {
    justify-content: space-around !important;
  }
  .justify-content-md-evenly {
    justify-content: space-evenly !important;
  }
  .align-items-md-start {
    align-items: flex-start !important;
  }
  .align-items-md-end {
    align-items: flex-end !important;
  }
  .align-items-md-center {
    align-items: center !important;
  }
  .align-items-md-baseline {
    align-items: baseline !important;
  }
  .align-items-md-stretch {
    align-items: stretch !important;
  }
  .align-content-md-start {
    align-content: flex-start !important;
  }
  .align-content-md-end {
    align-content: flex-end !important;
  }
  .align-content-md-center {
    align-content: center !important;
  }
  .align-content-md-between {
    align-content: space-between !important;
  }
  .align-content-md-around {
    align-content: space-around !important;
  }
  .align-content-md-stretch {
    align-content: stretch !important;
  }
  .align-self-md-auto {
    align-self: auto !important;
  }
  .align-self-md-start {
    align-self: flex-start !important;
  }
  .align-self-md-end {
    align-self: flex-end !important;
  }
  .align-self-md-center {
    align-self: center !important;
  }
  .align-self-md-baseline {
    align-self: baseline !important;
  }
  .align-self-md-stretch {
    align-self: stretch !important;
  }
  .order-md-first {
    order: -1 !important;
  }
  .order-md-0 {
    order: 0 !important;
  }
  .order-md-1 {
    order: 1 !important;
  }
  .order-md-2 {
    order: 2 !important;
  }
  .order-md-3 {
    order: 3 !important;
  }
  .order-md-4 {
    order: 4 !important;
  }
  .order-md-5 {
    order: 5 !important;
  }
  .order-md-last {
    order: 6 !important;
  }
  .m-md-0 {
    margin: 0 !important;
  }
  .m-md-1 {
    margin: 0.25rem !important;
  }
  .m-md-2 {
    margin: 0.5rem !important;
  }
  .m-md-3 {
    margin: 1rem !important;
  }
  .m-md-4 {
    margin: 1.5rem !important;
  }
  .m-md-5 {
    margin: 3rem !important;
  }
  .m-md-auto {
    margin: auto !important;
  }
  .mx-md-0 {
    margin-right: 0 !important;
    margin-left: 0 !important;
  }
  .mx-md-1 {
    margin-right: 0.25rem !important;
    margin-left: 0.25rem !important;
  }
  .mx-md-2 {
    margin-right: 0.5rem !important;
    margin-left: 0.5rem !important;
  }
  .mx-md-3 {
    margin-right: 1rem !important;
    margin-left: 1rem !important;
  }
  .mx-md-4 {
    margin-right: 1.5rem !important;
    margin-left: 1.5rem !important;
  }
  .mx-md-5 {
    margin-right: 3rem !important;
    margin-left: 3rem !important;
  }
  .mx-md-auto {
    margin-right: auto !important;
    margin-left: auto !important;
  }
  .my-md-0 {
    margin-top: 0 !important;
    margin-bottom: 0 !important;
  }
  .my-md-1 {
    margin-top: 0.25rem !important;
    margin-bottom: 0.25rem !important;
  }
  .my-md-2 {
    margin-top: 0.5rem !important;
    margin-bottom: 0.5rem !important;
  }
  .my-md-3 {
    margin-top: 1rem !important;
    margin-bottom: 1rem !important;
  }
  .my-md-4 {
    margin-top: 1.5rem !important;
    margin-bottom: 1.5rem !important;
  }
  .my-md-5 {
    margin-top: 3rem !important;
    margin-bottom: 3rem !important;
  }
  .my-md-auto {
    margin-top: auto !important;
    margin-bottom: auto !important;
  }
  .mt-md-0 {
    margin-top: 0 !important;
  }
  .mt-md-1 {
    margin-top: 0.25rem !important;
  }
  .mt-md-2 {
    margin-top: 0.5rem !important;
  }
  .mt-md-3 {
    margin-top: 1rem !important;
  }
  .mt-md-4 {
    margin-top: 1.5rem !important;
  }
  .mt-md-5 {
    margin-top: 3rem !important;
  }
  .mt-md-auto {
    margin-top: auto !important;
  }
  .me-md-0 {
    margin-right: 0 !important;
  }
  .me-md-1 {
    margin-right: 0.25rem !important;
  }
  .me-md-2 {
    margin-right: 0.5rem !important;
  }
  .me-md-3 {
    margin-right: 1rem !important;
  }
  .me-md-4 {
    margin-right: 1.5rem !important;
  }
  .me-md-5 {
    margin-right: 3rem !important;
  }
  .me-md-auto {
    margin-right: auto !important;
  }
  .mb-md-0 {
    margin-bottom: 0 !important;
  }
  .mb-md-1 {
    margin-bottom: 0.25rem !important;
  }
  .mb-md-2 {
    margin-bottom: 0.5rem !important;
  }
  .mb-md-3 {
    margin-bottom: 1rem !important;
  }
  .mb-md-4 {
    margin-bottom: 1.5rem !important;
  }
  .mb-md-5 {
    margin-bottom: 3rem !important;
  }
  .mb-md-auto {
    margin-bottom: auto !important;
  }
  .ms-md-0 {
    margin-left: 0 !important;
  }
  .ms-md-1 {
    margin-left: 0.25rem !important;
  }
  .ms-md-2 {
    margin-left: 0.5rem !important;
  }
  .ms-md-3 {
    margin-left: 1rem !important;
  }
  .ms-md-4 {
    margin-left: 1.5rem !important;
  }
  .ms-md-5 {
    margin-left: 3rem !important;
  }
  .ms-md-auto {
    margin-left: auto !important;
  }
  .p-md-0 {
    padding: 0 !important;
  }
  .p-md-1 {
    padding: 0.25rem !important;
  }
  .p-md-2 {
    padding: 0.5rem !important;
  }
  .p-md-3 {
    padding: 1rem !important;
  }
  .p-md-4 {
    padding: 1.5rem !important;
  }
  .p-md-5 {
    padding: 3rem !important;
  }
  .px-md-0 {
    padding-right: 0 !important;
    padding-left: 0 !important;
  }
  .px-md-1 {
    padding-right: 0.25rem !important;
    padding-left: 0.25rem !important;
  }
  .px-md-2 {
    padding-right: 0.5rem !important;
    padding-left: 0.5rem !important;
  }
  .px-md-3 {
    padding-right: 1rem !important;
    padding-left: 1rem !important;
  }
  .px-md-4 {
    padding-right: 1.5rem !important;
    padding-left: 1.5rem !important;
  }
  .px-md-5 {
    padding-right: 3rem !important;
    padding-left: 3rem !important;
  }
  .py-md-0 {
    padding-top: 0 !important;
    padding-bottom: 0 !important;
  }
  .py-md-1 {
    padding-top: 0.25rem !important;
    padding-bottom: 0.25rem !important;
  }
  .py-md-2 {
    padding-top: 0.5rem !important;
    padding-bottom: 0.5rem !important;
  }
  .py-md-3 {
    padding-top: 1rem !important;
    padding-bottom: 1rem !important;
  }
  .py-md-4 {
    padding-top: 1.5rem !important;
    padding-bottom: 1.5rem !important;
  }
  .py-md-5 {
    padding-top: 3rem !important;
    padding-bottom: 3rem !important;
  }
  .pt-md-0 {
    padding-top: 0 !important;
  }
  .pt-md-1 {
    padding-top: 0.25rem !important;
  }
  .pt-md-2 {
    padding-top: 0.5rem !important;
  }
  .pt-md-3 {
    padding-top: 1rem !important;
  }
  .pt-md-4 {
    padding-top: 1.5rem !important;
  }
  .pt-md-5 {
    padding-top: 3rem !important;
  }
  .pe-md-0 {
    padding-right: 0 !important;
  }
  .pe-md-1 {
    padding-right: 0.25rem !important;
  }
  .pe-md-2 {
    padding-right: 0.5rem !important;
  }
  .pe-md-3 {
    padding-right: 1rem !important;
  }
  .pe-md-4 {
    padding-right: 1.5rem !important;
  }
  .pe-md-5 {
    padding-right: 3rem !important;
  }
  .pb-md-0 {
    padding-bottom: 0 !important;
  }
  .pb-md-1 {
    padding-bottom: 0.25rem !important;
  }
  .pb-md-2 {
    padding-bottom: 0.5rem !important;
  }
  .pb-md-3 {
    padding-bottom: 1rem !important;
  }
  .pb-md-4 {
    padding-bottom: 1.5rem !important;
  }
  .pb-md-5 {
    padding-bottom: 3rem !important;
  }
  .ps-md-0 {
    padding-left: 0 !important;
  }
  .ps-md-1 {
    padding-left: 0.25rem !important;
  }
  .ps-md-2 {
    padding-left: 0.5rem !important;
  }
  .ps-md-3 {
    padding-left: 1rem !important;
  }
  .ps-md-4 {
    padding-left: 1.5rem !important;
  }
  .ps-md-5 {
    padding-left: 3rem !important;
  }
}
@media (min-width: 992px) {
  .d-lg-inline {
    display: inline !important;
  }
  .d-lg-inline-block {
    display: inline-block !important;
  }
  .d-lg-block {
    display: block !important;
  }
  .d-lg-grid {
    display: grid !important;
  }
  .d-lg-inline-grid {
    display: inline-grid !important;
  }
  .d-lg-table {
    display: table !important;
  }
  .d-lg-table-row {
    display: table-row !important;
  }
  .d-lg-table-cell {
    display: table-cell !important;
  }
  .d-lg-flex {
    display: flex !important;
  }
  .d-lg-inline-flex {
    display: inline-flex !important;
  }
  .d-lg-none {
    display: none !important;
  }
  .flex-lg-fill {
    flex: 1 1 auto !important;
  }
  .flex-lg-row {
    flex-direction: row !important;
  }
  .flex-lg-column {
    flex-direction: column !important;
  }
  .flex-lg-row-reverse {
    flex-direction: row-reverse !important;
  }
  .flex-lg-column-reverse {
    flex-direction: column-reverse !important;
  }
  .flex-lg-grow-0 {
    flex-grow: 0 !important;
  }
  .flex-lg-grow-1 {
    flex-grow: 1 !important;
  }
  .flex-lg-shrink-0 {
    flex-shrink: 0 !important;
  }
  .flex-lg-shrink-1 {
    flex-shrink: 1 !important;
  }
  .flex-lg-wrap {
    flex-wrap: wrap !important;
  }
  .flex-lg-nowrap {
    flex-wrap: nowrap !important;
  }
  .flex-lg-wrap-reverse {
    flex-wrap: wrap-reverse !important;
  }
  .justify-content-lg-start {
    justify-content: flex-start !important;
  }
  .justify-content-lg-end {
    justify-content: flex-end !important;
  }
  .justify-content-lg-center {
    justify-content: center !important;
  }
  .justify-content-lg-between {
    justify-content: space-between !important;
  }
  .justify-content-lg-around {
    justify-content: space-around !important;
  }
  .justify-content-lg-evenly {
    justify-content: space-evenly !important;
  }
  .align-items-lg-start {
    align-items: flex-start !important;
  }
  .align-items-lg-end {
    align-items: flex-end !important;
  }
  .align-items-lg-center {
    align-items: center !important;
  }
  .align-items-lg-baseline {
    align-items: baseline !important;
  }
  .align-items-lg-stretch {
    align-items: stretch !important;
  }
  .align-content-lg-start {
    align-content: flex-start !important;
  }
  .align-content-lg-end {
    align-content: flex-end !important;
  }
  .align-content-lg-center {
    align-content: center !important;
  }
  .align-content-lg-between {
    align-content: space-between !important;
  }
  .align-content-lg-around {
    align-content: space-around !important;
  }
  .align-content-lg-stretch {
    align-content: stretch !important;
  }
  .align-self-lg-auto {
    align-self: auto !important;
  }
  .align-self-lg-start {
    align-self: flex-start !important;
  }
  .align-self-lg-end {
    align-self: flex-end !important;
  }
  .align-self-lg-center {
    align-self: center !important;
  }
  .align-self-lg-baseline {
    align-self: baseline !important;
  }
  .align-self-lg-stretch {
    align-self: stretch !important;
  }
  .order-lg-first {
    order: -1 !important;
  }
  .order-lg-0 {
    order: 0 !important;
  }
  .order-lg-1 {
    order: 1 !important;
  }
  .order-lg-2 {
    order: 2 !important;
  }
  .order-lg-3 {
    order: 3 !important;
  }
  .order-lg-4 {
    order: 4 !important;
  }
  .order-lg-5 {
    order: 5 !important;
  }
  .order-lg-last {
    order: 6 !important;
  }
  .m-lg-0 {
    margin: 0 !important;
  }
  .m-lg-1 {
    margin: 0.25rem !important;
  }
  .m-lg-2 {
    margin: 0.5rem !important;
  }
  .m-lg-3 {
    margin: 1rem !important;
  }
  .m-lg-4 {
    margin: 1.5rem !important;
  }
  .m-lg-5 {
    margin: 3rem !important;
  }
  .m-lg-auto {
    margin: auto !important;
  }
  .mx-lg-0 {
    margin-right: 0 !important;
    margin-left: 0 !important;
  }
  .mx-lg-1 {
    margin-right: 0.25rem !important;
    margin-left: 0.25rem !important;
  }
  .mx-lg-2 {
    margin-right: 0.5rem !important;
    margin-left: 0.5rem !important;
  }
  .mx-lg-3 {
    margin-right: 1rem !important;
    margin-left: 1rem !important;
  }
  .mx-lg-4 {
    margin-right: 1.5rem !important;
    margin-left: 1.5rem !important;
  }
  .mx-lg-5 {
    margin-right: 3rem !important;
    margin-left: 3rem !important;
  }
  .mx-lg-auto {
    margin-right: auto !important;
    margin-left: auto !important;
  }
  .my-lg-0 {
    margin-top: 0 !important;
    margin-bottom: 0 !important;
  }
  .my-lg-1 {
    margin-top: 0.25rem !important;
    margin-bottom: 0.25rem !important;
  }
  .my-lg-2 {
    margin-top: 0.5rem !important;
    margin-bottom: 0.5rem !important;
  }
  .my-lg-3 {
    margin-top: 1rem !important;
    margin-bottom: 1rem !important;
  }
  .my-lg-4 {
    margin-top: 1.5rem !important;
    margin-bottom: 1.5rem !important;
  }
  .my-lg-5 {
    margin-top: 3rem !important;
    margin-bottom: 3rem !important;
  }
  .my-lg-auto {
    margin-top: auto !important;
    margin-bottom: auto !important;
  }
  .mt-lg-0 {
    margin-top: 0 !important;
  }
  .mt-lg-1 {
    margin-top: 0.25rem !important;
  }
  .mt-lg-2 {
    margin-top: 0.5rem !important;
  }
  .mt-lg-3 {
    margin-top: 1rem !important;
  }
  .mt-lg-4 {
    margin-top: 1.5rem !important;
  }
  .mt-lg-5 {
    margin-top: 3rem !important;
  }
  .mt-lg-auto {
    margin-top: auto !important;
  }
  .me-lg-0 {
    margin-right: 0 !important;
  }
  .me-lg-1 {
    margin-right: 0.25rem !important;
  }
  .me-lg-2 {
    margin-right: 0.5rem !important;
  }
  .me-lg-3 {
    margin-right: 1rem !important;
  }
  .me-lg-4 {
    margin-right: 1.5rem !important;
  }
  .me-lg-5 {
    margin-right: 3rem !important;
  }
  .me-lg-auto {
    margin-right: auto !important;
  }
  .mb-lg-0 {
    margin-bottom: 0 !important;
  }
  .mb-lg-1 {
    margin-bottom: 0.25rem !important;
  }
  .mb-lg-2 {
    margin-bottom: 0.5rem !important;
  }
  .mb-lg-3 {
    margin-bottom: 1rem !important;
  }
  .mb-lg-4 {
    margin-bottom: 1.5rem !important;
  }
  .mb-lg-5 {
    margin-bottom: 3rem !important;
  }
  .mb-lg-auto {
    margin-bottom: auto !important;
  }
  .ms-lg-0 {
    margin-left: 0 !important;
  }
  .ms-lg-1 {
    margin-left: 0.25rem !important;
  }
  .ms-lg-2 {
    margin-left: 0.5rem !important;
  }
  .ms-lg-3 {
    margin-left: 1rem !important;
  }
  .ms-lg-4 {
    margin-left: 1.5rem !important;
  }
  .ms-lg-5 {
    margin-left: 3rem !important;
  }
  .ms-lg-auto {
    margin-left: auto !important;
  }
  .p-lg-0 {
    padding: 0 !important;
  }
  .p-lg-1 {
    padding: 0.25rem !important;
  }
  .p-lg-2 {
    padding: 0.5rem !important;
  }
  .p-lg-3 {
    padding: 1rem !important;
  }
  .p-lg-4 {
    padding: 1.5rem !important;
  }
  .p-lg-5 {
    padding: 3rem !important;
  }
  .px-lg-0 {
    padding-right: 0 !important;
    padding-left: 0 !important;
  }
  .px-lg-1 {
    padding-right: 0.25rem !important;
    padding-left: 0.25rem !important;
  }
  .px-lg-2 {
    padding-right: 0.5rem !important;
    padding-left: 0.5rem !important;
  }
  .px-lg-3 {
    padding-right: 1rem !important;
    padding-left: 1rem !important;
  }
  .px-lg-4 {
    padding-right: 1.5rem !important;
    padding-left: 1.5rem !important;
  }
  .px-lg-5 {
    padding-right: 3rem !important;
    padding-left: 3rem !important;
  }
  .py-lg-0 {
    padding-top: 0 !important;
    padding-bottom: 0 !important;
  }
  .py-lg-1 {
    padding-top: 0.25rem !important;
    padding-bottom: 0.25rem !important;
  }
  .py-lg-2 {
    padding-top: 0.5rem !important;
    padding-bottom: 0.5rem !important;
  }
  .py-lg-3 {
    padding-top: 1rem !important;
    padding-bottom: 1rem !important;
  }
  .py-lg-4 {
    padding-top: 1.5rem !important;
    padding-bottom: 1.5rem !important;
  }
  .py-lg-5 {
    padding-top: 3rem !important;
    padding-bottom: 3rem !important;
  }
  .pt-lg-0 {
    padding-top: 0 !important;
  }
  .pt-lg-1 {
    padding-top: 0.25rem !important;
  }
  .pt-lg-2 {
    padding-top: 0.5rem !important;
  }
  .pt-lg-3 {
    padding-top: 1rem !important;
  }
  .pt-lg-4 {
    padding-top: 1.5rem !important;
  }
  .pt-lg-5 {
    padding-top: 3rem !important;
  }
  .pe-lg-0 {
    padding-right: 0 !important;
  }
  .pe-lg-1 {
    padding-right: 0.25rem !important;
  }
  .pe-lg-2 {
    padding-right: 0.5rem !important;
  }
  .pe-lg-3 {
    padding-right: 1rem !important;
  }
  .pe-lg-4 {
    padding-right: 1.5rem !important;
  }
  .pe-lg-5 {
    padding-right: 3rem !important;
  }
  .pb-lg-0 {
    padding-bottom: 0 !important;
  }
  .pb-lg-1 {
    padding-bottom: 0.25rem !important;
  }
  .pb-lg-2 {
    padding-bottom: 0.5rem !important;
  }
  .pb-lg-3 {
    padding-bottom: 1rem !important;
  }
  .pb-lg-4 {
    padding-bottom: 1.5rem !important;
  }
  .pb-lg-5 {
    padding-bottom: 3rem !important;
  }
  .ps-lg-0 {
    padding-left: 0 !important;
  }
  .ps-lg-1 {
    padding-left: 0.25rem !important;
  }
  .ps-lg-2 {
    padding-left: 0.5rem !important;
  }
  .ps-lg-3 {
    padding-left: 1rem !important;
  }
  .ps-lg-4 {
    padding-left: 1.5rem !important;
  }
  .ps-lg-5 {
    padding-left: 3rem !important;
  }
}
@media (min-width: 1200px) {
  .d-xl-inline {
    display: inline !important;
  }
  .d-xl-inline-block {
    display: inline-block !important;
  }
  .d-xl-block {
    display: block !important;
  }
  .d-xl-grid {
    display: grid !important;
  }
  .d-xl-inline-grid {
    display: inline-grid !important;
  }
  .d-xl-table {
    display: table !important;
  }
  .d-xl-table-row {
    display: table-row !important;
  }
  .d-xl-table-cell {
    display: table-cell !important;
  }
  .d-xl-flex {
    display: flex !important;
  }
  .d-xl-inline-flex {
    display: inline-flex !important;
  }
  .d-xl-none {
    display: none !important;
  }
  .flex-xl-fill {
    flex: 1 1 auto !important;
  }
  .flex-xl-row {
    flex-direction: row !important;
  }
  .flex-xl-column {
    flex-direction: column !important;
  }
  .flex-xl-row-reverse {
    flex-direction: row-reverse !important;
  }
  .flex-xl-column-reverse {
    flex-direction: column-reverse !important;
  }
  .flex-xl-grow-0 {
    flex-grow: 0 !important;
  }
  .flex-xl-grow-1 {
    flex-grow: 1 !important;
  }
  .flex-xl-shrink-0 {
    flex-shrink: 0 !important;
  }
  .flex-xl-shrink-1 {
    flex-shrink: 1 !important;
  }
  .flex-xl-wrap {
    flex-wrap: wrap !important;
  }
  .flex-xl-nowrap {
    flex-wrap: nowrap !important;
  }
  .flex-xl-wrap-reverse {
    flex-wrap: wrap-reverse !important;
  }
  .justify-content-xl-start {
    justify-content: flex-start !important;
  }
  .justify-content-xl-end {
    justify-content: flex-end !important;
  }
  .justify-content-xl-center {
    justify-content: center !important;
  }
  .justify-content-xl-between {
    justify-content: space-between !important;
  }
  .justify-content-xl-around {
    justify-content: space-around !important;
  }
  .justify-content-xl-evenly {
    justify-content: space-evenly !important;
  }
  .align-items-xl-start {
    align-items: flex-start !important;
  }
  .align-items-xl-end {
    align-items: flex-end !important;
  }
  .align-items-xl-center {
    align-items: center !important;
  }
  .align-items-xl-baseline {
    align-items: baseline !important;
  }
  .align-items-xl-stretch {
    align-items: stretch !important;
  }
  .align-content-xl-start {
    align-content: flex-start !important;
  }
  .align-content-xl-end {
    align-content: flex-end !important;
  }
  .align-content-xl-center {
    align-content: center !important;
  }
  .align-content-xl-between {
    align-content: space-between !important;
  }
  .align-content-xl-around {
    align-content: space-around !important;
  }
  .align-content-xl-stretch {
    align-content: stretch !important;
  }
  .align-self-xl-auto {
    align-self: auto !important;
  }
  .align-self-xl-start {
    align-self: flex-start !important;
  }
  .align-self-xl-end {
    align-self: flex-end !important;
  }
  .align-self-xl-center {
    align-self: center !important;
  }
  .align-self-xl-baseline {
    align-self: baseline !important;
  }
  .align-self-xl-stretch {
    align-self: stretch !important;
  }
  .order-xl-first {
    order: -1 !important;
  }
  .order-xl-0 {
    order: 0 !important;
  }
  .order-xl-1 {
    order: 1 !important;
  }
  .order-xl-2 {
    order: 2 !important;
  }
  .order-xl-3 {
    order: 3 !important;
  }
  .order-xl-4 {
    order: 4 !important;
  }
  .order-xl-5 {
    order: 5 !important;
  }
  .order-xl-last {
    order: 6 !important;
  }
  .m-xl-0 {
    margin: 0 !important;
  }
  .m-xl-1 {
    margin: 0.25rem !important;
  }
  .m-xl-2 {
    margin: 0.5rem !important;
  }
  .m-xl-3 {
    margin: 1rem !important;
  }
  .m-xl-4 {
    margin: 1.5rem !important;
  }
  .m-xl-5 {
    margin: 3rem !important;
  }
  .m-xl-auto {
    margin: auto !important;
  }
  .mx-xl-0 {
    margin-right: 0 !important;
    margin-left: 0 !important;
  }
  .mx-xl-1 {
    margin-right: 0.25rem !important;
    margin-left: 0.25rem !important;
  }
  .mx-xl-2 {
    margin-right: 0.5rem !important;
    margin-left: 0.5rem !important;
  }
  .mx-xl-3 {
    margin-right: 1rem !important;
    margin-left: 1rem !important;
  }
  .mx-xl-4 {
    margin-right: 1.5rem !important;
    margin-left: 1.5rem !important;
  }
  .mx-xl-5 {
    margin-right: 3rem !important;
    margin-left: 3rem !important;
  }
  .mx-xl-auto {
    margin-right: auto !important;
    margin-left: auto !important;
  }
  .my-xl-0 {
    margin-top: 0 !important;
    margin-bottom: 0 !important;
  }
  .my-xl-1 {
    margin-top: 0.25rem !important;
    margin-bottom: 0.25rem !important;
  }
  .my-xl-2 {
    margin-top: 0.5rem !important;
    margin-bottom: 0.5rem !important;
  }
  .my-xl-3 {
    margin-top: 1rem !important;
    margin-bottom: 1rem !important;
  }
  .my-xl-4 {
    margin-top: 1.5rem !important;
    margin-bottom: 1.5rem !important;
  }
  .my-xl-5 {
    margin-top: 3rem !important;
    margin-bottom: 3rem !important;
  }
  .my-xl-auto {
    margin-top: auto !important;
    margin-bottom: auto !important;
  }
  .mt-xl-0 {
    margin-top: 0 !important;
  }
  .mt-xl-1 {
    margin-top: 0.25rem !important;
  }
  .mt-xl-2 {
    margin-top: 0.5rem !important;
  }
  .mt-xl-3 {
    margin-top: 1rem !important;
  }
  .mt-xl-4 {
    margin-top: 1.5rem !important;
  }
  .mt-xl-5 {
    margin-top: 3rem !important;
  }
  .mt-xl-auto {
    margin-top: auto !important;
  }
  .me-xl-0 {
    margin-right: 0 !important;
  }
  .me-xl-1 {
    margin-right: 0.25rem !important;
  }
  .me-xl-2 {
    margin-right: 0.5rem !important;
  }
  .me-xl-3 {
    margin-right: 1rem !important;
  }
  .me-xl-4 {
    margin-right: 1.5rem !important;
  }
  .me-xl-5 {
    margin-right: 3rem !important;
  }
  .me-xl-auto {
    margin-right: auto !important;
  }
  .mb-xl-0 {
    margin-bottom: 0 !important;
  }
  .mb-xl-1 {
    margin-bottom: 0.25rem !important;
  }
  .mb-xl-2 {
    margin-bottom: 0.5rem !important;
  }
  .mb-xl-3 {
    margin-bottom: 1rem !important;
  }
  .mb-xl-4 {
    margin-bottom: 1.5rem !important;
  }
  .mb-xl-5 {
    margin-bottom: 3rem !important;
  }
  .mb-xl-auto {
    margin-bottom: auto !important;
  }
  .ms-xl-0 {
    margin-left: 0 !important;
  }
  .ms-xl-1 {
    margin-left: 0.25rem !important;
  }
  .ms-xl-2 {
    margin-left: 0.5rem !important;
  }
  .ms-xl-3 {
    margin-left: 1rem !important;
  }
  .ms-xl-4 {
    margin-left: 1.5rem !important;
  }
  .ms-xl-5 {
    margin-left: 3rem !important;
  }
  .ms-xl-auto {
    margin-left: auto !important;
  }
  .p-xl-0 {
    padding: 0 !important;
  }
  .p-xl-1 {
    padding: 0.25rem !important;
  }
  .p-xl-2 {
    padding: 0.5rem !important;
  }
  .p-xl-3 {
    padding: 1rem !important;
  }
  .p-xl-4 {
    padding: 1.5rem !important;
  }
  .p-xl-5 {
    padding: 3rem !important;
  }
  .px-xl-0 {
    padding-right: 0 !important;
    padding-left: 0 !important;
  }
  .px-xl-1 {
    padding-right: 0.25rem !important;
    padding-left: 0.25rem !important;
  }
  .px-xl-2 {
    padding-right: 0.5rem !important;
    padding-left: 0.5rem !important;
  }
  .px-xl-3 {
    padding-right: 1rem !important;
    padding-left: 1rem !important;
  }
  .px-xl-4 {
    padding-right: 1.5rem !important;
    padding-left: 1.5rem !important;
  }
  .px-xl-5 {
    padding-right: 3rem !important;
    padding-left: 3rem !important;
  }
  .py-xl-0 {
    padding-top: 0 !important;
    padding-bottom: 0 !important;
  }
  .py-xl-1 {
    padding-top: 0.25rem !important;
    padding-bottom: 0.25rem !important;
  }
  .py-xl-2 {
    padding-top: 0.5rem !important;
    padding-bottom: 0.5rem !important;
  }
  .py-xl-3 {
    padding-top: 1rem !important;
    padding-bottom: 1rem !important;
  }
  .py-xl-4 {
    padding-top: 1.5rem !important;
    padding-bottom: 1.5rem !important;
  }
  .py-xl-5 {
    padding-top: 3rem !important;
    padding-bottom: 3rem !important;
  }
  .pt-xl-0 {
    padding-top: 0 !important;
  }
  .pt-xl-1 {
    padding-top: 0.25rem !important;
  }
  .pt-xl-2 {
    padding-top: 0.5rem !important;
  }
  .pt-xl-3 {
    padding-top: 1rem !important;
  }
  .pt-xl-4 {
    padding-top: 1.5rem !important;
  }
  .pt-xl-5 {
    padding-top: 3rem !important;
  }
  .pe-xl-0 {
    padding-right: 0 !important;
  }
  .pe-xl-1 {
    padding-right: 0.25rem !important;
  }
  .pe-xl-2 {
    padding-right: 0.5rem !important;
  }
  .pe-xl-3 {
    padding-right: 1rem !important;
  }
  .pe-xl-4 {
    padding-right: 1.5rem !important;
  }
  .pe-xl-5 {
    padding-right: 3rem !important;
  }
  .pb-xl-0 {
    padding-bottom: 0 !important;
  }
  .pb-xl-1 {
    padding-bottom: 0.25rem !important;
  }
  .pb-xl-2 {
    padding-bottom: 0.5rem !important;
  }
  .pb-xl-3 {
    padding-bottom: 1rem !important;
  }
  .pb-xl-4 {
    padding-bottom: 1.5rem !important;
  }
  .pb-xl-5 {
    padding-bottom: 3rem !important;
  }
  .ps-xl-0 {
    padding-left: 0 !important;
  }
  .ps-xl-1 {
    padding-left: 0.25rem !important;
  }
  .ps-xl-2 {
    padding-left: 0.5rem !important;
  }
  .ps-xl-3 {
    padding-left: 1rem !important;
  }
  .ps-xl-4 {
    padding-left: 1.5rem !important;
  }
  .ps-xl-5 {
    padding-left: 3rem !important;
  }
}
@media (min-width: 1400px) {
  .d-xxl-inline {
    display: inline !important;
  }
  .d-xxl-inline-block {
    display: inline-block !important;
  }
  .d-xxl-block {
    display: block !important;
  }
  .d-xxl-grid {
    display: grid !important;
  }
  .d-xxl-inline-grid {
    display: inline-grid !important;
  }
  .d-xxl-table {
    display: table !important;
  }
  .d-xxl-table-row {
    display: table-row !important;
  }
  .d-xxl-table-cell {
    display: table-cell !important;
  }
  .d-xxl-flex {
    display: flex !important;
  }
  .d-xxl-inline-flex {
    display: inline-flex !important;
  }
  .d-xxl-none {
    display: none !important;
  }
  .flex-xxl-fill {
    flex: 1 1 auto !important;
  }
  .flex-xxl-row {
    flex-direction: row !important;
  }
  .flex-xxl-column {
    flex-direction: column !important;
  }
  .flex-xxl-row-reverse {
    flex-direction: row-reverse !important;
  }
  .flex-xxl-column-reverse {
    flex-direction: column-reverse !important;
  }
  .flex-xxl-grow-0 {
    flex-grow: 0 !important;
  }
  .flex-xxl-grow-1 {
    flex-grow: 1 !important;
  }
  .flex-xxl-shrink-0 {
    flex-shrink: 0 !important;
  }
  .flex-xxl-shrink-1 {
    flex-shrink: 1 !important;
  }
  .flex-xxl-wrap {
    flex-wrap: wrap !important;
  }
  .flex-xxl-nowrap {
    flex-wrap: nowrap !important;
  }
  .flex-xxl-wrap-reverse {
    flex-wrap: wrap-reverse !important;
  }
  .justify-content-xxl-start {
    justify-content: flex-start !important;
  }
  .justify-content-xxl-end {
    justify-content: flex-end !important;
  }
  .justify-content-xxl-center {
    justify-content: center !important;
  }
  .justify-content-xxl-between {
    justify-content: space-between !important;
  }
  .justify-content-xxl-around {
    justify-content: space-around !important;
  }
  .justify-content-xxl-evenly {
    justify-content: space-evenly !important;
  }
  .align-items-xxl-start {
    align-items: flex-start !important;
  }
  .align-items-xxl-end {
    align-items: flex-end !important;
  }
  .align-items-xxl-center {
    align-items: center !important;
  }
  .align-items-xxl-baseline {
    align-items: baseline !important;
  }
  .align-items-xxl-stretch {
    align-items: stretch !important;
  }
  .align-content-xxl-start {
    align-content: flex-start !important;
  }
  .align-content-xxl-end {
    align-content: flex-end !important;
  }
  .align-content-xxl-center {
    align-content: center !important;
  }
  .align-content-xxl-between {
    align-content: space-between !important;
  }
  .align-content-xxl-around {
    align-content: space-around !important;
  }
  .align-content-xxl-stretch {
    align-content: stretch !important;
  }
  .align-self-xxl-auto {
    align-self: auto !important;
  }
  .align-self-xxl-start {
    align-self: flex-start !important;
  }
  .align-self-xxl-end {
    align-self: flex-end !important;
  }
  .align-self-xxl-center {
    align-self: center !important;
  }
  .align-self-xxl-baseline {
    align-self: baseline !important;
  }
  .align-self-xxl-stretch {
    align-self: stretch !important;
  }
  .order-xxl-first {
    order: -1 !important;
  }
  .order-xxl-0 {
    order: 0 !important;
  }
  .order-xxl-1 {
    order: 1 !important;
  }
  .order-xxl-2 {
    order: 2 !important;
  }
  .order-xxl-3 {
    order: 3 !important;
  }
  .order-xxl-4 {
    order: 4 !important;
  }
  .order-xxl-5 {
    order: 5 !important;
  }
  .order-xxl-last {
    order: 6 !important;
  }
  .m-xxl-0 {
    margin: 0 !important;
  }
  .m-xxl-1 {
    margin: 0.25rem !important;
  }
  .m-xxl-2 {
    margin: 0.5rem !important;
  }
  .m-xxl-3 {
    margin: 1rem !important;
  }
  .m-xxl-4 {
    margin: 1.5rem !important;
  }
  .m-xxl-5 {
    margin: 3rem !important;
  }
  .m-xxl-auto {
    margin: auto !important;
  }
  .mx-xxl-0 {
    margin-right: 0 !important;
    margin-left: 0 !important;
  }
  .mx-xxl-1 {
    margin-right: 0.25rem !important;
    margin-left: 0.25rem !important;
  }
  .mx-xxl-2 {
    margin-right: 0.5rem !important;
    margin-left: 0.5rem !important;
  }
  .mx-xxl-3 {
    margin-right: 1rem !important;
    margin-left: 1rem !important;
  }
  .mx-xxl-4 {
    margin-right: 1.5rem !important;
    margin-left: 1.5rem !important;
  }
  .mx-xxl-5 {
    margin-right: 3rem !important;
    margin-left: 3rem !important;
  }
  .mx-xxl-auto {
    margin-right: auto !important;
    margin-left: auto !important;
  }
  .my-xxl-0 {
    margin-top: 0 !important;
    margin-bottom: 0 !important;
  }
  .my-xxl-1 {
    margin-top: 0.25rem !important;
    margin-bottom: 0.25rem !important;
  }
  .my-xxl-2 {
    margin-top: 0.5rem !important;
    margin-bottom: 0.5rem !important;
  }
  .my-xxl-3 {
    margin-top: 1rem !important;
    margin-bottom: 1rem !important;
  }
  .my-xxl-4 {
    margin-top: 1.5rem !important;
    margin-bottom: 1.5rem !important;
  }
  .my-xxl-5 {
    margin-top: 3rem !important;
    margin-bottom: 3rem !important;
  }
  .my-xxl-auto {
    margin-top: auto !important;
    margin-bottom: auto !important;
  }
  .mt-xxl-0 {
    margin-top: 0 !important;
  }
  .mt-xxl-1 {
    margin-top: 0.25rem !important;
  }
  .mt-xxl-2 {
    margin-top: 0.5rem !important;
  }
  .mt-xxl-3 {
    margin-top: 1rem !important;
  }
  .mt-xxl-4 {
    margin-top: 1.5rem !important;
  }
  .mt-xxl-5 {
    margin-top: 3rem !important;
  }
  .mt-xxl-auto {
    margin-top: auto !important;
  }
  .me-xxl-0 {
    margin-right: 0 !important;
  }
  .me-xxl-1 {
    margin-right: 0.25rem !important;
  }
  .me-xxl-2 {
    margin-right: 0.5rem !important;
  }
  .me-xxl-3 {
    margin-right: 1rem !important;
  }
  .me-xxl-4 {
    margin-right: 1.5rem !important;
  }
  .me-xxl-5 {
    margin-right: 3rem !important;
  }
  .me-xxl-auto {
    margin-right: auto !important;
  }
  .mb-xxl-0 {
    margin-bottom: 0 !important;
  }
  .mb-xxl-1 {
    margin-bottom: 0.25rem !important;
  }
  .mb-xxl-2 {
    margin-bottom: 0.5rem !important;
  }
  .mb-xxl-3 {
    margin-bottom: 1rem !important;
  }
  .mb-xxl-4 {
    margin-bottom: 1.5rem !important;
  }
  .mb-xxl-5 {
    margin-bottom: 3rem !important;
  }
  .mb-xxl-auto {
    margin-bottom: auto !important;
  }
  .ms-xxl-0 {
    margin-left: 0 !important;
  }
  .ms-xxl-1 {
    margin-left: 0.25rem !important;
  }
  .ms-xxl-2 {
    margin-left: 0.5rem !important;
  }
  .ms-xxl-3 {
    margin-left: 1rem !important;
  }
  .ms-xxl-4 {
    margin-left: 1.5rem !important;
  }
  .ms-xxl-5 {
    margin-left: 3rem !important;
  }
  .ms-xxl-auto {
    margin-left: auto !important;
  }
  .p-xxl-0 {
    padding: 0 !important;
  }
  .p-xxl-1 {
    padding: 0.25rem !important;
  }
  .p-xxl-2 {
    padding: 0.5rem !important;
  }
  .p-xxl-3 {
    padding: 1rem !important;
  }
  .p-xxl-4 {
    padding: 1.5rem !important;
  }
  .p-xxl-5 {
    padding: 3rem !important;
  }
  .px-xxl-0 {
    padding-right: 0 !important;
    padding-left: 0 !important;
  }
  .px-xxl-1 {
    padding-right: 0.25rem !important;
    padding-left: 0.25rem !important;
  }
  .px-xxl-2 {
    padding-right: 0.5rem !important;
    padding-left: 0.5rem !important;
  }
  .px-xxl-3 {
    padding-right: 1rem !important;
    padding-left: 1rem !important;
  }
  .px-xxl-4 {
    padding-right: 1.5rem !important;
    padding-left: 1.5rem !important;
  }
  .px-xxl-5 {
    padding-right: 3rem !important;
    padding-left: 3rem !important;
  }
  .py-xxl-0 {
    padding-top: 0 !important;
    padding-bottom: 0 !important;
  }
  .py-xxl-1 {
    padding-top: 0.25rem !important;
    padding-bottom: 0.25rem !important;
  }
  .py-xxl-2 {
    padding-top: 0.5rem !important;
    padding-bottom: 0.5rem !important;
  }
  .py-xxl-3 {
    padding-top: 1rem !important;
    padding-bottom: 1rem !important;
  }
  .py-xxl-4 {
    padding-top: 1.5rem !important;
    padding-bottom: 1.5rem !important;
  }
  .py-xxl-5 {
    padding-top: 3rem !important;
    padding-bottom: 3rem !important;
  }
  .pt-xxl-0 {
    padding-top: 0 !important;
  }
  .pt-xxl-1 {
    padding-top: 0.25rem !important;
  }
  .pt-xxl-2 {
    padding-top: 0.5rem !important;
  }
  .pt-xxl-3 {
    padding-top: 1rem !important;
  }
  .pt-xxl-4 {
    padding-top: 1.5rem !important;
  }
  .pt-xxl-5 {
    padding-top: 3rem !important;
  }
  .pe-xxl-0 {
    padding-right: 0 !important;
  }
  .pe-xxl-1 {
    padding-right: 0.25rem !important;
  }
  .pe-xxl-2 {
    padding-right: 0.5rem !important;
  }
  .pe-xxl-3 {
    padding-right: 1rem !important;
  }
  .pe-xxl-4 {
    padding-right: 1.5rem !important;
  }
  .pe-xxl-5 {
    padding-right: 3rem !important;
  }
  .pb-xxl-0 {
    padding-bottom: 0 !important;
  }
  .pb-xxl-1 {
    padding-bottom: 0.25rem !important;
  }
  .pb-xxl-2 {
    padding-bottom: 0.5rem !important;
  }
  .pb-xxl-3 {
    padding-bottom: 1rem !important;
  }
  .pb-xxl-4 {
    padding-bottom: 1.5rem !important;
  }
  .pb-xxl-5 {
    padding-bottom: 3rem !important;
  }
  .ps-xxl-0 {
    padding-left: 0 !important;
  }
  .ps-xxl-1 {
    padding-left: 0.25rem !important;
  }
  .ps-xxl-2 {
    padding-left: 0.5rem !important;
  }
  .ps-xxl-3 {
    padding-left: 1rem !important;
  }
  .ps-xxl-4 {
    padding-left: 1.5rem !important;
  }
  .ps-xxl-5 {
    padding-left: 3rem !important;
  }
}
@media print {
  .d-print-inline {
    display: inline !important;
  }
  .d-print-inline-block {
    display: inline-block !important;
  }
  .d-print-block {
    display: block !important;
  }
  .d-print-grid {
    display: grid !important;
  }
  .d-print-inline-grid {
    display: inline-grid !important;
  }
  .d-print-table {
    display: table !important;
  }
  .d-print-table-row {
    display: table-row !important;
  }
  .d-print-table-cell {
    display: table-cell !important;
  }
  .d-print-flex {
    display: flex !important;
  }
  .d-print-inline-flex {
    display: inline-flex !important;
  }
  .d-print-none {
    display: none !important;
  }
}
:root {
  --bs-breakpoint-xs: 0;
  --bs-breakpoint-sm: 576px;
  --bs-breakpoint-md: 768px;
  --bs-breakpoint-lg: 992px;
  --bs-breakpoint-xl: 1200px;
  --bs-breakpoint-xxl: 1400px;
}

.row {
  --bs-gutter-x: 1.5rem;
  --bs-gutter-y: 0;
  display: flex;
  flex-wrap: wrap;
  margin-top: calc(-1 * var(--bs-gutter-y));
  margin-right: calc(-0.5 * var(--bs-gutter-x));
  margin-left: calc(-0.5 * var(--bs-gutter-x));
}
.row > * {
  box-sizing: border-box;
  flex-shrink: 0;
  width: 100%;
  max-width: 100%;
  padding-right: calc(var(--bs-gutter-x) * 0.5);
  padding-left: calc(var(--bs-gutter-x) * 0.5);
  margin-top: var(--bs-gutter-y);
}

.col {
  flex: 1 0 0;
}

.row-cols-auto > * {
  flex: 0 0 auto;
  width: auto;
}

.row-cols-1 > * {
  flex: 0 0 auto;
  width: 100%;
}

.row-cols-2 > * {
  flex: 0 0 auto;
  width: 50%;
}

.row-cols-3 > * {
  flex: 0 0 auto;
  width: 33.33333333%;
}

.row-cols-4 > * {
  flex: 0 0 auto;
  width: 25%;
}

.row-cols-5 > * {
  flex: 0 0 auto;
  width: 20%;
}

.row-cols-6 > * {
  flex: 0 0 auto;
  width: 16.66666667%;
}

.col-auto {
  flex: 0 0 auto;
  width: auto;
}

.col-1 {
  flex: 0 0 auto;
  width: 8.33333333%;
}

.col-2 {
  flex: 0 0 auto;
  width: 16.66666667%;
}

.col-3 {
  flex: 0 0 auto;
  width: 25%;
}

.col-4 {
  flex: 0 0 auto;
  width: 33.33333333%;
}

.col-5 {
  flex: 0 0 auto;
  width: 41.66666667%;
}

.col-6 {
  flex: 0 0 auto;
  width: 50%;
}

.col-7 {
  flex: 0 0 auto;
  width: 58.33333333%;
}

.col-8 {
  flex: 0 0 auto;
  width: 66.66666667%;
}

.col-9 {
  flex: 0 0 auto;
  width: 75%;
}

.col-10 {
  flex: 0 0 auto;
  width: 83.33333333%;
}

.col-11 {
  flex: 0 0 auto;
  width: 91.66666667%;
}

.col-12 {
  flex: 0 0 auto;
  width: 100%;
}

.offset-1 {
  margin-left: 8.33333333%;
}

.offset-2 {
  margin-left: 16.66666667%;
}

.offset-3 {
  margin-left: 25%;
}

.offset-4 {
  margin-left: 33.33333333%;
}

.offset-5 {
  margin-left: 41.66666667%;
}

.offset-6 {
  margin-left: 50%;
}

.offset-7 {
  margin-left: 58.33333333%;
}

.offset-8 {
  margin-left: 66.66666667%;
}

.offset-9 {
  margin-left: 75%;
}

.offset-10 {
  margin-left: 83.33333333%;
}

.offset-11 {
  margin-left: 91.66666667%;
}

.g-0,
.gx-0 {
  --bs-gutter-x: 0;
}

.g-0,
.gy-0 {
  --bs-gutter-y: 0;
}

.g-1,
.gx-1 {
  --bs-gutter-x: 0.25rem;
}

.g-1,
.gy-1 {
  --bs-gutter-y: 0.25rem;
}

.g-2,
.gx-2 {
  --bs-gutter-x: 0.5rem;
}

.g-2,
.gy-2 {
  --bs-gutter-y: 0.5rem;
}

.g-3,
.gx-3 {
  --bs-gutter-x: 1rem;
}

.g-3,
.gy-3 {
  --bs-gutter-y: 1rem;
}

.g-4,
.gx-4 {
  --bs-gutter-x: 1.5rem;
}

.g-4,
.gy-4 {
  --bs-gutter-y: 1.5rem;
}

.g-5,
.gx-5 {
  --bs-gutter-x: 3rem;
}

.g-5,
.gy-5 {
  --bs-gutter-y: 3rem;
}

@media (min-width: 576px) {
  .col-sm {
    flex: 1 0 0;
  }
  .row-cols-sm-auto > * {
    flex: 0 0 auto;
    width: auto;
  }
  .row-cols-sm-1 > * {
    flex: 0 0 auto;
    width: 100%;
  }
  .row-cols-sm-2 > * {
    flex: 0 0 auto;
    width: 50%;
  }
  .row-cols-sm-3 > * {
    flex: 0 0 auto;
    width: 33.33333333%;
  }
  .row-cols-sm-4 > * {
    flex: 0 0 auto;
    width: 25%;
  }
  .row-cols-sm-5 > * {
    flex: 0 0 auto;
    width: 20%;
  }
  .row-cols-sm-6 > * {
    flex: 0 0 auto;
    width: 16.66666667%;
  }
  .col-sm-auto {
    flex: 0 0 auto;
    width: auto;
  }
  .col-sm-1 {
    flex: 0 0 auto;
    width: 8.33333333%;
  }
  .col-sm-2 {
    flex: 0 0 auto;
    width: 16.66666667%;
  }
  .col-sm-3 {
    flex: 0 0 auto;
    width: 25%;
  }
  .col-sm-4 {
    flex: 0 0 auto;
    width: 33.33333333%;
  }
  .col-sm-5 {
    flex: 0 0 auto;
    width: 41.66666667%;
  }
  .col-sm-6 {
    flex: 0 0 auto;
    width: 50%;
  }
  .col-sm-7 {
    flex: 0 0 auto;
    width: 58.33333333%;
  }
  .col-sm-8 {
    flex: 0 0 auto;
    width: 66.66666667%;
  }
  .col-sm-9 {
    flex: 0 0 auto;
    width: 75%;
  }
  .col-sm-10 {
    flex: 0 0 auto;
    width: 83.33333333%;
  }
  .col-sm-11 {
    flex: 0 0 auto;
    width: 91.66666667%;
  }
  .col-sm-12 {
    flex: 0 0 auto;
    width: 100%;
  }
  .offset-sm-0 {
    margin-left: 0;
  }
  .offset-sm-1 {
    margin-left: 8.33333333%;
  }
  .offset-sm-2 {
    margin-left: 16.66666667%;
  }
  .offset-sm-3 {
    margin-left: 25%;
  }
  .offset-sm-4 {
    margin-left: 33.33333333%;
  }
  .offset-sm-5 {
    margin-left: 41.66666667%;
  }
  .offset-sm-6 {
    margin-left: 50%;
  }
  .offset-sm-7 {
    margin-left: 58.33333333%;
  }
  .offset-sm-8 {
    margin-left: 66.66666667%;
  }
  .offset-sm-9 {
    margin-left: 75%;
  }
  .offset-sm-10 {
    margin-left: 83.33333333%;
  }
  .offset-sm-11 {
    margin-left: 91.66666667%;
  }
  .g-sm-0,
  .gx-sm-0 {
    --bs-gutter-x: 0;
  }
  .g-sm-0,
  .gy-sm-0 {
    --bs-gutter-y: 0;
  }
  .g-sm-1,
  .gx-sm-1 {
    --bs-gutter-x: 0.25rem;
  }
  .g-sm-1,
  .gy-sm-1 {
    --bs-gutter-y: 0.25rem;
  }
  .g-sm-2,
  .gx-sm-2 {
    --bs-gutter-x: 0.5rem;
  }
  .g-sm-2,
  .gy-sm-2 {
    --bs-gutter-y: 0.5rem;
  }
  .g-sm-3,
  .gx-sm-3 {
    --bs-gutter-x: 1rem;
  }
  .g-sm-3,
  .gy-sm-3 {
    --bs-gutter-y: 1rem;
  }
  .g-sm-4,
  .gx-sm-4 {
    --bs-gutter-x: 1.5rem;
  }
  .g-sm-4,
  .gy-sm-4 {
    --bs-gutter-y: 1.5rem;
  }
  .g-sm-5,
  .gx-sm-5 {
    --bs-gutter-x: 3rem;
  }
  .g-sm-5,
  .gy-sm-5 {
    --bs-gutter-y: 3rem;
  }
}
@media (min-width: 768px) {
  .col-md {
    flex: 1 0 0;
  }
  .row-cols-md-auto > * {
    flex: 0 0 auto;
    width: auto;
  }
  .row-cols-md-1 > * {
    flex: 0 0 auto;
    width: 100%;
  }
  .row-cols-md-2 > * {
    flex: 0 0 auto;
    width: 50%;
  }
  .row-cols-md-3 > * {
    flex: 0 0 auto;
    width: 33.33333333%;
  }
  .row-cols-md-4 > * {
    flex: 0 0 auto;
    width: 25%;
  }
  .row-cols-md-5 > * {
    flex: 0 0 auto;
    width: 20%;
  }
  .row-cols-md-6 > * {
    flex: 0 0 auto;
    width: 16.66666667%;
  }
  .col-md-auto {
    flex: 0 0 auto;
    width: auto;
  }
  .col-md-1 {
    flex: 0 0 auto;
    width: 8.33333333%;
  }
  .col-md-2 {
    flex: 0 0 auto;
    width: 16.66666667%;
  }
  .col-md-3 {
    flex: 0 0 auto;
    width: 25%;
  }
  .col-md-4 {
    flex: 0 0 auto;
    width: 33.33333333%;
  }
  .col-md-5 {
    flex: 0 0 auto;
    width: 41.66666667%;
  }
  .col-md-6 {
    flex: 0 0 auto;
    width: 50%;
  }
  .col-md-7 {
    flex: 0 0 auto;
    width: 58.33333333%;
  }
  .col-md-8 {
    flex: 0 0 auto;
    width: 66.66666667%;
  }
  .col-md-9 {
    flex: 0 0 auto;
    width: 75%;
  }
  .col-md-10 {
    flex: 0 0 auto;
    width: 83.33333333%;
  }
  .col-md-11 {
    flex: 0 0 auto;
    width: 91.66666667%;
  }
  .col-md-12 {
    flex: 0 0 auto;
    width: 100%;
  }
  .offset-md-0 {
    margin-left: 0;
  }
  .offset-md-1 {
    margin-left: 8.33333333%;
  }
  .offset-md-2 {
    margin-left: 16.66666667%;
  }
  .offset-md-3 {
    margin-left: 25%;
  }
  .offset-md-4 {
    margin-left: 33.33333333%;
  }
  .offset-md-5 {
    margin-left: 41.66666667%;
  }
  .offset-md-6 {
    margin-left: 50%;
  }
  .offset-md-7 {
    margin-left: 58.33333333%;
  }
  .offset-md-8 {
    margin-left: 66.66666667%;
  }
  .offset-md-9 {
    margin-left: 75%;
  }
  .offset-md-10 {
    margin-left: 83.33333333%;
  }
  .offset-md-11 {
    margin-left: 91.66666667%;
  }
  .g-md-0,
  .gx-md-0 {
    --bs-gutter-x: 0;
  }
  .g-md-0,
  .gy-md-0 {
    --bs-gutter-y: 0;
  }
  .g-md-1,
  .gx-md-1 {
    --bs-gutter-x: 0.25rem;
  }
  .g-md-1,
  .gy-md-1 {
    --bs-gutter-y: 0.25rem;
  }
  .g-md-2,
  .gx-md-2 {
    --bs-gutter-x: 0.5rem;
  }
  .g-md-2,
  .gy-md-2 {
    --bs-gutter-y: 0.5rem;
  }
  .g-md-3,
  .gx-md-3 {
    --bs-gutter-x: 1rem;
  }
  .g-md-3,
  .gy-md-3 {
    --bs-gutter-y: 1rem;
  }
  .g-md-4,
  .gx-md-4 {
    --bs-gutter-x: 1.5rem;
  }
  .g-md-4,
  .gy-md-4 {
    --bs-gutter-y: 1.5rem;
  }
  .g-md-5,
  .gx-md-5 {
    --bs-gutter-x: 3rem;
  }
  .g-md-5,
  .gy-md-5 {
    --bs-gutter-y: 3rem;
  }
}
@media (min-width: 992px) {
  .col-lg {
    flex: 1 0 0;
  }
  .row-cols-lg-auto > * {
    flex: 0 0 auto;
    width: auto;
  }
  .row-cols-lg-1 > * {
    flex: 0 0 auto;
    width: 100%;
  }
  .row-cols-lg-2 > * {
    flex: 0 0 auto;
    width: 50%;
  }
  .row-cols-lg-3 > * {
    flex: 0 0 auto;
    width: 33.33333333%;
  }
  .row-cols-lg-4 > * {
    flex: 0 0 auto;
    width: 25%;
  }
  .row-cols-lg-5 > * {
    flex: 0 0 auto;
    width: 20%;
  }
  .row-cols-lg-6 > * {
    flex: 0 0 auto;
    width: 16.66666667%;
  }
  .col-lg-auto {
    flex: 0 0 auto;
    width: auto;
  }
  .col-lg-1 {
    flex: 0 0 auto;
    width: 8.33333333%;
  }
  .col-lg-2 {
    flex: 0 0 auto;
    width: 16.66666667%;
  }
  .col-lg-3 {
    flex: 0 0 auto;
    width: 25%;
  }
  .col-lg-4 {
    flex: 0 0 auto;
    width: 33.33333333%;
  }
  .col-lg-5 {
    flex: 0 0 auto;
    width: 41.66666667%;
  }
  .col-lg-6 {
    flex: 0 0 auto;
    width: 50%;
  }
  .col-lg-7 {
    flex: 0 0 auto;
    width: 58.33333333%;
  }
  .col-lg-8 {
    flex: 0 0 auto;
    width: 66.66666667%;
  }
  .col-lg-9 {
    flex: 0 0 auto;
    width: 75%;
  }
  .col-lg-10 {
    flex: 0 0 auto;
    width: 83.33333333%;
  }
  .col-lg-11 {
    flex: 0 0 auto;
    width: 91.66666667%;
  }
  .col-lg-12 {
    flex: 0 0 auto;
    width: 100%;
  }
  .offset-lg-0 {
    margin-left: 0;
  }
  .offset-lg-1 {
    margin-left: 8.33333333%;
  }
  .offset-lg-2 {
    margin-left: 16.66666667%;
  }
  .offset-lg-3 {
    margin-left: 25%;
  }
  .offset-lg-4 {
    margin-left: 33.33333333%;
  }
  .offset-lg-5 {
    margin-left: 41.66666667%;
  }
  .offset-lg-6 {
    margin-left: 50%;
  }
  .offset-lg-7 {
    margin-left: 58.33333333%;
  }
  .offset-lg-8 {
    margin-left: 66.66666667%;
  }
  .offset-lg-9 {
    margin-left: 75%;
  }
  .offset-lg-10 {
    margin-left: 83.33333333%;
  }
  .offset-lg-11 {
    margin-left: 91.66666667%;
  }
  .g-lg-0,
  .gx-lg-0 {
    --bs-gutter-x: 0;
  }
  .g-lg-0,
  .gy-lg-0 {
    --bs-gutter-y: 0;
  }
  .g-lg-1,
  .gx-lg-1 {
    --bs-gutter-x: 0.25rem;
  }
  .g-lg-1,
  .gy-lg-1 {
    --bs-gutter-y: 0.25rem;
  }
  .g-lg-2,
  .gx-lg-2 {
    --bs-gutter-x: 0.5rem;
  }
  .g-lg-2,
  .gy-lg-2 {
    --bs-gutter-y: 0.5rem;
  }
  .g-lg-3,
  .gx-lg-3 {
    --bs-gutter-x: 1rem;
  }
  .g-lg-3,
  .gy-lg-3 {
    --bs-gutter-y: 1rem;
  }
  .g-lg-4,
  .gx-lg-4 {
    --bs-gutter-x: 1.5rem;
  }
  .g-lg-4,
  .gy-lg-4 {
    --bs-gutter-y: 1.5rem;
  }
  .g-lg-5,
  .gx-lg-5 {
    --bs-gutter-x: 3rem;
  }
  .g-lg-5,
  .gy-lg-5 {
    --bs-gutter-y: 3rem;
  }
}
@media (min-width: 1200px) {
  .col-xl {
    flex: 1 0 0;
  }
  .row-cols-xl-auto > * {
    flex: 0 0 auto;
    width: auto;
  }
  .row-cols-xl-1 > * {
    flex: 0 0 auto;
    width: 100%;
  }
  .row-cols-xl-2 > * {
    flex: 0 0 auto;
    width: 50%;
  }
  .row-cols-xl-3 > * {
    flex: 0 0 auto;
    width: 33.33333333%;
  }
  .row-cols-xl-4 > * {
    flex: 0 0 auto;
    width: 25%;
  }
  .row-cols-xl-5 > * {
    flex: 0 0 auto;
    width: 20%;
  }
  .row-cols-xl-6 > * {
    flex: 0 0 auto;
    width: 16.66666667%;
  }
  .col-xl-auto {
    flex: 0 0 auto;
    width: auto;
  }
  .col-xl-1 {
    flex: 0 0 auto;
    width: 8.33333333%;
  }
  .col-xl-2 {
    flex: 0 0 auto;
    width: 16.66666667%;
  }
  .col-xl-3 {
    flex: 0 0 auto;
    width: 25%;
  }
  .col-xl-4 {
    flex: 0 0 auto;
    width: 33.33333333%;
  }
  .col-xl-5 {
    flex: 0 0 auto;
    width: 41.66666667%;
  }
  .col-xl-6 {
    flex: 0 0 auto;
    width: 50%;
  }
  .col-xl-7 {
    flex: 0 0 auto;
    width: 58.33333333%;
  }
  .col-xl-8 {
    flex: 0 0 auto;
    width: 66.66666667%;
  }
  .col-xl-9 {
    flex: 0 0 auto;
    width: 75%;
  }
  .col-xl-10 {
    flex: 0 0 auto;
    width: 83.33333333%;
  }
  .col-xl-11 {
    flex: 0 0 auto;
    width: 91.66666667%;
  }
  .col-xl-12 {
    flex: 0 0 auto;
    width: 100%;
  }
  .offset-xl-0 {
    margin-left: 0;
  }
  .offset-xl-1 {
    margin-left: 8.33333333%;
  }
  .offset-xl-2 {
    margin-left: 16.66666667%;
  }
  .offset-xl-3 {
    margin-left: 25%;
  }
  .offset-xl-4 {
    margin-left: 33.33333333%;
  }
  .offset-xl-5 {
    margin-left: 41.66666667%;
  }
  .offset-xl-6 {
    margin-left: 50%;
  }
  .offset-xl-7 {
    margin-left: 58.33333333%;
  }
  .offset-xl-8 {
    margin-left: 66.66666667%;
  }
  .offset-xl-9 {
    margin-left: 75%;
  }
  .offset-xl-10 {
    margin-left: 83.33333333%;
  }
  .offset-xl-11 {
    margin-left: 91.66666667%;
  }
  .g-xl-0,
  .gx-xl-0 {
    --bs-gutter-x: 0;
  }
  .g-xl-0,
  .gy-xl-0 {
    --bs-gutter-y: 0;
  }
  .g-xl-1,
  .gx-xl-1 {
    --bs-gutter-x: 0.25rem;
  }
  .g-xl-1,
  .gy-xl-1 {
    --bs-gutter-y: 0.25rem;
  }
  .g-xl-2,
  .gx-xl-2 {
    --bs-gutter-x: 0.5rem;
  }
  .g-xl-2,
  .gy-xl-2 {
    --bs-gutter-y: 0.5rem;
  }
  .g-xl-3,
  .gx-xl-3 {
    --bs-gutter-x: 1rem;
  }
  .g-xl-3,
  .gy-xl-3 {
    --bs-gutter-y: 1rem;
  }
  .g-xl-4,
  .gx-xl-4 {
    --bs-gutter-x: 1.5rem;
  }
  .g-xl-4,
  .gy-xl-4 {
    --bs-gutter-y: 1.5rem;
  }
  .g-xl-5,
  .gx-xl-5 {
    --bs-gutter-x: 3rem;
  }
  .g-xl-5,
  .gy-xl-5 {
    --bs-gutter-y: 3rem;
  }
}
@media (min-width: 1400px) {
  .col-xxl {
    flex: 1 0 0;
  }
  .row-cols-xxl-auto > * {
    flex: 0 0 auto;
    width: auto;
  }
  .row-cols-xxl-1 > * {
    flex: 0 0 auto;
    width: 100%;
  }
  .row-cols-xxl-2 > * {
    flex: 0 0 auto;
    width: 50%;
  }
  .row-cols-xxl-3 > * {
    flex: 0 0 auto;
    width: 33.33333333%;
  }
  .row-cols-xxl-4 > * {
    flex: 0 0 auto;
    width: 25%;
  }
  .row-cols-xxl-5 > * {
    flex: 0 0 auto;
    width: 20%;
  }
  .row-cols-xxl-6 > * {
    flex: 0 0 auto;
    width: 16.66666667%;
  }
  .col-xxl-auto {
    flex: 0 0 auto;
    width: auto;
  }
  .col-xxl-1 {
    flex: 0 0 auto;
    width: 8.33333333%;
  }
  .col-xxl-2 {
    flex: 0 0 auto;
    width: 16.66666667%;
  }
  .col-xxl-3 {
    flex: 0 0 auto;
    width: 25%;
  }
  .col-xxl-4 {
    flex: 0 0 auto;
    width: 33.33333333%;
  }
  .col-xxl-5 {
    flex: 0 0 auto;
    width: 41.66666667%;
  }
  .col-xxl-6 {
    flex: 0 0 auto;
    width: 50%;
  }
  .col-xxl-7 {
    flex: 0 0 auto;
    width: 58.33333333%;
  }
  .col-xxl-8 {
    flex: 0 0 auto;
    width: 66.66666667%;
  }
  .col-xxl-9 {
    flex: 0 0 auto;
    width: 75%;
  }
  .col-xxl-10 {
    flex: 0 0 auto;
    width: 83.33333333%;
  }
  .col-xxl-11 {
    flex: 0 0 auto;
    width: 91.66666667%;
  }
  .col-xxl-12 {
    flex: 0 0 auto;
    width: 100%;
  }
  .offset-xxl-0 {
    margin-left: 0;
  }
  .offset-xxl-1 {
    margin-left: 8.33333333%;
  }
  .offset-xxl-2 {
    margin-left: 16.66666667%;
  }
  .offset-xxl-3 {
    margin-left: 25%;
  }
  .offset-xxl-4 {
    margin-left: 33.33333333%;
  }
  .offset-xxl-5 {
    margin-left: 41.66666667%;
  }
  .offset-xxl-6 {
    margin-left: 50%;
  }
  .offset-xxl-7 {
    margin-left: 58.33333333%;
  }
  .offset-xxl-8 {
    margin-left: 66.66666667%;
  }
  .offset-xxl-9 {
    margin-left: 75%;
  }
  .offset-xxl-10 {
    margin-left: 83.33333333%;
  }
  .offset-xxl-11 {
    margin-left: 91.66666667%;
  }
  .g-xxl-0,
  .gx-xxl-0 {
    --bs-gutter-x: 0;
  }
  .g-xxl-0,
  .gy-xxl-0 {
    --bs-gutter-y: 0;
  }
  .g-xxl-1,
  .gx-xxl-1 {
    --bs-gutter-x: 0.25rem;
  }
  .g-xxl-1,
  .gy-xxl-1 {
    --bs-gutter-y: 0.25rem;
  }
  .g-xxl-2,
  .gx-xxl-2 {
    --bs-gutter-x: 0.5rem;
  }
  .g-xxl-2,
  .gy-xxl-2 {
    --bs-gutter-y: 0.5rem;
  }
  .g-xxl-3,
  .gx-xxl-3 {
    --bs-gutter-x: 1rem;
  }
  .g-xxl-3,
  .gy-xxl-3 {
    --bs-gutter-y: 1rem;
  }
  .g-xxl-4,
  .gx-xxl-4 {
    --bs-gutter-x: 1.5rem;
  }
  .g-xxl-4,
  .gy-xxl-4 {
    --bs-gutter-y: 1.5rem;
  }
  .g-xxl-5,
  .gx-xxl-5 {
    --bs-gutter-x: 3rem;
  }
  .g-xxl-5,
  .gy-xxl-5 {
    --bs-gutter-y: 3rem;
  }
}
.clearfix::after {
  display: block;
  clear: both;
  content: "";
}

.text-bg-primary {
  color: #fff !important;
  background-color: RGBA(var(--bs-primary-rgb), var(--bs-bg-opacity, 1)) !important;
}

.text-bg-secondary {
  color: #000 !important;
  background-color: RGBA(var(--bs-secondary-rgb), var(--bs-bg-opacity, 1)) !important;
}

.text-bg-success {
  color: #fff !important;
  background-color: RGBA(var(--bs-success-rgb), var(--bs-bg-opacity, 1)) !important;
}

.text-bg-info {
  color: #000 !important;
  background-color: RGBA(var(--bs-info-rgb), var(--bs-bg-opacity, 1)) !important;
}

.text-bg-warning {
  color: #000 !important;
  background-color: RGBA(var(--bs-warning-rgb), var(--bs-bg-opacity, 1)) !important;
}

.text-bg-danger {
  color: #000 !important;
  background-color: RGBA(var(--bs-danger-rgb), var(--bs-bg-opacity, 1)) !important;
}

.text-bg-light {
  color: #000 !important;
  background-color: RGBA(var(--bs-light-rgb), var(--bs-bg-opacity, 1)) !important;
}

.text-bg-dark {
  color: #fff !important;
  background-color: RGBA(var(--bs-dark-rgb), var(--bs-bg-opacity, 1)) !important;
}

.link-primary {
  color: RGBA(var(--bs-primary-rgb), var(--bs-link-opacity, 1)) !important;
  text-decoration-color: RGBA(var(--bs-primary-rgb), var(--bs-link-underline-opacity, 1)) !important;
}
.link-primary:hover, .link-primary:focus {
  color: RGBA(0, 92, 184, var(--bs-link-opacity, 1)) !important;
  text-decoration-color: RGBA(0, 92, 184, var(--bs-link-underline-opacity, 1)) !important;
}

.link-secondary {
  color: RGBA(var(--bs-secondary-rgb), var(--bs-link-opacity, 1)) !important;
  text-decoration-color: RGBA(var(--bs-secondary-rgb), var(--bs-link-underline-opacity, 1)) !important;
}
.link-secondary:hover, .link-secondary:focus {
  color: RGBA(232, 227, 199, var(--bs-link-opacity, 1)) !important;
  text-decoration-color: RGBA(232, 227, 199, var(--bs-link-underline-opacity, 1)) !important;
}

.link-success {
  color: RGBA(var(--bs-success-rgb), var(--bs-link-opacity, 1)) !important;
  text-decoration-color: RGBA(var(--bs-success-rgb), var(--bs-link-underline-opacity, 1)) !important;
}
.link-success:hover, .link-success:focus {
  color: RGBA(20, 108, 67, var(--bs-link-opacity, 1)) !important;
  text-decoration-color: RGBA(20, 108, 67, var(--bs-link-underline-opacity, 1)) !important;
}

.link-info {
  color: RGBA(var(--bs-info-rgb), var(--bs-link-opacity, 1)) !important;
  text-decoration-color: RGBA(var(--bs-info-rgb), var(--bs-link-underline-opacity, 1)) !important;
}
.link-info:hover, .link-info:focus {
  color: RGBA(61, 213, 243, var(--bs-link-opacity, 1)) !important;
  text-decoration-color: RGBA(61, 213, 243, var(--bs-link-underline-opacity, 1)) !important;
}

.link-warning {
  color: RGBA(var(--bs-warning-rgb), var(--bs-link-opacity, 1)) !important;
  text-decoration-color: RGBA(var(--bs-warning-rgb), var(--bs-link-underline-opacity, 1)) !important;
}
.link-warning:hover, .link-warning:focus {
  color: RGBA(255, 205, 57, var(--bs-link-opacity, 1)) !important;
  text-decoration-color: RGBA(255, 205, 57, var(--bs-link-underline-opacity, 1)) !important;
}

.link-danger {
  color: RGBA(var(--bs-danger-rgb), var(--bs-link-opacity, 1)) !important;
  text-decoration-color: RGBA(var(--bs-danger-rgb), var(--bs-link-underline-opacity, 1)) !important;
}
.link-danger:hover, .link-danger:focus {
  color: RGBA(213, 127, 127, var(--bs-link-opacity, 1)) !important;
  text-decoration-color: RGBA(213, 127, 127, var(--bs-link-underline-opacity, 1)) !important;
}

.link-light {
  color: RGBA(var(--bs-light-rgb), var(--bs-link-opacity, 1)) !important;
  text-decoration-color: RGBA(var(--bs-light-rgb), var(--bs-link-underline-opacity, 1)) !important;
}
.link-light:hover, .link-light:focus {
  color: RGBA(238, 238, 238, var(--bs-link-opacity, 1)) !important;
  text-decoration-color: RGBA(238, 238, 238, var(--bs-link-underline-opacity, 1)) !important;
}

.link-dark {
  color: RGBA(var(--bs-dark-rgb), var(--bs-link-opacity, 1)) !important;
  text-decoration-color: RGBA(var(--bs-dark-rgb), var(--bs-link-underline-opacity, 1)) !important;
}
.link-dark:hover, .link-dark:focus {
  color: RGBA(20, 19, 30, var(--bs-link-opacity, 1)) !important;
  text-decoration-color: RGBA(20, 19, 30, var(--bs-link-underline-opacity, 1)) !important;
}

.link-body-emphasis {
  color: RGBA(var(--bs-emphasis-color-rgb), var(--bs-link-opacity, 1)) !important;
  text-decoration-color: RGBA(var(--bs-emphasis-color-rgb), var(--bs-link-underline-opacity, 1)) !important;
}
.link-body-emphasis:hover, .link-body-emphasis:focus {
  color: RGBA(var(--bs-emphasis-color-rgb), var(--bs-link-opacity, 0.75)) !important;
  text-decoration-color: RGBA(var(--bs-emphasis-color-rgb), var(--bs-link-underline-opacity, 0.75)) !important;
}

.focus-ring:focus {
  outline: 0;
  box-shadow: var(--bs-focus-ring-x, 0) var(--bs-focus-ring-y, 0) var(--bs-focus-ring-blur, 0) var(--bs-focus-ring-width) var(--bs-focus-ring-color);
}

.icon-link {
  display: inline-flex;
  gap: 0.375rem;
  align-items: center;
  text-decoration-color: rgba(var(--bs-link-color-rgb), var(--bs-link-opacity, 0.5));
  text-underline-offset: 0.25em;
  backface-visibility: hidden;
}
.icon-link > .bi {
  flex-shrink: 0;
  width: 1em;
  height: 1em;
  fill: currentcolor;
  transition: 0.2s ease-in-out transform;
}
@media (prefers-reduced-motion: reduce) {
  .icon-link > .bi {
    transition: none;
  }
}

.icon-link-hover:hover > .bi, .icon-link-hover:focus-visible > .bi {
  transform: var(--bs-icon-link-transform, translate3d(0.25em, 0, 0));
}

.ratio {
  position: relative;
  width: 100%;
}
.ratio::before {
  display: block;
  padding-top: var(--bs-aspect-ratio);
  content: "";
}
.ratio > * {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}

.ratio-1x1 {
  --bs-aspect-ratio: 100%;
}

.ratio-4x3 {
  --bs-aspect-ratio: 75%;
}

.ratio-16x9 {
  --bs-aspect-ratio: 56.25%;
}

.ratio-21x9 {
  --bs-aspect-ratio: 42.8571428571%;
}

.fixed-top {
  position: fixed;
  top: 0;
  right: 0;
  left: 0;
  z-index: 1030;
}

.fixed-bottom {
  position: fixed;
  right: 0;
  bottom: 0;
  left: 0;
  z-index: 1030;
}

.sticky-top {
  position: sticky;
  top: 0;
  z-index: 1020;
}

.sticky-bottom {
  position: sticky;
  bottom: 0;
  z-index: 1020;
}

@media (min-width: 576px) {
  .sticky-sm-top {
    position: sticky;
    top: 0;
    z-index: 1020;
  }
  .sticky-sm-bottom {
    position: sticky;
    bottom: 0;
    z-index: 1020;
  }
}
@media (min-width: 768px) {
  .sticky-md-top {
    position: sticky;
    top: 0;
    z-index: 1020;
  }
  .sticky-md-bottom {
    position: sticky;
    bottom: 0;
    z-index: 1020;
  }
}
@media (min-width: 992px) {
  .sticky-lg-top {
    position: sticky;
    top: 0;
    z-index: 1020;
  }
  .sticky-lg-bottom {
    position: sticky;
    bottom: 0;
    z-index: 1020;
  }
}
@media (min-width: 1200px) {
  .sticky-xl-top {
    position: sticky;
    top: 0;
    z-index: 1020;
  }
  .sticky-xl-bottom {
    position: sticky;
    bottom: 0;
    z-index: 1020;
  }
}
@media (min-width: 1400px) {
  .sticky-xxl-top {
    position: sticky;
    top: 0;
    z-index: 1020;
  }
  .sticky-xxl-bottom {
    position: sticky;
    bottom: 0;
    z-index: 1020;
  }
}
.hstack {
  display: flex;
  flex-direction: row;
  align-items: center;
  align-self: stretch;
}

.vstack {
  display: flex;
  flex: 1 1 auto;
  flex-direction: column;
  align-self: stretch;
}

.visually-hidden,
.visually-hidden-focusable:not(:focus):not(:focus-within) {
  width: 1px !important;
  height: 1px !important;
  padding: 0 !important;
  margin: -1px !important;
  overflow: hidden !important;
  clip: rect(0, 0, 0, 0) !important;
  white-space: nowrap !important;
  border: 0 !important;
}
.visually-hidden:not(caption),
.visually-hidden-focusable:not(:focus):not(:focus-within):not(caption) {
  position: absolute !important;
}
.visually-hidden *,
.visually-hidden-focusable:not(:focus):not(:focus-within) * {
  overflow: hidden !important;
}

.stretched-link::after {
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  z-index: 1;
  content: "";
}

.text-truncate {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.vr {
  display: inline-block;
  align-self: stretch;
  width: var(--bs-border-width);
  min-height: 1em;
  background-color: currentcolor;
  opacity: 0.25;
}

.container,
.container-fluid,
.container-sm,
.container-md,
.container-lg,
.container-xl,
.container-xxl {
  --bs-gutter-x: 1.5rem;
  --bs-gutter-y: 0;
  width: 100%;
  padding-right: calc(var(--bs-gutter-x) * 0.5);
  padding-left: calc(var(--bs-gutter-x) * 0.5);
  margin-right: auto;
  margin-left: auto;
}

@media (min-width: 576px) {
  .container, .container-sm {
    max-width: 540px;
  }
}
@media (min-width: 768px) {
  .container, .container-sm, .container-md {
    max-width: 720px;
  }
}
@media (min-width: 992px) {
  .container, .container-sm, .container-md, .container-lg {
    max-width: 960px;
  }
}
@media (min-width: 1200px) {
  .container, .container-sm, .container-md, .container-lg, .container-xl {
    max-width: 1140px;
  }
}
@media (min-width: 1400px) {
  .container, .container-sm, .container-md, .container-lg, .container-xl, .container-xxl {
    max-width: 1320px;
  }
}
*,
*::before,
*::after {
  box-sizing: border-box;
}

@media (prefers-reduced-motion: no-preference) {
  :root {
    scroll-behavior: smooth;
  }
}

body {
  margin: 0;
  font-family: var(--bs-body-font-family);
  font-size: var(--bs-body-font-size);
  font-weight: var(--bs-body-font-weight);
  line-height: var(--bs-body-line-height);
  color: var(--bs-body-color);
  text-align: var(--bs-body-text-align);
  background-color: var(--bs-body-bg);
  -webkit-text-size-adjust: 100%;
  -webkit-tap-highlight-color: rgba(0, 0, 0, 0);
}

hr {
  margin: 1rem 0;
  color: inherit;
  border: 0;
  border-top: var(--bs-border-width) solid;
  opacity: 0.25;
}

h6, .h6, h5, .h5, h4, .h4, h3, .h3, h2, .h2, h1, .h1 {
  margin-top: 0;
  margin-bottom: 0.5rem;
  font-weight: 500;
  line-height: 1.2;
  color: var(--bs-heading-color);
}

h1, .h1 {
  font-size: calc(1.375rem + 1.5vw);
}
@media (min-width: 1200px) {
  h1, .h1 {
    font-size: 2.5rem;
  }
}

h2, .h2 {
  font-size: calc(1.325rem + 0.9vw);
}
@media (min-width: 1200px) {
  h2, .h2 {
    font-size: 2rem;
  }
}

h3, .h3 {
  font-size: calc(1.3rem + 0.6vw);
}
@media (min-width: 1200px) {
  h3, .h3 {
    font-size: 1.75rem;
  }
}

h4, .h4 {
  font-size: calc(1.275rem + 0.3vw);
}
@media (min-width: 1200px) {
  h4, .h4 {
    font-size: 1.5rem;
  }
}

h5, .h5 {
  font-size: 1.25rem;
}

h6, .h6 {
  font-size: 1rem;
}

p {
  margin-top: 0;
  margin-bottom: 1rem;
}

abbr[title] {
  text-decoration: underline dotted;
  cursor: help;
  text-decoration-skip-ink: none;
}

address {
  margin-bottom: 1rem;
  font-style: normal;
  line-height: inherit;
}

ol,
ul {
  padding-left: 2rem;
}

ol,
ul,
dl {
  margin-top: 0;
  margin-bottom: 1rem;
}

ol ol,
ul ul,
ol ul,
ul ol {
  margin-bottom: 0;
}

dt {
  font-weight: 700;
}

dd {
  margin-bottom: 0.5rem;
  margin-left: 0;
}

blockquote {
  margin: 0 0 1rem;
}

b,
strong {
  font-weight: bolder;
}

small, .small {
  font-size: 0.875em;
}

mark, .mark {
  padding: 0.1875em;
  color: var(--bs-highlight-color);
  background-color: var(--bs-highlight-bg);
}

sub,
sup {
  position: relative;
  font-size: 0.75em;
  line-height: 0;
  vertical-align: baseline;
}

sub {
  bottom: -0.25em;
}

sup {
  top: -0.5em;
}

a {
  color: rgba(var(--bs-link-color-rgb), var(--bs-link-opacity, 1));
  text-decoration: underline;
}
a:hover {
  --bs-link-color-rgb: var(--bs-link-hover-color-rgb);
}

a:not([href]):not([class]), a:not([href]):not([class]):hover {
  color: inherit;
  text-decoration: none;
}

pre,
code,
kbd,
samp {
  font-family: var(--bs-font-monospace);
  font-size: 1em;
}

pre {
  display: block;
  margin-top: 0;
  margin-bottom: 1rem;
  overflow: auto;
  font-size: 0.875em;
}
pre code {
  font-size: inherit;
  color: inherit;
  word-break: normal;
}

code {
  font-size: 0.875em;
  color: var(--bs-code-color);
  word-wrap: break-word;
}
a > code {
  color: inherit;
}

kbd {
  padding: 0.1875rem 0.375rem;
  font-size: 0.875em;
  color: var(--bs-body-bg);
  background-color: var(--bs-body-color);
  border-radius: 0.25rem;
}
kbd kbd {
  padding: 0;
  font-size: 1em;
}

figure {
  margin: 0 0 1rem;
}

img,
svg {
  vertical-align: middle;
}

table {
  caption-side: bottom;
  border-collapse: collapse;
}

caption {
  padding-top: 0.5rem;
  padding-bottom: 0.5rem;
  color: var(--bs-secondary-color);
  text-align: left;
}

th {
  text-align: inherit;
  text-align: -webkit-match-parent;
}

thead,
tbody,
tfoot,
tr,
td,
th {
  border-color: inherit;
  border-style: solid;
  border-width: 0;
}

label {
  display: inline-block;
}

button {
  border-radius: 0;
}

button:focus:not(:focus-visible) {
  outline: 0;
}

input,
button,
select,
optgroup,
textarea {
  margin: 0;
  font-family: inherit;
  font-size: inherit;
  line-height: inherit;
}

button,
select {
  text-transform: none;
}

[role=button] {
  cursor: pointer;
}

select {
  word-wrap: normal;
}
select:disabled {
  opacity: 1;
}

[list]:not([type=date]):not([type=datetime-local]):not([type=month]):not([type=week]):not([type=time])::-webkit-calendar-picker-indicator {
  display: none !important;
}

button,
[type=button],
[type=reset],
[type=submit] {
  -webkit-appearance: button;
}
button:not(:disabled),
[type=button]:not(:disabled),
[type=reset]:not(:disabled),
[type=submit]:not(:disabled) {
  cursor: pointer;
}

::-moz-focus-inner {
  padding: 0;
  border-style: none;
}

textarea {
  resize: vertical;
}

fieldset {
  min-width: 0;
  padding: 0;
  margin: 0;
  border: 0;
}

legend {
  float: left;
  width: 100%;
  padding: 0;
  margin-bottom: 0.5rem;
  line-height: inherit;
  font-size: calc(1.275rem + 0.3vw);
}
@media (min-width: 1200px) {
  legend {
    font-size: 1.5rem;
  }
}
legend + * {
  clear: left;
}

::-webkit-datetime-edit-fields-wrapper,
::-webkit-datetime-edit-text,
::-webkit-datetime-edit-minute,
::-webkit-datetime-edit-hour-field,
::-webkit-datetime-edit-day-field,
::-webkit-datetime-edit-month-field,
::-webkit-datetime-edit-year-field {
  padding: 0;
}

::-webkit-inner-spin-button {
  height: auto;
}

[type=search] {
  -webkit-appearance: textfield;
  outline-offset: -2px;
}
[type=search]::-webkit-search-cancel-button {
  cursor: pointer;
  filter: grayscale(1);
}

/* rtl:raw:
[type="tel"],
[type="url"],
[type="email"],
[type="number"] {
  direction: ltr;
}
*/
::-webkit-search-decoration {
  -webkit-appearance: none;
}

::-webkit-color-swatch-wrapper {
  padding: 0;
}

::file-selector-button {
  font: inherit;
  -webkit-appearance: button;
}

output {
  display: inline-block;
}

iframe {
  border: 0;
}

summary {
  display: list-item;
  cursor: pointer;
}

progress {
  vertical-align: baseline;
}

[hidden] {
  display: none !important;
}

.lead {
  font-size: 1.25rem;
  font-weight: 300;
}

.display-1 {
  font-weight: 300;
  line-height: 1.2;
  font-size: calc(1.625rem + 4.5vw);
}
@media (min-width: 1200px) {
  .display-1 {
    font-size: 5rem;
  }
}

.display-2 {
  font-weight: 300;
  line-height: 1.2;
  font-size: calc(1.575rem + 3.9vw);
}
@media (min-width: 1200px) {
  .display-2 {
    font-size: 4.5rem;
  }
}

.display-3 {
  font-weight: 300;
  line-height: 1.2;
  font-size: calc(1.525rem + 3.3vw);
}
@media (min-width: 1200px) {
  .display-3 {
    font-size: 4rem;
  }
}

.display-4 {
  font-weight: 300;
  line-height: 1.2;
  font-size: calc(1.475rem + 2.7vw);
}
@media (min-width: 1200px) {
  .display-4 {
    font-size: 3.5rem;
  }
}

.display-5 {
  font-weight: 300;
  line-height: 1.2;
  font-size: calc(1.425rem + 2.1vw);
}
@media (min-width: 1200px) {
  .display-5 {
    font-size: 3rem;
  }
}

.display-6 {
  font-weight: 300;
  line-height: 1.2;
  font-size: calc(1.375rem + 1.5vw);
}
@media (min-width: 1200px) {
  .display-6 {
    font-size: 2.5rem;
  }
}

.list-unstyled {
  padding-left: 0;
  list-style: none;
}

.list-inline {
  padding-left: 0;
  list-style: none;
}

.list-inline-item {
  display: inline-block;
}
.list-inline-item:not(:last-child) {
  margin-right: 0.5rem;
}

.initialism {
  font-size: 0.875em;
  text-transform: uppercase;
}

.blockquote {
  margin-bottom: 1rem;
  font-size: 1.25rem;
}
.blockquote > :last-child {
  margin-bottom: 0;
}

.blockquote-footer {
  margin-top: -1rem;
  margin-bottom: 1rem;
  font-size: 0.875em;
  color: #6c757d;
}
.blockquote-footer::before {
  content: "— ";
}

.gap-1 {
  gap: 0.5rem;
}

.gap-2 {
  gap: 1rem;
}

.gap-3 {
  gap: 1.5rem;
}

.gap-4 {
  gap: 2rem;
}

.gap-5 {
  gap: 2.5rem;
}

h4, .h4 {
  font-size: 1rem;
  font-weight: 400;
}

@media screen and (min-width: 576px) {
  h4, .h4 {
    font-size: 1rem;
  }
}
@media screen and (min-width: 768px) {
  h4, .h4 {
    font-size: 1rem;
  }
}
@media screen and (min-width: 992px) {
  h4, .h4 {
    font-size: 1rem;
  }
}
@media screen and (min-width: 1200px) {
  h4, .h4 {
    font-size: 1.1rem;
  }
}
h3, .h3 {
  font-size: 1.2rem;
}

@media screen and (min-width: 576px) {
  h3, .h3 {
    font-size: 1.2rem;
  }
}
@media screen and (min-width: 768px) {
  h3, .h3 {
    font-size: 1.5rem;
  }
}
@media screen and (min-width: 992px) {
  h3, .h3 {
    font-size: 1.5rem;
  }
}
@media screen and (min-width: 1200px) {
  h3, .h3 {
    font-size: 1.7rem;
  }
}
h2, .h2 {
  font-size: 1.5rem;
  line-height: 1.2;
}

@media screen and (min-width: 576px) {
  h2, .h2 {
    font-size: 1.5rem;
  }
}
@media screen and (min-width: 768px) {
  h2, .h2 {
    font-size: 2rem;
  }
}
@media screen and (min-width: 992px) {
  h2, .h2 {
    font-size: 2.5rem;
  }
}
@media screen and (min-width: 1200px) {
  h2, .h2 {
    font-size: 3rem;
  }
}
h1, .h1 {
  font-size: 2rem;
  line-height: 1.2;
}

@media screen and (min-width: 576px) {
  h1, .h1 {
    font-size: 2rem;
  }
}
@media screen and (min-width: 768px) {
  h1, .h1 {
    font-size: 3.2rem;
  }
}
@media screen and (min-width: 992px) {
  h1, .h1 {
    font-size: 4rem;
  }
}
@media screen and (min-width: 1200px) {
  h1, .h1 {
    font-size: 4.5rem;
  }
}
p, li, span, a, input, label, table, select, strong, cite {
  font-size: 14px;
  line-height: 1.5;
}

@media screen and (min-width: 576px) {
  p, li, span, a, input, label, table, select, strong, cite {
    font-size: 14px;
  }
}
@media screen and (min-width: 768px) {
  p, li, span, a, input, label, table, select, strong, cite {
    font-size: 15px;
  }
}
@media screen and (min-width: 992px) {
  p, li, span, a, input, label, table, select, strong, cite {
    font-size: 15px;
  }
}
@media screen and (min-width: 1200px) {
  p, li, span, a, input, label, table, select, strong, cite {
    font-size: 16px;
  }
}
button, .btn {
  font-size: 15px;
  line-height: 1.5;
}

@media screen and (min-width: 576px) {
  button, .btn {
    font-size: 15px;
  }
}
@media screen and (min-width: 768px) {
  button, .btn {
    font-size: 15px;
  }
}
@media screen and (min-width: 992px) {
  button, .btn {
    font-size: 16px;
  }
}
@media screen and (min-width: 1200px) {
  button, .btn {
    font-size: 17px;
  }
}
.mt-n1 {
  margin-top: -0.5rem !important;
}

.mt-n2 {
  margin-top: -1rem !important;
}

.mt-n3 {
  margin-top: -1.5rem !important;
}

.mt-n4 {
  margin-top: -2rem !important;
}

.mt-n5 {
  margin-top: -2.5rem !important;
}

@keyframes blink {
  from {
    opacity: 0;
  }
  to {
    opacity: 1;
  }
}
@keyframes changeColor {
  from {
    color: rgb(202, 95, 95);
  }
  to {
    color: #0073E6;
  }
}
@keyframes vibrate-1-normal {
  0% {
    transform: translate(0);
  }
  20% {
    transform: translate(-2px, 2px);
  }
  40% {
    transform: translate(-2px, -2px);
  }
  60% {
    transform: translate(2px, 2px);
  }
  80% {
    transform: translate(2px, -2px);
  }
  100% {
    transform: translate(0);
  }
}
:root {
  --bg-warning: #facc15;
  --bg-success: #22c55e;
  --bg-error: #ef4444;
  --bg-info: #3b82f6;
  --bg-white: #ffffff;
  --bg-dark: #1e293b;
  --bg-light: #f1f5f9;
  --bg-primary: #0073E6;
  --bg-secondary: #6b7280;
}

.bg-warning {
  background-color: var(--bg-warning) !important;
}

.bg-success {
  background-color: var(--bg-success) !important;
}

.bg-error {
  background-color: var(--bg-error) !important;
}

.bg-info {
  background-color: var(--bg-info) !important;
}

.bg-white {
  background-color: var(--bg-white) !important;
  background: var(--bg-white) !important;
}

.bg-primary {
  background-color: var(--bg-primary) !important;
}

#myToast {
  display: none;
  position: absolute;
  top: 100px;
  right: 20px;
  max-width: 320px;
  align-items: flex-start;
  justify-content: space-between;
  border-radius: 0.5rem;
  background: #606c88;
  background: linear-gradient(to right top, #191825, rgb(18.0006428801%, 17.2806171649%, 26.6409514626%));
  padding: 1rem;
  color: rgb(107, 114, 128);
  box-shadow: 0px 0px 16px 8px rgba(0, 0, 0, 0.4);
  z-index: 9997;
}
#myToast .icon {
  height: 2rem;
  width: 2rem;
  flex-shrink: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: 0.5rem;
  background-color: #861515;
  color: rgb(59, 130, 246);
}
#myToast .icon svg {
  height: 1.25rem;
  width: 1.25rem;
  color: #eaeaea;
}
#myToast .msgs {
  display: flex;
  flex-direction: column;
}
#myToast .content {
  margin-left: 0.75rem;
  font-size: 0.875rem;
  line-height: 1.25rem;
  font-weight: 400;
}
#myToast .title {
  margin-bottom: 0.25rem;
  font-size: 0.875rem;
  line-height: 1.25rem;
  font-weight: 600;
  color: #fff;
}
#myToast .desc {
  margin-bottom: 0.5rem;
  font-size: 0.875rem;
  line-height: 1.25rem;
  font-weight: 400;
  color: #e2dcb9;
}
#myToast .close {
  margin: -0.375rem -0.375rem -0.375rem auto;
  height: 1.5rem;
  width: 1.5rem;
  display: inline-flex;
  border-radius: 0.5rem;
  background-color: #0073E6;
  padding: 0.375rem;
  color: #fff;
  border: none;
}
#myToast .close svg {
  height: 1rem;
  width: 1rem;
}
#myToast .close:hover {
  background-color: rgb(58, 69, 83);
}

#backToTop {
  opacity: 0;
  position: fixed;
  width: 40px;
  height: 40px;
  bottom: 20px;
  right: 20px;
  display: flex;
  justify-content: center;
  z-index: 996;
  color: #0073E6;
  transform: rotate(90deg);
  border-radius: 6px;
  align-items: center;
  cursor: pointer;
  transition: all 0.3s ease;
  pointer-events: none;
}
#backToTop:hover {
  color: rgb(0%, 35.0980392157%, 70.1960784314%);
}
#backToTop.scrolled {
  opacity: 1;
  pointer-events: all;
}
#backToTop svg:not(.arrow > svg) {
  position: absolute;
  top: 0;
  left: 0;
  transform: rotate(180deg);
}
#backToTop .arrow {
  display: flex;
  justify-content: center;
  align-items: center;
  width: 40px;
  height: 40px;
}
#backToTop .arrow svg {
  transform: rotate(-90deg);
}

* {
  scroll-padding-top: 20px;
}

body {
  color: #191825;
}

section {
  padding: 80px 0;
  overflow: hidden;
}

button {
  outline: none;
  cursor: pointer;
  border: 0;
  padding: 8px 16px;
  border-radius: 4px;
  background-image: linear-gradient(to right, var(--bg-primary), var(--bg-info));
  color: #fff;
  transition: all 0.3s ease;
  background-size: 150%;
  background-position: bottom right;
}
button:hover {
  background-image: linear-gradient(to right, var(--bg-primary), var(--bg-info));
  background-position: top left;
}

a {
  text-decoration: none;
}

img {
  width: 100%;
  height: auto;
}

.headline {
  display: flex;
  flex-direction: column;
}
.headline h1 span, .headline .h1 span,
.headline h2 span,
.headline .h2 span {
  position: relative;
  display: inline-block;
  color: #0073E6 !important;
  padding: 0 16px;
  white-space: nowrap;
  z-index: 2;
}
.headline h1 span::before, .headline .h1 span::before,
.headline h2 span::before,
.headline .h2 span::before {
  content: "";
  width: 100%;
  height: 100%;
  position: absolute;
  top: 0;
  left: 0;
  background: url("https://cdn.alfadrivingschool.cz/usr/img/502090/i/6e532a52-fd96-4386-9228-24805ec6a462") repeat, rgba(255, 255, 255, 0.8);
  z-index: -1;
  -webkit-transform: skew(-20deg);
  transform: skew(-20deg);
}
.headline .subheading {
  color: #fff;
  text-transform: uppercase;
  font-weight: 300;
  letter-spacing: 2px;
}

.card {
  display: flex;
  flex-direction: column;
  height: 100%;
}

.logo-wrapper {
  display: flex;
  flex-direction: column;
  pointer-events: none;
}
.logo-wrapper .logo {
  display: flex;
  align-items: center;
  white-space: nowrap;
  margin-bottom: 0;
  line-height: 1;
  font-weight: 700;
  letter-spacing: -1px;
}
.logo-wrapper .logo svg {
  width: 32px;
  height: 36px;
}
.logo-wrapper span:not(.logo) {
  text-transform: uppercase;
}

@media screen and (min-width: 992px) {
  * {
    scroll-padding-top: 80px;
  }
  section {
    padding: 100px 0;
  }
  button {
    padding: 16px 32px;
  }
  .logo-wrapper .logo {
    letter-spacing: -4px;
  }
  .logo-wrapper .logo svg {
    width: 44px;
    height: 48px;
  }
}
.dots-trigger {
  border: transparent;
  background: transparent;
  appearance: none;
}
.dots-trigger::after {
  content: "....";
  display: inline-block;
  color: #0073E6;
  cursor: pointer;
  font-size: 16px;
  width: 16px;
  height: 16px;
}
.dots-trigger:checked::after {
  content: "";
  width: 0;
  display: none;
}
.dots-trigger:checked + .content.hidden {
  visibility: visible;
  opacity: 1;
  height: auto;
  overflow: visible;
  width: auto;
  background: unset;
  outline: unset;
}

.content.hidden {
  font-size: inherit;
  line-height: inherit;
  color: inherit;
}

.hidden {
  visibility: collapse;
  opacity: 0;
  height: 0;
  overflow: hidden;
  width: 0;
}

.visible {
  visibility: visible;
  opacity: 1;
  height: auto;
  overflow: visible;
  width: auto;
}

header {
  max-height: 120px;
  width: 100%;
  z-index: 9990;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  background-color: #fff;
  border-bottom: 1px solid #eaeaea;
}
header .top-bar {
  padding: 8px 0;
  width: 100%;
  background: #191825;
}
header .top-bar span, header .top-bar a {
  color: #fff;
  font-size: small;
}
header .top-bar .quicklinks {
  display: none;
  align-items: center;
  flex-wrap: wrap;
}
header .top-bar .quicklinks a {
  color: #fff;
}
header .top-bar .quicklinks a:hover {
  color: #0073E6;
}
header nav {
  display: flex;
  align-items: center;
  justify-content: space-between;
  position: relative;
}
header nav .logo {
  padding: 4px 0;
}
header nav .logo img {
  width: 127px;
  height: 55px;
}
header nav.expanded::before {
  content: "";
  position: fixed;
  top: 0;
  left: 0;
  width: 100vw;
  height: 100vh;
  background: rgba(25, 24, 37, 0.65);
  backdrop-filter: blur(8px);
  -webkit-backdrop-filter: blur(8px);
  z-index: 9990;
  opacity: 0;
  animation: fadeInBackdrop 0.35s ease forwards;
}
header nav.expanded ul.navbar {
  opacity: 1;
  visibility: visible;
  width: 85vw;
  max-width: 400px;
  height: 100vh;
  position: fixed;
  top: 0;
  right: 0;
  left: auto;
  z-index: 9991;
  flex-direction: column;
  background: linear-gradient(165deg, rgba(255, 255, 255, 0.98) 0%, rgba(234, 234, 234, 0.95) 100%);
  padding: 100px 24px 40px;
  pointer-events: all;
  justify-content: flex-start;
  gap: 8px;
  animation: slideInFromRight 0.4s cubic-bezier(0.16, 1, 0.3, 1) forwards;
  box-shadow: -8px 0 40px rgba(25, 24, 37, 0.15), -4px 0 20px rgba(25, 24, 37, 0.08);
  border-left: 1px solid rgba(255, 255, 255, 0.5);
  overflow-y: auto;
  -webkit-overflow-scrolling: touch;
}
header nav.expanded ul.navbar::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 4px;
  height: 100%;
  background: linear-gradient(180deg, #0073E6 0%, rgb(0%, 30.0980392157%, 60.1960784314%) 100%);
}
header nav.expanded ul.navbar li {
  width: 100%;
  opacity: 0;
  transform: translateX(20px);
  animation: fadeInSlideRight 0.35s ease forwards;
}
header nav.expanded ul.navbar li:nth-child(1) {
  animation-delay: 0.09s;
}
header nav.expanded ul.navbar li:nth-child(2) {
  animation-delay: 0.13s;
}
header nav.expanded ul.navbar li:nth-child(3) {
  animation-delay: 0.17s;
}
header nav.expanded ul.navbar li:nth-child(4) {
  animation-delay: 0.21s;
}
header nav.expanded ul.navbar li:nth-child(5) {
  animation-delay: 0.25s;
}
header nav.expanded ul.navbar li:nth-child(6) {
  animation-delay: 0.29s;
}
header nav.expanded ul.navbar li:nth-child(7) {
  animation-delay: 0.33s;
}
header nav.expanded ul.navbar li:nth-child(8) {
  animation-delay: 0.37s;
}
header nav.expanded ul.navbar li:nth-child(9) {
  animation-delay: 0.41s;
}
header nav.expanded ul.navbar li:nth-child(10) {
  animation-delay: 0.45s;
}
header nav.expanded ul.navbar li a, header nav.expanded ul.navbar li button {
  font-size: 16px;
  width: 100%;
  text-transform: none;
  color: #191825;
  padding: 16px 20px;
  border-radius: 12px;
  display: flex;
  align-items: center;
  justify-content: flex-start;
  gap: 12px;
  transition: all 0.25s cubic-bezier(0.16, 1, 0.3, 1);
  background: rgba(255, 255, 255, 0.5);
  border: 1px solid rgba(234, 234, 234, 0.5);
}
header nav.expanded ul.navbar li a:hover, header nav.expanded ul.navbar li a:focus-visible, header nav.expanded ul.navbar li button:hover, header nav.expanded ul.navbar li button:focus-visible {
  background: #fff;
  color: #0073E6;
  border-color: rgba(0, 115, 230, 0.3);
  box-shadow: 0 4px 12px rgba(0, 115, 230, 0.15);
  transform: translateX(4px);
}
header nav.expanded ul.navbar li a.active, header nav.expanded ul.navbar li button.active {
  background: linear-gradient(135deg, #0073E6 0%, rgb(0%, 37.0980392157%, 74.1960784314%) 100%);
  color: #fff;
  border-color: transparent;
  box-shadow: 0 4px 16px rgba(0, 115, 230, 0.35);
}
header nav.expanded ul.navbar li a.active:hover, header nav.expanded ul.navbar li button.active:hover {
  transform: translateX(4px);
  box-shadow: 0 6px 20px rgba(0, 115, 230, 0.45);
}
header nav.expanded ul.navbar li .submenu {
  position: static;
  display: flex;
  flex-direction: column;
  width: 100%;
  max-height: 0;
  padding: 0 0 0 16px;
  margin: 8px 0 0;
  background: rgba(234, 234, 234, 0.4);
  border-radius: 12px;
  border: 1px solid rgba(234, 234, 234, 0.5);
  opacity: 0;
  visibility: hidden;
  overflow: hidden;
  transition: all 0.35s cubic-bezier(0.16, 1, 0.3, 1);
}
header nav.expanded ul.navbar li .submenu li {
  animation: none;
  opacity: 1;
  transform: none;
}
header nav.expanded ul.navbar li .submenu li a {
  font-size: 14px;
  padding: 12px 16px;
  background: transparent;
  border: none;
  color: rgba(25, 24, 37, 0.85);
}
header nav.expanded ul.navbar li .submenu li a:hover {
  color: #0073E6;
  background: rgba(0, 115, 230, 0.08);
}
header nav.expanded ul.navbar li.open > .submenu {
  max-height: 400px;
  opacity: 1;
  visibility: visible;
  padding: 8px 8px 8px 16px;
  margin: 8px 0;
}
header nav.expanded ul.navbar li.has-children > a::after, header nav.expanded ul.navbar li.has-children > button::after {
  transition: transform 0.3s ease;
}
header nav.expanded ul.navbar li.open > a::after, header nav.expanded ul.navbar li.open > button::after {
  transform: rotate(225deg) translate(-2px, 0);
}
header nav.expanded ul.navbar::after {
  content: "Zavřít menu";
  display: block;
  margin-top: 24px;
  padding: 16px;
  text-align: center;
  font-size: 14px;
  color: rgba(25, 24, 37, 0.5);
  border-top: 1px solid rgba(234, 234, 234, 0.8);
  cursor: pointer;
  transition: color 0.2s ease;
}
header nav.expanded ul.navbar::after:hover {
  color: rgb(202, 95, 95);
}
header nav.expanded .toggler {
  position: fixed;
  top: 24px;
  right: 24px;
  width: 48px;
  height: 48px;
  background: #fff;
  border-radius: 50%;
  box-shadow: 0 4px 16px rgba(25, 24, 37, 0.15);
  z-index: 9992;
  gap: 0;
}
header nav.expanded .toggler span {
  position: absolute;
  width: 24px;
  height: 2px;
  border-radius: 2px;
  background-color: #191825;
  transition: all 0.35s cubic-bezier(0.16, 1, 0.3, 1);
}
header nav.expanded .toggler span:nth-child(1) {
  transform: rotate(45deg);
}
header nav.expanded .toggler span:nth-child(2) {
  opacity: 0;
  transform: scaleX(0);
}
header nav.expanded .toggler span:nth-child(3) {
  transform: rotate(-45deg);
}
header nav.expanded .toggler:hover {
  transform: scale(1.05);
  box-shadow: 0 6px 20px rgba(25, 24, 37, 0.2);
}
header nav a {
  z-index: 9993;
}
header nav a .logo-wrapper span:nth-child(2) {
  font-size: 12px;
}
header nav a .logo-wrapper .logo {
  letter-spacing: 0;
}
header nav a .logo-wrapper .logo svg path {
  fill: #0073E6;
}
header nav ul.navbar {
  list-style: none;
  display: flex;
  align-items: center;
  opacity: 0;
  visibility: hidden;
  padding-left: 0;
  margin-bottom: 0;
  width: 0;
  height: 0;
}
header nav ul.navbar li button {
  background: none;
  border-radius: 0;
  color: #191825;
}
header nav ul.navbar li button.active {
  color: #0073E6;
  border-color: #0073E6;
}
header nav .toggler {
  height: 100%;
  display: flex;
  align-items: center;
  z-index: 9993;
  justify-content: center;
  flex-direction: column;
  width: 44px;
  height: 44px;
  gap: 6px;
  cursor: pointer;
  border-radius: 10px;
  transition: all 0.25s ease;
  background: rgba(234, 234, 234, 0.3);
  border: 1px solid transparent;
}
header nav .toggler span {
  width: 24px;
  height: 2px;
  border-radius: 2px;
  background-color: #191825;
  transition: all 0.35s cubic-bezier(0.16, 1, 0.3, 1);
  transform-origin: center;
}
header nav .toggler:hover {
  background: rgba(0, 115, 230, 0.1);
  border-color: rgba(0, 115, 230, 0.2);
}
header nav .toggler:hover span {
  background-color: #0073E6;
}
header nav .toggler:active {
  transform: scale(0.95);
}

@media screen and (min-width: 992px) {
  header .top-bar .quicklinks {
    display: flex;
  }
  header nav ul.navbar li {
    height: 100%;
  }
  header nav ul.navbar li button {
    padding: 8px 16px;
    border-bottom: 4px solid transparent;
    height: 100%;
  }
  header nav ul.navbar li button:hover {
    border-bottom: 4px solid #0073E6;
    background: none;
    color: #0073E6;
  }
  header nav .toggler {
    display: none;
  }
}
@keyframes fadeInUp {
  0% {
    transform: translateY(-100%);
  }
  100% {
    transform: translateY(0);
  }
}
@keyframes fadeInLeft {
  0% {
    transform: translateX(-100%);
  }
  100% {
    transform: translateX(0);
  }
}
@keyframes fadeInBackdrop {
  0% {
    opacity: 0;
  }
  100% {
    opacity: 1;
  }
}
@keyframes slideInFromRight {
  0% {
    transform: translateX(100%);
    opacity: 0;
  }
  100% {
    transform: translateX(0);
    opacity: 1;
  }
}
@keyframes fadeInSlideRight {
  0% {
    opacity: 0;
    transform: translateX(20px);
  }
  100% {
    opacity: 1;
    transform: translateX(0);
  }
}
nav li {
  position: relative;
}
nav .submenu {
  list-style: none;
  padding-left: 0;
  margin-bottom: 0;
}
nav .has-children > a::after,
nav .has-children > button::after {
  content: "";
  display: inline-block;
  width: 8px;
  height: 8px;
  margin-left: 8px;
  border-right: 2px solid currentColor;
  border-bottom: 2px solid currentColor;
  transform: rotate(45deg) translateY(-2px);
  transition: transform 0.25s ease;
}

@media screen and (min-width: 992px) {
  nav .navbar > li > a {
    display: inline-flex;
    align-items: center;
    min-height: 44px;
    padding: 8px 14px;
    color: #191825;
    text-decoration: none;
    border-radius: 8px;
    text-transform: capitalize;
    transition: color 200ms ease, background-color 200ms ease;
  }
  nav .navbar > li > a:hover {
    color: #0073E6;
  }
  nav .navbar > li > a:focus-visible {
    outline: 2px solid #0073E6;
    outline-offset: 2px;
  }
  nav li.has-children:hover > a::after {
    transform: rotate(225deg) translate(-2px, 0);
  }
  nav .submenu {
    position: absolute;
    flex-direction: column;
    top: 100%;
    left: 0;
    right: 0;
    z-index: 9992;
    width: auto;
    height: auto;
    min-width: 220px;
    padding: 8px;
    background-color: #fff;
    border: 1px solid #eaeaea;
    border-radius: 12px;
    box-shadow: 0 12px 32px rgba(25, 24, 37, 0.12), 0 2px 8px rgba(25, 24, 37, 0.08);
    opacity: 0;
    visibility: hidden;
    transform: translate(-100%, 0px);
    pointer-events: none;
    transition: opacity 200ms ease, transform 200ms ease, visibility 0s linear 200ms;
  }
  nav .submenu li {
    width: 100%;
  }
  nav .submenu li a {
    display: flex;
    align-items: center;
    gap: 8px;
    min-height: 44px;
    padding: 10px 14px;
    color: #191825;
    text-decoration: none;
    border-radius: 8px;
    white-space: nowrap;
    text-transform: capitalize;
    transition: color 150ms ease, background-color 150ms ease;
  }
  nav .submenu li a svg {
    fill: color(srgb 0.2802 0.315 0.95);
  }
  nav .submenu li a:hover {
    color: #0073E6;
    background-color: #b3d9ff;
  }
  nav .submenu li a:hover svg {
    fill: rgb(69, 185, 243);
  }
  nav .submenu li a:focus-visible {
    outline: 2px solid #0073E6;
    outline-offset: -2px;
  }
  nav .submenu .submenu {
    top: -8px;
    left: calc(100% + 4px);
  }
  nav .submenu .has-children > a::after {
    transform: rotate(-45deg) translateY(0);
  }
  nav li:hover > .submenu,
  nav li:focus-within > .submenu {
    opacity: 1;
    visibility: visible;
    transform: translate(-50%, 0);
    pointer-events: auto;
    text-transform: capitalize;
    transition: opacity 200ms ease, transform 200ms ease, visibility 0s;
  }
  nav .navbar > li:nth-last-child(-n+2) > .submenu.dropdown {
    left: auto;
    right: 0;
  }
  nav .navbar > li:nth-last-child(-n+2) > .submenu.dropdown .submenu {
    left: auto;
    right: calc(100% + 4px);
  }
  nav .navbar > li:nth-last-child(-n+2) > .submenu.dropdown .has-children > a::after {
    transform: rotate(135deg) translateY(0);
  }
  nav li.megamenu {
    position: relative;
  }
  nav li.megamenu.has-children:hover > .submenu.megamenu, nav li.megamenu.has-children:focus-within > .submenu.megamenu {
    opacity: 1;
    visibility: visible;
    transform: translateX(-75%) translateY(0) !important;
    pointer-events: auto;
    height: auto;
  }
  nav .submenu.megamenu {
    position: absolute;
    top: calc(100% - 2px);
    min-width: fit-content;
    right: 0;
    left: 0;
    transform: translate(-100%, 0);
    width: 100%;
    max-width: 1200px;
    margin: 0;
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
    gap: 20px;
    padding: 32px;
    background: #fff;
    border: 1px solid #eaeaea;
    border-top: 3px solid #0073E6;
    border-radius: 12px;
    box-shadow: 0 20px 60px rgba(25, 24, 37, 0.15), 0 8px 24px rgba(25, 24, 37, 0.08);
    pointer-events: none;
    visibility: hidden;
    opacity: 0;
  }
}
@media screen and (min-width: 992px) and (max-width: 1200px) {
  nav .submenu.megamenu {
    grid-template-columns: repeat(2, 1fr);
    padding: 24px;
    gap: 16px;
  }
}
@media screen and (min-width: 992px) and (max-width: 768px) {
  nav .submenu.megamenu {
    grid-template-columns: 1fr;
    padding: 20px;
    gap: 12px;
  }
}
@media screen and (min-width: 992px) {
  @keyframes cardAppear {
    from {
      opacity: 0;
      transform: translateY(10px);
    }
    to {
      opacity: 1;
      transform: translateY(0);
    }
  }
  nav .submenu.megamenu > li {
    background: #fff;
    border-radius: 12px;
    padding: 0;
    border: 1px solid rgba(234, 234, 234, 0.8);
    transition: all 0.3s ease;
    position: relative;
    overflow: hidden;
    animation: cardAppear 0.3s ease backwards;
    display: flex;
    flex-direction: column;
  }
  nav .submenu.megamenu > li:nth-child(1) {
    animation-delay: 0.03s;
  }
  nav .submenu.megamenu > li:nth-child(2) {
    animation-delay: 0.06s;
  }
  nav .submenu.megamenu > li:nth-child(3) {
    animation-delay: 0.09s;
  }
  nav .submenu.megamenu > li:nth-child(4) {
    animation-delay: 0.12s;
  }
  nav .submenu.megamenu > li:nth-child(5) {
    animation-delay: 0.15s;
  }
  nav .submenu.megamenu > li:nth-child(6) {
    animation-delay: 0.18s;
  }
  nav .submenu.megamenu > li:hover {
    border-color: #0073E6;
    box-shadow: 0 8px 24px rgba(0, 115, 230, 0.12);
  }
  nav .submenu.megamenu > li > a.megamenu-item-link {
    display: flex;
    flex-direction: column;
    padding: 0;
    text-decoration: none;
    color: inherit;
    text-transform: capitalize;
  }
  nav .submenu.megamenu > li > a.megamenu-item-link:hover {
    background: none;
  }
  nav .submenu.megamenu > li > a.megamenu-item-link .megamenu-item-title {
    display: flex;
    align-items: center;
    gap: 12px;
    font-size: 15px;
    font-weight: 600;
    color: #191825;
    padding: 8px 20px;
    border-bottom: 1px solid #eaeaea;
    background: linear-gradient(135deg, rgba(0, 115, 230, 0.05) 0%, rgba(0, 115, 230, 0.02) 100%);
  }
  nav .submenu.megamenu > li > a.megamenu-item-link .megamenu-item-title:hover {
    color: #0073E6;
  }
  nav .submenu.megamenu > li > a.megamenu-item-link .megamenu-item-title .menu-icon {
    width: 36px;
    height: 36px;
    display: flex;
    align-items: center;
    justify-content: center;
    background: #0073E6;
    border-radius: 8px;
    color: #fff;
    font-size: 16px;
    flex-shrink: 0;
  }
  nav .submenu.megamenu > li > a.megamenu-item-link .megamenu-item-title .menu-icon svg {
    width: 18px;
    height: 18px;
    fill: currentColor;
  }
  nav .submenu.megamenu > li > a.megamenu-item-link .megamenu-item-title .menu-icon[class*=emoji] {
    font-size: 18px;
    line-height: 1;
  }
  nav .submenu.megamenu > li > a.megamenu-item-link .megamenu-image {
    width: 100%;
    height: 160px;
    object-fit: cover;
    display: block;
  }
  nav .submenu.megamenu > li > a.megamenu-item-link .megamenu-desc {
    font-size: 13px;
    color: rgba(25, 24, 37, 0.65);
    line-height: 1.6;
    padding: 12px 20px;
    margin: 0;
  }
  nav .submenu.megamenu > li > a:not(.megamenu-item-link) {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 12px;
    font-size: 15px;
    font-weight: 600;
    color: #191825;
    white-space: normal;
    padding: 8px 20px;
    border-bottom: 1px solid #eaeaea;
    transition: all 0.2s ease;
    background: linear-gradient(135deg, rgba(0, 115, 230, 0.05) 0%, rgba(0, 115, 230, 0.02) 100%);
    text-decoration: none;
  }
  nav .submenu.megamenu > li > a:not(.megamenu-item-link):hover {
    color: #0073E6;
    background: linear-gradient(135deg, rgba(0, 115, 230, 0.08) 0%, rgba(0, 115, 230, 0.04) 100%);
  }
  nav .submenu.megamenu > li > a:not(.megamenu-item-link) .menu-icon {
    width: 36px;
    height: 36px;
    display: flex;
    align-items: center;
    justify-content: center;
    background: #0073E6;
    border-radius: 8px;
    color: #fff;
    font-size: 16px;
    flex-shrink: 0;
  }
  nav .submenu.megamenu > li > a:not(.megamenu-item-link) .menu-icon svg {
    width: 18px;
    height: 18px;
    fill: currentColor;
  }
  nav .submenu.megamenu > li > a:not(.megamenu-item-link) .menu-icon[class*=emoji] {
    font-size: 18px;
    line-height: 1;
  }
  nav .submenu.megamenu .submenu {
    display: none;
  }
  nav .submenu.megamenu .has-children > a::after {
    display: none;
  }
}
@media (prefers-reduced-motion: reduce) {
  nav .submenu,
  nav .has-children > a::after,
  nav.expanded ul.navbar,
  nav.expanded ul.navbar li,
  nav.expanded .toggler,
  nav.expanded::before,
  .toggler,
  .toggler span {
    transition: none !important;
    animation: none !important;
  }
}
@media (prefers-contrast: high) {
  nav.expanded ul.navbar {
    background: #fff;
    border-left: 4px solid #0073E6;
  }
  nav.expanded ul.navbar li a,
  nav.expanded ul.navbar li button {
    border: 2px solid #191825;
  }
  nav.expanded ul.navbar li a.active,
  nav.expanded ul.navbar li button.active {
    border-color: #0073E6;
  }
}
nav.expanded ul.navbar li a:focus-visible,
nav.expanded ul.navbar li button:focus-visible {
  outline: 3px solid #0073E6;
  outline-offset: 2px;
}

@media screen and (min-width: 1200px) {
  header .top-bar .quicklinks {
    display: flex;
  }
  header nav ul.navbar {
    opacity: 1;
    visibility: visible;
    width: auto;
    height: 100%;
  }
}
#hero {
  position: relative;
  width: 100%;
  min-height: 50svh;
  max-height: 100svh;
  overflow: hidden;
  display: flex;
  align-items: center;
  padding: 0;
}
#hero.has-swiper {
  display: block;
  max-height: none;
}
#hero .hero-swiper {
  width: 100%;
}
#hero .hero-swiper .swiper-slide {
  position: relative;
  display: flex;
  align-items: center;
  min-height: 50svh;
  max-height: 100svh;
  overflow: hidden;
  padding: 60px 0;
}
#hero .hero-swiper .swiper-slide video,
#hero .hero-swiper .swiper-slide img.hero-bg {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  z-index: 0;
}
#hero .hero-swiper .swiper-slide .overlay {
  z-index: 1;
}
#hero .hero-swiper .swiper-slide .container {
  position: relative;
  z-index: 2;
}
#hero .hero-swiper .swiper-pagination {
  bottom: 18px;
}
#hero .hero-swiper .swiper-button-prev,
#hero .hero-swiper .swiper-button-next {
  color: #fff;
  opacity: 0.7;
  transition: opacity 0.2s;
}
#hero .hero-swiper .swiper-button-prev:hover,
#hero .hero-swiper .swiper-button-next:hover {
  opacity: 1;
}
#hero video {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  z-index: -2;
}
#hero .headline h1, #hero .headline .h1,
#hero .headline a,
#hero .headline h2,
#hero .headline .h2,
#hero .headline p {
  color: #fff;
}
#hero .headline h2, #hero .headline .h2 {
  padding-top: 16px;
  padding-bottom: 16px;
}
#hero .headline h2 cite, #hero .headline .h2 cite {
  font-size: inherit;
}
#hero .headline button, #hero .headline .btn-primary {
  border: 1px solid #0073E6;
}
#hero .headline button::after, #hero .headline .btn-primary::after {
  content: "➞";
  padding-left: 1rem;
}
#hero .headline a {
  padding: 8px 16px;
  border: 1px solid #fff;
  border-radius: 4px;
}
#hero .headline a,
#hero .headline button {
  min-width: 180px;
  text-align: center;
}
#hero .overlay {
  position: absolute;
  width: 100%;
  height: 100%;
  background: linear-gradient(240deg, rgba(0, 115, 230, 0.75) 30%, rgba(0, 0, 0, 0.65) 70%);
  z-index: -1;
}

.features {
  overflow: hidden;
  background: url("https://cdn.alfadrivingschool.cz/usr/img/502090/i/6e532a52-fd96-4386-9228-24805ec6a462") repeat, #fff;
}
.features .card {
  padding: 16px 0;
  align-items: center;
}
.features .card .feature {
  display: flex;
  align-items: center;
  gap: 16px;
  height: 100%;
}
.features .card .feature .content {
  display: flex;
  flex-direction: column;
  text-align: center;
  justify-content: center;
}
.features .card .feature .content span {
  font-weight: 800;
}
.features .card .feature .content span,
.features .card .feature .content p {
  margin-bottom: 0;
}
.features .card .feature .content span:last-child {
  color: crimson;
}
.features .card .feature svg {
  min-width: 32px;
  width: 32px;
  height: 32px;
}
.features .card .feature svg path {
  fill: #0073E6;
}

@media screen and (min-width: 992px) {
  #hero .headline a {
    padding: 16px 32px;
  }
  .features .card .feature svg {
    width: 48px;
    height: 48px;
  }
}
#about {
  padding: 80px 0;
  background: #f8f8f8;
}
#about .headline span {
  color: #0073E6;
}
#about ul {
  list-style-position: inside;
  display: flex;
  flex-direction: column;
  list-style: none;
  padding-left: 0;
}
#about ul li {
  display: inline-block;
}
#about ul li::before {
  content: "✓";
  padding-right: 8px;
  color: #0073E6;
  font-size: 18px;
}
#about .about-thumbnails .about-thumb {
  width: 80px;
  height: 80px;
  border-radius: 8px;
  overflow: hidden;
  cursor: pointer;
  border: 2px solid transparent;
  transition: all 0.3s ease;
  opacity: 0.7;
}
#about .about-thumbnails .about-thumb:hover {
  opacity: 1;
  border-color: rgba(0, 115, 230, 0.5);
}
#about .about-thumbnails .about-thumb.active {
  opacity: 1;
  border-color: #0073E6;
  box-shadow: 0 2px 8px rgba(0, 115, 230, 0.3);
}
#about .about-thumbnails .about-thumb:focus {
  outline: 2px solid #0073E6;
  outline-offset: 2px;
}
#about .about-thumbnails .about-thumb img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
#about .about-main-photo {
  position: relative;
  border-radius: 12px;
  overflow: hidden;
  background: white;
  box-shadow: 0 4px 20px rgba(0, 0, 0, 0.1);
}
#about .about-main-photo img {
  width: 100%;
  height: auto;
  min-height: 400px;
  max-height: 500px;
  object-fit: cover;
  display: block;
  transition: transform 0.5s ease;
}
#about .about-main-photo .photo-badge {
  position: absolute;
  bottom: 20px;
  left: 20px;
  background: #0073E6;
  color: white;
  padding: 8px 16px;
  border-radius: 20px;
  font-weight: 600;
  font-size: 0.9rem;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.2);
}
#about .about-content-card {
  background: white;
  border-radius: 12px;
  padding: 30px;
  box-shadow: 0 2px 10px rgba(0, 0, 0, 0.05);
  height: 100%;
}

@media (max-width: 992px) {
  #about {
    padding: 60px 0;
  }
  #about .about-main-photo img {
    min-height: 300px;
    max-height: 400px;
  }
  #about .about-content-card {
    padding: 20px;
  }
}
@media (max-width: 768px) {
  #about {
    padding: 40px 0;
  }
  #about .about-main-photo {
    margin-bottom: 20px;
  }
  #about .about-main-photo img {
    min-height: 250px;
    max-height: 300px;
  }
  #about .photo-badge {
    bottom: 10px;
    left: 10px;
    padding: 6px 12px;
    font-size: 0.8rem;
  }
}
#cta {
  padding: 40px 0;
  background: url("https://cdn.jedenpixel.cz/usr/img/502090/i/d3f34e19-6f44-4d07-a822-5ee156fbc48d") 50% 50%/cover no-repeat, rgba(0, 0, 0, 0.8);
  background-blend-mode: overlay;
}
#cta .headline {
  text-align: center;
  color: #fff;
}
#cta .headline a {
  padding: 8px 16px;
  background-color: #0073E6;
  border-radius: 4px;
  display: inline-block;
}

@media screen and (min-width: 992px) {
  #cta .headline a {
    padding: 16px 32px;
  }
}
#features .headline {
  text-align: center;
}
#features .container .row .col-10:nth-child(odd) {
  background-color: #eaeaea;
  border-radius: 1rem;
}
#features .card {
  align-items: center;
  text-align: center;
  gap: 16px;
}
#features .card .icon {
  position: relative;
  width: 130px;
  height: 124px;
  color: #0073E6;
  display: flex;
  align-items: center;
  justify-content: center;
  z-index: 2;
}
#features .card .icon svg {
  transform: scale(0.8);
}
#features .card .icon::before {
  content: "";
  position: absolute;
  top: 23.5px;
  left: 23.5px;
  background: #f5f5f5;
  width: 84px;
  height: 84px;
  box-shadow: 2px 1px 5px rgba(0, 0, 0, 0.1);
  transform: rotate(45deg);
  border-radius: 4px;
  background-clip: padding-box;
  z-index: -1;
}

@media screen and (min-width: 1200px) {
  #features .card {
    padding: 0px;
  }
  #features .card .icon {
    width: 130px;
    height: 124px;
  }
  #features .card .icon svg {
    transform: scale(1);
  }
  #features .card .icon::before {
    top: 23.5px;
    left: 23.5px;
    width: 84px;
    height: 84px;
  }
  #features .card p {
    font-size: smaller;
  }
}
#gallery {
  background-color: #F5F5F4;
  padding: 80px 0 100px;
}
#gallery .gallery-header {
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  gap: 24px;
  margin-bottom: 40px;
  flex-wrap: wrap;
}
#gallery .gallery-eyebrow {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  font-size: 0.72rem;
  font-weight: 700;
  letter-spacing: 1.8px;
  text-transform: uppercase;
  color: #0073E6;
  margin-bottom: 10px;
}
#gallery .gallery-eyebrow-line {
  display: inline-block;
  width: 28px;
  height: 2px;
  background: #0073E6;
  border-radius: 2px;
}
#gallery .gallery-title {
  font-size: clamp(2rem, 4vw, 3rem);
  font-weight: 700;
  color: #191825;
  letter-spacing: -0.5px;
  line-height: 1.1;
}
#gallery .gallery-title span {
  color: #0073E6;
}
#gallery .gallery-subtitle {
  color: #475569;
  font-size: 1rem;
  margin-top: 6px;
  max-width: 400px;
}
#gallery .gallery-count {
  color: #0073E6;
}
#gallery .gallery-counter {
  font-size: 3rem;
  font-weight: 700;
  color: rgb(88.2745098039%, 88.1381668947%, 88.4108527132%);
  line-height: 1;
  letter-spacing: -2px;
  user-select: none;
}
#gallery .gallery-counter small, #gallery .gallery-counter .small {
  display: block;
  font-size: 0.75rem;
  letter-spacing: 1px;
  color: #475569;
  font-weight: 400;
}
#gallery .gallery-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  grid-auto-rows: 220px;
  gap: 12px;
}
#gallery .gallery-item {
  position: relative;
  overflow: hidden;
  border-radius: 10px;
  cursor: pointer;
  background: rgb(88.2745098039%, 88.1381668947%, 88.4108527132%);
  opacity: 0;
  transform: translateY(20px) scale(0.98);
  transition: opacity 500ms ease, transform 500ms ease;
  transition-delay: var(--d, 0ms);
}
#gallery .gallery-item.visible {
  opacity: 1;
  transform: translateY(0) scale(1);
}
#gallery .gallery-item img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
  transition: transform 500ms cubic-bezier(0.22, 1, 0.36, 1), filter 280ms ease;
}
#gallery .gallery-item:hover img {
  transform: scale(1.06);
  filter: brightness(1.06);
}
#gallery .gallery-item:hover .item-caption {
  opacity: 1;
  transform: translateY(0);
}
#gallery .gallery-item:hover .item-expand {
  opacity: 1;
  transform: scale(1);
}
#gallery .gallery-item:hover::after {
  opacity: 1;
}
#gallery .gallery-item::after {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(to top, rgba(25, 24, 37, 0.78) 0%, rgba(25, 24, 37, 0.22) 60%, transparent 100%);
  opacity: 0;
  transition: opacity 280ms ease;
  pointer-events: none;
}
#gallery .gallery-item::before {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(90deg, rgb(88.2745098039%, 88.1381668947%, 88.4108527132%) 0%, rgb(97.9831932773%, 97.9831932773%, 97.781512605%) 50%, rgb(88.2745098039%, 88.1381668947%, 88.4108527132%) 100%);
  background-size: 200% 100%;
  animation: gallery-shimmer 1.6s ease-in-out infinite;
  z-index: 1;
  border-radius: 10px;
  transition: opacity 300ms ease;
}
#gallery .gallery-item.img-loaded::before {
  opacity: 0;
  pointer-events: none;
}
#gallery .gallery-item .item-caption {
  position: absolute;
  bottom: 0;
  left: 0;
  right: 0;
  padding: 16px;
  transform: translateY(8px);
  opacity: 0;
  transition: opacity 250ms ease, transform 250ms ease;
  pointer-events: none;
  z-index: 2;
}
#gallery .gallery-item .item-caption .caption-tag {
  display: inline-block;
  font-size: 0.68rem;
  font-weight: 700;
  letter-spacing: 1px;
  text-transform: uppercase;
  color: rgba(255, 255, 255, 0.75);
  margin-bottom: 4px;
}
#gallery .gallery-item .item-caption .caption-title {
  font-size: 0.95rem;
  font-weight: 600;
  color: #fff;
  line-height: 1.3;
}
#gallery .gallery-item .item-expand {
  position: absolute;
  top: 12px;
  right: 12px;
  width: 32px;
  height: 32px;
  border-radius: 50%;
  background: rgba(255, 255, 255, 0.9);
  display: flex;
  align-items: center;
  justify-content: center;
  opacity: 0;
  transform: scale(0.7);
  transition: opacity 200ms ease, transform 200ms ease;
  z-index: 2;
}
#gallery .gallery-item .item-expand svg {
  width: 14px;
  height: 14px;
  color: #191825;
}
#gallery .gallery-item:focus-visible {
  outline: 3px solid #0073E6;
  outline-offset: 2px;
}
#gallery .gallery-item:nth-child(1) {
  grid-column: span 2;
  grid-row: span 2;
}
#gallery .gallery-item:nth-child(6) {
  grid-column: span 2;
}
#gallery .gallery-item:nth-child(9) {
  grid-column: span 2;
}
#gallery .gallery-item:nth-child(12) {
  grid-column: span 2;
}
#gallery .gallery-swiper-nav {
  display: none;
  align-items: center;
  justify-content: center;
  gap: 16px;
  margin-top: 12px;
}
#gallery .gsn-btn {
  width: 40px;
  height: 40px;
  border-radius: 50%;
  border: 1.5px solid rgb(88.2745098039%, 88.1381668947%, 88.4108527132%);
  background: #fff;
  color: #191825;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
  transition: background 150ms ease, border-color 150ms ease;
  min-height: 40px;
  box-shadow: 0 2px 8px rgba(25, 24, 37, 0.08);
}
#gallery .gsn-btn:hover {
  background: rgb(88.2745098039%, 88.1381668947%, 88.4108527132%);
}
#gallery .gsn-btn:focus-visible {
  outline: 2px solid #0073E6;
  outline-offset: 2px;
}
#gallery .gsn-btn:disabled {
  opacity: 0.35;
  cursor: not-allowed;
}
#gallery .gsn-btn svg {
  width: 16px;
  height: 16px;
}
#gallery .gsn-counter {
  font-size: 0.85rem;
  font-weight: 600;
  color: #475569;
  min-width: 48px;
  text-align: center;
}
#gallery .grid-swipe-hint {
  display: none;
  align-items: center;
  gap: 6px;
  color: #475569;
  font-size: 0.75rem;
  margin-top: 8px;
}

.img-slider {
  position: relative;
  width: 100%;
  height: 100%;
  overflow: hidden;
}
.img-slider .slide {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  transform: translateX(100%);
  opacity: 0;
  transition: transform 520ms cubic-bezier(0.22, 1, 0.36, 1), opacity 400ms ease;
  will-change: transform, opacity;
}
.img-slider .slide.active {
  transform: translateX(0);
  opacity: 1;
}
.img-slider .slide.exit {
  transform: translateX(-100%);
  opacity: 0;
}
.img-slider .img-dots {
  position: absolute;
  bottom: 12px;
  left: 50%;
  transform: translateX(-50%);
  display: flex;
  gap: 7px;
  z-index: 10;
  padding: 4px 8px;
  border-radius: 100px;
  background: rgba(25, 24, 37, 0.25);
}
.img-slider .dot {
  width: 7px;
  height: 7px;
  border-radius: 50%;
  background: rgba(255, 255, 255, 0.5);
  border: none;
  cursor: pointer;
  padding: 0;
  min-height: unset;
  transition: background 180ms ease, transform 180ms ease;
}
.img-slider .dot.active {
  background: #fff;
  transform: scale(1.4);
}
.img-slider .dot:focus-visible {
  outline: 2px solid #fff;
  outline-offset: 2px;
}
.img-slider::after {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(to right, rgba(25, 24, 37, 0.15) 0%, transparent 20%, transparent 80%, rgba(25, 24, 37, 0.15) 100%);
  opacity: 0;
  pointer-events: none;
  transition: opacity 200ms;
}

.lightbox {
  position: fixed;
  inset: 0;
  background: rgba(25, 24, 37, 0.96);
  z-index: 1000;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  padding: 16px;
  opacity: 0;
  visibility: hidden;
  transition: opacity 260ms ease, visibility 260ms ease;
  overscroll-behavior: contain;
}
.lightbox.open {
  opacity: 1;
  visibility: visible;
}
.lightbox .lb-progress-wrap {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  height: 3px;
  background: rgba(255, 255, 255, 0.1);
  z-index: 10;
  pointer-events: none;
}
.lightbox .lb-progress-bar {
  height: 100%;
  background: linear-gradient(to right, #0073E6, rgb(20.1960784314%, 60.0980392157%, 100%));
  border-radius: 0 2px 2px 0;
  transition: width 220ms ease;
  width: 0%;
}
.lightbox .lb-close {
  position: fixed;
  top: 20px;
  right: 20px;
  width: 44px;
  height: 44px;
  border-radius: 50%;
  background: rgba(255, 255, 255, 0.1);
  border: 1.5px solid rgba(255, 255, 255, 0.2);
  color: #fff;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
  transition: background 150ms ease;
  z-index: 1001;
  padding: 0;
}
.lightbox .lb-close:hover {
  background: rgba(255, 255, 255, 0.25);
}
.lightbox .lb-close:focus-visible {
  outline: 2px solid #fff;
  outline-offset: 3px;
}
.lightbox .lightbox-inner {
  position: relative;
  max-width: min(92vw, 1100px);
  width: 100%;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 16px;
}
.lightbox .lightbox-img-wrap {
  position: relative;
  width: 100%;
  display: flex;
  align-items: center;
  justify-content: center;
}
.lightbox .lightbox-img {
  max-height: 76vh;
  max-width: 100%;
  object-fit: contain;
  border-radius: 8px;
  display: block;
  transition: opacity 220ms ease, transform 220ms ease;
  min-height: 200px;
  touch-action: none;
  will-change: transform;
  user-select: none;
}
.lightbox .lightbox-img.exit-left {
  animation: lb-exit-left 200ms ease forwards;
}
.lightbox .lightbox-img.exit-right {
  animation: lb-exit-right 200ms ease forwards;
}
.lightbox .lightbox-img.enter-left {
  animation: lb-enter-left 220ms ease forwards;
}
.lightbox .lightbox-img.enter-right {
  animation: lb-enter-right 220ms ease forwards;
}
.lightbox .lightbox-img.zoomed {
  cursor: grab;
}
.lightbox .lightbox-img.zoomed:active {
  cursor: grabbing;
}
.lightbox .lb-nav {
  position: absolute;
  top: 50%;
  min-width: 44px;
  transform: translateY(-50%);
  border-radius: 50%;
  background: rgba(255, 255, 255, 0.12);
  border: 1.5px solid rgba(255, 255, 255, 0.2);
  color: #fff;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
  transition: background 150ms ease;
  z-index: 2;
  min-height: 44px;
  padding: 0;
}
.lightbox .lb-nav:hover {
  background: rgba(255, 255, 255, 0.25);
}
.lightbox .lb-nav:focus-visible {
  outline: 2px solid #fff;
  outline-offset: 3px;
}
.lightbox .lb-nav.lb-prev {
  left: -56px;
}
.lightbox .lb-nav.lb-next {
  right: -56px;
}
.lightbox .lb-spinner {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  width: 36px;
  height: 36px;
  border: 3px solid rgba(255, 255, 255, 0.2);
  border-top-color: rgba(255, 255, 255, 0.8);
  border-radius: 50%;
  animation: lb-spin 700ms linear infinite;
  pointer-events: none;
  opacity: 0;
  transition: opacity 200ms;
}
.lightbox .lb-spinner.visible {
  opacity: 1;
}
.lightbox .lb-caption-bar {
  display: flex;
  align-items: center;
  justify-content: space-between;
  width: 100%;
  padding: 0 4px;
}
.lightbox .lb-caption {
  font-size: 0.9rem;
  color: rgba(255, 255, 255, 0.85);
  font-weight: 500;
}
.lightbox .lb-counter {
  font-size: 0.8rem;
  color: rgba(255, 255, 255, 0.5);
  font-weight: 500;
}
.lightbox .lb-actions {
  display: flex;
  gap: 8px;
  justify-content: flex-end;
}
.lightbox .lb-action-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 6px;
  padding: 7px 14px;
  background: transparent;
  color: rgba(255, 255, 255, 0.85);
  font-size: 0.78rem;
  font-weight: 500;
  cursor: pointer;
  transition: background 150ms ease, border-color 150ms ease;
  min-height: 36px;
  text-decoration: none;
}
.lightbox .lb-action-btn:hover {
  background: rgba(255, 255, 255, 0.18);
  border-color: rgba(255, 255, 255, 0.4);
}
.lightbox .lb-action-btn:focus-visible {
  outline: 2px solid #fff;
  outline-offset: 2px;
}
.lightbox .lb-action-btn svg {
  width: 14px;
  height: 14px;
}
.lightbox .lb-share-btn {
  display: none;
}
.lightbox .lb-share-btn.visible, .lightbox .lb-share-btn.lb-share-visible {
  display: inline-flex;
}
.lightbox .lb-thumbs {
  display: flex;
  gap: 6px;
  overflow-x: auto;
  scrollbar-width: thin;
  scrollbar-color: rgba(255, 255, 255, 0.3) transparent;
  padding: 4px 2px;
  max-width: 100%;
  scroll-behavior: smooth;
}
.lightbox .lb-thumbs::-webkit-scrollbar {
  height: 3px;
}
.lightbox .lb-thumbs::-webkit-scrollbar-thumb {
  background: rgba(255, 255, 255, 0.3);
  border-radius: 2px;
}
.lightbox .lb-thumb {
  flex-shrink: 0;
  width: 60px;
  height: 40px;
  border-radius: 5px;
  overflow: hidden;
  border: 2px solid transparent;
  cursor: pointer;
  opacity: 0.5;
  transition: opacity 160ms ease, border-color 160ms ease, transform 160ms ease;
  padding: 0;
  background: none;
  min-height: unset;
}
.lightbox .lb-thumb img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
  pointer-events: none;
}
.lightbox .lb-thumb.active {
  border-color: #fff;
  opacity: 1;
  transform: scale(1.05);
}
.lightbox .lb-thumb:hover {
  opacity: 0.85;
}
.lightbox .lb-thumb:focus-visible {
  outline: 2px solid #fff;
  outline-offset: 2px;
}
.lightbox .lb-dots-sm {
  display: none;
  gap: 5px;
}
.lightbox .lb-dot-sm {
  width: 6px;
  height: 6px;
  border-radius: 50%;
  background: rgba(255, 255, 255, 0.3);
  border: none;
  cursor: pointer;
  padding: 0;
  min-height: unset;
  transition: background 150ms, transform 150ms;
}
.lightbox .lb-dot-sm.active {
  background: #fff;
  transform: scale(1.4);
}
.lightbox .swipe-hint {
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  display: flex;
  align-items: center;
  gap: 6px;
  color: rgba(255, 255, 255, 0.6);
  font-size: 0.75rem;
  animation: hint-fade 2.5s ease forwards;
  pointer-events: none;
  z-index: 10;
}
.lightbox .swipe-hint-left {
  left: 20px;
}
.lightbox .swipe-hint-right {
  right: 20px;
}
.lightbox .swipe-hint svg {
  width: 20px;
  height: 20px;
}
.lightbox .zoom-badge {
  position: fixed;
  top: 20px;
  left: 50%;
  transform: translateX(-50%);
  background: rgba(25, 24, 37, 0.6);
  color: #fff;
  font-size: 0.72rem;
  padding: 4px 12px;
  border-radius: 100px;
  opacity: 0;
  transition: opacity 200ms ease;
  pointer-events: none;
  z-index: 1010;
}
.lightbox .zoom-badge.visible {
  opacity: 1;
}

@keyframes gallery-shimmer {
  0% {
    background-position: -200% 0;
  }
  100% {
    background-position: 200% 0;
  }
}
@keyframes lb-spin {
  to {
    transform: translate(-50%, -50%) rotate(360deg);
  }
}
@keyframes lb-exit-left {
  to {
    transform: translateX(-60px);
    opacity: 0;
  }
}
@keyframes lb-exit-right {
  to {
    transform: translateX(60px);
    opacity: 0;
  }
}
@keyframes lb-enter-left {
  from {
    transform: translateX(60px);
    opacity: 0;
  }
  to {
    transform: translateX(0);
    opacity: 1;
  }
}
@keyframes lb-enter-right {
  from {
    transform: translateX(-60px);
    opacity: 0;
  }
  to {
    transform: translateX(0);
    opacity: 1;
  }
}
@keyframes hint-fade {
  0% {
    opacity: 0;
  }
  20% {
    opacity: 1;
  }
  80% {
    opacity: 0.8;
  }
  100% {
    opacity: 0;
  }
}
@media (prefers-reduced-motion: reduce) {
  #gallery .gallery-item {
    opacity: 1;
    transform: none;
    transition: none;
  }
  #gallery .gallery-item img {
    transition: none;
  }
  #gallery .gallery-item:hover img {
    transform: none;
  }
  .img-slider .slide {
    transition: opacity 280ms ease;
    transform: none !important;
  }
  .lightbox {
    transition: none;
  }
  .lightbox-img.exit-left, .lightbox-img.exit-right, .lightbox-img.enter-left, .lightbox-img.enter-right {
    animation: none;
    opacity: 1;
  }
  .lb-spinner {
    animation: none;
  }
  .swipe-hint {
    animation: none;
    opacity: 0;
  }
}
@media screen and (max-width: 992px) {
  #gallery .gallery-grid {
    grid-template-columns: repeat(3, 1fr);
    grid-auto-rows: 200px;
  }
  #gallery .gallery-grid .gallery-item:nth-child(6) {
    grid-column: span 2;
  }
  #gallery .gallery-grid .gallery-item:nth-child(9) {
    grid-column: span 1;
  }
  #gallery .gallery-grid .gallery-item:nth-child(12) {
    grid-column: span 2;
  }
  .lightbox .lb-nav.lb-prev {
    left: -48px;
  }
  .lightbox .lb-nav.lb-next {
    right: -48px;
  }
}
@media screen and (max-width: 768px) {
  #gallery {
    padding: 60px 0;
  }
  #gallery .gallery-header {
    flex-direction: column;
    align-items: flex-start;
    gap: 12px;
  }
  #gallery .gallery-counter {
    display: none;
  }
  #gallery .gallery-grid {
    display: flex !important;
    flex-direction: row;
    overflow-x: auto;
    overflow-y: hidden;
    scroll-snap-type: x mandatory;
    -webkit-overflow-scrolling: touch;
    scroll-behavior: smooth;
    overscroll-behavior-x: contain;
    gap: 12px;
    margin: 0 -24px;
    padding: 4px 24px 16px;
    scrollbar-width: none;
    cursor: grab;
  }
  #gallery .gallery-grid::-webkit-scrollbar {
    display: none;
  }
  #gallery .gallery-grid:active {
    cursor: grabbing;
  }
  #gallery .gallery-item,
  #gallery .gallery-item:nth-child(1),
  #gallery .gallery-item:nth-child(6),
  #gallery .gallery-item:nth-child(9),
  #gallery .gallery-item:nth-child(12) {
    flex-shrink: 0;
    width: 82vw;
    aspect-ratio: 4/3;
    grid-column: unset !important;
    grid-row: unset !important;
    scroll-snap-align: start;
    border-radius: 12px;
  }
  #gallery .gallery-item .item-caption {
    opacity: 1;
    transform: translateY(0);
  }
  #gallery .gallery-swiper-nav {
    display: flex;
  }
  #gallery .grid-swipe-hint {
    display: flex;
  }
  #gallery .lightbox .lb-nav.lb-prev {
    left: 8px;
  }
  #gallery .lightbox .lb-nav.lb-next {
    right: 8px;
  }
  #gallery .lightbox .lb-close {
    top: 12px;
    right: 12px;
  }
}
@media screen and (max-width: 576px) {
  #gallery .gallery-item,
  #gallery .gallery-item:nth-child(1),
  #gallery .gallery-item:nth-child(6),
  #gallery .gallery-item:nth-child(9),
  #gallery .gallery-item:nth-child(12) {
    width: 88vw;
  }
  .lightbox .lightbox-img {
    max-height: 55vh;
  }
  .lightbox .lb-caption-bar {
    flex-direction: column;
    gap: 4px;
    align-items: flex-start;
  }
  .lightbox .lb-thumbs {
    display: none;
  }
  .lightbox .lb-dots-sm {
    display: flex !important;
  }
}
@media print {
  .lightbox {
    display: none !important;
  }
  #gallery .gallery-item .item-expand,
  #gallery .gallery-item .item-caption {
    opacity: 0 !important;
  }
}
.gallery-swiper {
  width: 100%;
  padding: 40px 0 60px;
  position: relative;
}
.gallery-swiper .swiper-wrapper {
  align-items: stretch;
  height: auto !important;
}
.gallery-swiper .swiper-slide {
  height: auto;
}
.gallery-swiper .swiper-slide .swiper-slide-item {
  position: relative;
  cursor: pointer;
  border-radius: 8px;
  overflow: hidden;
  background: white;
  transition: transform 0.3s ease, box-shadow 0.3s ease;
  display: block;
}
.gallery-swiper .swiper-slide .swiper-slide-item:hover {
  transform: translateY(-5px);
  box-shadow: 0 8px 16px rgba(0, 0, 0, 0.2);
}
.gallery-swiper .swiper-slide .swiper-slide-item:hover .swiper-caption {
  background: rgb(223, 173, 0);
}
.gallery-swiper .swiper-slide .swiper-slide-item:hover .swiper-image {
  transform: scale(1.05);
}
.gallery-swiper .swiper-slide .swiper-slide-item:focus {
  outline: 3px solid #0073E6;
  outline-offset: 2px;
}
.gallery-swiper .swiper-slide .swiper-slide-item:focus-visible {
  outline: 3px solid #0073E6;
  outline-offset: 2px;
  box-shadow: 0 0 0 6px rgba(223, 173, 0, 0.3);
}
.gallery-swiper .swiper-slide .swiper-slide-item:active {
  transform: translateY(-3px);
}
.gallery-swiper .swiper-slide .swiper-slide-item .swiper-image {
  width: 100%;
  height: 200px;
  object-fit: cover;
  display: block;
  transition: transform 0.3s ease;
}
@media (max-width: 992px) {
  .gallery-swiper .swiper-slide .swiper-slide-item .swiper-image {
    height: 180px;
  }
}
@media (max-width: 768px) {
  .gallery-swiper .swiper-slide .swiper-slide-item .swiper-image {
    height: 150px;
  }
}
@media (max-width: 576px) {
  .gallery-swiper .swiper-slide .swiper-slide-item .swiper-image {
    height: 120px;
  }
}
.gallery-swiper .swiper-slide .swiper-slide-item .swiper-caption {
  position: absolute;
  bottom: 0;
  left: 0;
  right: 0;
  background: rgba(0, 115, 230, 0.9);
  color: white;
  padding: 10px;
  font-weight: 600;
  text-align: center;
  font-size: 0.95rem;
  transition: background 0.3s ease;
}
@media (max-width: 768px) {
  .gallery-swiper .swiper-slide .swiper-slide-item .swiper-caption {
    font-size: 0.85rem;
    padding: 8px;
  }
}
@media (max-width: 576px) {
  .gallery-swiper .swiper-slide .swiper-slide-item .swiper-caption {
    font-size: 0.75rem;
    padding: 6px;
  }
}
.gallery-swiper .swiper-button-prev,
.gallery-swiper .swiper-button-next {
  color: #0073E6 !important;
  background: rgba(255, 255, 255, 0.95);
  width: 44px !important;
  height: 44px !important;
  border-radius: 50%;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.15);
  transition: all 0.3s ease;
}
.gallery-swiper .swiper-button-prev:hover,
.gallery-swiper .swiper-button-next:hover {
  color: rgb(0%, 30.0980392157%, 60.1960784314%) !important;
  background: white;
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.25);
  transform: scale(1.1);
}
.gallery-swiper .swiper-button-prev:focus,
.gallery-swiper .swiper-button-next:focus {
  outline: 2px solid #0073E6;
  outline-offset: 4px;
}
.gallery-swiper .swiper-button-prev::after,
.gallery-swiper .swiper-button-next::after {
  font-size: 18px !important;
  font-weight: bold;
}
.gallery-swiper .swiper-button-prev {
  left: 10px;
}
@media (max-width: 768px) {
  .gallery-swiper .swiper-button-prev {
    left: 5px;
  }
}
.gallery-swiper .swiper-button-next {
  right: 10px;
}
@media (max-width: 768px) {
  .gallery-swiper .swiper-button-next {
    right: 5px;
  }
}
@media (max-width: 576px) {
  .gallery-swiper .swiper-button-prev,
  .gallery-swiper .swiper-button-next {
    display: none;
  }
}
.gallery-swiper .swiper-pagination {
  bottom: 20px !important;
  position: relative !important;
  margin-top: 20px;
}
.gallery-swiper .swiper-pagination .swiper-pagination-bullet {
  background: #333 !important;
  opacity: 0.5 !important;
  width: 10px !important;
  height: 10px !important;
  transition: all 0.3s ease;
}
.gallery-swiper .swiper-pagination .swiper-pagination-bullet:hover {
  opacity: 0.7 !important;
  transform: scale(1.2);
}
.gallery-swiper .swiper-pagination .swiper-pagination-bullet-active {
  background: #0073E6 !important;
  opacity: 1 !important;
  width: 12px !important;
  height: 12px !important;
}

@media (prefers-contrast: high) {
  .gallery-swiper .swiper-slide-item {
    border: 2px solid black;
  }
  .gallery-swiper .swiper-slide-item:focus {
    outline-width: 4px;
  }
  .gallery-swiper .swiper-slide-item .swiper-caption {
    background: #0073E6;
    color: black;
    font-weight: 700;
  }
  .gallery-swiper .swiper-button-prev,
  .gallery-swiper .swiper-button-next {
    color: #0073E6 !important;
    background: black;
    border: 2px solid #0073E6;
  }
  .gallery-swiper .swiper-button-prev:hover,
  .gallery-swiper .swiper-button-next:hover {
    color: white !important;
    background: #0073E6;
  }
  .gallery-swiper .swiper-pagination-bullet {
    background: black !important;
    border: 2px solid black;
  }
  .gallery-swiper .swiper-pagination-bullet-active {
    background: #0073E6 !important;
    border-color: #0073E6;
  }
}
@media (prefers-reduced-motion: reduce) {
  .gallery-swiper .swiper-slide-item,
  .gallery-swiper .swiper-button-prev,
  .gallery-swiper .swiper-button-next,
  .gallery-swiper .swiper-pagination-bullet {
    transition: none;
  }
  .gallery-swiper .swiper-slide-item:hover .swiper-image {
    transform: none;
  }
}
@media print {
  .gallery-swiper {
    display: none;
  }
}
#pricing {
  background-color: #eaeaea;
}
#pricing .headline {
  text-align: center;
}
#pricing .card:not(.features > .card) {
  background-color: #fff;
  border-radius: 12px;
  padding: 12px 0 12px 12px;
  position: relative;
}
#pricing .card:not(.features > .card) .card-body {
  display: flex;
  flex-direction: column;
  gap: 8px;
}
#pricing .card:not(.features > .card) .card-body .picture {
  padding: 0 12px 0 0;
  height: 100%;
}
#pricing .card:not(.features > .card) .card-body .picture img {
  border-radius: 8px;
  object-fit: cover;
  height: 100%;
}
#pricing .card:not(.features > .card) .card-body .content {
  min-width: 70%;
  display: flex;
  flex-direction: column;
  gap: 16px;
  height: 100%;
}
#pricing .card:not(.features > .card) .card-body .content h3, #pricing .card:not(.features > .card) .card-body .content .h3 {
  text-align: center;
}
#pricing .card:not(.features > .card) .card-body .content h3 span, #pricing .card:not(.features > .card) .card-body .content .h3 span {
  font-size: inherit;
  color: #0073E6;
}
#pricing .card:not(.features > .card) .card-body .content .desc {
  padding: 0 12px 0 0;
}
#pricing .card:not(.features > .card) .card-body .content .desc ul li {
  font-size: small;
}
#pricing .card:not(.features > .card) .card-body .content .desc ul.pricing li {
  display: flex;
  justify-content: space-between;
}
#pricing .card:not(.features > .card) .card-body .content .text-info {
  text-align: center;
}
#pricing .card:not(.features > .card) .card-body .content .topbar {
  background-color: #0073E6;
  border-radius: 32px 0 0 0;
  padding: 8px 24px;
  display: flex;
  justify-content: space-between;
  color: #fff;
}
#pricing .card:not(.features > .card) .card-body .content .topbar .price {
  font-weight: 700;
}
#pricing .card:not(.features > .card) .card-body .content .topbar .price::after {
  content: ",- CZK";
  font-size: 13px;
}
#pricing .card:not(.features > .card).popular {
  border: 2px solid gold;
  background-color: #b3d9ff;
  box-shadow: 0 0 12px rgba(0, 0, 0, 0.25);
}
#pricing .card:not(.features > .card) .ribbon {
  position: absolute;
  top: 8px;
  left: 8px;
  background-color: gold;
  padding: 4px 16px;
  border-radius: 4px;
  font-size: large;
}
#pricing .features .card {
  background-color: transparent !important;
}
#pricing button {
  border: 1px solid #0073E6;
}
#pricing .card:not(.features > .card).noimg.popular {
  border-color: #0073E6;
}
#pricing .card:not(.features > .card).noimg.popular .card-body .content .desc ul li:not(:last-child) {
  border-bottom: 1px solid #0073E6;
}
#pricing .card:not(.features > .card).noimg.popular .ribbon {
  background-color: #0073E6;
  color: #fff;
}
#pricing .card:not(.features > .card).noimg {
  padding: 24px 12px;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  gap: 2rem;
}
#pricing .card:not(.features > .card).noimg .features {
  display: flex;
}
#pricing .card:not(.features > .card).noimg .features .card {
  padding: 8px;
}
#pricing .card:not(.features > .card).noimg .card-body {
  flex-direction: row;
  flex-wrap: nowrap;
}
#pricing .card:not(.features > .card).noimg .card-body .content h3, #pricing .card:not(.features > .card).noimg .card-body .content .h3 {
  font-size: 1rem;
  font-weight: 600;
}
#pricing .card:not(.features > .card).noimg .card-body .content h3 span, #pricing .card:not(.features > .card).noimg .card-body .content .h3 span {
  font-size: 2rem;
  text-transform: uppercase;
}
#pricing .card:not(.features > .card).noimg .card-body .content h3 span em, #pricing .card:not(.features > .card).noimg .card-body .content .h3 span em {
  display: none;
}
#pricing .card:not(.features > .card).noimg .card-body .content h3 i, #pricing .card:not(.features > .card).noimg .card-body .content .h3 i {
  animation: blink 2s alternate infinite;
}
#pricing .card:not(.features > .card).noimg .card-body .content h3.premium span, #pricing .card:not(.features > .card).noimg .card-body .content .premium.h3 span {
  animation: changeColor 2s alternate infinite;
}
#pricing .card:not(.features > .card).noimg .card-body .content .text-info {
  color: rgb(202, 95, 95);
}
#pricing .card:not(.features > .card).noimg .card-body .content .desc {
  display: flex;
  flex-direction: column;
  gap: 1.5rem;
}
#pricing .card:not(.features > .card).noimg .card-body .content .desc h4, #pricing .card:not(.features > .card).noimg .card-body .content .desc .h4 {
  text-align: center;
  margin-bottom: 0;
}
#pricing .card:not(.features > .card).noimg .card-body .content .desc ul {
  display: flex;
  flex-direction: column;
  list-style: none;
  padding-left: 0.5rem;
}
#pricing .card:not(.features > .card).noimg .card-body .content .desc ul li {
  position: relative;
  padding: 6px 12px;
}
#pricing .card:not(.features > .card).noimg .card-body .content .desc ul li:not(:last-child) {
  border-bottom: 1px solid #eaeaea;
}
#pricing .card:not(.features > .card).noimg .card-body .content .desc ul li::before {
  position: absolute;
  content: "✓";
  top: 50%;
  left: -12px;
  transform: translate(0, -50%);
  color: #0073e6;
  font-size: 18px;
}

@media screen and (min-width: 992px) {
  #pricing .card:not(.features > .card) {
    padding: 16px 0 16px 16px;
  }
  #pricing .card:not(.features > .card) .card-body {
    flex-direction: row;
    gap: 16px;
  }
  #pricing .card:not(.features > .card) .card-body .content {
    gap: 24px;
  }
  #pricing .card:not(.features > .card) .card-body .content .desc {
    padding: 0 16px 0 0;
  }
  #pricing .card:not(.features > .card).popular {
    transform: translateY(-16px);
  }
}
#slevomat {
  background-color: #191825;
  padding: 80px 0 100px;
  position: relative;
  overflow: hidden;
}
#slevomat::before {
  content: "";
  position: absolute;
  inset: 0;
  background-image: linear-gradient(rgba(255, 255, 255, 0.03) 1px, transparent 1px), linear-gradient(90deg, rgba(255, 255, 255, 0.03) 1px, transparent 1px);
  background-size: 48px 48px;
  pointer-events: none;
}
#slevomat #slevomat::before {
  content: "";
  position: absolute;
  inset: 0;
  background-image: linear-gradient(rgba(255, 255, 255, 0.03) 1px, transparent 1px), linear-gradient(90deg, rgba(255, 255, 255, 0.03) 1px, transparent 1px);
  background-size: 48px 48px;
  pointer-events: none;
}
#slevomat .container {
  position: relative;
}
#slevomat .reveal {
  transform: translateY(18px);
  transition: transform 520ms cubic-bezier(0.22, 1, 0.36, 1) var(--d, 0ms);
}
#slevomat .reveal.visible {
  transform: translateY(0);
}
@media (prefers-reduced-motion: reduce) {
  #slevomat .reveal {
    transform: none;
    transition: none;
  }
}
#slevomat .section-header {
  text-align: center;
  margin-bottom: 56px;
  color: #fff;
}
#slevomat .slevomat-empty-state {
  text-align: center;
  padding: 48px 24px 40px;
  background: rgba(255, 255, 255, 0.04);
  border: 1px dashed rgba(255, 255, 255, 0.15);
  border-radius: 14px;
  max-width: 560px;
  margin: 0 auto;
}
#slevomat .slevomat-empty-icon {
  width: 56px;
  height: 56px;
  border-radius: 50%;
  background: rgba(0, 115, 230, 0.12);
  display: flex;
  align-items: center;
  justify-content: center;
  margin: 0 auto 16px;
}
#slevomat .slevomat-empty-icon svg {
  width: 24px;
  height: 24px;
  color: #0073E6;
}
#slevomat .slevomat-empty-title {
  font-size: 1.3rem;
  font-weight: 700;
  color: #fff;
  margin-bottom: 8px;
}
#slevomat .slevomat-empty-sub {
  font-size: 0.9rem;
  color: #A9A8AA;
  line-height: 1.6;
  max-width: 440px;
  margin: 0 auto;
}
#slevomat .section-tag {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  border: 1.5px solid rgba(255, 255, 255, 0.15);
  border-radius: 100px;
  padding: 6px 16px;
  font-size: 0.75rem;
  font-weight: 700;
  letter-spacing: 1.5px;
  text-transform: uppercase;
  color: rgba(255, 255, 255, 0.7);
  margin-bottom: 20px;
}
#slevomat .section-tag .slevomat-dot {
  width: 8px;
  height: 8px;
  border-radius: 50%;
  background: #e63312;
  animation: slevomat-pulse 2.5s ease-in-out infinite;
}
#slevomat .section-title {
  font-size: clamp(2rem, 4.5vw, 3.2rem);
  font-weight: 800;
  color: #fff;
  margin-bottom: 12px;
}
#slevomat .section-title em {
  font-style: normal;
  background: linear-gradient(135deg, #4da6ff, #0073E6);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
}
#slevomat .section-subtitle {
  color: #A9A8AA;
  font-size: 1.05rem;
  max-width: 500px;
  margin: 0 auto;
}
#slevomat .cards-grid {
  display: flex;
  flex-direction: column;
  gap: 20px;
  margin-bottom: 20px;
}
#slevomat .bottom-row {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
  gap: 20px;
  margin-top: 24px;
}
#slevomat .hero-card {
  position: relative;
  border-radius: 14px;
  overflow: hidden;
  background: rgb(18.0006428801%, 17.2806171649%, 26.6409514626%);
  min-height: 400px;
  display: grid;
  grid-template-columns: 1fr 420px;
}
#slevomat .hero-card .hero-image-side {
  position: relative;
  overflow: hidden;
}
#slevomat .hero-card .hero-image-side img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
  transition: transform 420ms ease, filter 280ms ease;
}
#slevomat .hero-card .hero-image-side::after {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(to right, rgba(25, 24, 37, 0.3) 0%, rgba(25, 24, 37, 0) 60%), linear-gradient(to bottom, rgba(25, 24, 37, 0.3) 0%, rgba(25, 24, 37, 0) 40%);
  pointer-events: none;
}
#slevomat .hero-card:hover .hero-image-side img {
  transform: scale(1.04);
  filter: brightness(1.06);
}
#slevomat .hero-card .hero-popular-flag {
  position: absolute;
  top: 20px;
  left: 20px;
  width: max-content;
  display: flex;
  align-items: center;
  gap: 6px;
  background: #0073E6;
  color: #fff;
  font-size: 0.72rem;
  font-weight: 700;
  letter-spacing: 1px;
  text-transform: uppercase;
  padding: 6px 14px;
  border-radius: 100px;
  z-index: 5;
  animation: slevomat-badge-pulse 3s ease-in-out infinite;
}
#slevomat .hero-card .hero-popular-flag svg {
  width: 12px;
  height: 12px;
}
#slevomat .hero-card .hero-content-side {
  background: #fff;
  padding: 36px 32px;
  display: flex;
  flex-direction: column;
  gap: 22px;
  position: relative;
  transition: box-shadow 300ms ease;
}
#slevomat .hero-card .hero-content-side::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  height: 4px;
  background: linear-gradient(to right, #0073E6, rgb(20.1960784314%, 60.0980392157%, 100%));
}
#slevomat .hero-card:hover .hero-content-side {
  box-shadow: inset 0 0 0 1.5px rgba(0, 115, 230, 0.18);
}
#slevomat .hero-card .hero-product-label {
  font-size: 0.72rem;
  font-weight: 700;
  letter-spacing: 1.5px;
  text-transform: uppercase;
  color: #0073E6;
}
#slevomat .hero-card .hero-title {
  font-size: 1.8rem;
  font-weight: 800;
  color: #191825;
  line-height: 1.15;
}
#slevomat .hero-card .hero-subtitle {
  color: #475569;
  font-size: 0.9rem;
  margin-top: 4px;
  font-weight: 400;
}
#slevomat .hero-card .feature-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 8px 12px;
}
#slevomat .hero-card .feature-item {
  display: flex;
  align-items: flex-start;
  gap: 8px;
  font-size: 0.84rem;
  color: rgb(18.0006428801%, 17.2806171649%, 26.6409514626%);
}
#slevomat .hero-card .feature-item .check-icon {
  width: 16px;
  height: 16px;
  flex-shrink: 0;
  margin-top: 2px;
}
#slevomat .h-card {
  border-radius: 14px;
  overflow: hidden;
  display: flex;
  grid-template-columns: 200px 1fr;
  background: #fff;
  transition: transform 200ms ease-out, box-shadow 200ms ease-out;
  position: relative;
}
#slevomat .h-card::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  height: 4px;
  z-index: 3;
  transition: height 200ms ease;
}
#slevomat .h-card:hover::before {
  height: 6px;
}
#slevomat .h-card--night {
  background: #f6f7fb;
  border-color: rgba(26, 26, 62, 0.25);
}
#slevomat .h-card--night::before {
  background: linear-gradient(to right, #1a1a3e, #4a4aad);
}
#slevomat .h-card--night .h-card-badge {
  background: #1a1a3e;
}
#slevomat .h-card--night .h-card-title {
  color: #1a1a3e;
}
#slevomat .h-card--night .h-card-label {
  color: #4a4aad;
}
#slevomat .h-card--night .price-big {
  color: #1a1a3e;
}
#slevomat .h-card--night .check-sm {
  color: #4a4aad;
}
#slevomat .h-card--night .h-card-img::after {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(135deg, rgba(26, 26, 62, 0.35) 0%, rgba(26, 26, 62, 0.1) 50%, transparent 100%);
  pointer-events: none;
  transition: opacity 300ms ease;
}
#slevomat .h-card--night .btn-primary {
  background: linear-gradient(135deg, rgb(22.0142602496%, 22.0142602496%, 52.495543672%), #1a1a3e);
}
#slevomat .h-card--kids {
  background: #fffaf5;
  border-color: rgba(249, 115, 22, 0.25);
}
#slevomat .h-card--kids::before {
  background: linear-gradient(to right, #F97316, #FBBF24);
}
#slevomat .h-card--kids .h-card-badge {
  background: #F97316;
}
#slevomat .h-card--kids .h-card-title {
  color: rgb(84.1086225285%, 35.7371400443%, 2.1658872754%);
}
#slevomat .h-card--kids .h-card-label {
  color: #F97316;
}
#slevomat .h-card--kids .price-big {
  color: rgb(84.1086225285%, 35.7371400443%, 2.1658872754%);
}
#slevomat .h-card--kids .check-sm {
  color: #F97316;
}
#slevomat .h-card--kids .btn-primary {
  background: linear-gradient(135deg, #F97316, rgb(88.0082041185%, 37.39404381%, 2.2663056855%));
}
#slevomat .h-card .h-card-img {
  position: relative;
  overflow: hidden;
}
#slevomat .h-card .h-card-img img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
  transition: transform 420ms ease, filter 280ms ease;
}
#slevomat .h-card:hover .h-card-img img {
  transform: scale(1.05);
  filter: brightness(1.06);
}
#slevomat .h-card .h-card-badge {
  position: absolute;
  top: 14px;
  left: 14px;
  z-index: 4;
  padding: 4px 12px;
  border-radius: 100px;
  font-size: 0.68rem;
  font-weight: 700;
  letter-spacing: 0.5px;
  text-transform: uppercase;
  color: #fff;
}
#slevomat .h-card .h-card-content {
  padding: 22px 24px;
  display: flex;
  flex-direction: column;
  gap: 14px;
}
#slevomat .h-card .h-card-label {
  font-size: 0.68rem;
  font-weight: 700;
  letter-spacing: 1.5px;
  text-transform: uppercase;
}
#slevomat .h-card .h-card-title {
  font-size: 1.15rem;
  font-weight: 700;
  line-height: 1.3;
}
#slevomat .h-card .h-card-sub {
  font-size: 0.82rem;
  color: #475569;
  margin-top: 2px;
}
#slevomat .h-card .feature-list-sm {
  display: flex;
  flex-direction: column;
  gap: 5px;
}
#slevomat .h-card .feature-list-sm li {
  display: flex;
  align-items: flex-start;
  gap: 8px;
  font-size: 0.82rem;
  color: rgb(18.0006428801%, 17.2806171649%, 26.6409514626%);
}
#slevomat .h-card .feature-list-sm .check-sm {
  width: 14px;
  height: 14px;
  flex-shrink: 0;
  margin-top: 2px;
}
#slevomat .price-compact {
  display: flex;
  align-items: center;
  gap: 10px;
  flex-wrap: wrap;
  padding-top: 10px;
  border-top: 1.5px solid #E2E8F0;
}
#slevomat .price-big {
  font-size: 1.5rem;
  font-weight: 800;
  line-height: 1;
}
#slevomat .price-was {
  font-size: 0.78rem;
  color: #475569;
  text-decoration: line-through;
}
#slevomat .validity {
  font-size: 0.75rem;
  color: #475569;
  font-weight: 500;
  letter-spacing: 0.2px;
}
#slevomat .price-meta {
  font-size: 0.75rem;
  color: #475569;
  font-style: italic;
  margin-top: -4px;
}
#slevomat .price-chip {
  font-size: 0.68rem;
  font-weight: 700;
  padding: 3px 10px;
  border-radius: 100px;
  color: #fff;
}
#slevomat .price-box {
  border-top: 1.5px solid #E2E8F0;
  padding-top: 18px;
  display: flex;
  flex-direction: column;
  gap: 10px;
}
#slevomat .price-row {
  display: flex;
  align-items: center;
  gap: 12px;
  flex-wrap: wrap;
}
#slevomat .price-original {
  color: #475569;
  font-size: 0.85rem;
  text-decoration: line-through;
}
#slevomat .price-current {
  font-size: 2rem;
  font-weight: 800;
  color: #191825;
  line-height: 1;
}
#slevomat .price-validity {
  display: flex;
  align-items: center;
  gap: 6px;
  font-size: 0.78rem;
  color: #475569;
}
#slevomat .read-more {
  font-size: 0.84rem;
  color: #475569;
}
#slevomat .read-more summary {
  list-style: none;
  cursor: pointer;
  color: #0073E6;
  font-size: 0.8rem;
  font-weight: 600;
  display: inline-flex;
  align-items: center;
  gap: 5px;
  padding: 2px 0;
  user-select: none;
  transition: color 150ms ease, opacity 150ms ease;
}
#slevomat .read-more summary::-webkit-details-marker {
  display: none;
}
#slevomat .read-more summary:hover {
  opacity: 0.8;
}
#slevomat .read-more .chevron {
  width: 13px;
  height: 13px;
  transition: transform 180ms ease;
}
#slevomat .read-more[open] .chevron {
  transform: rotate(180deg);
}
#slevomat details[open] .read-more-body {
  animation: detail-unfold 260ms cubic-bezier(0.22, 1, 0.36, 1) forwards;
}
#slevomat .read-more-body {
  padding-top: 12px;
  display: flex;
  flex-direction: column;
  gap: 10px;
}
#slevomat .read-more-body p {
  font-size: 0.84rem;
  line-height: 1.6;
}
#slevomat .trust-strip {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 40px;
  flex-wrap: wrap;
  padding: 18px 24px;
  border-radius: 14px;
  border: 1px solid rgba(255, 255, 255, 0.08);
  background: rgba(255, 255, 255, 0.04);
  margin-top: 32px;
}
#slevomat .trust-item {
  display: flex;
  align-items: center;
  gap: 8px;
  color: #A9A8AA;
  font-size: 0.82rem;
  font-weight: 500;
}
#slevomat .trust-item .trust-icon {
  width: 18px;
  height: 18px;
  color: #0073E6;
}
#slevomat .slevomat-cta-banner {
  margin-top: 32px;
  border-radius: 14px;
  overflow: hidden;
  position: relative;
  background: linear-gradient(135deg, #c0310e 0%, rgb(84.6145059966%, 21.5943270512%, 6.1698077289%) 40%, rgb(74.3596685536%, 31.5948806301%, 1.9148412503%) 100%);
  padding: 48px 40px;
  display: grid;
  grid-template-columns: 1fr auto;
  align-items: center;
  gap: 32px;
}
#slevomat .slevomat-cta-banner::before, #slevomat .slevomat-cta-banner::after {
  content: "";
  position: absolute;
  border-radius: 50%;
  pointer-events: none;
}
#slevomat .slevomat-cta-banner::before {
  width: 280px;
  height: 280px;
  background: rgba(255, 255, 255, 0.06);
  top: -80px;
  right: 200px;
}
#slevomat .slevomat-cta-banner::after {
  width: 180px;
  height: 180px;
  background: rgba(255, 255, 255, 0.04);
  bottom: -60px;
  left: 40%;
}
#slevomat .cta-banner-label {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  background: rgba(255, 255, 255, 0.15);
  border: 1px solid rgba(255, 255, 255, 0.2);
  color: #fff;
  font-size: 0.7rem;
  font-weight: 700;
  letter-spacing: 1.5px;
  text-transform: uppercase;
  padding: 5px 14px;
  border-radius: 100px;
  margin-bottom: 14px;
  position: relative;
  z-index: 2;
}
#slevomat .cta-banner-title {
  font-size: clamp(1.6rem, 3.5vw, 2.4rem);
  font-weight: 800;
  color: #fff;
  line-height: 1.15;
  margin-bottom: 10px;
  position: relative;
  z-index: 2;
}
#slevomat .cta-banner-sub {
  color: rgba(255, 255, 255, 0.8);
  font-size: 1rem;
  margin-bottom: 20px;
  max-width: 480px;
  position: relative;
  z-index: 2;
}
#slevomat .cta-banner-prices {
  display: flex;
  gap: 10px;
  flex-wrap: wrap;
  position: relative;
  z-index: 2;
}
#slevomat .cta-price-chip {
  background: rgba(255, 255, 255, 0.15);
  border: 1px solid rgba(255, 255, 255, 0.25);
  color: #fff;
  border-radius: 8px;
  padding: 8px 14px;
  font-size: 0.78rem;
  font-weight: 600;
}
#slevomat .cta-price-chip strong {
  display: block;
  font-size: 1.1rem;
  font-weight: 800;
}
#slevomat .cta-banner-action {
  position: relative;
  z-index: 2;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 12px;
  flex-shrink: 0;
}
#slevomat .btn-slevomat {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
  padding: 16px 32px;
  border-radius: 12px;
  background: #fff;
  color: #c0310e;
  font-size: 1rem;
  font-weight: 800;
  cursor: pointer;
  border: none;
  transition: transform 150ms ease, box-shadow 150ms ease;
  white-space: nowrap;
  box-shadow: 0 4px 16px rgba(25, 24, 37, 0.2);
  text-decoration: none;
}
#slevomat .btn-slevomat:hover {
  transform: translateY(-3px);
  box-shadow: 0 8px 24px rgba(25, 24, 37, 0.25);
}
#slevomat .btn-slevomat:focus-visible {
  outline: 3px solid rgba(25, 24, 37, 0.6);
  outline-offset: 3px;
}
#slevomat .cta-banner-note {
  color: rgba(255, 255, 255, 0.9);
  font-size: 0.75rem;
  text-align: center;
}

#slevomat .img-slider .slide {
  border-radius: 0;
}

@keyframes slevomat-pulse {
  0%, 100% {
    opacity: 1;
  }
  50% {
    opacity: 0.4;
  }
}
@keyframes slevomat-badge-pulse {
  0%, 100% {
    box-shadow: 0 4px 12px rgba(0, 115, 230, 0.4);
  }
  50% {
    box-shadow: 0 4px 22px rgba(0, 115, 230, 0.75), 0 0 0 5px rgba(0, 115, 230, 0.12);
  }
}
@keyframes detail-unfold {
  from {
    opacity: 0;
    transform: translateY(-8px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}
@media (prefers-reduced-motion: reduce) {
  #slevomat .hero-popular-flag {
    animation: none;
  }
  #slevomat .section-tag .slevomat-dot {
    animation: none;
  }
  #slevomat .hero-card:hover .hero-image-side img,
  #slevomat .h-card:hover .h-card-img img {
    transform: none;
    filter: none;
  }
  #slevomat .h-card {
    transition: box-shadow 200ms;
  }
  #slevomat .h-card:hover {
    transform: none;
  }
  details[open] .read-more-body {
    animation: none;
  }
}
@media screen and (max-width: 992px) {
  #slevomat .hero-card {
    grid-template-columns: 1fr 360px;
  }
}
@media screen and (max-width: 768px) {
  #slevomat {
    padding: 60px 0 80px;
  }
  #slevomat .section-header {
    margin-bottom: 40px;
  }
  #slevomat .hero-card {
    grid-template-columns: 1fr;
    min-height: auto;
  }
  #slevomat .hero-card .hero-image-side {
    aspect-ratio: 16/9;
    height: auto;
  }
  #slevomat .hero-card .hero-image-side img {
    width: 100%;
    height: 100%;
    object-fit: cover;
  }
  #slevomat .hero-card .hero-content-side {
    padding: 28px 24px;
    gap: 16px;
  }
  #slevomat .hero-card .feature-grid {
    grid-template-columns: 1fr 1fr;
    gap: 6px 10px;
  }
  #slevomat .bottom-row {
    grid-template-columns: 1fr;
  }
  #slevomat .h-card {
    grid-template-columns: 1fr;
    grid-template-rows: auto auto;
  }
  #slevomat .h-card-img {
    aspect-ratio: 16/9;
    width: 100%;
    height: auto;
  }
  #slevomat .h-card-img img {
    width: 100%;
    height: 100%;
    object-fit: cover;
  }
  #slevomat .h-card-content {
    padding: 18px;
    gap: 12px;
  }
  #slevomat .cta-row, #slevomat .h-cta {
    flex-direction: column;
  }
  #slevomat .btn-primary, #slevomat .btn-sm {
    width: 100%;
    justify-content: center;
    min-height: 48px;
  }
  #slevomat .trust-strip {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 16px 24px;
  }
  #slevomat .slevomat-cta-banner {
    grid-template-columns: 1fr;
    padding: 36px 24px;
    text-align: center;
  }
  #slevomat .slevomat-cta-banner .cta-banner-label {
    margin: 0 auto 14px;
  }
  #slevomat .slevomat-cta-banner .cta-banner-sub {
    max-width: 100%;
  }
  #slevomat .slevomat-cta-banner .cta-banner-prices {
    justify-content: center;
  }
  #slevomat .slevomat-cta-banner .cta-banner-action {
    width: 100%;
  }
  #slevomat .slevomat-cta-banner .btn-slevomat {
    width: 100%;
  }
}
@media screen and (max-width: 576px) {
  #slevomat .hero-card .feature-grid {
    grid-template-columns: 1fr;
  }
  #slevomat .trust-strip {
    grid-template-columns: 1fr;
  }
  #slevomat .slevomat-cta-banner {
    padding: 28px 20px;
  }
  #slevomat .cta-price-chip {
    flex: 1;
    text-align: center;
    min-width: 80px;
  }
}
#slevomat.slevomat-detail-page {
  padding-top: 80px;
}
#slevomat.slevomat-detail-page .detail-breadcrumb {
  display: flex;
  align-items: center;
  gap: 6px;
  font-size: 0.8rem;
  color: #475569;
  margin-bottom: 28px;
  flex-wrap: wrap;
}
#slevomat.slevomat-detail-page .detail-breadcrumb a {
  color: #475569;
  text-decoration: none;
  transition: color 150ms;
}
#slevomat.slevomat-detail-page .detail-breadcrumb a:hover {
  color: #0073E6;
}
#slevomat.slevomat-detail-page .detail-breadcrumb a:focus-visible {
  outline: 2px solid #0073E6;
  outline-offset: 2px;
  border-radius: 3px;
}
#slevomat.slevomat-detail-page .detail-breadcrumb span[aria-current] {
  color: #475569;
}
#slevomat.slevomat-detail-page .detail-breadcrumb svg {
  flex-shrink: 0;
  opacity: 0.45;
}
#slevomat.slevomat-detail-page .detail-content {
  font-size: 0.88rem;
  line-height: 1.75;
  color: #475569;
}
#slevomat.slevomat-detail-page .detail-content p {
  margin-bottom: 10px;
}
#slevomat.slevomat-detail-page .detail-content p:last-child {
  margin-bottom: 0;
}
#slevomat.slevomat-detail-page .detail-content h2, #slevomat.slevomat-detail-page .detail-content .h2 {
  font-size: 1.05rem;
  font-weight: 800;
  color: #191825;
  margin: 14px 0 6px;
  padding-bottom: 4px;
  border-bottom: 2px solid rgba(0, 115, 230, 0.18);
}
#slevomat.slevomat-detail-page .detail-content h3, #slevomat.slevomat-detail-page .detail-content .h3 {
  font-size: 0.92rem;
  font-weight: 700;
  color: #0073E6;
  margin: 12px 0 5px;
  display: flex;
  align-items: center;
  gap: 6px;
}
#slevomat.slevomat-detail-page .detail-content h3::before, #slevomat.slevomat-detail-page .detail-content .h3::before {
  content: "";
  display: inline-block;
  width: 12px;
  height: 2px;
  background: #0073E6;
  border-radius: 1px;
  flex-shrink: 0;
}
#slevomat.slevomat-detail-page .detail-content h4, #slevomat.slevomat-detail-page .detail-content .h4 {
  font-size: 0.88rem;
  font-weight: 700;
  color: #191825;
  margin: 10px 0 4px;
}
#slevomat.slevomat-detail-page .detail-content strong, #slevomat.slevomat-detail-page .detail-content b {
  color: #191825;
  font-weight: 700;
}
#slevomat.slevomat-detail-page .detail-content ul {
  padding: 0;
  margin: 8px 0;
  list-style: none;
  display: flex;
  flex-direction: column;
  gap: 5px;
}
#slevomat.slevomat-detail-page .detail-content ul li {
  display: flex;
  align-items: flex-start;
  gap: 8px;
}
#slevomat.slevomat-detail-page .detail-content ul li::before {
  content: "";
  display: inline-block;
  width: 16px;
  height: 16px;
  flex-shrink: 0;
  margin-top: 1px;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%230073E6' stroke-width='2.5'%3E%3Cpolyline points='20 6 9 17 4 12'/%3E%3C/svg%3E");
  background-size: contain;
  background-repeat: no-repeat;
}
#slevomat.slevomat-detail-page .detail-content ol {
  padding-left: 18px;
  margin: 8px 0;
}
#slevomat.slevomat-detail-page .detail-content ol li {
  margin-bottom: 5px;
}
#slevomat.slevomat-detail-page .detail-content a {
  color: #0073E6;
  text-decoration: underline;
  text-decoration-color: rgba(0, 115, 230, 0.3);
}
#slevomat.slevomat-detail-page .detail-content a:hover {
  text-decoration-color: #0073E6;
}
#slevomat.slevomat-detail-page .detail-content blockquote {
  margin: 10px 0;
  padding: 10px 14px;
  background: rgba(0, 115, 230, 0.06);
  border-left: 3px solid #0073E6;
  border-radius: 0 8px 8px 0;
  color: rgb(19.7749554367%, 23.6742424242%, 29.2446524064%);
  font-style: italic;
}
#slevomat.slevomat-detail-page .detail-slevomat-cta {
  margin-top: 4px;
  padding: 20px;
  background: linear-gradient(135deg, rgba(192, 49, 14, 0.07) 0%, rgba(249, 115, 22, 0.07) 100%);
  border: 1.5px solid rgba(192, 49, 14, 0.2);
  border-radius: 12px;
  display: flex;
  flex-direction: column;
  gap: 12px;
}
#slevomat.slevomat-detail-page .detail-slevomat-cta .detail-slevomat-cta-label {
  display: flex;
  align-items: center;
  gap: 6px;
  font-size: 0.72rem;
  font-weight: 700;
  color: #c0310e;
  text-transform: uppercase;
  letter-spacing: 0.7px;
}
#slevomat.slevomat-detail-page .detail-slevomat-cta .detail-slevomat-cta-label svg {
  flex-shrink: 0;
}
#slevomat.slevomat-detail-page .detail-slevomat-cta .btn-slevomat {
  align-self: stretch;
  justify-content: center;
  padding: 14px 20px;
  font-size: 0.9rem;
}
#slevomat.slevomat-detail-page .detail-slevomat-cta .detail-slevomat-cta-note {
  display: flex;
  align-items: center;
  gap: 5px;
  font-size: 0.72rem;
  color: #475569;
  justify-content: center;
}
#slevomat.slevomat-detail-page .detail-slevomat-cta .detail-slevomat-cta-note svg {
  flex-shrink: 0;
  color: #0073E6;
}
#slevomat.slevomat-detail-page .detail-slevomat-cta .detail-cta-price {
  display: flex;
  align-items: baseline;
  gap: 8px;
  padding-top: 8px;
  border-top: 1px solid rgba(192, 49, 14, 0.15);
}
#slevomat.slevomat-detail-page .hero-content-side .btn-slevomat,
#slevomat.slevomat-detail-page .cta-row .btn-slevomat {
  background: linear-gradient(135deg, #c0310e 0%, #F97316 100%);
  color: #fff;
  box-shadow: 0 4px 16px rgba(192, 49, 14, 0.3);
}
#slevomat.slevomat-detail-page .hero-content-side .btn-slevomat:hover,
#slevomat.slevomat-detail-page .cta-row .btn-slevomat:hover {
  transform: translateY(-2px);
  box-shadow: 0 8px 24px rgba(192, 49, 14, 0.4);
}
#slevomat.slevomat-detail-page .hero-content-side .btn-slevomat:focus-visible,
#slevomat.slevomat-detail-page .cta-row .btn-slevomat:focus-visible {
  outline: 3px solid #c0310e;
  outline-offset: 3px;
}
#slevomat.slevomat-detail-page .detail-hero.hero-card {
  min-height: 320px;
  grid-template-columns: 1fr 400px;
  align-items: stretch;
}
#slevomat.slevomat-detail-page .detail-hero.hero-card .hero-content-side {
  overflow-y: visible;
  gap: 16px;
}
#slevomat.slevomat-detail-page .detail-body {
  margin-top: 28px;
  display: grid;
  grid-template-columns: 1fr 300px;
  gap: 28px;
  align-items: flex-start;
}
#slevomat.slevomat-detail-page .detail-body-content {
  background: #fff;
  border-radius: 14px;
  padding: 28px 32px;
  box-shadow: 0 2px 12px rgba(25, 24, 37, 0.18);
}
#slevomat.slevomat-detail-page .detail-body-cta {
  position: sticky;
  top: 80px;
}
#slevomat.slevomat-detail-page .trust-strip {
  border-color: rgba(255, 255, 255, 0.1);
  background: rgba(255, 255, 255, 0.04);
}
@media screen and (max-width: 992px) {
  #slevomat.slevomat-detail-page .detail-hero.hero-card {
    grid-template-columns: 1fr 340px;
  }
  #slevomat.slevomat-detail-page .detail-body {
    grid-template-columns: 1fr 260px;
  }
}
@media screen and (max-width: 768px) {
  #slevomat.slevomat-detail-page .detail-hero.hero-card {
    grid-template-columns: 1fr;
    min-height: auto;
  }
  #slevomat.slevomat-detail-page .detail-hero.hero-card .hero-image-side {
    aspect-ratio: 16/9;
    height: auto;
  }
  #slevomat.slevomat-detail-page .detail-body {
    grid-template-columns: 1fr;
  }
  #slevomat.slevomat-detail-page .detail-body-cta {
    position: static;
  }
  #slevomat.slevomat-detail-page .bottom-row {
    grid-template-columns: 1fr;
  }
}

@media print {
  #slevomat {
    background: #fff !important;
    color: #191825 !important;
  }
}
.voucher-countdown {
  display: inline-block;
  margin: 8px 0;
  padding: 6px 14px;
  font-weight: 700;
  color: var(--bg-danger);
}
.voucher-countdown.expired {
  color: #fff;
  background-color: #191825;
  border-color: #191825;
}

@media screen and (min-width: 992px) {
  #slevomat .h-card {
    flex-direction: row;
    flex-wrap: wrap;
  }
  #slevomat .h-card .h-card-img {
    min-width: 40%;
    width: 40%;
  }
  #slevomat .h-card .h-card-content {
    width: 60%;
  }
}
/* ─── Scroll-reveal ───────────────────────────────────────────────────── */
.reveal {
  opacity: 0;
  transform: translateY(32px);
  transition: opacity 550ms cubic-bezier(0.22, 1, 0.36, 1), transform 550ms cubic-bezier(0.22, 1, 0.36, 1);
  transition-delay: var(--d, 0ms);
}

.reveal.visible {
  opacity: 1;
  transform: translateY(0);
}

@media (prefers-reduced-motion: reduce) {
  .reveal {
    opacity: 1;
    transform: none;
    transition: none;
  }
}
#pricelist {
  background-color: #eaeaea;
}
#pricelist .headline {
  text-align: center;
}
#pricelist .card {
  background: #fff;
  border-radius: 16px;
  padding: 48px 18px;
  min-height: 500px;
}
#pricelist .card iframe {
  width: 100%;
  height: 100%;
}
#pricelist .card ul {
  padding-left: 0;
}
#pricelist .card ul li {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  margin-bottom: 0.5rem;
}
#pricelist .card ul li span {
  background: #fff;
  padding: 0 6px;
}
#pricelist .card ul li .price::after {
  content: ",- Kč";
}
#pricelist .card ul li:not(.noborder) {
  padding-left: 12px;
  position: relative;
  z-index: 2;
}
#pricelist .card ul li:not(.noborder)::before {
  content: "";
  position: absolute;
  bottom: 6px;
  right: 0px;
  width: 90%;
  border-bottom: 1px dashed #A9A8AA;
  z-index: -1;
}

@media screen and (min-width: 992px) {
  #pricelist .card {
    border-radius: 32px;
    padding: 64px 48px;
    min-height: 800px;
  }
}
#faq {
  background-color: #191825;
}
#faq .headline {
  color: #fff;
}
#faq .faq-container {
  list-style: none;
  padding: 0;
  display: flex;
  flex-direction: column;
  gap: 12px;
}
#faq .faq-container .faq {
  transition: all 0.5s ease;
  padding: 8px 16px;
  background-color: rgba(0, 0, 0, 0.75);
  border-radius: 16px;
}
#faq .faq-container .faq .question {
  text-align: left;
  background: none;
  padding: 0;
}
#faq .faq-container .faq .question:hover {
  color: #0073E6;
}
#faq .faq-container .faq .question h4, #faq .faq-container .faq .question .h4 {
  display: flex;
  align-items: center;
  gap: 12px;
  font-weight: 500;
  height: 100%;
  transition: all 0.3s ease;
}
#faq .faq-container .faq .question h4 icon, #faq .faq-container .faq .question .h4 icon {
  margin-left: 12px;
  transform: scale(0.7);
}
#faq .faq-container .faq .question h4 span, #faq .faq-container .faq .question .h4 span {
  position: relative;
  display: block;
  width: 10px;
  height: 2px;
  background-color: #0073E6;
}
#faq .faq-container .faq .question h4 span::before, #faq .faq-container .faq .question .h4 span::before {
  position: absolute;
  content: "";
  top: -4px;
  left: 4px;
  height: 10px;
  width: 2px;
  background-color: #0073E6;
  transition: all 0.3s ease;
}
#faq .faq-container .faq .question h4 span.open::before, #faq .faq-container .faq .question .h4 span.open::before {
  top: 0;
  left: 0;
  width: 10px;
  height: 2px;
  background-color: #0073E6;
}
#faq .faq-container .faq .answer {
  opacity: 0;
  visibility: collapse;
  max-height: 0;
  transition: all 1s ease;
  text-align: left;
  width: 100%;
  padding: 0px 22px;
}
#faq .faq-container .faq .answer p {
  color: #fff;
}
#faq .faq-container .faq .answer.open {
  opacity: 1;
  max-height: 300px;
  overflow-y: auto;
  visibility: visible;
}
#faq .card {
  background-color: #eaeaea;
  padding: 24px;
  border-radius: 16px;
  height: auto;
  overflow: hidden;
}
#faq .card form button {
  border: 1px solid #0073E6;
}

@media screen and (min-width: 1200px) {
  #faq {
    background-image: url("https://cdn.alfadrivingschool.cz/usr/img/502090/i/4a3c5000-a581-4b49-90fe-2e729a736eca?w=1200&fit=cover&format=webp&q=82") center center/cover no-repeat, rgba(25, 24, 37, 0.75);
    background-blend-mode: overlay;
    overflow: visible;
  }
  #faq .faq-container .faq .question .h4 {
    padding: 16px 0;
  }
  #faq .faq-container .faq .answer p {
    font-size: 15px;
  }
  #faq .card {
    padding: 24px 32px;
  }
}
#contacts {
  color: #fff;
}
#contacts .wrapper {
  background: url("https://cdn.tandemduha.cz/usr/img/502090/i/88ed2b3a-4907-4c8e-b6a9-a2976313bb78") center center/cover no-repeat;
  background-blend-mode: overlay;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 12px;
  padding: 24px;
  background-color: rgba(0, 0, 0, 0.85);
  border-radius: 24px;
  text-align: center;
  height: 100%;
}
#contacts .wrapper a {
  background-color: #fff;
  color: #0073E6;
  padding: 8px 16px;
  border-radius: 4px;
  min-width: 215px;
}
#contacts .wrapper a.outline {
  border: 1px solid #fff;
  background: transparent;
  color: #fff;
}
#contacts .card {
  background-color: #eaeaea;
  color: #191825;
  padding: 24px;
  border-radius: 24px;
}
#contacts .card .headline {
  text-align: center;
}
#contacts .card ul {
  display: flex;
  flex-direction: column;
  list-style: none;
  padding-left: 0;
  gap: 12px;
}
#contacts .card ul li {
  display: inline-block;
  position: relative;
  padding-left: 16px;
}
#contacts .card ul li::before {
  content: "✓";
  color: #0073E6;
  position: absolute;
  left: 0px;
  top: 0px;
}

@media screen and (min-width: 992px) {
  #contacts .wrapper {
    padding: 32px;
    gap: 24px;
  }
  #contacts .wrapper a {
    padding: 12px 32px;
    transition: all 0.4s ease;
  }
  #contacts .wrapper a:hover {
    background-color: #0073E6;
    color: #fff;
  }
  #contacts .card {
    padding: 32px;
  }
}
input:not(input[type=checkbox]), textarea {
  width: 100%;
  border-radius: 4px;
  border-color: transparent;
}
input:not(input[type=checkbox]):focus, textarea:focus {
  outline: none;
  border-color: #191825;
}

input:not(input[type=checkbox]) {
  line-height: 2;
  padding: 0 8px;
}

textarea {
  resize: none;
  height: 100%;
  padding: 8px;
  min-height: 250px;
  font-family: "Poppins", sans-serif;
}

input[type=checkbox] {
  cursor: pointer;
}

form .feedback {
  text-align: center;
  color: rgb(202, 95, 95);
}
form .feedback .success {
  color: green;
}

footer {
  padding: 80px 0 0 0;
  background-color: #191825;
  overflow: hidden;
}
footer .logo-wrapper {
  color: #fff;
}
footer .logo-wrapper .logo img {
  width: auto;
  height: 65px;
}
footer .widget {
  color: #A9A8AA;
  display: flex;
  flex-direction: column;
  gap: 16px;
}
footer .widget h3, footer .widget .h3 {
  border-bottom: 2px solid #0073E6;
  color: #fff;
}
footer .widget ul {
  list-style: none;
  list-style-position: inside;
  padding-left: 0;
}
footer .widget ul li:not(.opening > li, .sharing > li) {
  position: relative;
  margin-bottom: 0.5rem;
  padding-left: 24px;
}
footer .widget ul li:not(.opening > li, .sharing > li)::before {
  position: absolute;
  left: 0;
}
footer .widget ul .user::before {
  content: "👤";
}
footer .widget ul .tel::before {
  content: "℡";
}
footer .widget ul .address::before {
  content: "⚐";
}
footer .widget ul .email::before {
  content: "@";
}
footer .widget ul .trade::before {
  content: "§";
}
footer .widget ul .ico::before {
  content: "IČ: ";
}
footer .widget ul .datovka::before {
  content: "📤";
}
footer .widget .opening ul li {
  display: flex;
  justify-content: space-between;
  margin-bottom: 0.5rem;
}
footer .widget .links li:hover::before {
  color: #0073E6;
}
footer .widget .links li::before {
  content: "➔";
  padding-right: 8px;
  transition: all 0.4s ease;
}
footer .widget button {
  background: none;
  padding: 0;
  color: #A9A8AA;
}
footer .widget button:hover {
  color: #0073E6;
}
footer .footer {
  padding: 16px 0;
  background-color: rgb(18.0006428801%, 17.2806171649%, 26.6409514626%);
  color: #fff;
  font-weight: 300;
  text-align: center;
}
footer .footer small, footer .footer .small, footer .footer a {
  font-size: small;
}
footer .sharing ul {
  padding-top: 12px;
  display: flex;
  flex-wrap: wrap;
  padding-left: 0;
  gap: 8px;
}
footer .sharing ul li {
  padding-left: 0 !important;
}
footer .sharing ul a {
  width: 42px;
  height: 42px;
  border-radius: 50%;
  display: flex;
  justify-content: center;
  align-items: center;
  background-color: #0073E6;
  color: #fff;
  border: 2px solid #0073E6;
  transition: 0.4s ease;
}
footer .sharing ul a:hover {
  background-color: #fff;
  color: #0073E6;
}

@media screen and (min-width: 992px) {
  footer {
    padding: 100px 0 0 0;
  }
  .sharing ul a {
    width: 56px;
    height: 56px;
  }
}
#cookiebar {
  position: fixed;
  bottom: 0;
  left: 0;
  width: 100%;
  background-color: #191825;
  z-index: 99999;
  display: none;
}
#cookiebar .cookie-banner {
  width: 100%;
  background-color: #191825;
  color: #fff;
  text-align: center;
  padding: 15px;
  display: flex;
  justify-content: space-between;
  align-items: center;
  z-index: 1000;
}
#cookiebar .cookie-banner a {
  color: yellow;
}
#cookiebar .cookie-settings {
  position: fixed;
  bottom: 0;
  left: 0;
  width: 100%;
  background-color: #fff;
  color: #191825;
  text-align: left;
  padding: 20px;
  display: none;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  z-index: 1000;
  gap: 16px;
}

.popup-overlay {
  animation: fadeIn 0.3s ease;
  backdrop-filter: blur(2px);
}

.popup-container {
  animation: slideIn 0.5s ease;
  background: linear-gradient(135deg, #fff 0%, #f8f8f8 100%);
}
.popup-container img {
  max-width: 100%;
  height: auto;
  display: block;
  object-fit: cover;
  max-height: 60dvh;
  width: 75%;
  margin: 0 auto 15px;
  border-radius: 8px;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.1);
}
.popup-container .popup-content {
  text-align: center;
}
.popup-container .popup-content h3, .popup-container .popup-content .h3 {
  color: #DFAF00;
  font-size: 1.5rem;
  margin-bottom: 15px;
}
.popup-container .popup-content p {
  font-size: 1rem;
  color: #333;
  line-height: 1.6;
}
.popup-container .popup-buttons-container .btn-confirm,
.popup-container .popup-buttons-container .popup-cancel-btn {
  padding: 12px 24px;
  border-radius: 6px;
  font-size: 1rem;
  font-weight: 600;
  cursor: pointer;
  transition: all 0.3s ease;
}
.popup-container .popup-buttons-container .btn-confirm:hover,
.popup-container .popup-buttons-container .popup-cancel-btn:hover {
  transform: translateY(-2px);
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15);
}
.popup-container .popup-buttons-container .btn-confirm {
  background: #DFAF00;
  color: #fff;
}
.popup-container .popup-buttons-container .btn-confirm:hover {
  background: #C49B00;
}
.popup-container .popup-buttons-container .popup-cancel-btn {
  background: transparent;
  color: #666;
  border: 2px solid #ddd;
}
.popup-container .popup-buttons-container .popup-cancel-btn:hover {
  background: #f5f5f5;
  border-color: #ccc;
}

.popup-close-icon:hover {
  color: #DFAF00 !important;
}

@keyframes fadeIn {
  from {
    opacity: 0;
  }
  to {
    opacity: 1;
  }
}
@keyframes slideIn {
  from {
    transform: translateY(-30px) scale(0.95);
    opacity: 0;
  }
  to {
    transform: translateY(0) scale(1);
    opacity: 1;
  }
}
@media (max-width: 768px) {
  .popup-container {
    max-width: 95%;
    padding: 15px;
    margin: 10px;
  }
  .popup-container img {
    max-height: 80dvh;
    object-fit: contain;
  }
  .popup-container .popup-content h3, .popup-container .popup-content .h3 {
    font-size: 1.25rem;
  }
  .popup-container .popup-content p {
    font-size: 0.9rem;
  }
  .popup-container .popup-close-icon {
    top: 8px;
    right: 10px;
    font-size: 28px;
  }
  .popup-container .popup-buttons-container {
    flex-direction: column;
    gap: 8px;
  }
  .popup-container .popup-buttons-container button,
  .popup-container .popup-buttons-container a {
    width: 100%;
  }
}
@media (max-width: 480px) {
  .popup-container .popup-content h3, .popup-container .popup-content .h3 {
    font-size: 1.1rem;
  }
  .popup-container .popup-buttons-container .btn-confirm,
  .popup-container .popup-buttons-container .popup-cancel-btn {
    padding: 10px 20px;
    font-size: 0.9rem;
  }
}
.cta-row, .h-cta {
  display: flex;
  gap: 8px;
  flex-wrap: wrap;
  margin-top: auto;
}

.btn-primary {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  padding: 13px 20px;
  border-radius: 10px;
  border: none;
  font-size: 0.9rem;
  font-weight: 600;
  color: #fff;
  cursor: pointer;
  transition: filter 150ms, transform 150ms;
  text-decoration: none;
  background: linear-gradient(135deg, #0073E6, rgb(0%, 30.0980392157%, 60.1960784314%));
  min-height: 44px;
}
.btn-primary:hover {
  filter: brightness(1.1);
  transform: translateY(-1px);
}
.btn-primary:focus-visible {
  outline: 3px solid #0073E6;
  outline-offset: 3px;
}

.btn-secondary {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  padding: 11px 20px;
  border-radius: 10px;
  border: 1.5px solid #E2E8F0;
  background: transparent;
  font-size: 0.875rem;
  font-weight: 500;
  color: #475569;
  cursor: pointer;
  transition: background 150ms, border-color 150ms;
  text-decoration: none;
  min-height: 44px;
}
.btn-secondary:hover {
  background: rgb(13.9022822244%, 13.3461909354%, 20.5753776921%);
  border-color: #475569;
}
.btn-secondary:focus-visible {
  outline: 3px solid #0073E6;
  outline-offset: 3px;
}

.btn-sm {
  padding: 10px 16px;
  font-size: 0.8rem;
  min-height: 40px;
}

.btn-base {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  padding: 13px 20px;
  border-radius: 10px;
  border: none;
  font-size: 0.9rem;
  font-weight: 600;
  color: #fff;
  cursor: pointer;
  transition: filter 150ms, transform 150ms;
  text-decoration: none;
  min-height: 44px;
}

.btn-blue, a.btn-blue, button.btn-blue {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  padding: 13px 20px;
  border-radius: 10px;
  border: none;
  font-size: 0.9rem;
  font-weight: 600;
  cursor: pointer;
  transition: filter 150ms, transform 150ms;
  text-decoration: none;
  min-height: 44px;
  color: white !important;
  background: linear-gradient(135deg, #0073E6, rgb(0%, 30.0980392157%, 60.1960784314%));
}

.btn-ghost {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  padding: 11px 18px;
  border-radius: 10px;
  border: 1.5px solid rgba(0, 115, 230, 0.4);
  background: transparent;
  font-size: 0.875rem;
  font-weight: 500;
  color: #0073E6;
  cursor: pointer;
  transition: background 150ms, border-color 150ms, color 150ms;
  text-decoration: none;
  min-height: 44px;
}
.btn-ghost:hover {
  background: rgba(0, 115, 230, 0.08);
  border-color: #0073E6;
}
.btn-ghost:focus-visible {
  outline: 3px solid #0073E6;
  outline-offset: 3px;
}

.btn-orange {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  padding: 11px 18px;
  border-radius: 10px;
  border: none;
  background: linear-gradient(135deg, #FBBF24, rgb(86.9606963862%, 63.1358480612%, 1.5883232217%));
  font-size: 0.875rem;
  font-weight: 600;
  color: #fff;
  cursor: pointer;
  transition: filter 150ms, transform 150ms;
  text-decoration: none;
  min-height: 44px;
}
.btn-orange:hover {
  filter: brightness(1.1);
  transform: translateY(-1px);
}
.btn-orange:focus-visible {
  outline: 3px solid #FBBF24;
  outline-offset: 3px;
}

.btn-night {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  padding: 11px 18px;
  border-radius: 10px;
  border: none;
  background: linear-gradient(135deg, #1a1a3e, rgb(5.4688057041%, 5.4688057041%, 13.0409982175%));
  font-size: 0.875rem;
  font-weight: 600;
  color: #fff;
  cursor: pointer;
  transition: filter 150ms, transform 150ms;
  text-decoration: none;
  min-height: 44px;
}
.btn-night:hover {
  filter: brightness(1.1);
  transform: translateY(-1px);
}
.btn-night:focus-visible {
  outline: 3px solid #1a1a3e;
  outline-offset: 3px;
}

.voucher-detail-link {
  display: inline-flex;
  align-items: center;
  gap: 5px;
  font-size: 0.82rem;
  font-weight: 600;
  color: #0073E6;
  text-decoration: none;
  cursor: pointer;
  padding: 4px 0;
  transition: opacity 150ms;
  background: none;
  border: none;
}
.voucher-detail-link svg {
  width: 13px;
  height: 13px;
  transition: transform 150ms;
}
.voucher-detail-link:hover {
  opacity: 0.75;
}
.voucher-detail-link:hover svg {
  transform: translateX(3px);
}
.voucher-detail-link:focus-visible {
  outline: 2px solid #0073E6;
  outline-offset: 3px;
  border-radius: 3px;
}

.breadcrumbs {
  padding: 8px 0;
}
.breadcrumbs ol {
  list-style: none;
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 4px;
  padding-left: 0;
  margin-bottom: 0;
}
.breadcrumbs ol li {
  display: flex;
  align-items: center;
  font-size: 14px;
  color: #A9A8AA;
}
.breadcrumbs ol li + li::before {
  content: "/";
  margin-right: 4px;
  color: rgb(96.2745098039%, 96.2311901505%, 96.3178294574%);
}
.breadcrumbs ol li a {
  color: #0073E6;
  text-decoration: none;
}
.breadcrumbs ol li a:hover {
  text-decoration: underline;
}
.breadcrumbs ol li span[aria-current=page] {
  color: #191825;
}

.recenze-summary {
  display: flex;
  gap: 24px;
  align-items: center;
  flex-wrap: wrap;
  background: var(--bg-card, #fff);
  border: 1px solid var(--border, #e5e7eb);
  border-radius: 12px;
  padding: 20px 24px;
  margin-bottom: 24px;
}

.recenze-summary-score {
  text-align: center;
  min-width: 140px;
}

.recenze-avg {
  font-size: 3rem;
  font-weight: 700;
  line-height: 1;
  color: #EAB308;
}

.recenze-total {
  font-size: 0.8rem;
  color: var(--dim, #6b7280);
  margin-top: 6px;
}

.recenze-stars {
  display: inline-flex;
  gap: 2px;
  margin-top: 4px;
}

.recenze-bars {
  flex: 1;
  min-width: 200px;
  display: grid;
  gap: 6px;
}

.recenze-bar-row {
  display: flex;
  align-items: center;
  gap: 8px;
  font-size: 0.78rem;
}

.recenze-bar-label {
  width: 24px;
  color: var(--dim, #6b7280);
}

.recenze-bar-track {
  flex: 1;
  height: 6px;
  background: var(--bg-hover, #f3f4f6);
  border-radius: 3px;
  overflow: hidden;
}

.recenze-bar-fill {
  height: 100%;
  background: #EAB308;
  border-radius: 3px;
}

.recenze-bar-count {
  width: 24px;
  text-align: right;
  color: var(--dim, #6b7280);
}

.recenze-list {
  display: flex;
  flex-direction: column;
  gap: 16px;
}

.recenze-card {
  background: var(--bg-card, #fff);
  border: 1px solid var(--border, #e5e7eb);
  border-radius: 12px;
  padding: 20px;
}

.recenze-card-head {
  display: flex;
  align-items: center;
  gap: 12px;
  flex-wrap: wrap;
}

.recenze-avatar {
  width: 44px;
  height: 44px;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  font-weight: 700;
  font-size: 0.95rem;
  color: #fff;
  flex-shrink: 0;
}

.recenze-card-head small, .recenze-card-head .small {
  display: block;
  font-size: 0.78rem;
  color: var(--dim, #6b7280);
  margin-top: 2px;
}

.recenze-card-head .recenze-stars {
  margin-left: unset;
}

.recenze-text {
  margin: 12px 0 0;
  font-size: 0.92rem;
  line-height: 1.65;
}

@media screen and (min-width: 1200px) {
  .recenze-card-head {
    flex-direction: row;
    flex-wrap: nowrap;
    align-items: center;
  }
  .recenze-card-head .recenze-stars {
    margin-left: auto;
  }
}
.blog-post-hero {
  padding: 2.5rem 0 2rem;
  background: linear-gradient(135deg, #b3d9ff 0%, #fff 60%);
  border-bottom: 1px solid #eaeaea;
}
.blog-post-hero .breadcrumbs {
  padding: 0 0 1rem;
}

.blog-post-hero__category {
  display: inline-block;
  padding: 0.3rem 0.9rem;
  background: #0073E6;
  color: #fff;
  border-radius: 999px;
  font-size: 13px;
  font-weight: 600;
  letter-spacing: 0.03em;
  text-transform: uppercase;
  text-decoration: none;
  transition: background 0.2s ease;
}
.blog-post-hero__category:hover, .blog-post-hero__category:focus-visible {
  background: rgb(0%, 35.0980392157%, 70.1960784314%);
  color: #fff;
}

.blog-post-hero__title {
  color: #191825;
  font-size: clamp(1.6rem, 1rem + 2vw, 2.5rem);
  font-weight: 700;
  line-height: 1.2;
  letter-spacing: -0.01em;
  text-wrap: balance;
}

.blog-post-hero__meta {
  display: flex;
  flex-wrap: wrap;
  gap: 0.5rem 1.5rem;
  padding-left: 0;
  margin-bottom: 0;
  list-style: none;
  color: #A9A8AA;
}
.blog-post-hero__meta li {
  display: flex;
  align-items: center;
  gap: 0.4rem;
  font-size: 14px;
}
.blog-post-hero__meta svg {
  color: #0073E6;
  flex-shrink: 0;
}

.blog-post-cover {
  margin: -1px auto 0;
  padding-top: 2rem;
}
.blog-post-cover img {
  display: block;
  width: 100%;
  height: auto;
  aspect-ratio: 16/9;
  object-fit: cover;
  border: 1px solid rgba(25, 24, 37, 0.06);
  border-radius: 1rem;
  box-shadow: 0 1px 2px rgba(25, 24, 37, 0.05), 0 1.25rem 2.5rem rgba(25, 24, 37, 0.1);
}

.blog-post-perex {
  color: rgb(18.0006428801%, 17.2806171649%, 26.6409514626%);
  font-size: 1.15rem;
  line-height: 1.7;
  text-wrap: pretty;
}

.blog-post-content {
  color: #191825;
  font-size: 1.05rem;
}
.blog-post-content p,
.blog-post-content li,
.blog-post-content blockquote {
  line-height: 1.8;
  text-wrap: pretty;
}
.blog-post-content h2, .blog-post-content .h2 {
  margin-top: 1.5rem;
  font-size: 1.3rem;
}
.blog-post-content h3, .blog-post-content .h3 {
  font-size: 1.2rem;
}
.blog-post-content h4, .blog-post-content .h4 {
  font-size: 1.1rem;
}
.blog-post-content h5, .blog-post-content .h5 {
  font-size: 1rem;
}
.blog-post-content h6, .blog-post-content .h6 {
  font-size: 0.9rem;
}
.blog-post-content h2, .blog-post-content .h2,
.blog-post-content h3,
.blog-post-content .h3,
.blog-post-content h4,
.blog-post-content .h4,
.blog-post-content h5,
.blog-post-content .h5,
.blog-post-content h6,
.blog-post-content .h6 {
  text-wrap: balance;
  font-weight: 600;
  letter-spacing: -0.01em;
}
.blog-post-content a {
  color: #0073E6;
  text-underline-offset: 0.15em;
}
.blog-post-content a:hover, .blog-post-content a:focus-visible {
  color: rgb(0%, 35.0980392157%, 70.1960784314%);
}
.blog-post-content img {
  max-width: 100%;
  height: auto;
  border-radius: 0.75rem;
}
.blog-post-content blockquote {
  margin: 1.5rem 0;
  padding: 1rem 1.5rem;
  background: #eaeaea;
  border-left: 1px solid #0073E6;
  border-radius: 0 0.5rem 0.5rem 0;
}
.blog-post-content blockquote p:last-child {
  margin-bottom: 0;
}
.blog-post-content ul,
.blog-post-content ol {
  padding-left: 1.5rem;
}
.blog-post-content li::marker {
  color: #0073E6;
}
.blog-post-content li + li {
  margin-top: 0.25rem;
}
.blog-post-content table {
  display: block;
  width: 100%;
  overflow-x: auto;
  border-collapse: collapse;
}
.blog-post-content table th,
.blog-post-content table td {
  padding: 0.6rem 0.9rem;
  border: 1px solid #eaeaea;
  text-align: left;
  vertical-align: top;
}
.blog-post-content table th {
  background: #eaeaea;
  font-weight: 600;
}
.blog-post-content table.table-striped tbody tr:nth-of-type(odd) {
  background: rgb(96.7647058824%, 96.7647058824%, 96.7647058824%);
}
.blog-post-content table .table-dark th {
  background: #191825;
  color: #fff;
  border-color: rgb(18.0006428801%, 17.2806171649%, 26.6409514626%);
}
.blog-post-content .table-responsive {
  overflow-x: auto;
  -webkit-overflow-scrolling: touch;
}
.blog-post-content .table-responsive table {
  margin-bottom: 0;
}
.blog-post-content .h-100 {
  height: 100%;
}
.blog-post-content .fw-bold {
  font-weight: 700;
}
.blog-post-content .lead-text {
  color: rgb(18.0006428801%, 17.2806171649%, 26.6409514626%);
  font-size: 1.1rem;
  font-weight: 500;
}
.blog-post-content .highlight-box {
  padding: 1.25rem 1.5rem;
  background: #b3d9ff;
  border-left: 1px solid #0073E6;
  border-radius: 0 0.75rem 0.75rem 0;
}
.blog-post-content .highlight-box > :first-child {
  margin-top: 0;
}
.blog-post-content .highlight-box > :last-child {
  margin-bottom: 0;
}
.blog-post-content .alert {
  padding: 1.25rem 1.5rem;
  border-radius: 0.75rem;
}
.blog-post-content .alert.alert-info {
  background: #b3d9ff;
  border: 1px solid rgb(50.1960784314%, 75.0980392157%, 100%);
}
.blog-post-content .alert .alert-heading {
  font-size: 1.1rem;
  text-wrap: balance;
}
.blog-post-content .alert > :last-child {
  margin-bottom: 0;
}
.blog-post-content .card {
  background: #fff;
  border: 1px solid #eaeaea;
  border-radius: 0.75rem;
  box-shadow: 0 0.25rem 1rem rgba(25, 24, 37, 0.06);
}
.blog-post-content .card.border-primary {
  border-color: #4da6ff;
}
.blog-post-content .card-body {
  padding: 1.25rem;
}
.blog-post-content .card-body > :first-child {
  margin-top: 0;
}
.blog-post-content .card-body > :last-child {
  margin-bottom: 0;
}
.blog-post-content .card-title {
  margin-bottom: 0.5rem;
}

.blog-post-tags {
  display: flex;
  flex-wrap: wrap;
  gap: 0.5rem;
  padding-left: 0;
  list-style: none;
}
.blog-post-tags a {
  display: inline-block;
  padding: 0.35rem 0.9rem;
  background: #eaeaea;
  color: #191825;
  border-radius: 999px;
  font-size: 13px;
  text-decoration: none;
  transition: background 0.2s ease, color 0.2s ease;
}
.blog-post-tags a:hover, .blog-post-tags a:focus-visible {
  background: #0073E6;
  color: #fff;
}

.blog-post-back {
  display: inline-block;
  color: #0073E6;
  font-weight: 600;
  text-decoration: none;
}
.blog-post-back:hover, .blog-post-back:focus-visible {
  color: rgb(0%, 35.0980392157%, 70.1960784314%);
  text-decoration: underline;
}

.blog-post-sidebar {
  display: grid;
  gap: 1.5rem;
  align-content: start;
}
@media screen and (min-width: 992px) {
  .blog-post-sidebar {
    position: sticky;
    top: 1.5rem;
  }
}

.blog-post-sidebar__card {
  padding: 1.5rem;
  background: #fff;
  border: 1px solid #eaeaea;
  border-radius: 1rem;
  box-shadow: 0 0.5rem 1.5rem rgba(25, 24, 37, 0.05);
}

.blog-post-sidebar__title {
  margin-top: 0;
  margin-bottom: 1rem;
  font-size: 1.1rem;
  font-weight: 700;
  text-wrap: balance;
}

.blog-post-categories {
  padding-left: 0;
  margin-bottom: 0;
  list-style: none;
}
.blog-post-categories a {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 0.5rem;
  padding: 0.6rem 0;
  color: #191825;
  text-decoration: none;
  border-bottom: 1px solid #eaeaea;
  transition: color 0.2s ease;
}
.blog-post-categories a:hover, .blog-post-categories a:focus-visible {
  color: #0073E6;
}
.blog-post-categories li:last-child a {
  border-bottom: 0;
}

.blog-post-categories__count {
  padding: 0.15rem 0.6rem;
  background: #eaeaea;
  color: #A9A8AA;
  border-radius: 999px;
  font-size: 12px;
  font-weight: 600;
}

.blog-post-cta {
  background: linear-gradient(135deg, #0073E6 0%, rgb(0%, 30.0980392157%, 60.1960784314%) 100%);
  border: 0;
  color: #fff;
}
.blog-post-cta .blog-post-sidebar__title,
.blog-post-cta p {
  color: #fff;
}
.blog-post-cta p {
  margin-bottom: 1.25rem;
}

.blog-post-cta__button {
  display: inline-block;
  padding: 0.6rem 1.5rem;
  background: #fff;
  color: #0073E6;
  border-radius: 999px;
  font-weight: 700;
  text-decoration: none;
  transition: background 0.2s ease, color 0.2s ease;
}
.blog-post-cta__button:hover, .blog-post-cta__button:focus-visible {
  background: #191825;
  color: #fff;
}

.blog-index {
  padding: 2.5rem 0 4rem;
}
.blog-index ::selection {
  background: rgba(0, 115, 230, 0.2);
}
.blog-index a:focus-visible {
  outline: 2px solid #0073E6;
  outline-offset: 3px;
  border-radius: 0.25rem;
}

.blog-index__head {
  padding-bottom: 1.75rem;
  border-bottom: 1px solid #eaeaea;
}
.blog-index__head .breadcrumbs {
  padding: 0 0 1rem;
}

.blog-index__title {
  margin-bottom: 0.5rem;
  color: #191825;
  font-size: clamp(1.9rem, 1.4rem + 2vw, 2.6rem);
  font-weight: 800;
  line-height: 1.15;
  letter-spacing: -0.02em;
  text-wrap: balance;
}

.blog-index__desc {
  max-inline-size: 60ch;
  margin-bottom: 0;
  color: rgb(18.0006428801%, 17.2806171649%, 26.6409514626%);
  font-size: 1.05rem;
  line-height: 1.6;
  text-wrap: pretty;
}

.blog-index__filters {
  display: flex;
  flex-wrap: wrap;
  gap: 0.5rem;
  padding: 1.25rem 0 0;
}

.blog-chip {
  display: inline-flex;
  align-items: center;
  gap: 0.45rem;
  padding: 0.45rem 1.1rem;
  background: #fff;
  color: rgb(18.0006428801%, 17.2806171649%, 26.6409514626%);
  border: 1px solid #eaeaea;
  border-radius: 999px;
  font-size: 0.875rem;
  font-weight: 500;
  text-decoration: none;
  transition: color 0.2s ease, border-color 0.2s ease, background 0.2s ease;
}
.blog-chip:hover, .blog-chip:focus-visible {
  color: #0073E6;
  border-color: #0073E6;
}
.blog-chip.is-active {
  background: #0073E6;
  color: #fff;
  border-color: #0073E6;
}
.blog-chip.is-active .blog-chip__count {
  background: rgba(255, 255, 255, 0.2);
  color: #fff;
}

.blog-chip__count {
  padding: 0.1rem 0.55rem;
  background: rgba(0, 115, 230, 0.08);
  color: #0073E6;
  border-radius: 999px;
  font-size: 0.75rem;
  font-weight: 600;
}

.blog-index__empty {
  display: grid;
  justify-items: start;
  gap: 1rem;
  margin-top: 2rem;
  padding: 3rem 2rem;
  border: 1px dashed #eaeaea;
  border-radius: 1.25rem;
  text-align: left;
}
.blog-index__empty p {
  margin-bottom: 0;
  color: rgb(18.0006428801%, 17.2806171649%, 26.6409514626%);
}

.blog-deck {
  display: grid;
  grid-template-columns: 1fr;
  gap: 1.5rem;
  margin-top: 2rem;
}
@media screen and (min-width: 768px) {
  .blog-deck {
    grid-template-columns: repeat(2, 1fr);
  }
}
@media screen and (min-width: 992px) {
  .blog-deck {
    grid-template-columns: repeat(3, 1fr);
    gap: 2rem;
  }
}

@media screen and (min-width: 768px) {
  .blog-deck__feature {
    grid-column: span 2;
  }
}
.blog-deck__feature:only-child {
  grid-column: 1/-1;
}

.blog-feature {
  position: relative;
  display: block;
  height: 100%;
  min-height: 20rem;
  overflow: hidden;
  border-radius: 1.25rem;
  background: #191825;
  text-decoration: none;
}
.blog-feature::after {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(to top, rgba(25, 24, 37, 0.88) 0%, rgba(25, 24, 37, 0.45) 45%, rgba(25, 24, 37, 0) 75%);
  transition: opacity 0.3s ease;
}
.blog-feature:hover .blog-feature__image, .blog-feature:focus-visible .blog-feature__image {
  transform: scale(1.03);
}

.blog-feature__image {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform 0.6s cubic-bezier(0.19, 1, 0.22, 1);
}

.blog-feature__body {
  position: absolute;
  inset-inline: 0;
  bottom: 0;
  z-index: 1;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 0.6rem;
  padding: 1.75rem;
}
@media screen and (min-width: 992px) {
  .blog-feature__body {
    padding: 2.25rem;
  }
}

.blog-feature__meta {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 0.6rem;
}

.blog-feature__badge {
  padding: 0.3rem 0.85rem;
  background: #fff;
  color: #0073E6;
  border-radius: 999px;
  font-size: 0.75rem;
  font-weight: 700;
  letter-spacing: 0.05em;
  text-transform: uppercase;
}

.blog-feature__date {
  color: rgba(255, 255, 255, 0.85);
  font-size: 0.8125rem;
  font-weight: 500;
  letter-spacing: 0.03em;
  text-transform: uppercase;
}

.blog-feature__title {
  margin-bottom: 0;
  color: #fff;
  font-size: clamp(1.35rem, 1rem + 1.6vw, 2rem);
  font-weight: 800;
  line-height: 1.25;
  letter-spacing: -0.01em;
  text-wrap: balance;
}

.blog-feature__text {
  overflow: hidden;
  margin-bottom: 0;
  color: rgba(255, 255, 255, 0.85);
  font-size: 0.95rem;
  line-height: 1.6;
  text-wrap: pretty;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  line-clamp: 2;
  box-orient: vertical;
  -webkit-box-orient: vertical;
}

.blog-feature__cta {
  color: #fff;
  font-size: 0.875rem;
  font-weight: 600;
}
.blog-feature:hover .blog-feature__cta, .blog-feature:focus-visible .blog-feature__cta {
  text-decoration: underline;
  text-underline-offset: 0.2em;
}

.blog-card {
  display: flex;
  flex-direction: column;
  height: 100%;
  overflow: hidden;
  background: #fff;
  border: 1px solid #eaeaea;
  border-radius: 1.25rem;
  transition: box-shadow 0.25s ease, transform 0.25s ease;
}
.blog-card:hover {
  transform: translateY(-3px);
  box-shadow: 0 0.75rem 2rem rgba(25, 24, 37, 0.08);
}

.blog-card__image {
  display: block;
  overflow: hidden;
}
.blog-card__image img {
  display: block;
  width: 100%;
  height: auto;
  aspect-ratio: 16/9;
  object-fit: cover;
  transition: transform 0.6s cubic-bezier(0.19, 1, 0.22, 1);
}
.blog-card:hover .blog-card__image img {
  transform: scale(1.04);
}

.blog-card__body {
  display: flex;
  flex-direction: column;
  flex: 1;
  gap: 0.6rem;
  padding: 1.25rem 1.25rem 1.4rem;
}

.blog-card__meta {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 0.6rem;
}

.blog-card__title {
  margin-bottom: 0;
  font-size: 1.1rem;
  font-weight: 800;
  line-height: 1.35;
  letter-spacing: -0.01em;
  text-wrap: balance;
  overflow: hidden;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  line-clamp: 2;
  box-orient: vertical;
  -webkit-box-orient: vertical;
}
.blog-card__title a {
  color: #191825;
  text-decoration: none;
  transition: color 0.2s ease;
}
.blog-card__title a:hover, .blog-card__title a:focus-visible {
  color: #0073E6;
}

.blog-card__text {
  overflow: hidden;
  margin-bottom: 0;
  color: rgb(18.0006428801%, 17.2806171649%, 26.6409514626%);
  font-size: 0.95rem;
  line-height: 1.6;
  text-wrap: pretty;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  line-clamp: 2;
  box-orient: vertical;
  -webkit-box-orient: vertical;
}

.blog-card__footer {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 0.5rem;
  margin-top: auto;
  padding-top: 0.4rem;
}

.blog-card__date {
  color: rgb(18.0006428801%, 17.2806171649%, 26.6409514626%);
  font-size: 0.8125rem;
  font-weight: 500;
}

.blog-card__badge,
.blog-card__tag {
  display: inline-block;
  padding: 0.25rem 0.75rem;
  border-radius: 999px;
  font-size: 0.75rem;
  font-weight: 600;
  text-decoration: none;
  transition: background 0.2s ease, color 0.2s ease;
}

.blog-card__badge {
  background: rgba(0, 115, 230, 0.08);
  color: #0073E6;
  letter-spacing: 0.04em;
  text-transform: uppercase;
}
.blog-card__badge:hover, .blog-card__badge:focus-visible {
  background: #0073E6;
  color: #fff;
}

.blog-card__tag {
  background: #eaeaea;
  color: #191825;
}
.blog-card__tag:hover, .blog-card__tag:focus-visible {
  background: #0073E6;
  color: #fff;
}

.blog-pagination {
  margin-top: 2.5rem;
}
.blog-pagination ul {
  display: flex;
  flex-wrap: wrap;
  gap: 0.5rem;
  padding-left: 0;
  list-style: none;
}

.blog-pagination__link {
  display: flex;
  align-items: center;
  justify-content: center;
  min-width: 2.5rem;
  height: 2.5rem;
  padding: 0 0.75rem;
  background: #fff;
  color: #191825;
  border: 1px solid #eaeaea;
  border-radius: 0.75rem;
  font-weight: 600;
  text-decoration: none;
  transition: background 0.2s ease, color 0.2s ease, border-color 0.2s ease;
}
.blog-pagination__link:hover, .blog-pagination__link:focus-visible {
  color: #0073E6;
  border-color: #0073E6;
}
.blog-pagination__link.is-active {
  background: #0073E6;
  color: #fff;
  border-color: #0073E6;
}
.blog-pagination__link.is-disabled {
  background: #eaeaea;
  color: rgb(18.0006428801%, 17.2806171649%, 26.6409514626%);
}
.blog-pagination__link.is-ellipsis {
  background: none;
  border: 0;
}

@media (prefers-reduced-motion: reduce) {
  .blog-feature__image,
  .blog-card__image img,
  .blog-card,
  .blog-chip,
  .blog-pagination__link {
    transition: none;
  }
  .blog-feature:hover .blog-feature__image,
  .blog-feature:focus-visible .blog-feature__image,
  .blog-card:hover .blog-card__image img,
  .blog-card:hover {
    transform: none;
  }
}
.login-section {
  min-height: 100vh;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 2rem 1rem;
  position: relative;
  overflow: hidden;
  background: linear-gradient(135deg, #f8fafc 0%, #e2e8f0 50%, #f1f5f9 100%);
}
.login-section::before {
  content: "";
  position: absolute;
  inset: 0;
  background-image: linear-gradient(rgba(0, 115, 230, 0.03) 1px, transparent 1px), linear-gradient(90deg, rgba(0, 115, 230, 0.03) 1px, transparent 1px);
  background-size: 60px 60px;
  pointer-events: none;
}

.login-decoration {
  position: absolute;
  inset: 0;
  pointer-events: none;
  overflow: hidden;
  z-index: 0;
}
.login-decoration .decoration-circle {
  position: absolute;
  border-radius: 50%;
  opacity: 0.08;
}
.login-decoration .decoration-circle.circle-1 {
  width: 600px;
  height: 600px;
  background: linear-gradient(135deg, #0073E6, #4da6ff);
  top: -200px;
  right: -150px;
  animation: float-slow 8s ease-in-out infinite;
}
.login-decoration .decoration-circle.circle-2 {
  width: 400px;
  height: 400px;
  background: linear-gradient(135deg, #e2dcb9, #b3d9ff);
  bottom: -100px;
  left: -100px;
  animation: float-slow 10s ease-in-out infinite 2s;
}
.login-decoration .decoration-circle.circle-3 {
  width: 200px;
  height: 200px;
  background: linear-gradient(135deg, rgb(50.1960784314%, 75.0980392157%, 100%), #0073E6);
  top: 50%;
  right: 10%;
  animation: float-slow 12s ease-in-out infinite 4s;
}

@keyframes float-slow {
  0%, 100% {
    transform: translate(0, 0) scale(1);
  }
  33% {
    transform: translate(20px, -30px) scale(1.05);
  }
  66% {
    transform: translate(-15px, 15px) scale(0.95);
  }
}
.login-container {
  position: relative;
  z-index: 1;
  width: 100%;
  max-width: 440px;
}

.login-card {
  background: rgba(255, 255, 255, 0.95);
  backdrop-filter: blur(20px);
  border-radius: 24px;
  padding: 2.5rem 2rem;
  box-shadow: 0 4px 6px -1px rgba(0, 0, 0, 0.05), 0 10px 40px -10px rgba(0, 115, 230, 0.15), 0 0 0 1px rgba(0, 115, 230, 0.05);
  border: 1px solid rgba(255, 255, 255, 0.6);
  animation: card-appear 0.6s cubic-bezier(0.16, 1, 0.3, 1) forwards;
  opacity: 0;
  transform: translateY(20px);
}

@keyframes card-appear {
  to {
    opacity: 1;
    transform: translateY(0);
  }
}
.login-header {
  text-align: center;
  margin-bottom: 2rem;
}

.login-logo {
  width: 64px;
  height: 64px;
  margin: 0 auto 1rem;
  background: linear-gradient(135deg, #0073E6, rgb(0%, 35.0980392157%, 70.1960784314%));
  border-radius: 18px;
  display: flex;
  align-items: center;
  justify-content: center;
  box-shadow: 0 8px 24px rgba(0, 115, 230, 0.3);
  animation: logo-pulse 3s ease-in-out infinite;
}
.login-logo svg {
  width: 32px;
  height: 32px;
  color: #fff;
}

@keyframes logo-pulse {
  0%, 100% {
    transform: scale(1);
    box-shadow: 0 8px 24px rgba(0, 115, 230, 0.3);
  }
  50% {
    transform: scale(1.03);
    box-shadow: 0 12px 32px rgba(0, 115, 230, 0.4);
  }
}
.login-title {
  font-size: 1.75rem;
  font-weight: 700;
  color: #191825;
  margin: 0 0 0.5rem;
  letter-spacing: -0.5px;
}

.login-subtitle {
  font-size: 0.9375rem;
  color: #A9A8AA;
  margin: 0;
  font-weight: 400;
}
.login-subtitle span  {
  color: white;
}

.login-form {
  margin-bottom: 1.5rem;
}

.form-group {
  margin-bottom: 1.25rem;
  position: relative;
}
.form-group.has-error .form-input {
  border-color: rgb(202, 95, 95) !important;
  background-color: rgba(202, 95, 95, 0.03);
}
.form-group.has-error .input-focus-line {
  background: linear-gradient(90deg, rgb(202, 95, 95), rgb(86.6804750069%, 59.7901132284%, 59.7901132284%)) !important;
}
.form-group.has-error .input-icon {
  color: rgb(202, 95, 95) !important;
}

.input-wrapper {
  position: relative;
  display: flex;
  align-items: center;
  background: #f8fafc;
  border-radius: 14px;
  border: 2px solid transparent;
  transition: all 0.3s cubic-bezier(0.16, 1, 0.3, 1);
  overflow: hidden;
}
.input-wrapper:hover {
  background: #f1f5f9;
  border-color: rgba(0, 115, 230, 0.15);
}
.input-wrapper.focused {
  background: #fff;
  border-color: rgba(0, 115, 230, 0.3);
  box-shadow: 0 0 0 4px rgba(0, 115, 230, 0.08), 0 4px 16px rgba(0, 115, 230, 0.1);
}
.input-wrapper.focused .input-icon {
  color: #0073E6;
}
.input-wrapper.focused .input-focus-line {
  transform: scaleX(1);
}

.input-icon {
  position: absolute;
  left: 1rem;
  width: 20px;
  height: 20px;
  color: #A9A8AA;
  transition: color 0.3s ease;
  pointer-events: none;
  z-index: 2;
  flex-shrink: 0;
}

.form-input {
  width: 100%;
  padding: 1rem 1rem 1rem 3rem;
  border: none;
  background: transparent;
  font-size: 0.9375rem;
  color: #191825;
  outline: none;
  position: relative;
  z-index: 1;
  line-height: 3 !important;
}
.form-input::placeholder {
  color: transparent;
}
.form-input:focus + .form-label, .form-input:not(:placeholder-shown) + .form-label {
  transform: translateY(-2.4rem) scale(0.8);
  color: #0073E6;
  font-weight: 500;
}
.form-input:-webkit-autofill, .form-input:-webkit-autofill:hover, .form-input:-webkit-autofill:focus {
  -webkit-box-shadow: 0 0 0 1000px #f8fafc inset;
  -webkit-text-fill-color: #191825;
  transition: background-color 5000s ease-in-out 0s;
}

.form-label {
  position: absolute;
  left: 3rem;
  top: 50%;
  transform: translateY(-50%);
  font-size: 0.9375rem;
  color: #A9A8AA;
  pointer-events: none;
  transition: all 0.25s cubic-bezier(0.16, 1, 0.3, 1);
  transform-origin: left center;
  z-index: 1;
}

.input-focus-line {
  position: absolute;
  bottom: 0;
  left: 0;
  right: 0;
  height: 3px;
  background: linear-gradient(90deg, #0073E6, #4da6ff);
  transform: scaleX(0);
  transform-origin: left center;
  transition: transform 0.3s cubic-bezier(0.16, 1, 0.3, 1);
  z-index: 2;
}

.password-toggle {
  position: absolute;
  right: 1rem;
  background: none;
  border: none;
  padding: 0.5rem;
  cursor: pointer;
  color: #A9A8AA;
  z-index: 2;
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: 8px;
  transition: all 0.2s ease;
}
.password-toggle:hover {
  background: rgba(0, 115, 230, 0.08);
  color: #0073E6;
}
.password-toggle:focus-visible {
  outline: 2px solid #0073E6;
  outline-offset: 2px;
}
.password-toggle svg {
  width: 18px;
  height: 18px;
}
.password-toggle .eye-off-icon {
  display: none;
}
.password-toggle.showing .eye-icon {
  display: none;
}
.password-toggle.showing .eye-off-icon {
  display: block;
}

.field-error {
  display: block;
  margin-top: 0.375rem;
  font-size: 0.8125rem;
  color: rgb(202, 95, 95);
  min-height: 1.25rem;
  padding-left: 0.5rem;
  animation: shake 0.4s ease;
}

@keyframes shake {
  0%, 100% {
    transform: translateX(0);
  }
  20% {
    transform: translateX(-5px);
  }
  40% {
    transform: translateX(5px);
  }
  60% {
    transform: translateX(-3px);
  }
  80% {
    transform: translateX(3px);
  }
}
.form-options {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-bottom: 1.5rem;
  flex-wrap: wrap;
  gap: 0.75rem;
}

.checkbox-wrapper {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  cursor: pointer;
  user-select: none;
}

.checkbox-input {
  position: absolute;
  opacity: 0;
  width: 0;
  height: 0;
}
.checkbox-input:checked + .checkbox-custom {
  background: #0073E6;
  border-color: #0073E6;
}
.checkbox-input:checked + .checkbox-custom::after {
  transform: scale(1) rotate(-45deg);
  opacity: 1;
}
.checkbox-input:focus-visible + .checkbox-custom {
  box-shadow: 0 0 0 3px rgba(0, 115, 230, 0.2);
}

.checkbox-custom {
  width: 20px;
  height: 20px;
  border: 2px solid #cbd5e1;
  border-radius: 6px;
  display: flex;
  align-items: center;
  justify-content: center;
  transition: all 0.2s ease;
  position: relative;
  flex-shrink: 0;
}
.checkbox-custom::after {
  content: "";
  width: 8px;
  height: 4px;
  border-left: 2px solid #fff;
  border-bottom: 2px solid #fff;
  transform: scale(0) rotate(-45deg);
  opacity: 0;
  transition: all 0.2s cubic-bezier(0.16, 1, 0.3, 1);
  position: absolute;
  top: 4px;
  left: 4px;
}

.checkbox-label {
  font-size: 0.875rem;
  color: #475569;
}

.forgot-link {
  font-size: 0.875rem;
  color: #0073E6;
  text-decoration: none;
  font-weight: 500;
  transition: all 0.2s ease;
  position: relative;
}
.forgot-link::after {
  content: "";
  position: absolute;
  bottom: -2px;
  left: 0;
  width: 0;
  height: 2px;
  background: #0073E6;
  transition: width 0.3s ease;
}
.forgot-link:hover {
  color: rgb(0%, 35.0980392157%, 70.1960784314%);
}
.forgot-link:hover::after {
  width: 100%;
}
.forgot-link:focus-visible {
  outline: 2px solid #0073E6;
  outline-offset: 3px;
  border-radius: 3px;
}

.login-submit {
  width: 100%;
  padding: 1rem 1.5rem;
  border-radius: 14px;
  border: none;
  background: linear-gradient(135deg, #0073E6, rgb(0%, 35.0980392157%, 70.1960784314%));
  color: #fff;
  font-size: 1rem;
  font-weight: 600;
  cursor: pointer;
  position: relative;
  overflow: hidden;
  transition: all 0.3s cubic-bezier(0.16, 1, 0.3, 1);
  box-shadow: 0 4px 16px rgba(0, 115, 230, 0.3);
  min-height: 52px;
  display: flex;
  align-items: center;
  justify-content: center;
}
.login-submit::before {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(135deg, rgb(6.1960784314%, 53.0980392157%, 100%), rgb(0%, 40.0980392157%, 80.1960784314%));
  opacity: 0;
  transition: opacity 0.3s ease;
}
.login-submit:hover:not(:disabled) {
  transform: translateY(-2px);
  box-shadow: 0 8px 24px rgba(0, 115, 230, 0.4);
}
.login-submit:hover:not(:disabled)::before {
  opacity: 1;
}
.login-submit:active:not(:disabled) {
  transform: translateY(0);
}
.login-submit:focus-visible {
  outline: 3px solid rgba(0, 115, 230, 0.4);
  outline-offset: 3px;
}
.login-submit:disabled {
  cursor: not-allowed;
  opacity: 0.7;
}
.login-submit .submit-text,
.login-submit .submit-loader {
  position: relative;
  z-index: 1;
}
.login-submit .submit-loader {
  display: none;
  width: 24px;
  height: 24px;
  color: #fff;
}
.login-submit .submit-loader svg {
  width: 100%;
  height: 100%;
}
.login-submit.loading .submit-text {
  display: none;
}
.login-submit.loading .submit-loader {
  display: block;
}

.form-feedback {
  margin-top: 1rem;
  text-align: center;
  font-size: 0.875rem;
  min-height: 1.25rem;
}
.form-feedback.error {
  color: rgb(202, 95, 95);
  padding: 0.75rem;
  background: rgba(202, 95, 95, 0.05);
  border-radius: 10px;
  border: 1px solid rgba(202, 95, 95, 0.15);
}
.form-feedback.success {
  color: #16a34a;
  padding: 0.75rem;
  background: rgba(22, 163, 74, 0.05);
  border-radius: 10px;
  border: 1px solid rgba(22, 163, 74, 0.15);
}

.login-divider {
  display: flex;
  align-items: center;
  margin: 1.5rem 0;
  gap: 1rem;
}
.login-divider::before, .login-divider::after {
  content: "";
  flex: 1;
  height: 1px;
  background: linear-gradient(90deg, transparent, #e2e8f0);
}
.login-divider::after {
  background: linear-gradient(90deg, #e2e8f0, transparent);
}
.login-divider span {
  font-size: 0.8125rem;
  color: #A9A8AA;
  white-space: nowrap;
}

.oauth-button {
  display: flex;
  align-items: center;
  gap: 0.875rem;
  padding: 0.875rem 1.25rem;
  border-radius: 14px;
  border: 2px solid #e2e8f0;
  background: #fff;
  color: #191825;
  text-decoration: none;
  font-size: 0.9375rem;
  font-weight: 500;
  transition: all 0.3s cubic-bezier(0.16, 1, 0.3, 1);
  position: relative;
  overflow: hidden;
  cursor: pointer;
}
.oauth-button::before {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(135deg, rgba(0, 115, 230, 0.03), rgba(0, 115, 230, 0.06));
  opacity: 0;
  transition: opacity 0.3s ease;
}
.oauth-button:hover:not(.disabled) {
  border-color: rgba(0, 115, 230, 0.3);
  box-shadow: 0 4px 16px rgba(0, 115, 230, 0.1);
  transform: translateY(-1px);
}
.oauth-button:hover:not(.disabled)::before {
  opacity: 1;
}
.oauth-button:hover:not(.disabled) .oauth-arrow {
  transform: translateX(4px);
}
.oauth-button:focus-visible {
  outline: 3px solid rgba(0, 115, 230, 0.3);
  outline-offset: 3px;
}
.oauth-button.disabled {
  opacity: 0.5;
  cursor: not-allowed;
  pointer-events: none;
}
.oauth-button > * {
  position: relative;
  z-index: 1;
}

.oauth-icon {
  width: 36px;
  height: 36px;
  background: linear-gradient(135deg, #0073E6, rgb(0%, 35.0980392157%, 70.1960784314%));
  border-radius: 10px;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
}
.oauth-icon svg {
  width: 20px;
  height: 20px;
  color: #fff;
}

.oauth-text {
  flex: 1;
}
.oauth-text strong {
  color: #0073E6;
  font-weight: 600;
}

.oauth-arrow {
  width: 18px;
  height: 18px;
  color: #A9A8AA;
  transition: transform 0.3s ease;
  flex-shrink: 0;
}

.login-footer {
  text-align: center;
  margin-top: 1.5rem;
  padding-top: 1.5rem;
  border-top: 1px solid #f1f5f9;
}
.login-footer p {
  margin: 0;
  font-size: 0.9375rem;
  color: #475569;
}

.register-link {
  color: #0073E6;
  text-decoration: none;
  font-weight: 600;
  transition: all 0.2s ease;
  position: relative;
}
.register-link::after {
  content: "";
  position: absolute;
  bottom: -2px;
  left: 0;
  width: 0;
  height: 2px;
  background: #0073E6;
  transition: width 0.3s ease;
}
.register-link:hover {
  color: rgb(0%, 35.0980392157%, 70.1960784314%);
}
.register-link:hover::after {
  width: 100%;
}
.register-link:focus-visible {
  outline: 2px solid #0073E6;
  outline-offset: 3px;
  border-radius: 3px;
}

@media screen and (max-width: 480px) {
  .login-section {
    padding: 1rem;
    align-items: flex-start;
    padding-top: 3rem;
  }
  .login-card {
    padding: 2rem 1.5rem;
    border-radius: 20px;
  }
  .login-title {
    font-size: 1.5rem;
  }
  .form-options {
    flex-direction: column;
    align-items: flex-start;
  }
  .decoration-circle.circle-1 {
    width: 300px;
    height: 300px;
  }
  .decoration-circle.circle-2 {
    width: 200px;
    height: 200px;
  }
  .decoration-circle.circle-3 {
    display: none;
  }
}
@media screen and (min-width: 481px) and (max-width: 768px) {
  .login-card {
    padding: 2.5rem 2rem;
  }
}
@media (prefers-reduced-motion: reduce) {
  .login-card,
  .decoration-circle,
  .login-logo,
  .login-submit,
  .oauth-button,
  .input-wrapper,
  .form-label,
  .input-focus-line,
  .password-toggle,
  .checkbox-custom,
  .forgot-link,
  .register-link {
    animation: none !important;
    transition: none !important;
  }
  .decoration-circle {
    display: none;
  }
}
@media (prefers-contrast: high) {
  .login-card {
    border: 2px solid #191825;
    box-shadow: none;
  }
  .input-wrapper {
    border: 2px solid #191825;
  }
  .input-wrapper.focused {
    border-width: 3px;
  }
  .login-submit {
    border: 2px solid #191825;
  }
  .oauth-button {
    border: 2px solid #191825;
  }
}
.register-logo {
  background: linear-gradient(135deg, #22C55E, rgb(10.3896103896%, 60.1986249045%, 28.7242169595%)) !important;
  box-shadow: 0 8px 24px rgba(34, 197, 94, 0.3) !important;
  animation: logo-pulse-green 3s ease-in-out infinite !important;
}

@keyframes logo-pulse-green {
  0%, 100% {
    transform: scale(1);
    box-shadow: 0 8px 24px rgba(34, 197, 94, 0.3);
  }
  50% {
    transform: scale(1.03);
    box-shadow: 0 12px 32px rgba(34, 197, 94, 0.4);
  }
}
.password-strength {
  margin-top: 0.75rem;
  padding: 0 0.5rem;
}

.strength-bar {
  height: 4px;
  background: #e2e8f0;
  border-radius: 2px;
  overflow: hidden;
  margin-bottom: 0.375rem;
}

.strength-fill {
  height: 100%;
  width: 0;
  background: #cbd5e1;
  border-radius: 2px;
  transition: all 0.3s cubic-bezier(0.16, 1, 0.3, 1);
}

.strength-text {
  font-size: 0.8125rem;
  color: #A9A8AA;
  display: block;
  transition: color 0.3s ease;
}

.terms-group {
  margin-bottom: 1.5rem;
}

.terms-checkbox {
  align-items: flex-start !important;
}
.terms-checkbox .checkbox-custom {
  margin-top: 0.125rem;
}
.terms-checkbox .checkbox-label {
  line-height: 1.5;
  font-size: 0.875rem;
}
.terms-checkbox .checkbox-label a {
  color: #0073E6;
  text-decoration: none;
  font-weight: 500;
  position: relative;
}
.terms-checkbox .checkbox-label a::after {
  content: "";
  position: absolute;
  bottom: -1px;
  left: 0;
  width: 0;
  height: 1px;
  background: #0073E6;
  transition: width 0.3s ease;
}
.terms-checkbox .checkbox-label a:hover::after {
  width: 100%;
}
.terms-checkbox .checkbox-label a:focus-visible {
  outline: 2px solid #0073E6;
  outline-offset: 2px;
  border-radius: 2px;
}

@media (prefers-color-scheme: dark) {
  .strength-bar {
    background: rgba(255, 255, 255, 0.1);
  }
  .terms-checkbox .checkbox-label a {
    color: rgb(20.1960784314%, 60.0980392157%, 100%);
  }
  .terms-checkbox .checkbox-label a::after {
    background: rgb(20.1960784314%, 60.0980392157%, 100%);
  }
}
@media (prefers-color-scheme: dark) {
  .login-section {
    background: linear-gradient(135deg, #0f172a 0%, #1e293b 50%, #0f172a 100%);
  }
  .login-section::before {
    background-image: linear-gradient(rgba(0, 115, 230, 0.05) 1px, transparent 1px), linear-gradient(90deg, rgba(0, 115, 230, 0.05) 1px, transparent 1px);
  }
  .login-card {
    background: rgba(25, 24, 37, 0.95);
    border-color: rgba(255, 255, 255, 0.1);
    box-shadow: 0 4px 6px -1px rgba(0, 0, 0, 0.3), 0 10px 40px -10px rgba(0, 115, 230, 0.2), 0 0 0 1px rgba(255, 255, 255, 0.05);
  }
  .login-title {
    color: #fff;
  }
  .login-subtitle {
    color: rgba(255, 255, 255, 0.6);
  }
  .input-wrapper {
    background: rgba(255, 255, 255, 0.05);
  }
  .input-wrapper:hover {
    background: rgba(255, 255, 255, 0.08);
  }
  .input-wrapper.focused {
    background: rgba(255, 255, 255, 0.1);
  }
  .form-input {
    color: #fff;
  }
  .form-input:-webkit-autofill, .form-input:-webkit-autofill:hover, .form-input:-webkit-autofill:focus {
    -webkit-box-shadow: 0 0 0 1000px rgba(255, 255, 255, 0.05) inset;
    -webkit-text-fill-color: #fff;
  }
  .form-label {
    color: rgba(255, 255, 255, 0.5);
  }
  .oauth-button {
    background: rgba(255, 255, 255, 0.05);
    border-color: rgba(255, 255, 255, 0.1);
    color: #fff;
  }
  .login-footer {
    border-color: rgba(255, 255, 255, 0.1);
  }
  .login-divider::before, .login-divider::after {
    background: linear-gradient(90deg, transparent, rgba(255, 255, 255, 0.1));
  }
  .login-divider::after {
    background: linear-gradient(90deg, rgba(255, 255, 255, 0.1), transparent);
  }
}
/* ── Typografie sekcí ────────────────────────────────────────── */
.eyebrow {
  display: inline-block;
  font-size: 0.78rem;
  font-weight: 600;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: var(--primary);
  background: var(--primary-100);
  border-radius: 999px;
  padding: 6px 14px;
  margin-bottom: 14px;
}

.section-head {
  max-width: 640px;
  margin: 0 auto 48px;
  text-align: center;
}

.section-head h2, .section-head .h2 {
  font-size: clamp(1.6rem, 3vw, 2.2rem);
  font-weight: 700;
}

.section-head p {
  color: var(--text-2);
  margin: 0;
}

/* ── Tlačítka (min. 44px touch target, hover bez layout shiftu) ─ */
.btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  min-height: 48px;
  padding: 12px 26px;
  border: 0;
  border-radius: 12px;
  font-family: inherit;
  font-size: 0.95rem;
  font-weight: 600;
  text-decoration: none;
  cursor: pointer;
  transition: background-color var(--tr), color var(--tr), box-shadow var(--tr);
}

.btn svg {
  width: 18px;
  height: 18px;
  flex-shrink: 0;
}

.btn-primary {
  background: var(--primary);
  color: var(--white);
  box-shadow: 0 6px 16px rgba(0, 115, 230, 0.28);
}

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

.btn-ghost {
  background: var(--white);
  color: var(--text);
  border: 1px solid var(--light);
}

.btn-ghost:hover {
  border-color: var(--primary);
  color: var(--primary);
}

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

.btn-dark:hover {
  background: var(--dark-2);
}

.btn-block {
  width: 100%;
}

.btn:focus-visible, a:focus-visible, button:focus-visible,
summary:focus-visible, input:focus-visible, textarea:focus-visible {
  outline: 2px solid var(--primary);
  outline-offset: 2px;
}

/* ── Sticky navigace ─────────────────────────────────────────── */
.site-nav {
  position: sticky;
  top: 0;
  z-index: 50;
  height: var(--nav-h);
  background: rgba(255, 255, 255, 0.92);
  backdrop-filter: blur(10px);
  border-bottom: 1px solid var(--light);
}

.site-nav .container {
  height: 100%;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
}

.brand {
  display: flex;
  align-items: center;
  gap: 10px;
  text-decoration: none;
  color: var(--text);
  font-weight: 700;
}

.brand svg {
  width: 34px;
  height: 34px;
  color: var(--primary);
}

.brand small, .brand .small {
  display: block;
  font-size: 0.68rem;
  font-weight: 500;
  color: var(--muted);
  letter-spacing: 0.04em;
}

.nav-links {
  display: flex;
  align-items: center;
  gap: 4px;
  list-style: none;
  margin: 0;
  padding: 0;
}

.nav-links a {
  display: inline-flex;
  align-items: center;
  min-height: 44px;
  padding: 8px 12px;
  font-size: 0.88rem;
  font-weight: 500;
  color: var(--text-2);
  text-decoration: none;
  border-radius: 10px;
  transition: color var(--tr), background-color var(--tr);
}

.nav-links a:hover {
  color: var(--primary);
  background: var(--primary-100);
}

.nav-toggle {
  display: none;
}

/* ── Hero ────────────────────────────────────────────────────── */
.hero {
  padding: 88px 0 72px;
  background: linear-gradient(160deg, var(--primary-100) 0%, var(--bg) 55%);
}

.hero-grid {
  display: grid;
  grid-template-columns: 1.1fr 0.9fr;
  gap: 48px;
  align-items: center;
}

.hero h1, .hero .h1 {
  font-size: clamp(2rem, 4.5vw, 3.1rem);
  font-weight: 800;
  letter-spacing: -0.02em;
}

.hero h1 em, .hero .h1 em {
  font-style: normal;
  color: var(--primary);
}

.hero .lead {
  font-size: 1.08rem;
  color: var(--text-2);
  max-width: 52ch;
}

.hero-cta {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
  margin-top: 28px;
}

.hero-badges {
  display: flex;
  flex-wrap: wrap;
  gap: 8px 20px;
  margin-top: 28px;
  padding: 0;
  list-style: none;
}

.hero-badges li {
  display: flex;
  align-items: center;
  gap: 8px;
  font-size: 0.85rem;
  font-weight: 500;
  color: var(--text-2);
}

.hero-badges svg {
  width: 18px;
  height: 18px;
  color: var(--green);
  flex-shrink: 0;
}

.hero-card {
  background: var(--white);
  border: 1px solid var(--light);
  border-radius: var(--radius-lg);
  box-shadow: var(--shadow-lg);
  padding: 28px;
}

.hero-card h2, .hero-card .h2 {
  font-size: 1.05rem;
  font-weight: 700;
}

.hero-facts {
  display: grid;
  gap: 14px;
  margin: 0;
}

.hero-facts div {
  display: flex;
  gap: 12px;
  align-items: flex-start;
}

.hero-facts svg {
  width: 22px;
  height: 22px;
  color: var(--primary);
  flex-shrink: 0;
  margin-top: 2px;
}

.hero-facts dt {
  font-weight: 600;
  font-size: 0.92rem;
}

.hero-facts dd {
  margin: 0;
  font-size: 0.88rem;
  color: var(--muted);
}

/* ── Statistiky / trust strip ────────────────────────────────── */
.stats {
  padding: 40px 0;
  background: var(--dark);
  color: var(--white);
}

.stats-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 24px;
  text-align: center;
}

.stats-grid strong {
  display: block;
  font-size: clamp(1.5rem, 3vw, 2.1rem);
  font-weight: 800;
  color: var(--white);
}

.stats-grid strong span {
  color: var(--primary);
}

.stats-grid small, .stats-grid .small {
  font-size: 0.82rem;
  color: #b9b8c6;
}

/* ── Karty výhod (features) ──────────────────────────────────── */
.cards-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 20px;
}

.card {
  background: var(--white);
  border: 1px solid var(--light);
  border-radius: var(--radius-lg);
  padding: 26px;
  transition: box-shadow var(--tr), border-color var(--tr);
}

.card:hover {
  box-shadow: var(--shadow-md);
  border-color: var(--primary-100);
}

.card .icon-chip {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 46px;
  height: 46px;
  border-radius: 12px;
  background: var(--primary-100);
  color: var(--primary);
  margin-bottom: 16px;
}

.card .icon-chip svg {
  width: 22px;
  height: 22px;
}

.card h3, .card .h3 {
  font-size: 1.02rem;
  font-weight: 700;
  margin-bottom: 6px;
}

.card p {
  font-size: 0.88rem;
  color: var(--text-2);
  margin: 0;
}

/* ── Ceník ───────────────────────────────────────────────────── */
.pricing-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 20px;
  align-items: stretch;
}

.price-card {
  position: relative;
  display: flex;
  flex-direction: column;
  background: var(--white);
  border: 1px solid var(--light);
  border-radius: var(--radius-lg);
  padding: 30px 26px;
  transition: box-shadow var(--tr), border-color var(--tr);
}

.price-card:hover {
  box-shadow: var(--shadow-md);
}

.price-card.featured {
  border: 2px solid var(--primary);
  box-shadow: var(--shadow-lg);
}

.price-badge {
  position: absolute;
  top: -14px;
  left: 50%;
  transform: translateX(-50%);
  background: var(--primary);
  color: var(--white);
  font-size: 0.72rem;
  font-weight: 700;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  padding: 6px 16px;
  border-radius: 999px;
  white-space: nowrap;
}

.price-card h3, .price-card .h3 {
  font-size: 1.05rem;
  font-weight: 700;
  text-align: center;
}

.price-card .price {
  text-align: center;
  margin: 10px 0 4px;
}

.price-card .price strong {
  font-size: 2rem;
  font-weight: 800;
  letter-spacing: -0.02em;
}

.price-card .price small, .price-card .price .small {
  display: block;
  font-size: 0.78rem;
  color: var(--muted);
}

.price-card ul {
  list-style: none;
  margin: 20px 0 24px;
  padding: 0;
  display: grid;
  gap: 10px;
  flex: 1;
}

.price-card li {
  display: flex;
  gap: 10px;
  font-size: 0.88rem;
  color: var(--text-2);
}

.price-card li svg {
  width: 18px;
  height: 18px;
  color: var(--green);
  flex-shrink: 0;
  margin-top: 2px;
}

.price-card li.off {
  color: #a5a4b0;
}

.price-card li.off svg {
  color: #c9c8d2;
}

.pricing-note {
  text-align: center;
  font-size: 0.82rem;
  color: var(--muted);
  margin-top: 24px;
}

/* ── Porovnání balíčků ───────────────────────────────────────── */
.compare-wrap {
  overflow-x: auto;
  border: 1px solid var(--light);
  border-radius: var(--radius-lg);
  background: var(--white);
}

.compare {
  width: 100%;
  border-collapse: collapse;
  min-width: 640px;
}

.compare th, .compare td {
  padding: 14px 18px;
  font-size: 0.88rem;
  text-align: center;
  border-bottom: 1px solid var(--light);
}

.compare th:first-child, .compare td:first-child {
  text-align: left;
  font-weight: 500;
}

.compare thead th {
  background: var(--bg-soft);
  font-weight: 700;
}

.compare thead th.featured {
  color: var(--primary);
}

.compare tbody tr:last-child td {
  border-bottom: 0;
}

.compare tbody tr:hover td {
  background: var(--primary-100);
}

.compare .yes, .compare .no {
  display: inline-flex;
}

.compare svg {
  width: 18px;
  height: 18px;
}

.compare .yes svg {
  color: var(--green);
}

.compare .no svg {
  color: #c9c8d2;
}

/* ── Průběh kurzu (kroky) ────────────────────────────────────── */
.steps {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 20px;
  counter-reset: step;
}

.step {
  position: relative;
  padding: 24px;
  background: var(--white);
  border: 1px solid var(--light);
  border-radius: var(--radius-lg);
}

.step::before {
  counter-increment: step;
  content: counter(step, decimal-leading-zero);
  display: block;
  font-size: 1.6rem;
  font-weight: 800;
  color: var(--primary);
  opacity: 0.35;
  margin-bottom: 10px;
}

.step h3, .step .h3 {
  font-size: 0.98rem;
  font-weight: 700;
  margin-bottom: 6px;
}

.step p {
  font-size: 0.86rem;
  color: var(--text-2);
  margin: 0;
}

/* ── Instruktoři ─────────────────────────────────────────────── */
.team-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 20px;
}

.member {
  text-align: center;
  background: var(--white);
  border: 1px solid var(--light);
  border-radius: var(--radius-lg);
  padding: 28px 22px;
  transition: box-shadow var(--tr);
}

.member:hover {
  box-shadow: var(--shadow-md);
}

.member .avatar {
  width: 92px;
  height: 92px;
  margin: 0 auto 14px;
  border-radius: 50%;
  background: var(--primary-100);
  color: var(--primary);
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 1.5rem;
  font-weight: 700;
}

.member h3, .member .h3 {
  font-size: 1rem;
  margin-bottom: 2px;
}

.member small, .member .small {
  display: block;
  color: var(--primary);
  font-weight: 600;
  font-size: 0.78rem;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  margin-bottom: 10px;
}

.member p {
  font-size: 0.85rem;
  color: var(--text-2);
  margin: 0;
}

/* ── Galerie ─────────────────────────────────────────────────── */
.gallery-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 14px;
}

.gallery-grid figure {
  margin: 0;
  aspect-ratio: 4/3;
  border-radius: var(--radius);
  overflow: hidden;
  background: var(--primary-100);
  display: flex;
  align-items: center;
  justify-content: center;
  color: var(--primary);
}

.gallery-grid img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform 300ms ease;
}

.gallery-grid a:hover img {
  transform: scale(1.04);
}

.gallery-grid figure svg {
  width: 34px;
  height: 34px;
}

/* ── Recenze ─────────────────────────────────────────────────── */
.reviews-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 20px;
}

.review {
  background: var(--white);
  border: 1px solid var(--light);
  border-radius: var(--radius-lg);
  padding: 26px;
  display: flex;
  flex-direction: column;
  gap: 14px;
}

.review .stars {
  display: flex;
  gap: 2px;
  color: var(--amber);
}

.review .stars svg {
  width: 16px;
  height: 16px;
}

.review blockquote {
  margin: 0;
  font-style: italic;
  color: var(--text-2);
  font-size: 0.92rem;
}

.review footer {
  display: flex;
  align-items: center;
  gap: 12px;
  margin-top: auto;
}

.review .avatar {
  width: 42px;
  height: 42px;
  border-radius: 50%;
  background: var(--primary-100);
  color: var(--primary);
  display: flex;
  align-items: center;
  justify-content: center;
  font-weight: 700;
  font-size: 0.9rem;
  flex-shrink: 0;
}

.review footer strong {
  display: block;
  font-size: 0.88rem;
}

.review footer small, .review footer .small {
  color: var(--muted);
  font-size: 0.76rem;
}

/* ── FAQ ─────────────────────────────────────────────────────── */
.faq-list {
  max-width: 760px;
  margin: 0 auto;
  display: grid;
  gap: 12px;
}

.faq-item {
  background: var(--white);
  border: 1px solid var(--light);
  border-radius: var(--radius);
  overflow: hidden;
}

.faq-item summary {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  min-height: 56px;
  padding: 16px 20px;
  font-weight: 600;
  font-size: 0.95rem;
  cursor: pointer;
  list-style: none;
  transition: color var(--tr);
}

.faq-item summary::-webkit-details-marker {
  display: none;
}

.faq-item summary::after {
  content: "";
  width: 10px;
  height: 10px;
  border-right: 2px solid currentColor;
  border-bottom: 2px solid currentColor;
  transform: rotate(45deg);
  transition: transform var(--tr);
  flex-shrink: 0;
}

.faq-item[open] summary {
  color: var(--primary);
}

.faq-item[open] summary::after {
  transform: rotate(225deg);
}

.faq-item .answer {
  padding: 0 20px 18px;
  font-size: 0.9rem;
  color: var(--text-2);
}

.faq-item .answer p {
  margin: 0;
}

/* ── Kontakt ─────────────────────────────────────────────────── */
.contact-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 32px;
  align-items: start;
}

.contact-card {
  background: var(--white);
  border: 1px solid var(--light);
  border-radius: var(--radius-lg);
  padding: 30px;
}

.contact-list {
  list-style: none;
  margin: 0 0 24px;
  padding: 0;
  display: grid;
  gap: 16px;
}

.contact-list li {
  display: flex;
  gap: 12px;
  align-items: flex-start;
}

.contact-list svg {
  width: 20px;
  height: 20px;
  color: var(--primary);
  flex-shrink: 0;
  margin-top: 3px;
}

.contact-list strong {
  display: block;
  font-size: 0.8rem;
  color: var(--muted);
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.05em;
}

.contact-list a {
  color: var(--text);
  text-decoration: none;
  font-weight: 600;
}

.contact-list a:hover {
  color: var(--primary);
}

.hours {
  width: 100%;
  border-collapse: collapse;
}

.hours td {
  padding: 9px 0;
  font-size: 0.88rem;
  border-bottom: 1px solid var(--light);
}

.hours tr:last-child td {
  border-bottom: 0;
}

.hours td:last-child {
  text-align: right;
  font-weight: 600;
}

.hours .closed td:last-child {
  color: var(--red);
}

.map-placeholder {
  border-radius: var(--radius-lg);
  background: var(--dark);
  color: #b9b8c6;
  min-height: 260px;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 8px;
  text-align: center;
  padding: 24px;
}

.map-placeholder svg {
  width: 34px;
  height: 34px;
  color: var(--primary);
}

/* Kontaktní formulář */
.form-grid {
  display: grid;
  gap: 14px;
}

.form-row {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 14px;
}

.form-grid label {
  display: block;
  font-size: 0.8rem;
  font-weight: 600;
  margin-bottom: 6px;
}

.form-grid input, .form-grid textarea {
  width: 100%;
  min-height: 48px;
  padding: 12px 14px;
  font: inherit;
  font-size: 0.92rem;
  color: var(--text);
  background: var(--bg-soft);
  border: 1px solid var(--light);
  border-radius: 10px;
  transition: border-color var(--tr), background-color var(--tr);
}

.form-grid textarea {
  min-height: 120px;
  resize: vertical;
}

.form-grid input:focus, .form-grid textarea:focus {
  border-color: var(--primary);
  background: var(--white);
  outline: none;
}

.form-note {
  font-size: 0.76rem;
  color: var(--muted);
  margin: 0;
}

/* ── Závěrečná CTA ───────────────────────────────────────────── */
.cta-final {
  background: linear-gradient(135deg, var(--primary) 0%, var(--primary-600) 100%);
  color: var(--white);
  text-align: center;
}

.cta-final h2, .cta-final .h2 {
  font-size: clamp(1.5rem, 3vw, 2.1rem);
  font-weight: 800;
}

.cta-final p {
  color: rgba(255, 255, 255, 0.85);
  max-width: 52ch;
  margin: 0 auto 28px;
}

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

.cta-final .btn:hover {
  background: var(--dark);
  color: var(--white);
}

/* ── Patička ─────────────────────────────────────────────────── */
.site-footer {
  background: var(--dark);
  color: #b9b8c6;
  padding: 40px 0;
  font-size: 0.84rem;
}

.site-footer .container {
  display: flex;
  flex-wrap: wrap;
  gap: 16px;
  align-items: center;
  justify-content: space-between;
}

.site-footer a {
  color: var(--white);
  text-decoration: none;
}

.site-footer a:hover {
  color: var(--primary);
}

.site-footer nav {
  display: flex;
  gap: 18px;
  flex-wrap: wrap;
}

/* ── Vylepšení: hloubka, reveal animace, micro-interakce ─────── */
/* Sticky nav: stín po scrollu (přidává JS třídu .scrolled) */
.site-nav {
  transition: box-shadow var(--tr);
}

.site-nav.scrolled {
  box-shadow: var(--shadow-md);
}

/* Hero: statické dekorativní gradienty (žádná kontinuální animace) */
.hero {
  position: relative;
  overflow: hidden;
}

.hero::before, .hero::after {
  content: "";
  position: absolute;
  border-radius: 50%;
  pointer-events: none;
}

.hero::before {
  width: 480px;
  height: 480px;
  top: -180px;
  right: -120px;
  background: radial-gradient(circle, rgba(0, 115, 230, 0.14) 0%, transparent 70%);
}

.hero::after {
  width: 360px;
  height: 360px;
  bottom: -160px;
  left: -120px;
  background: radial-gradient(circle, rgba(0, 115, 230, 0.1) 0%, transparent 70%);
}

.hero .container {
  position: relative;
}

/* Tlačítka: press stav (layout-safe, jen transform na :active) */
.btn:active {
  transform: scale(0.97);
}

/* Nadpis sekce s akcentovou linkou */
.section-head h2::after, .section-head .h2::after {
  content: "";
  display: block;
  width: 56px;
  height: 4px;
  margin: 14px auto 0;
  border-radius: 4px;
  background: var(--primary);
}

/* Karty: icon-chip se na hoveru invertuje */
.card .icon-chip {
  transition: background-color var(--tr), color var(--tr);
}

.card:hover .icon-chip {
  background: var(--primary);
  color: var(--white);
}

/* Zvýrazněný cenový balíček: jemný ring */
.price-card.featured {
  box-shadow: 0 0 0 4px var(--primary-100), var(--shadow-lg);
}

/* FAQ: jednorázový fade odpovědi při otevření */
.faq-item[open] .answer {
  animation: faqIn 250ms ease;
}

@keyframes faqIn {
  from {
    opacity: 0;
    transform: translateY(-4px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}
/* Galerie: caption overlay na hover/focus */
.gallery-grid figure {
  position: relative;
}

.gallery-grid figcaption {
  position: absolute;
  inset: auto 0 0 0;
  padding: 24px 12px 10px;
  font-size: 0.78rem;
  font-weight: 600;
  color: var(--white);
  background: linear-gradient(transparent, rgba(25, 24, 37, 0.75));
  opacity: 0;
  transition: opacity var(--tr);
}

.gallery-grid a:hover figcaption,
.gallery-grid a:focus-visible figcaption {
  opacity: 1;
}

/* Formulář: label zmodrá při focusu do pole */
.form-grid div:focus-within label {
  color: var(--primary);
}

/* Scroll-reveal (JS přidává .reveal a .in; stagger přes --d) */
.reveal {
  opacity: 0;
  transform: translateY(18px);
  transition: opacity 500ms ease, transform 500ms ease;
  transition-delay: var(--d, 0ms);
}

.reveal.in {
  opacity: 1;
  transform: translateY(0);
}

/* Plovoucí tlačítko zpět nahoru */
.to-top {
  position: fixed;
  right: 20px;
  bottom: 20px;
  z-index: 60;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 48px;
  height: 48px;
  border: 0;
  border-radius: 50%;
  background: var(--primary);
  color: var(--white);
  box-shadow: var(--shadow-md);
  cursor: pointer;
  opacity: 0;
  visibility: hidden;
  transform: translateY(8px);
  transition: opacity var(--tr), transform var(--tr), visibility 0s linear 200ms, background-color var(--tr);
}

.to-top:hover {
  background: var(--primary-600);
}

.to-top.show {
  opacity: 1;
  visibility: visible;
  transform: translateY(0);
  transition: opacity var(--tr), transform var(--tr), visibility 0s, background-color var(--tr);
}

.to-top svg {
  width: 20px;
  height: 20px;
}

/* ── Vylepšení II: per-section polish ────────────────────────── */
/* Scrollspy – aktivní odkaz v navigaci (přepíná JS) */
.nav-links a.active {
  color: var(--primary);
  background: var(--primary-100);
}

/* Hero: social proof řádek (avatar cluster + hodnocení) */
.hero-proof {
  display: flex;
  align-items: center;
  gap: 14px;
  margin-top: 30px;
}

.hero-proof .avatars {
  display: flex;
}

.hero-proof .avatars span {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 36px;
  height: 36px;
  margin-left: -9px;
  border: 2px solid var(--white);
  border-radius: 50%;
  font-size: 0.68rem;
  font-weight: 700;
  color: var(--white);
  box-shadow: var(--shadow-sm);
}

.hero-proof .avatars span:first-child {
  margin-left: 0;
}

.hero-proof .avatars span:nth-child(1) {
  background: var(--primary);
}

.hero-proof .avatars span:nth-child(2) {
  background: var(--green);
}

.hero-proof .avatars span:nth-child(3) {
  background: var(--amber);
}

.hero-proof .avatars span:nth-child(4) {
  background: var(--dark);
}

.hero-proof .proof-text {
  display: flex;
  align-items: center;
  gap: 6px;
  font-size: 0.84rem;
  color: var(--text-2);
}

.hero-proof .proof-text svg {
  width: 16px;
  height: 16px;
  color: var(--amber);
}

.hero-proof .proof-text strong {
  color: var(--text);
}

/* Statistiky: vertikální oddělovače */
.stats-grid > div + div {
  border-left: 1px solid rgba(255, 255, 255, 0.14);
  padding-left: 24px;
}

/* Feature karty: akcentní top-bar na hover */
.card {
  position: relative;
  overflow: hidden;
}

.card::before {
  content: "";
  position: absolute;
  top: 0;
  left: 24px;
  right: 24px;
  height: 3px;
  border-radius: 0 0 3px 3px;
  background: var(--primary);
  transform: scaleX(0);
  transform-origin: left;
  transition: transform 250ms ease;
}

.card:hover::before {
  transform: scaleX(1);
}

/* Ceník: úspora pod cenou */
.price-save {
  display: block;
  text-align: center;
  font-size: 0.76rem;
  font-weight: 600;
  color: var(--green);
  margin-top: 2px;
}

/* Porovnání: jemně zvýrazněný sloupec featured */
.compare thead th.featured {
  background: var(--primary-100);
}

.compare td:nth-child(3) {
  background: rgba(0, 115, 230, 0.04);
}

/* Kroky: spojovací čárkovaná linka (jen desktop, 4 sloupce) */
@media (min-width: 1025px) {
  .step {
    position: relative;
  }
  .step:not(:last-child)::after {
    content: "";
    position: absolute;
    top: 34px;
    right: -16px;
    width: 12px;
    border-top: 2px dashed rgba(0, 115, 230, 0.35);
  }
}
/* Instruktoři: ring kolem avatara na hover */
.member .avatar {
  box-shadow: 0 0 0 0 var(--primary-100);
  transition: box-shadow var(--tr);
}

.member:hover .avatar {
  box-shadow: 0 0 0 6px var(--primary-100);
}

/* Galerie: focus ring na odkazu */
.gallery-grid a:focus-visible figure {
  outline: 2px solid var(--primary);
  outline-offset: 2px;
}

/* Recenze: dekorativní uvozovka */
.review {
  position: relative;
}

.review::before {
  content: "“";
  position: absolute;
  top: 8px;
  right: 20px;
  font-size: 3.4rem;
  font-weight: 800;
  line-height: 1;
  color: var(--primary-100);
  pointer-events: none;
}

/* FAQ: zvýraznění otevřené položky + hover na otázku */
.faq-item {
  transition: border-color var(--tr), box-shadow var(--tr);
}

.faq-item summary:hover {
  color: var(--primary);
}

.faq-item[open] {
  border-color: var(--primary);
  box-shadow: var(--shadow-sm);
}

/* Kontakt: zvýraznění dnešní provozní doby (třídu přidává JS) */
.hours tr.today td {
  color: var(--primary);
  font-weight: 700;
}

/* Formulář: focus ring kolem polí */
.form-grid input:focus, .form-grid textarea:focus {
  box-shadow: 0 0 0 3px var(--primary-100);
}

/* Závěrečná CTA: tečkovaný vzor pozadí */
.cta-final {
  position: relative;
  overflow: hidden;
}

.cta-final::before {
  content: "";
  position: absolute;
  inset: 0;
  background-image: radial-gradient(rgba(255, 255, 255, 0.16) 1.5px, transparent 1.5px);
  background-size: 22px 22px;
  opacity: 0.5;
  pointer-events: none;
}

.cta-final .container {
  position: relative;
}

/* Patička: horní akcent */
.site-footer {
  border-top: 3px solid var(--primary);
}

/* ── Vylepšení III: interaktivita per section ────────────────── */
/* Nav: scroll progress bar */
.scroll-progress {
  position: absolute;
  left: 0;
  bottom: -1px;
  width: 0;
  height: 3px;
  background: var(--primary);
  border-radius: 0 3px 3px 0;
  transition: width 100ms linear;
}

/* Hero: entrance animace při načtení (jednorázová) */
@keyframes heroIn {
  from {
    opacity: 0;
    transform: translateY(16px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}
.hero .eyebrow, .hero h1, .hero .h1, .hero .lead, .hero-cta, .hero-badges, .hero-proof, .hero-card {
  animation: heroIn 600ms ease both;
}

.hero h1, .hero .h1 {
  animation-delay: 60ms;
}

.hero .lead {
  animation-delay: 120ms;
}

.hero-cta {
  animation-delay: 180ms;
}

.hero-badges {
  animation-delay: 240ms;
}

.hero-proof {
  animation-delay: 300ms;
}

.hero-card {
  animation-delay: 200ms;
}

/* Statistiky: ikona nad číslem */
.stat-icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 40px;
  height: 40px;
  margin-bottom: 10px;
  border-radius: 12px;
  background: rgba(255, 255, 255, 0.08);
  color: var(--primary);
}

.stat-icon svg {
  width: 20px;
  height: 20px;
}

/* Ceník: přepínač jednorázově / splátky */
.billing-toggle {
  display: flex;
  justify-content: center;
  gap: 4px;
  margin: 0 auto 32px;
  padding: 4px;
  width: fit-content;
  background: var(--white);
  border: 1px solid var(--light);
  border-radius: 999px;
}

.billing-toggle button {
  min-height: 40px;
  padding: 8px 20px;
  border: 0;
  border-radius: 999px;
  background: none;
  font: inherit;
  font-size: 0.85rem;
  font-weight: 600;
  color: var(--text-2);
  cursor: pointer;
  transition: background-color var(--tr), color var(--tr);
}

.billing-toggle button[aria-pressed=true] {
  background: var(--primary);
  color: var(--white);
}

/* Kroky: vertikální timeline na mobilu */
@media (max-width: 1024px) {
  .steps {
    position: relative;
  }
  .step {
    border-left: 3px solid var(--primary-100);
    border-radius: 0 var(--radius-lg) var(--radius-lg) 0;
  }
}
/* Instruktoři: dostupnost */
.member-status {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  margin-top: 12px;
  padding: 4px 12px;
  border-radius: 999px;
  font-size: 0.72rem;
  font-weight: 600;
}

.member-status svg {
  width: 12px;
  height: 12px;
}

.member-status.free {
  background: rgba(22, 163, 74, 0.12);
  color: var(--green);
}

.member-status.busy {
  background: rgba(217, 119, 6, 0.12);
  color: var(--amber);
}

/* Galerie: lightbox (nativní <dialog>) */
dialog.lightbox {
  border: 0;
  border-radius: var(--radius-lg);
  padding: 0;
  max-width: min(720px, 92vw);
  background: var(--white);
  box-shadow: var(--shadow-lg);
}

dialog.lightbox::backdrop {
  background: rgba(25, 24, 37, 0.7);
  backdrop-filter: blur(4px);
}

dialog.lightbox .lightbox-body {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  min-height: 320px;
  padding: 48px;
  background: var(--primary-100);
  color: var(--primary);
  gap: 12px;
}

dialog.lightbox .lightbox-body svg {
  width: 64px;
  height: 64px;
}

dialog.lightbox .lightbox-body img {
  max-height: 70vh;
  width: auto;
  border-radius: 0;
}

dialog.lightbox figcaption {
  padding: 14px 20px;
  font-size: 0.88rem;
  font-weight: 600;
  text-align: center;
}

dialog.lightbox .lightbox-close {
  position: absolute;
  top: 10px;
  right: 10px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 40px;
  height: 40px;
  border: 0;
  border-radius: 50%;
  background: var(--white);
  color: var(--text);
  box-shadow: var(--shadow-md);
  cursor: pointer;
  transition: background-color var(--tr), color var(--tr);
}

dialog.lightbox .lightbox-close:hover {
  background: var(--primary);
  color: var(--white);
}

dialog.lightbox .lightbox-close svg {
  width: 18px;
  height: 18px;
}

/* Recenze: ověřená recenze */
.review-verified {
  display: inline-flex;
  align-items: center;
  gap: 5px;
  font-size: 0.72rem;
  font-weight: 600;
  color: var(--green);
}

.review-verified svg {
  width: 13px;
  height: 13px;
}

/* Formulář: stavy odeslání (přepíná JS) */
.form-grid .btn[disabled] {
  opacity: 0.7;
  cursor: progress;
}

.form-success {
  display: none;
  align-items: center;
  gap: 8px;
  padding: 12px 16px;
  border-radius: 10px;
  background: rgba(22, 163, 74, 0.1);
  color: var(--green);
  font-size: 0.85rem;
  font-weight: 600;
}

.form-success.show {
  display: flex;
}

.form-success svg {
  width: 16px;
  height: 16px;
  flex-shrink: 0;
}

/* CTA: odpočet do zahájení kurzu */
.countdown {
  display: none;
  justify-content: center;
  gap: 12px;
  margin: 0 0 28px;
}

.countdown.on {
  display: flex;
}

.countdown div {
  min-width: 74px;
  padding: 12px 10px;
  border-radius: 12px;
  background: rgba(255, 255, 255, 0.14);
  backdrop-filter: blur(4px);
}

.countdown strong {
  display: block;
  font-size: 1.5rem;
  font-weight: 800;
  font-variant-numeric: tabular-nums;
}

.countdown small, .countdown .small {
  font-size: 0.68rem;
  text-transform: uppercase;
  letter-spacing: 0.06em;
  color: rgba(255, 255, 255, 0.8);
}

/* ── Vylepšení IV: přístupnost, výběr, tisk ──────────────────── */
/* Skip-link pro klávesové uživatele (viditelný až při focusu) */
.skip-link {
  position: absolute;
  top: -60px;
  left: 16px;
  z-index: 100;
  padding: 10px 18px;
  background: var(--dark);
  color: var(--white);
  font-size: 0.85rem;
  font-weight: 600;
  text-decoration: none;
  border-radius: 0 0 10px 10px;
  transition: top var(--tr);
}

.skip-link:focus {
  top: 0;
}

/* Výběr textu v brand barvách */
::selection {
  background: var(--primary);
  color: var(--white);
}

/* Patička: sloupce */
.footer-grid {
  display: grid;
  grid-template-columns: 1.4fr 1fr 1fr;
  gap: 32px;
}

.footer-grid h2, .footer-grid .h2 {
  font-size: 0.8rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.07em;
  color: var(--white);
  margin-bottom: 14px;
}

.footer-grid ul {
  list-style: none;
  margin: 0;
  padding: 0;
  display: grid;
  gap: 10px;
}

.footer-grid .brand-about p {
  margin: 10px 0 0;
  max-width: 40ch;
}

.footer-bottom {
  margin-top: 32px;
  padding-top: 20px;
  border-top: 1px solid rgba(255, 255, 255, 0.12);
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
  justify-content: space-between;
  font-size: 0.78rem;
}

/* Tisk: ceník + kontakt čistě, bez navigace a interaktivního */
@media print {
  .site-nav, .to-top, .billing-toggle, .gallery-grid, dialog.lightbox,
  .form-grid, .map-placeholder, .scroll-progress {
    display: none !important;
  }
  body {
    font-size: 12px;
  }
  section {
    padding: 24px 0;
    break-inside: avoid;
  }
  .hero {
    padding: 24px 0;
    background: none;
  }
  .hero::before, .hero::after {
    display: none;
  }
  .price-card, .card, .review, .step, .member {
    box-shadow: none !important;
    border-color: #ccc;
  }
  .cta-final {
    background: none;
    color: var(--text);
  }
  .cta-final p {
    color: var(--text-2);
  }
  .countdown {
    display: none !important;
  }
  a {
    color: var(--text);
    text-decoration: none;
  }
}
/* ── Vizuální oddělení sekcí pozadím ─────────────────────────── */
/* Každá sekce má vlastní, záměrně odlišné pozadí; přechody
    stupňují bílou → jemně modrou → neutrální → tmavou (galerie
    jako kontrastní "moment") → a zpět. */
#vyhody {
  background: var(--white);
}

#cenik {
  background: linear-gradient(180deg, #eef5fd 0%, #f7fafd 100%);
}

#prubeh {
  background: var(--white);
  /* jemný tečkovaný vzor v pozadí – proces/pohyb */
  background-image: radial-gradient(rgba(0, 115, 230, 0.07) 1.5px, transparent 1.5px);
  background-size: 26px 26px;
}

#instruktori {
  background: #f5f5f8;
}

/* Galerie: tmavá kontrastní sekce */
#galerie {
  background: var(--dark);
  color: #d7d6e2;
}

#galerie .section-head h2, #galerie .section-head .h2 {
  color: var(--white);
}

#galerie .section-head p {
  color: #b9b8c6;
}

#galerie .section-head h2::after, #galerie .section-head .h2::after {
  background: var(--primary);
}

#galerie .eyebrow {
  background: rgba(0, 115, 230, 0.22);
  color: #7db9ff;
}

#galerie .gallery-grid figure {
  background: rgba(255, 255, 255, 0.06);
  color: #7db9ff;
}

#recenze {
  background: linear-gradient(180deg, #eef5fd 0%, #f7fafd 100%);
}

#faq {
  background: #fafbfd;
}

#kontakt {
  background: #f5f5f8;
}

/* Karty na barevném pozadí potřebují pevnější bílou + stín */
#cenik .price-card, #cenik .compare-wrap,
#prubeh .step,
#recenze .review,
#instruktori .member,
#kontakt .contact-card {
  box-shadow: var(--shadow-sm);
}

/* ── Vizuální dělení: navazující "karty" sekcí ───────────────── */
/* Každá sekce překryje předchozí zaobleným horním okrajem –
    v rozích prosvítá pozadí předchozí sekce, šev zvýrazní stín. */
main > section:not(.hero), main > .stats, .cta-final, .site-footer {
  position: relative;
  border-radius: 26px 26px 0 0;
  margin-top: -26px;
  box-shadow: 0 -10px 24px rgba(25, 24, 37, 0.1);
}

.stats, .cta-final, .site-footer {
  padding-top: 40px;
}

main > section:not(.hero) {
  padding-top: 88px;
}

/* ── Responzivita ────────────────────────────────────────────── */
@media (max-width: 1024px) {
  .cards-grid, .pricing-grid, .team-grid, .reviews-grid {
    grid-template-columns: repeat(2, 1fr);
  }
  .steps {
    grid-template-columns: repeat(2, 1fr);
  }
  .gallery-grid {
    grid-template-columns: repeat(3, 1fr);
  }
}
@media (max-width: 768px) {
  section {
    padding: 56px 0;
  }
  main > section:not(.hero), main > .stats, .cta-final, .site-footer {
    border-radius: 18px 18px 0 0;
    margin-top: -18px;
  }
  main > section:not(.hero) {
    padding-top: 68px;
  }
  .hero-grid, .contact-grid {
    grid-template-columns: 1fr;
  }
  .stats-grid {
    grid-template-columns: repeat(2, 1fr);
    gap: 16px;
  }
  .stats-grid > div + div {
    border-left: 0;
    padding-left: 0;
  }
  .footer-grid {
    grid-template-columns: 1fr;
    gap: 24px;
  }
  .nav-links {
    display: none;
    position: absolute;
    top: var(--nav-h);
    left: 0;
    right: 0;
    flex-direction: column;
    align-items: stretch;
    background: var(--white);
    border-bottom: 1px solid var(--light);
    padding: 12px 20px 20px;
    gap: 2px;
  }
  .nav-links.open {
    display: flex;
  }
  .nav-toggle {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 44px;
    height: 44px;
    background: none;
    border: 1px solid var(--light);
    border-radius: 10px;
    cursor: pointer;
    color: var(--text);
  }
  .nav-toggle svg {
    width: 20px;
    height: 20px;
  }
  .site-nav .btn-primary {
    width: 44px;
    height: 44px;
    padding: 0;
    justify-content: center;
    border-radius: 50%;
  }
  .nav-phone-text {
    display: none;
  }
}
@media (max-width: 480px) {
  .cards-grid, .pricing-grid, .team-grid, .reviews-grid, .steps, .form-row {
    grid-template-columns: 1fr;
  }
  .gallery-grid {
    grid-template-columns: repeat(2, 1fr);
  }
  .price-card.featured {
    order: -1;
  }
  .brand span small, .brand span .small {
    display: none;
  }
}
@media (prefers-reduced-motion: reduce) {
  html {
    scroll-behavior: auto;
  }
  *, *::before, *::after {
    transition: none !important;
    animation: none !important;
  }
}