@import url("https://fonts.googleapis.com/css2?family=Literata:ital,opsz,wght@0,7..72,200..900;1,7..72,200..900&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");

.twoShade-banner {
  padding: 100px 0 0;
  position: relative;
  background-color: var(--white) !important;
}

.twoShade-banner::after {
  content: "";
  position: absolute;
  width: 100%;
  height: 248px;
  left: 0;
  bottom: 0;
  background-color: var(--white);
  z-index: 0;
  display: none;
}

.twoShade-banner .container {
  position: relative;
  z-index: 1;
}

.twoShade-banner.bg-green::after {
  background-color: var(--forestGreen);
}

.twoShade-banner__wrapper {
  display: flex;
  flex-direction: column;
  gap: 50px;
  position: relative;
  z-index: 1;
}

.twoShade-banner__title {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 40px;
}

.twoShade-banner__logo {
  max-width: 50%;
  width: 100%;
}

.twoShade-banner__logo img {
  max-width: 461px;
  width: 100%;
  max-height: 110px;
  object-fit: contain;
  display: block;
}

.twoShade-banner__text {
  max-width: 660px;
  width: 50%;
}

.twoShade-banner__text p {
  font-family: var(--font-primary);
  font-weight: 400;
  font-size: 16.17px;
  line-height: 21.6px;
  letter-spacing: -0.32px;
  color: var(--text);
}

.twoShade-banner__image {
  position: relative;
}

.twoShade-banner__image img {
  max-width: 100%;
  width: 100%;
  max-height: 548px;
  min-height: 548px;
  height: 100%;
  display: block;
  object-fit: cover;
}

.twoShade-banner__image:not(:has(> img)) .twoShade-banner__image--vector {
  display: none;
}

.twoShade-banner__image--vector {
  position: absolute;
  bottom: -37px;
  right: calc((100% - 1344px) / 2 + 27px);
}

.twoShade-banner__image--vector img {
  max-width: 248px;
  width: 100%;
  height: 118px;
  min-height: unset;
  object-fit: contain;
  display: block;
}

/* ------------------------------
   Responsive Breakpoints
------------------------------ */

/* 1399px ↓ */
@media (max-width: 1399px) {
  .twoShade-banner__logo img {
    max-width: 380px;
  }
  .twoShade-banner__image--vector {
    right: calc((100% - 1076px) / 2 + 20px);
  }
}

/* 1199px ↓ */
@media (max-width: 1199px) {
  .twoShade-banner {
    padding: 80px 0 0;
  }
  .twoShade-banner__title {
    gap: 25px;
  }
  .twoShade-banner__logo img {
    max-width: 320px;
    max-height: 95px;
  }
  .twoShade-banner__text {
    /* max-width: 340px; */
  }
  .twoShade-banner__image--vector {
    right: calc((100% - 960px) / 2 + 15px);
  }
}

/* 991px ↓ (Tablet) */
@media (max-width: 991px) {
  .twoShade-banner {
    padding: 70px 0 0;
  }
  .twoShade-banner__wrapper {
    gap: 40px;
  }
  .twoShade-banner__title {
    flex-direction: column;
    align-items: flex-start;
    gap: 20px;
  }
  .twoShade-banner__logo img {
    max-width: 280px;
    max-height: 85px;
  }
  .twoShade-banner__text {
    max-width: 100%;
    width: 100%;
  }
  .twoShade-banner__image--vector {
    right: calc((100% - 720px) / 2 + 10px);
    max-width: 200px;
  }
}

/* 767px ↓ (Mobile Large) */
@media (max-width: 767px) {
  .twoShade-banner {
    padding: 60px 0 0;
  }
  .twoShade-banner::after {
    height: 180px;
  }
  .twoShade-banner__logo img {
    max-width: 240px;
    max-height: 75px;
  }
  .twoShade-banner__image img {
    max-height: 380px;
    min-height: 380px;
  }
  .twoShade-banner__image--vector {
    right: calc((100% - 540px) / 2 + 20px);
  }

  .twoShade-banner__image--vector img {
    max-width: 85px;
    height: 90px;
    min-height: unset;
  }
}

@media (max-width: 576px) {
  .twoShade-banner__image--vector {
    right: 30px;
    bottom: -25px;
  }

  .twoShade-banner__image--vector img {
    max-width: 55px;
    height: 55px;
    min-height: unset;
  }
}

/* 480px ↓ (Mobile Small) */
@media (max-width: 480px) {
  .twoShade-banner {
    padding: 50px 0 0;
  }

  .twoShade-banner__wrapper {
    gap: 30px;
  }

  .twoShade-banner__title {
    gap: 15px;
    text-align: center;
    align-items: center;
  }
  .twoShade-banner__logo img {
    max-width: 200px;
    max-height: 65px;
  }
  .twoShade-banner__text p {
    font-size: 14px;
    line-height: 20px;
  }
  .twoShade-banner__image img {
    max-height: 300px;
    min-height: 300px;
  }

  .twoShade-banner__image--vector img {
    min-height: unset;
  }
}
