/** Bootstrap navbar fix (https://git.io/fADqW) */
body {
  -webkit-font-smoothing: antialiased;
  width: 100%;
  position: relative;
  overflow-x: hidden;
  background: rgba(var(--s7-body-bg-rgb), 1);
  color: rgba(var(--s7-body-color-rgb), 1);
}
body.is-open {
  overflow: hidden;
}

html > body,
body.modal-open main {
  overflow-x: hidden;
}

::-moz-selection {
  background: rgba(var(--s7-primary-rgb), 1);
  color: rgba(var(--s7-white-rgb), 1);
}

::selection {
  background: rgba(var(--s7-primary-rgb), 1);
  color: rgba(var(--s7-white-rgb), 1);
}

::-moz-selection {
  background: rgba(var(--s7-primary-rgb), 0.5);
  color: rgba(var(--s7-white-rgb), 1);
}

a {
  transition: all 0.2s ease-in-out;
}
@media (prefers-reduced-motion: reduce) {
  a {
    transition: none;
  }
}

img,
svg {
  max-width: 100%;
  height: auto;
  -webkit-user-select: none;
     -moz-user-select: none;
          user-select: none;
  -webkit-user-drag: none;
}

figcaption {
  font-size: 0.75rem;
  text-align: center;
}

iframe {
  max-width: 100% !important;
}

[class^=icon-],
[class*=" icon-"] {
  /* use !important to prevent issues with browser extensions that change fonts */
  font-family: "icomoon" !important;
  speak: none;
  font-style: normal;
  font-weight: normal;
  font-variant: normal;
  text-transform: none;
  line-height: 1;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  /* Better Font Rendering =========== */
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}
[class^=icon-]::before,
[class*=" icon-"]::before {
  display: inline-block;
}

.icon-handshake::before {
  content: "\e911";
}

.icon-star::before {
  content: "\e900";
}

.icon-star-half::before {
  content: "\e901";
}

.icon-chevron::before {
  content: "\e902";
}

.icon-arrow::before {
  content: "\e903";
}

.icon-checkmark::before {
  content: "\e904";
}

.icon-craftmanship::before {
  content: "\e905";
}

.icon-durability::before {
  content: "\e906";
}

.icon-email::before {
  content: "\e907";
}

.icon-facebook::before {
  content: "\e908";
}

.icon-instagram::before {
  content: "\e909";
}

.icon-knowledge::before {
  content: "\e90a";
}

.icon-linkedin::before {
  content: "\e90b";
}

.icon-telephone::before {
  content: "\e90c";
}

.icon-twitter::before {
  content: "\e90d";
}

.icon-hamburger::before {
  content: "\e90e";
}

.icon-close::before {
  content: "\e90f";
}

.icon-location::before {
  content: "\e910";
}

.icon-l {
  transform: rotate(90deg);
}

.icon-r {
  transform: rotate(270deg);
}

.container--main .container,
.container--main [class^=container-],
.container--main [class*=" container-"] {
  padding-left: calc(var(--s7-gutter-x, 2rem) * 0.5);
  padding-right: calc(var(--s7-gutter-x, 2rem) * 0.5);
}

h6,
.h6 {
  display: flex;
  align-items: center;
  text-transform: uppercase;
  color: rgba(var(--s7-gray-600-rgb), 1);
}
h6::before,
.h6::before {
  border-radius: 50rem;
  content: "";
  display: inline-block;
  width: 0.375rem;
  height: 0.375rem;
  background: rgba(var(--s7-primary-rgb), 1);
  margin-right: 0.5rem;
}

.ls-n1 {
  letter-spacing: -1px;
}

.card-main {
  border-radius: 10px;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  text-decoration: none;
  overflow: hidden;
  background: rgba(var(--s7-white-rgb), 1);
  height: 100%;
  box-shadow: 0.313rem 0.625rem 1rem rgba(var(--s7-black-rgb), 0.1);
}
.card-main .rimg::before {
  transition: all 0.2s ease-in-out;
  content: "";
  position: absolute;
  display: block;
  top: 0;
  left: 0;
  height: 100%;
  width: 100%;
  background: rgba(var(--s7-secondary-rgb), 1);
  opacity: 0;
  z-index: 2;
}
@media (prefers-reduced-motion: reduce) {
  .card-main .rimg::before {
    transition: none;
  }
}
.card-main:hover, .card-main:focus {
  text-decoration: none;
}
.card-main:hover .rimg::before, .card-main:focus .rimg::before {
  opacity: 0.5;
}
.card-main:hover .card-main__body span, .card-main:focus .card-main__body span {
  text-decoration: underline;
}
.card-main:hover .card-main__icon, .card-main:focus .card-main__icon {
  color: rgba(var(--s7-secondary-rgb), 1);
  padding-left: 0.25rem;
}
.card-main__body {
  padding: 1.875rem;
}
.card-main__icon {
  transition: 0.2s ease-in-out;
  color: rgba(var(--s7-secondary-light-rgb), 1);
}
@media (prefers-reduced-motion: reduce) {
  .card-main__icon {
    transition: none;
  }
}

.card-service {
  border-radius: 10px;
  display: block;
  overflow: hidden;
  box-shadow: 0.313rem 0.625rem 1rem rgba(var(--s7-black-rgb), 0.1);
}
.card-service .rimg::before {
  transition: all 0.2s ease-in-out;
  content: "";
  position: absolute;
  display: block;
  top: 0;
  left: 0;
  height: 100%;
  width: 100%;
  background: rgba(var(--s7-secondary-rgb), 1);
  opacity: 0;
  z-index: 2;
}
@media (prefers-reduced-motion: reduce) {
  .card-service .rimg::before {
    transition: none;
  }
}
.card-service:hover, .card-service:focus {
  color: rgba(var(--s7-gray-900-rgb), 1);
}
.card-service:hover .rimg::before, .card-service:focus .rimg::before {
  opacity: 0.5;
}
.card-service:hover .icon, .card-service:focus .icon {
  color: rgba(var(--s7-secondary-rgb), 1);
  padding-left: 0.25rem;
}
.card-service__title {
  font-weight: 700;
  font-size: 1.25rem;
}
@media (min-width: 768px) {
  .card-service__title {
    font-size: 1.25rem;
  }
}
.card-service__subtitle {
  color: rgba(var(--s7-gray-700-rgb), 1);
}
.card-service__subtitle p {
  margin: 0;
}
.card-service__body {
  transition: all 0.2s ease-in-out;
  position: relative;
  background: rgba(var(--s7-white-rgb), 1);
  padding: 1.25rem 1.5rem;
}
@media (prefers-reduced-motion: reduce) {
  .card-service__body {
    transition: none;
  }
}
@media (min-width: 768px) {
  .card-service__body {
    padding: 2rem 1.5625rem;
    min-height: 11.1875rem;
  }
}
.card-service__body .icon {
  transition: all 0.2s ease-in-out;
  font-size: 0.875rem;
  margin-left: 0.5rem;
  color: rgba(var(--s7-secondary-light-rgb), 1);
}
@media (prefers-reduced-motion: reduce) {
  .card-service__body .icon {
    transition: none;
  }
}

