/*!*********************************************************************************************************************************************************************************************************************************************!*\
  !*** css ./node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[0].use[1]!./node_modules/postcss-loader/dist/cjs.js!./node_modules/sass-loader/dist/cjs.js??ruleSet[1].rules[0].use[3]!./blocks/carousel/logo-carousel/logo-carousel.scss ***!
  \*********************************************************************************************************************************************************************************************************************************************/
:root {
  --font-family-main: "area-normal", sans-serif;
  --font-family-display: "halyard-display", sans-serif;
  --font-family-body: "area-normal", sans-serif;
  --font-family-display-medium: var(--font-family-display);
  --font-family-body-regular: var(--font-family-body);
  --font-family-body-book: var(--font-family-body);
  --font-family-body-bold: var(--font-family-body);
  --font-weight-display-medium: 400;
  --font-weight-body-regular: 400;
  --font-weight-body-book: 400;
  --font-weight-body-bold: 700;
  --font-weight-body-black: 900;
  --color-primary: #00c6c2;
  --color-secondary: #052831;
  --color-teal: #00c6c2;
  --color-midnight-black: #052831;
  --color-putty: #fdf7ea;
  --color-white: #ffffff;
  --color-midnight-black-dark: #031d24;
  --color-black: #000000;
  --color-error: #dd0000;
}

@keyframes bounce {
  0% {
    transform: translateY(0);
  }
  50% {
    transform: translateY(-20px);
  }
  100% {
    transform: translateY(0);
  }
}
.logo-carousel .swiper {
  position: relative;
  display: block;
  overflow: hidden;
  padding: 0;
  list-style: none;
}
.logo-carousel .swiper-wrapper {
  position: relative;
  display: flex;
  align-items: stretch;
  width: 100%;
  box-sizing: content-box;
  transition-property: transform;
  transform: translate3d(0, 0, 0);
}
.logo-carousel .swiper-slide {
  display: block;
  width: 100%;
  height: auto;
  flex-shrink: 0;
  box-sizing: border-box;
  background: var(--color-secondary);
}
.logo-carousel__viewport {
  width: 100%;
}
.logo-carousel__swiper:not([data-logo-carousel-initialized=true]) .swiper-wrapper {
  display: block;
}
.logo-carousel__swiper:not([data-logo-carousel-initialized=true]) .logo-carousel__slide + .logo-carousel__slide {
  margin-top: 1rem;
}
.logo-carousel__logos {
  --logo-carousel-gap: clamp(1.25rem, 2vw, 2.5rem);
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: center;
  gap: var(--logo-carousel-gap);
  padding: clamp(1.5rem, 3vw, 2.25rem);
  border-radius: 10px;
}
.logo-carousel__item {
  display: flex;
  align-items: center;
  justify-content: center;
  flex: 0 1 calc((100% - (var(--logo-carousel-columns, 8) - 1) * var(--logo-carousel-gap)) / var(--logo-carousel-columns, 8));
  max-width: calc((100% - (var(--logo-carousel-columns, 8) - 1) * var(--logo-carousel-gap)) / var(--logo-carousel-columns, 8));
  min-height: 2.5rem;
  text-decoration: none;
}
@media (max-width: 1200px) {
  .logo-carousel__item {
    flex-basis: calc((100% - 3 * var(--logo-carousel-gap)) / 4);
    max-width: calc((100% - 3 * var(--logo-carousel-gap)) / 4);
  }
}
@media (max-width: 992px) {
  .logo-carousel__item {
    flex-basis: calc((100% - var(--logo-carousel-gap)) / 2);
    max-width: calc((100% - var(--logo-carousel-gap)) / 2);
  }
}
.logo-carousel__item--link {
  transition: transform 0.35s ease, opacity 0.35s ease;
}
.logo-carousel__item--link:hover, .logo-carousel__item--link:focus-visible {
  transform: translateY(-2px);
  opacity: 0.88;
}
.logo-carousel__item--link:focus-visible {
  outline: 2px solid var(--color-teal);
  outline-offset: 4px;
  border-radius: 6px;
}
.logo-carousel__logo-media {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
}
.logo-carousel__image {
  display: block;
  width: 100%;
  max-width: 85%;
  max-height: 4.15rem;
  height: auto;
  object-fit: contain;
  object-position: center;
  opacity: 0.7;
}
@media (max-width: 992px) {
  .logo-carousel__image {
    max-width: 100%;
    max-height: 2.5rem;
  }
}
.logo-carousel__empty {
  display: grid;
  place-items: center;
  min-height: 12rem;
  padding: 2rem;
  border: 1px dashed rgba(5, 40, 49, 0.2);
  border-radius: 10px;
  background: rgba(5, 40, 49, 0.04);
}
.logo-carousel__empty p {
  margin: 0;
  text-align: center;
}
.logo-carousel--filtered .logo-carousel__logos {
  background: #000;
  mix-blend-mode: screen;
}
.logo-carousel--filtered .logo-carousel__image {
  filter: grayscale(1) invert(1) brightness(1);
}
