.banner__wrapper {
  width: 100%;

  background: linear-gradient(
    45deg,
    #ae8393 0%,
    15.2605%,
    #6596a6 30.5211%,
    65.2605%,
    #569ca9 100%
  );

  @media (max-width: 700px) {
    background: #569ca9;
  }
}

.banner__container {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;

  margin-left: auto;
  margin-right: auto;
  padding: 108px 0;

  max-width: 1200px;

  @media (max-width: 1270px) {
    padding: 108px 25px;
  }
  @media (max-width: 1200px) {
    padding: 70px 25px;
  }
  @media (max-width: 1200px) {
    padding: 50px 25px;
  }
  @media (max-width: 700px) {
    flex-direction: column;
    align-items: stretch;
    gap: 0;

    padding: 30px 0 0;
  }
}
.banner__desc-wrapper {
  max-width: 575px;

  @media (max-width: 1200px) {
    max-width: 520px;
  }
  @media (max-width: 1120px) {
    max-width: 480px;
  }
  @media (max-width: 992px) {
    max-width: 430px;
  }
  @media (max-width: 800px) {
    max-width: 370px;
  }
  @media (max-width: 700px) {
    padding: 0 20px;

    max-width: 500px;
  }
}
.banner__heading {
  font-size: 48px;
  font-weight: 700;
  line-height: 1;

  color: white;

  @media (max-width: 1200px) {
    font-size: 40px;
  }
  @media (max-width: 1120px) {
    font-size: 36px;
  }
  @media (max-width: 992px) {
    font-size: 32px;
  }
  @media (max-width: 700px) {
    font-size: 28px;
  }
  @media (max-width: 550px) {
    font-size: 24px;
  }
}
.banner__description {
  flex-shrink: 1;
  font-size: 20px;

  color: white;

  @media (max-width: 1200px) {
    font-size: 18px;
  }
  @media (max-width: 1120px) {
    font-size: 16px;
  }
}

.banner__description_mt {
  margin-top: 40px;

  @media (max-width: 700px) {
    margin-top: 20px;
  }
}

.banner__link-button {
  display: inline-block;

  padding: 16px 32px;

  text-decoration: none;
  font-weight: 600;

  color: #4b8d9d;
  background-color: white;

  border-radius: 8px;
  transition: background-color 0.3s ease;

  @media (max-width: 700px) {
    padding: 12px 28px;
  }
}
.banner__link-button:hover {
  @media (hover: hover) {
    background-color: rgb(236, 236, 236);
  }
}

.banner__link-button_mt {
  margin-top: 64px;
}
.banner__link-button_desktop {
  display: inline-block;

  @media (max-width: 700px) {
    display: none;
  }
}
.banner__link-button_mobile {
  position: absolute;
  bottom: 20px;
  left: 20px;
  display: none;

  @media (max-width: 700px) {
    display: inline-block;
  }
}
.banner__image-wrapper {
  flex-shrink: 3;
  position: relative;
  display: flex;
  justify-content: center;

  max-width: 584px;
  min-height: 384px;

  border-radius: 12px;
  overflow: hidden;

  @media (max-width: 700px) {
    max-width: 100%;
    min-height: unset;
    height: 250px;

    border-radius: 0;
  }
  @media (max-width: 500px) {
    height: 200px;
  }
}
.banner__image-wrapper::before {
  content: '';
  position: absolute;
  inset: 0;
  z-index: 3;

  background: #569ca9;
  background: linear-gradient(
    180deg,
    rgba(86, 156, 169, 1) 0%,
    rgba(86, 156, 169, 0.2) 50%,
    rgba(0, 0, 0, 0) 100%
  );

  @media (min-width: 700px) {
    opacity: 0;
  }
}

.banner__image {
  object-fit: cover;
}