.card-collapse {
  border-radius: 10px;
  background: rgba(var(--s7-white-rgb), 1);
  border: 1px solid rgba(var(--s7-gray-300-rgb), 1);
}
.card-collapse__title {
  display: block;
  padding: 0.9375rem 3.125rem 0.9375rem 1.25rem;
  position: relative;
}
@media (min-width: 1025px) {
  .card-collapse__title {
    padding: 1.3125rem 3.75rem 1.3125rem 1.875rem;
  }
}
.card-collapse__title:hover, .card-collapse__title:focus {
  text-decoration: none;
}
.card-collapse__title h2 {
  font-size: 1rem;
  margin: 0;
}
@media (min-width: 1025px) {
  .card-collapse__title h2 {
    font-size: 1rem;
  }
}
.card-collapse__title[aria-expanded=true] .icon-chevron::before {
  transform: rotate(180deg);
}
.card-collapse__content {
  padding: 0rem 0.9375rem 0.9375rem;
}
.card-collapse__content p {
  color: rgba(var(--s7-gray-700-rgb), 1);
}
@media (min-width: 1025px) {
  .card-collapse__content {
    padding: 0rem 1.875rem 1.5625rem;
  }
}
.card-collapse .icon-chevron {
  position: absolute;
  right: 1.25rem;
  top: 50%;
  transform: translateY(-50%);
}
.card-collapse .icon-chevron::before {
  transition: all 0.2s ease-in-out;
}
@media (prefers-reduced-motion: reduce) {
  .card-collapse .icon-chevron::before {
    transition: none;
  }
}
@media (min-width: 1025px) {
  .card-collapse .icon-chevron {
    right: 1.875rem;
  }
}
.card-collapse [data-bs-toggle=collapse] {
  cursor: pointer;
}

.card-step {
  border-radius: 10px;
  display: flex;
  flex-direction: column;
  height: 100%;
  position: relative;
  overflow: hidden;
}
.card-step__body {
  display: flex;
  flex-direction: column;
  justify-content: center;
  background: rgba(var(--s7-gray-100-rgb), 1);
  text-align: center;
  padding: 3.375rem 2rem 2.5rem;
}
.card-step__title {
  display: block;
  margin-bottom: 0.25rem;
  font-size: 1.25rem;
  font-weight: 700;
  color: rgba(var(--s7-gray-900-rgb), 1);
}
.card-step .card-step__number,
.card-step .card-step__usp {
  border-radius: 50rem;
  width: 3.75rem;
  height: 3.75rem;
  padding: 0.5rem;
}
.card-step__number {
  border-radius: 50rem;
  position: absolute;
  left: 50%;
  transform: translate(-50%, -50%);
  display: flex;
  align-items: center;
  justify-content: center;
  font-weight: 700;
  color: rgba(var(--s7-white-rgb), 1);
  background: rgba(var(--s7-secondary-rgb), 1);
  z-index: 1;
}
.card-step__usp {
  display: flex;
  align-items: center;
  justify-content: center;
  background: rgba(var(--s7-tertiary-rgb), 1);
  margin-bottom: 1rem;
}
.card-step__usp .icon {
  color: rgba(var(--s7-white-rgb), 1);
}
.card-step--usp .card-step__title {
  color: rgba(var(--s7-tertiary-rgb), 1);
  margin-bottom: 0;
}
.card-step--usp .card-step__body {
  align-items: center;
  background: rgba(var(--s7-tertiary-light-rgb), 1);
  height: 100%;
}

.card-project {
  border-radius: 10px;
  position: relative;
  display: block;
  overflow: hidden;
}
.card-project::before {
  content: "";
  background: rgba(var(--s7-secondary-light-rgb), 1);
  position: absolute;
  z-index: 1;
  left: 0;
  bottom: 0;
  height: 0.25rem;
  width: 100%;
  transition: all 0.2s ease-in-out;
}
.card-project:hover::before, .card-project:focus::before {
  background: rgba(var(--s7-secondary-rgb), 1);
}
.card-project:hover .rimg img, .card-project:focus .rimg img {
  transform: scale(1.05);
}
.card-project .rimg img {
  transition: 0.2s ease-in-out;
}
@media (prefers-reduced-motion: reduce) {
  .card-project .rimg img {
    transition: none;
  }
}
.card-project .card-project__date,
.card-project .card-project__title,
.card-project .card-project__link {
  display: block;
  font-weight: 700;
}
.card-project__date {
  font-size: 0.875rem;
  color: rgba(var(--s7-gray-500-rgb), 1);
  margin-bottom: 0.25rem;
}
.card-project__title {
  font-size: 1.125rem;
  color: rgba(var(--s7-gray-900-rgb), 1);
}
.card-project__link {
  color: rgba(var(--s7-secondary-rgb), 1);
  margin-top: 0.5rem;
}
.card-project__body {
  display: flex;
  flex-direction: column;
  background: rgba(var(--s7-white-rgb), 1);
  padding: 2rem 1.5rem;
}

.card-usp {
  border-radius: 10px;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  padding: 2rem;
  background: rgba(var(--s7-white-rgb), 1);
}
@media (min-width: 1025px) {
  .card-usp {
    padding: 3rem;
  }
}
.card-usp .icon {
  color: rgba(var(--s7-secondary-rgb), 1);
  font-size: 2rem;
}
.card-usp__title {
  display: block;
  font-weight: 700;
  font-size: 1.125rem;
  color: rgba(var(--s7-gray-900-rgb), 1);
  margin-top: 0.5rem;
}
@media (min-width: 1025px) {
  .card-usp__title {
    font-size: 1.5rem;
  }
}
.card-usp--gray {
  background: rgba(var(--s7-gray-100-rgb), 1);
}

.btn {
  display: inline-flex;
  justify-content: center;
  align-items: center;
}
.btn--primary {
  background: rgba(var(--s7-primary-rgb), 1);
  color: rgba(var(--s7-white-rgb), 1);
}
.btn--primary:hover, .btn--primary:focus {
  background: rgba(var(--s7-primary-shade-rgb), 1);
  color: rgba(var(--s7-white-rgb), 1);
}
.btn--secondary {
  background: rgba(var(--s7-secondary-rgb), 1);
  color: rgba(var(--s7-white-rgb), 1);
}
.btn--secondary:hover, .btn--secondary:focus {
  background: rgba(var(--s7-secondary-shade-rgb), 1);
  color: rgba(var(--s7-white-rgb), 1);
}
.btn--white {
  background: rgba(var(--s7-white-rgb), 1);
  color: rgba(var(--s7-secondary-rgb), 1);
}
.btn--white:hover, .btn--white:focus {
  background: rgba(var(--s7-gray-400-rgb), 1);
  color: rgba(var(--s7-secondary-rgb), 1);
}
.btn--outline {
  background: transparent;
  color: rgba(var(--s7-secondary-rgb), 1);
  border: 2px solid rgba(var(--s7-secondary-rgb), 1);
}
.btn--outline:hover, .btn--outline:focus {
  background: rgba(var(--s7-secondary-rgb), 1);
  color: rgba(var(--s7-white-rgb), 1);
}
.btn svg {
  height: 1.25rem;
  width: 1.25rem;
}

.form-control[aria-invalid=true] {
  border-color: rgba(var(--s7-error-rgb), 1);
}

