/*
* Prefixed by https://autoprefixer.github.io
* PostCSS: v8.4.14,
* Autoprefixer: v10.4.7
* Browsers: > 0.1% and not dead
*/

:root {
  --features-gap: 24px;

  --features-item-background: linear-gradient(175deg, var(--accent-color-opacity-00) 5%, var(--accent-color-opacity-20) 95%);
  --features-item-border-radius: var(--border-radius);
  --features-item-border-width: 1px;
  --features-item-border-color: var(--accent-color);
  --features-item-padding: 24px 16px;

  --features-item-hover-background: var(--accent-color-05);
  --features-item-hover-box-shadow: 0 10px 24px 0 var(--accent-color-opacity-20);

  --features-item-image-height: 92px;

  --alternate-features-item-image-height: 92px;

  --features-item-title-font-size: 48px;
  --features-item-title-line-height: 56px;
  --features-item-title-margin-top: 8px;

  --alternate-features-item-title-font-size: 48px;
  --alternate-features-item-title-line-height: 56px;

  --features-item-desc-max-width: 270px;
  --features-item-desc-font-size: 20px;
  --features-item-desc-line-height: 24px;
  --features-item-desc-margin-top: 8px;
}

.features__list {
  display: flex;
  position: relative;
  justify-content: center;
  align-items: stretch;
  gap: var(--features-gap);
}

.features__item {
  display: block;
  position: relative;
  flex: 1 1 100%;
  height: auto;
  border-radius: var(--features-item-border-radius);
  background: var(--features-item-background);
}

.wrapper.features__wrapper {
  padding: var(--features-item-padding);
}
.wrapper.features__wrapper[href]:hover,
.wrapper.features__wrapper[href].active {
  background: var(--features-item-hover-background);
  box-shadow: var(--features-item-hover-box-shadow);
}

.wrapper.features__wrapper[href]:before {
  content: '';
  display: block;
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
  right: 0;
  border-radius: var(--features-item-border-radius);
  border: var(--features-item-border-width) solid var(--features-item-border-color);
  pointer-events: none;
  opacity: 0;
  transition: all 0.25s;
}
.wrapper.features__wrapper[href]:hover:before,
.wrapper.features__wrapper[href].active:before {
  opacity: 1;
}

.image.features-item__image img {
  height: var(--features-item-image-height);
  margin: 0 auto;
}
.alternate .image.features-item__image img {
  height: var(--alternate-features-item-image-height);
}

.title.features-item__title {
  font-size: var(--features-item-title-font-size);
  line-height: var(--features-item-title-line-height);
  text-align: center;
  margin-top: var(--features-item-title-margin-top);
}
.alternate .title.features-item__title {
  font-size: var(--alternate-features-item-title-font-size);
  line-height: var(--alternate-features-item-title-line-height);
}

.desc.features-item__desc {
  max-width: var(--features-item-desc-max-width);
  font-size: var(--features-item-desc-font-size);
  line-height: var(--features-item-desc-line-height);
  text-align: center;
  margin: var(--features-item-desc-margin-top) auto 0 auto;
}



@media screen and (min-width: 1900px) {
  :root {
    --features-gap: 1.25vw;

    --features-item-border-width: 0.05vw;
    --features-item-padding: 1.25vw 0.83vw;

    --features-item-hover-box-shadow: 0 0.52vw 1.25vw 0 var(--accent-color-opacity-20);

    --features-item-image-height: 4.79vw;

    --alternate-features-item-image-height: 4.79vw;

    --features-item-title-font-size: 2.50vw;
    --features-item-title-line-height: 2.92vw;
    --features-item-title-margin-top: 0.42vw;

    --alternate-features-item-title-font-size: 2.50vw;
    --alternate-features-item-title-line-height: 2.92vw;

    --features-item-desc-max-width: 14.06vw;
    --features-item-desc-font-size: 1.04vw;
    --features-item-desc-line-height: 1.25vw;
    --features-item-desc-margin-top: 0.42vw;
  }
}



@media screen and (max-width: 1000px) {
  .alternate .features__list {
    flex-wrap: wrap;
  }

  .alternate .features__item {
    flex: 1 1 calc(50% - var(--features-gap));
  }

  .alternate .title.features-item__title br {
    display: none;
  }
}



@media screen and (max-width: 900px) {
  :root {
    --features-item-image-height: 44px;

    --features-item-title-font-size: 32px;
    --features-item-title-line-height: 40px;

    --features-item-desc-font-size: 14px;
    --features-item-desc-line-height: 20px;
  }
}



@media screen and (max-width: 800px) {
  .alternate .title.features-item__title br {
    display: inline;
  }
}



@media screen and (max-width: 600px) {
  :root {
    --alternate-features-item-image-height: 44px;

    --features-item-desc-max-width: 170px;

    --alternate-features-item-title-font-size: 32px;
    --alternate-features-item-title-line-height: 40px;
  }

  .features__list {
    flex-direction: column;
  }

  .alternate .features__list {
    flex-direction: row;
  }
}



@media screen and (max-width: 450px) {
  :root {
    --alternate-features-item-image-height: 32px;

    --alternate-features-item-title-font-size: 28px;
    --alternate-features-item-title-line-height: 32px;
  }
}



@media screen and (max-width: 400px) {
  :root {
    --features-gap: 16px;
  }
}