.form-text {
  margin-bottom: 0.25rem;
}

.invalid-feedback {
  display: block;
}

.gform_confirmation_wrapper, .gform_validation_errors {
  border-radius: 5px;
  padding: 1rem;
  margin-bottom: 1rem;
}

.gform_fields {
  display: grid;
  grid-row-gap: 1rem;
  grid-template-columns: repeat(12, 1fr);
  grid-template-rows: repeat(auto-fill, auto);
  width: 100%;
}

.gfield {
  min-width: 0;
  margin-top: auto;
  grid-column: 1/-1;
}
.gfield--width-full {
  grid-column: span 12;
}
.gfield--width-half {
  grid-column: span 6;
}
.gfield--width-third {
  grid-column: span 6;
}
@media (min-width: 576px) {
  .gfield--width-third {
    grid-column: span 4;
  }
}
.gfield--width-quarter {
  grid-column: span 6;
}
@media (min-width: 576px) {
  .gfield--width-quarter {
    grid-column: span 3;
  }
}
.gfield textarea.small {
  max-height: 10rem;
}

.gfield_label .gfield_required .gfield_required_text {
  position: absolute !important;
  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;
}

.gfield_list_group {
  display: flex;
}

.gfield_list_cell {
  width: 100%;
}

.gfield_list_icons {
  display: flex;
  align-items: center;
  margin-left: 0.75rem;
}
.gfield_list_icons button {
  position: relative;
  width: 1rem;
  height: 0.25rem;
  padding: 0;
  font-size: 0;
  border: none;
  opacity: 0.5;
  background: rgba(var(--s7-gray-700-rgb), 1);
  transition: opacity 0.2s ease-in-out;
  transform: translateY(calc(-50% - 0.5rem));
}
.gfield_list_icons button.add_list_item::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 1rem;
  height: 0.25rem;
  background: inherit;
  transform: rotateZ(90deg);
}
.gfield_list_icons button.delete_list_item {
  margin-left: 2rem;
}

.screen-reader-date {
  display: none;
}

.gform_validation_errors {
  color: rgba(var(--s7-error-rgb), 1);
  background-color: rgba(var(--s7-error-accent-rgb), 1);
}
.gform_validation_errors h2 {
  margin-bottom: 0;
  font-size: 1rem;
  font-weight: 400;
  color: inherit;
}

.gform_confirmation_wrapper {
  color: rgba(var(--s7-success-rgb), 1);
  background-color: rgba(var(--s7-success-accent-rgb), 1);
}

.pagination,
.woocommerce nav.woocommerce-pagination {
  display: inline-block;
  line-height: 0;
}
.pagination ul,
.woocommerce nav.woocommerce-pagination ul {
  border-radius: 5px;
  display: flex;
  flex-wrap: wrap;
  padding: 0;
  margin: 0;
  overflow: hidden;
  text-align: center;
  border: 1px solid rgba(var(--s7-gray-300-rgb), 1);
}
.pagination ul li,
.woocommerce nav.woocommerce-pagination ul li {
  list-style-type: none;
  flex-grow: 1;
}
.pagination ul li a,
.pagination ul li span:not(.visually-hidden),
.woocommerce nav.woocommerce-pagination ul li a,
.woocommerce nav.woocommerce-pagination ul li span:not(.visually-hidden) {
  display: flex;
  align-items: center;
  justify-content: center;
  font-weight: 700;
  min-width: 100%;
  height: 3.3125rem;
  width: 3.3125rem;
  padding: 0.625rem;
  color: rgba(var(--s7-gray-900-rgb), 1);
  font-size: 1rem;
  position: relative;
}
.pagination ul li a::before,
.pagination ul li span:not(.visually-hidden)::before,
.woocommerce nav.woocommerce-pagination ul li a::before,
.woocommerce nav.woocommerce-pagination ul li span:not(.visually-hidden)::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  right: -1px;
  bottom: -1px;
  border: 1px solid rgba(var(--s7-gray-300-rgb), 1);
  border-top: 0;
  border-left: 0;
}
.pagination ul li a .icon,
.pagination ul li span:not(.visually-hidden) .icon,
.woocommerce nav.woocommerce-pagination ul li a .icon,
.woocommerce nav.woocommerce-pagination ul li span:not(.visually-hidden) .icon {
  font-size: 0.625rem;
}
.pagination ul li a:hover, .pagination ul li a.active,
.pagination ul li span:not(.visually-hidden):hover,
.pagination ul li span:not(.visually-hidden).active,
.woocommerce nav.woocommerce-pagination ul li a:hover,
.woocommerce nav.woocommerce-pagination ul li a.active,
.woocommerce nav.woocommerce-pagination ul li span:not(.visually-hidden):hover,
.woocommerce nav.woocommerce-pagination ul li span:not(.visually-hidden).active {
  color: rgba(var(--s7-secondary-rgb), 1);
  background: rgba(var(--s7-secondary-light-rgb), 1);
}
.pagination ul li a.active, .pagination ul li a.current,
.pagination ul li span:not(.visually-hidden).active,
.pagination ul li span:not(.visually-hidden).current,
.woocommerce nav.woocommerce-pagination ul li a.active,
.woocommerce nav.woocommerce-pagination ul li a.current,
.woocommerce nav.woocommerce-pagination ul li span:not(.visually-hidden).active,
.woocommerce nav.woocommerce-pagination ul li span:not(.visually-hidden).current {
  background: rgba(var(--s7-secondary-light-rgb), 1);
}

.row .flickity-slider > .col,
.row .flickity-slider > [class*=col-] {
  padding-right: calc(var(--s7-gutter-x) * 0.5);
  padding-left: calc(var(--s7-gutter-x) * 0.5);
  margin-top: var(--s7-gutter-y);
}

.flickity-prev-next-button {
  border-radius: 5px;
  transition: all 0.2s ease-in-out;
  width: 2.75rem;
  height: 2.75rem;
}
@media (prefers-reduced-motion: reduce) {
  .flickity-prev-next-button {
    transition: none;
  }
}
.flickity-prev-next-button:hover, .flickity-prev-next-button:focus {
  background: rgba(var(--s7-primary-shade-rgb), 1);
}
.flickity-prev-next-button .flickity-button-icon {
  transform: rotate(180deg);
  width: 40%;
  height: 40%;
  top: 30%;
  left: 30%;
}
.flickity-prev-next-button.next {
  background: rgba(var(--s7-primary-rgb), 1);
  color: rgba(var(--s7-white-rgb), 1);
  top: 100%;
  right: calc(50% - 4rem);
}
@media (min-width: 768px) {
  .flickity-prev-next-button.next {
    top: 110%;
    right: calc(50% - 3.25rem);
  }
}
.flickity-prev-next-button.previous {
  background: rgba(var(--s7-primary-light-rgb), 1);
  color: rgba(var(--s7-primary-rgb), 1);
  top: 100%;
  left: calc(50% - 4rem);
}
.flickity-prev-next-button.previous::before {
  transform: translate(-50%, -50%) rotate(180deg);
}
@media (min-width: 768px) {
  .flickity-prev-next-button.previous {
    top: 110%;
    left: calc(50% - 3.25rem);
  }
}
.flickity-prev-next-button[disabled] {
  opacity: 0.5;
}

.flickity-page-dots {
  bottom: -4.0625rem;
  left: 0;
  right: 0;
}
.flickity-page-dots .dot {
  transition: all 0.2s ease-in-out;
  width: 2.8125rem;
  height: 2.0625rem;
  opacity: 0.25;
  margin: 0;
  background: none;
  position: relative;
}
@media (prefers-reduced-motion: reduce) {
  .flickity-page-dots .dot {
    transition: none;
  }
}
.flickity-page-dots .dot::before {
  border-radius: 5px;
  position: absolute;
  content: "";
  width: 1.5rem;
  height: 0.25rem;
  background: rgba(var(--s7-secondary-rgb), 1);
  top: 0.9375rem;
  left: 0.625rem;
}
.flickity-page-dots .dot.is-selected {
  opacity: 1;
}

.usp-slider::after {
  content: "flickity";
  display: none;
}
@media (min-width: 768px) {
  .usp-slider::after {
    content: "";
  }
}

.row > .flickity-viewport {
  width: 100%;
}

.usp {
  display: flex;
  align-items: center;
}
.usp__icon {
  border-radius: 50%;
  display: flex;
  height: 2.0625rem;
  width: 2.0625rem;
  flex-shrink: 0;
  margin-right: 1rem;
  background: rgba(var(--s7-tertiary-light-rgb), 1);
  color: rgba(var(--s7-tertiary-rgb), 1);
}
.usp__icon .icon {
  margin: auto;
  font-size: 0.625rem;
}
.usp__icon--sm {
  background: none;
  width: auto;
  margin-right: 0.5rem;
}
.usp__text {
  color: rgba(var(--s7-gray-700-rgb), 1);
}

.breadcrumb_wrapper {
  font-size: 1rem;
  padding: 0.25rem 0rem;
}
@media (min-width: 768px) {
  .breadcrumb_wrapper {
    padding: 1rem 0rem;
  }
}
.breadcrumb_wrapper #breadcrumbs span,
.breadcrumb_wrapper #breadcrumbs a {
  margin-right: 0.375rem;
}
.breadcrumb_wrapper #breadcrumbs,
.breadcrumb_wrapper #breadcrumbs span {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
}
.breadcrumb_wrapper #breadcrumbs a {
  color: rgba(var(--s7-gray-700-rgb), 1);
}
.breadcrumb_wrapper #breadcrumbs a:hover, .breadcrumb_wrapper #breadcrumbs a:focus {
  color: rgba(var(--s7-primary-rgb), 1);
}
.breadcrumb_wrapper #breadcrumbs span {
  color: rgba(var(--s7-gray-400-rgb), 1);
}
.breadcrumb_wrapper #breadcrumbs .breadcrumb_separator {
  color: rgba(var(--s7-gray-900-rgb), 1);
  display: inline-flex;
  align-items: center;
}
@media (min-width: 768px) {
  .breadcrumb_wrapper #breadcrumbs > .breadcrumb_separator {
    display: none;
  }
}
.breadcrumb_wrapper #breadcrumbs .icon-chevron {
  font-size: 0.4375rem;
  transform: rotate(270deg);
  margin-top: 1px;
}
@media (max-width: 767.98px) {
  .breadcrumb_wrapper #breadcrumbs span a:not(:last-of-type),
  .breadcrumb_wrapper #breadcrumbs span .breadcrumb_last,
  .breadcrumb_wrapper #breadcrumbs span .breadcrumb_separator {
    display: none;
  }
}

.modal-dialog-centered::before {
  display: none;
}

.illustration {
  position: absolute;
  z-index: -1;
}
.illustration--wave {
  bottom: -1.25rem;
  right: 0;
  z-index: 1;
  opacity: 0.5;
}
@media (min-width: 1025px) {
  .illustration--wave {
    right: -11.875rem;
  }
}

.category-label {
  display: inline-block;
  font-weight: 700;
  color: rgba(var(--s7-secondary-rgb), 1);
  margin-right: 1rem;
  border: solid 2px rgba(var(--s7-secondary-rgb), 1);
  border-radius: 10px;
  padding: 0.5rem 1.75rem;
}
.category-label:hover, .category-label:focus {
  background: rgba(var(--s7-secondary-rgb), 1);
  color: rgba(var(--s7-white-rgb), 1);
}
.category-label:last-of-type {
  margin-right: 0;
}
.category-label--active {
  background: rgba(var(--s7-secondary-rgb), 1);
  color: rgba(var(--s7-white-rgb), 1);
}

/**
 * WordPress Generated Classes
 * @link http://codex.wordpress.org/CSS#WordPress_Generated_Classes
 */
[class^=wp-block-]::after {
  display: block;
  clear: both;
  content: "";
}

/** Media alignment */
.alignnone {
  margin-left: 0;
  margin-right: 0;
  max-width: 100%;
  height: auto;
}

.alignwide {
  margin-left: -1rem;
  margin-right: -1rem;
  max-width: none;
}
@media (min-width: 576px) {
  .alignwide {
    margin-left: -2rem;
    margin-right: -2rem;
  }
}
@media (min-width: 1025px) {
  .alignwide {
    margin-left: -5.9375rem;
    margin-right: -5.9375rem;
  }
}

.alignfull {
  width: 100vw;
  max-width: 100vw;
  position: relative;
  left: 50%;
  right: 50%;
  margin-left: -50vw;
  margin-right: -50vw;
}

.aligncenter {
  display: block;
  margin: 0.5rem auto;
  height: auto;
}

.alignleft,
.alignright {
  margin-bottom: 0.5rem;
  height: auto;
}

@media (min-width: 576px) {
  .alignleft {
    float: left;
    margin-right: 0.5rem;
  }
  .alignright {
    float: right;
    margin-left: 0.5rem;
  }
}
/** Text meant only for screen readers */
.screen-reader-text {
  position: absolute !important;
  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;
}
.screen-reader-text:not(:focus):not(:focus-within) {
  position: absolute !important;
  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;
}

.has-primary-color {
  color: rgba(var(--s7-color-rgb), 1);
}

.has-primary-background-color {
  background-color: rgba(var(--s7-color-rgb), 1);
}

.has-primary-shade-color {
  color: rgba(var(--s7-color-rgb), 1);
}

.has-primary-shade-background-color {
  background-color: rgba(var(--s7-color-rgb), 1);
}

.has-secondary-color {
  color: rgba(var(--s7-color-rgb), 1);
}

.has-secondary-background-color {
  background-color: rgba(var(--s7-color-rgb), 1);
}

.has-secondary-light-color {
  color: rgba(var(--s7-color-rgb), 1);
}

.has-secondary-light-background-color {
  background-color: rgba(var(--s7-color-rgb), 1);
}

.has-tertiary-color {
  color: rgba(var(--s7-color-rgb), 1);
}

.has-tertiary-background-color {
  background-color: rgba(var(--s7-color-rgb), 1);
}

.has-tertiary-light-color {
  color: rgba(var(--s7-color-rgb), 1);
}

.has-tertiary-light-background-color {
  background-color: rgba(var(--s7-color-rgb), 1);
}

.has-primary-light-color {
  color: rgba(var(--s7-color-rgb), 1);
}

.has-primary-light-background-color {
  background-color: rgba(var(--s7-color-rgb), 1);
}

.has-primary-light-shade-color {
  color: rgba(var(--s7-color-rgb), 1);
}

.has-primary-light-shade-background-color {
  background-color: rgba(var(--s7-color-rgb), 1);
}

.has-secondary-shade-color {
  color: rgba(var(--s7-color-rgb), 1);
}

.has-secondary-shade-background-color {
  background-color: rgba(var(--s7-color-rgb), 1);
}

.has-secondary-light-shade-color {
  color: rgba(var(--s7-color-rgb), 1);
}

.has-secondary-light-shade-background-color {
  background-color: rgba(var(--s7-color-rgb), 1);
}

.has-tertiary-shade-color {
  color: rgba(var(--s7-color-rgb), 1);
}

.has-tertiary-shade-background-color {
  background-color: rgba(var(--s7-color-rgb), 1);
}

.has-tertiary-light-shade-color {
  color: rgba(var(--s7-color-rgb), 1);
}

.has-tertiary-light-shade-background-color {
  background-color: rgba(var(--s7-color-rgb), 1);
}

.has-black-color {
  color: rgba(var(--s7-color-rgb), 1);
}

.has-black-background-color {
  background-color: rgba(var(--s7-color-rgb), 1);
}

.has-white-color {
  color: rgba(var(--s7-color-rgb), 1);
}

.has-white-background-color {
  background-color: rgba(var(--s7-color-rgb), 1);
}

.has-error-color {
  color: rgba(var(--s7-color-rgb), 1);
}

.has-error-background-color {
  background-color: rgba(var(--s7-color-rgb), 1);
}

.has-info-color {
  color: rgba(var(--s7-color-rgb), 1);
}

.has-info-background-color {
  background-color: rgba(var(--s7-color-rgb), 1);
}

.has-message-color {
  color: rgba(var(--s7-color-rgb), 1);
}

.has-message-background-color {
  background-color: rgba(var(--s7-color-rgb), 1);
}

.has-whatsapp-color {
  color: rgba(var(--s7-color-rgb), 1);
}

.has-whatsapp-background-color {
  background-color: rgba(var(--s7-color-rgb), 1);
}

.has-body-bg-color {
  color: rgba(var(--s7-color-rgb), 1);
}

.has-body-bg-background-color {
  background-color: rgba(var(--s7-color-rgb), 1);
}

.has-body-color-color {
  color: rgba(var(--s7-color-rgb), 1);
}

.has-body-color-background-color {
  background-color: rgba(var(--s7-color-rgb), 1);
}

.has-star-color {
  color: rgba(var(--s7-color-rgb), 1);
}

.has-star-background-color {
  background-color: rgba(var(--s7-color-rgb), 1);
}

/** Gutenberg editor (backend) styles */
.acf-block-preview {
  overflow: hidden;
}

@media (min-width: 576px) {
  .wp-block .container-sm, .wp-block .container {
    max-width: 540px;
  }
}
@media (min-width: 768px) {
  .wp-block .container-md, .wp-block .container-sm, .wp-block .container {
    max-width: 720px;
  }
}
@media (min-width: 1025px) {
  .wp-block .container-lg, .wp-block .container-md, .wp-block .container-sm, .wp-block .container {
    max-width: 960px;
  }
}
@media (min-width: 1200px) {
  .wp-block .container-xl, .wp-block .container-lg, .wp-block .container-md, .wp-block .container-sm, .wp-block .container {
    max-width: 1140px;
  }
}
.wp-block[data-align=full] {
  max-width: 100vw;
}
@media (min-width: 576px) {
  .wp-block[data-align=wide] {
    padding: 0;
  }
}

.wp-block .bg-section,
.acf-block-preview {
  overflow: hidden;
}

.block-banner {
  position: relative;
  overflow: hidden;
}
.block-banner__content {
  position: relative;
  background: rgba(var(--s7-secondary-light-rgb), 1);
  min-height: 40.4375rem;
  padding-top: 10.625rem;
  padding-bottom: 10.625rem;
}
@media (min-width: 1025px) {
  .block-banner__content {
    min-height: 52.5625rem;
    padding-top: 11.25rem;
    padding-bottom: 11.25rem;
  }
}
.block-banner__cards {
  position: relative;
  z-index: 2;
  margin-top: -16.25rem;
}
@media (min-width: 768px) {
  .block-banner__cards {
    margin-top: -14.375rem;
  }
}
@media (min-width: 1025px) {
  .block-banner__cards {
    margin-top: -18.75rem;
  }
}
.block-banner__cards--empty {
  margin-top: 0;
}

.video-modal-toggle {
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  height: 4.0625rem;
  width: 4.0625rem;
  background: rgba(var(--s7-primary-rgb), 1);
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  z-index: 2;
}
@media (min-width: 576px) {
  .video-modal-toggle {
    height: 5.9375rem;
    width: 5.9375rem;
  }
}
.video-modal-toggle .icon {
  color: rgba(var(--s7-white-rgb), 1);
  font-size: 1.75rem;
}

.block-contact__sidebar p {
  margin: 0;
}
@media (min-width: 768px) {
  .block-contact__maps {
    bottom: 15.625rem;
    margin-bottom: -15.625rem;
  }
}

.team-slider::after {
  content: "flickity";
  display: none;
}
@media (min-width: 768px) {
  .team-slider::after {
    content: "";
  }
}

.news-slider {
  margin: -1.25rem 0rem;
}
.news-slider__item {
  padding: 1.25rem 0rem;
}
.news-slider .flickity-page-dots {
  bottom: -3.75rem;
}

.block-logos__logo {
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 2.5rem;
  background: rgba(var(--s7-gray-100-rgb), 1);
  margin: 0;
}
.block-logos__logo img {
  width: auto;
  height: 2.1875rem;
  -o-object-fit: contain;
     object-fit: contain;
}

.block-logo-slider__track {
  display: flex;
  overflow-x: auto;
  scroll-snap-type: x mandatory;
  scrollbar-width: none;
}
.block-logo-slider__track::-webkit-scrollbar {
  display: none;
}
.block-logo-slider__track.flickity-enabled {
  display: block;
  overflow: visible;
}
.block-logo-slider__track .flickity-prev-next-button {
  top: 50%;
  z-index: 2;
}
.block-logo-slider__track .flickity-prev-next-button.previous {
  left: 0.25rem;
}
.block-logo-slider__track .flickity-prev-next-button.next {
  right: 0.25rem;
}
.block-logo-slider__item {
  flex: 0 0 50%;
  width: 50%;
  padding: 0.625rem;
  scroll-snap-align: start;
}
@media (min-width: 768px) {
  .block-logo-slider__item {
    flex-basis: 33.333%;
    width: 33.333%;
  }
}
@media (min-width: 1025px) {
  .block-logo-slider__item {
    flex-basis: 25%;
    width: 25%;
  }
}
.block-logo-slider__logo {
  display: flex;
  align-items: center;
  justify-content: center;
  min-height: 9.0625rem;
  padding: 1.5rem;
  margin: 0;
  border-radius: 0.5rem;
  background: rgba(var(--s7-gray-100-rgb), 1);
}
.block-logo-slider__logo img {
  display: block;
  width: 100%;
  max-width: 11.875rem;
  height: 5.625rem;
  -o-object-fit: contain;
     object-fit: contain;
}

.block-trustindex {
  background: rgba(var(--s7-gray-100-rgb), 1);
}
.block-trustindex__header {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  gap: 1.25rem;
  margin-bottom: 1.75rem;
}
.block-trustindex__widget {
  min-height: 7.5rem;
}

.project-slider {
  display: flex;
  overflow-x: auto;
  scroll-snap-type: x mandatory;
  scrollbar-width: none;
}
.project-slider::-webkit-scrollbar {
  display: none;
}
.project-slider.flickity-enabled {
  display: block;
  overflow: visible;
}
.project-slider .flickity-prev-next-button {
  top: 50%;
  z-index: 2;
}
.project-slider .flickity-prev-next-button.previous {
  left: 0.25rem;
}
@media (min-width: 1025px) {
  .project-slider .flickity-prev-next-button.previous {
    left: -1.375rem;
  }
}
.project-slider .flickity-prev-next-button.next {
  right: 0.25rem;
}
@media (min-width: 1025px) {
  .project-slider .flickity-prev-next-button.next {
    right: -1.375rem;
  }
}
.project-slider__item {
  flex: 0 0 90%;
  width: 90%;
  padding: 0.625rem;
  scroll-snap-align: start;
}
@media (min-width: 768px) {
  .project-slider__item {
    flex-basis: 50%;
    width: 50%;
  }
}
@media (min-width: 1025px) {
  .project-slider__item {
    flex-basis: 33.333%;
    width: 33.333%;
  }
}
.project-slider__item .card-project {
  height: 100%;
}

.header-placeholder {
  height: 7.75rem;
}

.header {
  position: relative;
  z-index: 10;
  width: 100%;
  transition: background-color 0.2s ease-in-out;
  top: var(--offset-y);
}
.header::before {
  content: "";
  position: absolute;
  inset: 0;
  transition: all 0.2s ease-in-out;
  z-index: -1;
  background: rgba(var(--s7-gray-900-rgb), 0.9);
  opacity: 0;
}
@supports ((-webkit-backdrop-filter: none) or (backdrop-filter: none)) {
  .header::before {
    background: rgba(var(--s7-white-rgb), 0.6);
    -webkit-backdrop-filter: blur(0.625rem);
            backdrop-filter: blur(0.625rem);
  }
}
.header--fixed {
  position: fixed;
}
.header--bg {
  background-color: rgba(var(--s7-gray-900-rgb), 1);
}
.header--scrolled {
  background-color: transparent;
}
.header--scrolled::before {
  opacity: 1;
}
.header--checkout {
  box-shadow: none;
}
.header__main {
  background: inherit;
  border-top: 1px solid rgba(var(--s7-secondary-rgb), 0.1);
  border-bottom: 1px solid rgba(var(--s7-secondary-rgb), 0.1);
}
.header__logo-wrap img,
.header__logo-wrap svg {
  max-height: 3.5rem;
  height: 3.5rem;
}

.nav--main {
  margin: 0;
  padding: 0;
  position: relative;
}
@media (min-width: 1200px) {
  .nav--main {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
  }
}

.header__top {
  background: transparent;
  padding: 0.375rem 0rem;
  font-size: 0.875rem;
}
.header__top--bg {
  background: rgba(var(--s7-white-rgb), 1);
}
.header__top a {
  color: rgba(var(--s7-gray-800-rgb), 1);
}
.header__top a:hover, .header__top a:focus {
  color: rgba(var(--s7-secondary-rgb), 1);
}
.header__top .nav-topbar__item {
  margin-left: 1.5rem;
}
@media (min-width: 1025px) {
  .header__top .nav-topbar__item {
    margin-left: 1rem;
  }
}
.header__top .nav-topbar__item:first-of-type {
  margin-left: 0;
}

@media (max-width: 1199.98px) {
  .nav__wrapper {
    z-index: 3;
    position: fixed;
    top: 0;
    height: 100%;
    background-color: rgba(var(--s7-gray-900-rgb), 1);
    overflow-y: auto;
    visibility: hidden;
  }
  .nav__wrapper.is-open {
    visibility: visible;
  }
  .nav__item {
    position: relative;
  }
  .nav__anchor {
    color: rgba(var(--s7-white-rgb), 1);
    padding: 0.625rem 0rem;
    font-weight: 700;
  }
  .nav__anchor--active {
    font-weight: 700;
    color: rgba(var(--s7-white-rgb), 1);
  }
  .nav__anchor:hover, .nav__anchor:focus {
    color: rgba(var(--s7-white-rgb), 1);
  }
  .nav__anchor--has-chevron {
    display: inline-block;
    width: calc(100% - 3.125rem);
  }
  .nav__dropdown {
    clear: both;
    display: none;
    margin: 0;
    padding-left: 1.5625rem;
    width: 100%;
  }
  .nav__chevron {
    cursor: pointer;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    position: relative;
    width: 3.125rem;
  }
  .nav__chevron .icon {
    transition: all 0.2s ease-in-out;
    color: rgba(var(--s7-white-rgb), 1);
    font-size: 0.875rem;
  }
}
@media (max-width: 1199.98px) and (prefers-reduced-motion: reduce) {
  .nav__chevron .icon {
    transition: none;
  }
}
@media (max-width: 1199.98px) {
  .nav__chevron.is-open .icon {
    transform: rotate(-180deg);
  }
}
@media (max-width: 1199.98px) {
  .nav__wrapper {
    padding: 0rem 1rem 1rem;
    width: 21.875rem;
    max-width: 90%;
    right: 100%;
    transition: all 0.2s ease-in-out;
  }
  .nav__wrapper.is-open {
    transform: translateX(100%);
  }
  .nav__top {
    position: sticky;
    top: 0;
    z-index: 1;
    background: rgba(var(--s7-gray-100-rgb), 1);
    padding: 1rem;
    margin: 0rem -1rem 1rem;
  }
  .nav__top svg {
    max-height: 3.125rem;
  }
  .nav__top .nav-toggle.is-open .nav-toggle__line::before,
  .nav__top .nav-toggle.is-open .nav-toggle__line::after {
    background: rgba(var(--s7-gray-900-rgb), 1);
  }
}
@media (min-width: 1200px) {
  .nav__top {
    display: none;
  }
}
.nav-toggle {
  z-index: 1;
}

@media (min-width: 1200px) {
  .nav__anchor {
    color: rgba(var(--s7-gray-900-rgb), 1);
    padding: 0.9375rem;
    font-weight: 700;
  }
  .nav__anchor--active {
    font-weight: 700;
    color: rgba(var(--s7-secondary-rgb), 1);
  }
  .nav__anchor:hover, .nav__anchor:focus {
    color: rgba(var(--s7-secondary-rgb), 1);
  }
  .nav__mobile, .nav__chevron {
    display: none;
  }
}
@media (min-width: 1200px) {
  .nav__anchor--has-chevron::after {
    /* use !important to prevent issues with browser extensions that change fonts */
    font-family: "icomoon" !important;
    speak: none;
    font-style: normal;
    font-weight: normal;
    font-variant: normal;
    text-transform: none;
    line-height: 1;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    /* Better Font Rendering =========== */
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    transition: all 0.2s ease-in-out;
    font-size: 0.4375rem;
    content: "\e902";
    color: rgba(var(--s7-secondary-rgb), 1);
    margin-left: 0.5rem;
  }
}
@media (min-width: 1200px) and (prefers-reduced-motion: reduce) {
  .nav__anchor--has-chevron::after {
    transition: none;
  }
}
@media (min-width: 1200px) {
  .nav__item {
    position: relative;
  }
  .nav__item--has-children:hover > .nav__anchor--has-chevron::after, .nav__item--has-children:focus > .nav__anchor--has-chevron::after {
    transform: rotate(-180deg);
  }
  .nav__item--has-children:hover > .nav__dropdown, .nav__item--has-children:focus > .nav__dropdown {
    border-radius: 10px;
    display: block;
    opacity: 1;
    visibility: visible;
    pointer-events: all;
  }
  .nav__dropdown {
    transition: all 0.2s ease-in-out;
    display: block;
    opacity: 0;
    visibility: hidden;
    pointer-events: none;
    position: absolute;
    left: 0;
    top: 100%;
    right: auto;
    z-index: 1;
    background-color: rgba(var(--s7-white-rgb), 1);
    box-shadow: 0rem 0rem 1.875rem rgba(var(--s7-black-rgb), 0.1);
    min-width: 14.0625rem;
    padding: 0;
  }
}
@media (min-width: 1200px) and (prefers-reduced-motion: reduce) {
  .nav__dropdown {
    transition: none;
  }
}
@media (min-width: 1200px) {
  .nav__dropdown .nav__anchor {
    flex-grow: 1;
    padding: 0.9375rem;
    font-weight: 400;
  }
  .nav__dropdown--sub {
    top: 0;
    left: 100%;
  }
  .nav__mobile, .nav__chevron {
    display: none;
  }
}
.nav__item {
  display: block;
}
.nav__item--has-children {
  display: flex;
  flex-wrap: wrap;
}
.nav__item--btn-wrap {
  display: flex;
  align-items: center;
}
.nav__item--sub {
  width: 100%;
}
.nav__anchor {
  transition: all 0.2s ease-in-out;
  display: flex;
  align-items: center;
  text-decoration: none;
}
@media (prefers-reduced-motion: reduce) {
  .nav__anchor {
    transition: none;
  }
}
.nav__anchor:hover, .nav__anchor:focus {
  text-decoration: none;
}
.nav__anchor--btn {
  padding: 0.688rem 2rem;
  font-size: 1rem;
  border-radius: 10px;
  color: rgba(var(--s7-white-rgb), 1);
  background: rgba(var(--s7-secondary-rgb), 1);
  border: none;
  display: block;
  text-align: center;
  width: 100%;
  margin: 0.75rem 0rem;
}
.nav__anchor--btn:hover, .nav__anchor--btn:focus {
  color: rgba(var(--s7-white-rgb), 1);
  background: rgba(var(--s7-secondary-rgb), 1);
}
@media (min-width: 1200px) {
  .nav__anchor--btn {
    width: auto;
    margin: 0;
    color: rgba(var(--s7-secondary-rgb), 1);
    background: transparent;
    border: 2px solid rgba(var(--s7-secondary-rgb), 1);
  }
}
.nav__backdrop {
  transition: all 0.2s ease-in-out;
  position: fixed;
  top: 0;
  bottom: 0;
  right: 0;
  left: 0;
  height: 100%;
  width: 100%;
  opacity: 0;
  z-index: 1;
  visibility: hidden;
  background: rgba(var(--s7-black-rgb), 0.4);
  cursor: pointer;
}
@media (prefers-reduced-motion: reduce) {
  .nav__backdrop {
    transition: none;
  }
}
@media (min-width: 1200px) {
  .nav__backdrop {
    z-index: -1;
  }
}
.nav__backdrop.is-open {
  opacity: 1;
  visibility: visible;
}
.nav__backdrop[data-action=filter] {
  z-index: 15;
}

.nav-toggle {
  border-radius: 10px;
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
  background: rgba(var(--s7-white-rgb), 1);
  color: rgba(var(--s7-secondary-rgb), 1);
  padding: 0.625rem;
  cursor: pointer;
}
.nav-toggle__text {
  font-size: 0.6875rem;
  font-weight: 700;
  text-transform: uppercase;
  color: rgba(var(--s7-gray-900-rgb), 1);
}

.footer {
  background: rgba(var(--s7-gray-900-rgb), 1);
  position: relative;
}
.footer ul {
  padding-left: 0;
  list-style: none;
}
.footer p {
  margin: 0;
}
.footer a,
.footer span {
  color: rgba(var(--s7-gray-300-rgb), 1);
}
.footer .widget {
  margin-bottom: 1.25rem;
}
@media (min-width: 1025px) {
  .footer .widget {
    margin-bottom: 0.625rem;
  }
}
.footer__title {
  display: block;
  font-size: 1rem;
  font-weight: 700;
  margin-bottom: 1rem;
  color: rgba(var(--s7-white-rgb), 1);
}
.footer__logo-wrap img,
.footer__logo-wrap svg {
  width: auto;
  max-height: 2.9375rem;
  margin-bottom: 2rem;
}
.footer__border {
  margin: 0;
  border-top: 1px solid rgba(var(--s7-gray-600-rgb), 1);
}
.footer__main a:not(.btn) {
  display: block;
}
.footer__main a:not(.btn):hover, .footer__main a:not(.btn):focus {
  color: rgba(var(--s7-white-rgb), 1);
}

.footer__bottom {
  background: rgba(var(--s7-gray-900-rgb), 1);
  position: relative;
}
.footer__bottom * {
  color: rgba(var(--s7-white-rgb), 1);
}

.description {
  display: block;
  position: absolute;
  color: rgba(var(--s7-white-rgb), 1);
  text-align: center;
  bottom: 2.5rem;
  left: 50%;
  transform: translateX(-50%);
  z-index: 2;
  width: 100%;
}
@media (min-width: 1025px) {
  .description {
    bottom: 1.5rem;
  }
}

.rimg {
  position: relative;
  overflow: hidden;
  padding-bottom: 100%;
  margin: 0;
  background: rgba(var(--s7-gray-400-rgb), 1);
}
.rimg > img,
.rimg > iframe,
.rimg > object,
.rimg > embed {
  position: absolute;
  top: 0;
  left: 0;
  height: 100%;
  width: 100%;
}
.rimg > img {
  -o-object-fit: cover;
     object-fit: cover;
}
.rimg > figcaption {
  position: absolute;
  bottom: 0;
  left: 0;
  width: 100%;
  font-size: 0.75rem;
  padding: 0.5rem;
  background: rgba(var(--s7-black-rgb), 0.5);
  color: rgba(var(--s7-white-rgb), 1);
}

.rimg--100-14 {
  padding-bottom: 14%;
}
.rimg--100-19 {
  padding-bottom: 19%;
}
.rimg--100-47 {
  padding-bottom: 47%;
}
.rimg--100-56 {
  padding-bottom: 56%;
}
.rimg--100-58 {
  padding-bottom: 58%;
}
.rimg--100-64 {
  padding-bottom: 64%;
}
.rimg--100-74 {
  padding-bottom: 74%;
}
.rimg--100-89 {
  padding-bottom: 89%;
}
.rimg--100-98 {
  padding-bottom: 98%;
}
.rimg--100-100 {
  padding-bottom: 100%;
}
.rimg--100-105 {
  padding-bottom: 105%;
}
.rimg--contain {
  background: none;
}
.rimg--contain > img {
  -o-object-fit: contain;
     object-fit: contain;
}
.rimg--fill {
  padding: 0;
  position: absolute;
  top: 0;
  left: 0;
  height: 100%;
  width: 100%;
}
.rimg--fill-heading {
  padding: 0;
  position: absolute;
  top: -250%;
  bottom: 0;
  background: none;
}

@media (min-width: 576px) {
  .rimg-sm--100-14 {
    padding-bottom: 14%;
  }
  .rimg-sm--100-19 {
    padding-bottom: 19%;
  }
  .rimg-sm--100-47 {
    padding-bottom: 47%;
  }
  .rimg-sm--100-56 {
    padding-bottom: 56%;
  }
  .rimg-sm--100-58 {
    padding-bottom: 58%;
  }
  .rimg-sm--100-64 {
    padding-bottom: 64%;
  }
  .rimg-sm--100-74 {
    padding-bottom: 74%;
  }
  .rimg-sm--100-89 {
    padding-bottom: 89%;
  }
  .rimg-sm--100-98 {
    padding-bottom: 98%;
  }
  .rimg-sm--100-100 {
    padding-bottom: 100%;
  }
  .rimg-sm--100-105 {
    padding-bottom: 105%;
  }
  .rimg-sm--contain {
    background: none;
  }
  .rimg-sm--contain > img {
    -o-object-fit: contain;
       object-fit: contain;
  }
  .rimg-sm--fill {
    padding: 0;
    position: absolute;
    top: 0;
    left: 0;
    height: 100%;
    width: 100%;
  }
  .rimg-sm--fill-heading {
    padding: 0;
    position: absolute;
    top: -250%;
    bottom: 0;
    background: none;
  }
}
@media (min-width: 768px) {
  .rimg-md--100-14 {
    padding-bottom: 14%;
  }
  .rimg-md--100-19 {
    padding-bottom: 19%;
  }
  .rimg-md--100-47 {
    padding-bottom: 47%;
  }
  .rimg-md--100-56 {
    padding-bottom: 56%;
  }
  .rimg-md--100-58 {
    padding-bottom: 58%;
  }
  .rimg-md--100-64 {
    padding-bottom: 64%;
  }
  .rimg-md--100-74 {
    padding-bottom: 74%;
  }
  .rimg-md--100-89 {
    padding-bottom: 89%;
  }
  .rimg-md--100-98 {
    padding-bottom: 98%;
  }
  .rimg-md--100-100 {
    padding-bottom: 100%;
  }
  .rimg-md--100-105 {
    padding-bottom: 105%;
  }
  .rimg-md--contain {
    background: none;
  }
  .rimg-md--contain > img {
    -o-object-fit: contain;
       object-fit: contain;
  }
  .rimg-md--fill {
    padding: 0;
    position: absolute;
    top: 0;
    left: 0;
    height: 100%;
    width: 100%;
  }
  .rimg-md--fill-heading {
    padding: 0;
    position: absolute;
    top: -250%;
    bottom: 0;
    background: none;
  }
}
@media (min-width: 1025px) {
  .rimg-lg--100-14 {
    padding-bottom: 14%;
  }
  .rimg-lg--100-19 {
    padding-bottom: 19%;
  }
  .rimg-lg--100-47 {
    padding-bottom: 47%;
  }
  .rimg-lg--100-56 {
    padding-bottom: 56%;
  }
  .rimg-lg--100-58 {
    padding-bottom: 58%;
  }
  .rimg-lg--100-64 {
    padding-bottom: 64%;
  }
  .rimg-lg--100-74 {
    padding-bottom: 74%;
  }
  .rimg-lg--100-89 {
    padding-bottom: 89%;
  }
  .rimg-lg--100-98 {
    padding-bottom: 98%;
  }
  .rimg-lg--100-100 {
    padding-bottom: 100%;
  }
  .rimg-lg--100-105 {
    padding-bottom: 105%;
  }
  .rimg-lg--contain {
    background: none;
  }
  .rimg-lg--contain > img {
    -o-object-fit: contain;
       object-fit: contain;
  }
  .rimg-lg--fill {
    padding: 0;
    position: absolute;
    top: 0;
    left: 0;
    height: 100%;
    width: 100%;
  }
  .rimg-lg--fill-heading {
    padding: 0;
    position: absolute;
    top: -250%;
    bottom: 0;
    background: none;
  }
}
@media (min-width: 1200px) {
  .rimg-xl--100-14 {
    padding-bottom: 14%;
  }
  .rimg-xl--100-19 {
    padding-bottom: 19%;
  }
  .rimg-xl--100-47 {
    padding-bottom: 47%;
  }
  .rimg-xl--100-56 {
    padding-bottom: 56%;
  }
  .rimg-xl--100-58 {
    padding-bottom: 58%;
  }
  .rimg-xl--100-64 {
    padding-bottom: 64%;
  }
  .rimg-xl--100-74 {
    padding-bottom: 74%;
  }
  .rimg-xl--100-89 {
    padding-bottom: 89%;
  }
  .rimg-xl--100-98 {
    padding-bottom: 98%;
  }
  .rimg-xl--100-100 {
    padding-bottom: 100%;
  }
  .rimg-xl--100-105 {
    padding-bottom: 105%;
  }
  .rimg-xl--contain {
    background: none;
  }
  .rimg-xl--contain > img {
    -o-object-fit: contain;
       object-fit: contain;
  }
  .rimg-xl--fill {
    padding: 0;
    position: absolute;
    top: 0;
    left: 0;
    height: 100%;
    width: 100%;
  }
  .rimg-xl--fill-heading {
    padding: 0;
    position: absolute;
    top: -250%;
    bottom: 0;
    background: none;
  }
}
.overlay::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  z-index: 1;
  background: rgba(var(--s7-secondary-light-rgb), 0.6);
}
.overlay--primary::before {
  background: rgba(var(--s7-primary-rgb), 0.5);
}
.overlay--fade::before {
  background: linear-gradient(180deg, rgba(11, 11, 11, 0) 70%, rgb(11, 11, 11) 100%);
}
@media (min-width: 1025px) {
  .overlay--fade::before {
    background: linear-gradient(180deg, rgba(11, 11, 11, 0) 87%, rgb(11, 11, 11) 100%);
  }
}
.overlay__statistics {
  background: linear-gradient(180deg, rgba(var(--s7-white-rgb), 1) 20%, rgba(var(--s7-gray-200-rgb), 1) 100%);
}

.divider-half::before {
  content: "";
  position: absolute;
  background: rgba(var(--s7-white-rgb), 1);
  height: 50%;
  width: 100vw;
  top: 0;
  left: 0;
  right: 0;
}

.top-120px {
  top: 7.5rem !important;
}
