.b-ielts-banner {
  width: 100%;
  max-width: 2360px;
  border-radius: 1rem;
  overflow: hidden;
  margin-inline: auto;
  container-type: inline-size;
  background: #fff;
}

.b-ielts-banner * {
  box-sizing: border-box;
}

.b-ielts-banner img {
  display: block;
}

.b-ielts-banner .elts-banner__canvas {
  --u: calc(100cqi / 2360);
  position: relative;
  width: 100%;
  aspect-ratio: 1180 / 571;
  overflow: clip;
  background: #fff;
  isolation: isolate;
  -webkit-font-smoothing: antialiased;
}

.b-ielts-banner .elts-banner__background,
.b-ielts-banner .elts-banner__corner,
.b-ielts-banner .elts-banner__glow,
.b-ielts-banner .elts-banner__photo,
.b-ielts-banner .elts-banner__wave,
.b-ielts-banner .elts-banner__promo-shape,
.b-ielts-banner .elts-banner__promo-pill,
.b-ielts-banner .elts-banner__promo-rays,
.b-ielts-banner .elts-banner__course-underline,
.b-ielts-banner .elts-banner__detail-icon,
.b-ielts-banner .elts-banner__price-shape,
.b-ielts-banner .elts-banner__price-underline,
.b-ielts-banner .elts-banner__discount-shape,
.b-ielts-banner .elts-banner__discount-rays,
.b-ielts-banner .elts-banner__terms-icon {
  position: absolute;
  pointer-events: none;
}

.b-ielts-banner .elts-banner__background {
  inset: 0;
  width: 100%;
  height: 100%;
  z-index: 0;
}

.b-ielts-banner .elts-banner__corner--peach {
  left: 0;
  top: 0;
  width: calc(215.85 * var(--u));
  height: calc(121.8 * var(--u));
  z-index: 1;
}

.b-ielts-banner .elts-banner__corner--orange {
  left: 0;
  top: 0;
  width: calc(128.2 * var(--u));
  height: calc(60.24 * var(--u));
  z-index: 1;
}

.b-ielts-banner .elts-banner__glow {
  left: calc(902.66 * var(--u));
  top: calc(911.5 * var(--u));
  width: calc(1517.52 * var(--u));
  height: calc(272.4 * var(--u));
  z-index: 1;
}

.b-ielts-banner .elts-banner__photo {
  right: 0;
  top: 0;
  width: calc(2353.8 * var(--u));
  height: calc(1139 * var(--u));
  z-index: 2;
}

.b-ielts-banner .elts-banner__wave {
  left: calc(981.15 * var(--u) + 5px);
  top: calc(868.29 * var(--u) + 5px);
  width: calc(1378.85 * var(--u));
  height: calc(285.75 * var(--u));
  z-index: 3;
}

/* Promo shapes and accents */

.b-ielts-banner .elts-banner__promo {
  position: absolute;
  inset: 0;
  z-index: 4;
  pointer-events: none;
}

.b-ielts-banner .elts-banner__promo-shape {
  left: calc(437.3 * var(--u));
  top: calc(31.02 * var(--u));
  width: calc(910.61 * var(--u));
  height: calc(148.2 * var(--u));
}

.b-ielts-banner .elts-banner__promo-shape--accent {
  left: calc(161.84 * var(--u));
  top: calc(109.58 * var(--u));
  width: calc(1289.5 * var(--u));
  height: calc(196.88 * var(--u));
}

.b-ielts-banner .elts-banner__promo-pill {
  left: calc(98.12 * var(--u));
  top: calc(62.87 * var(--u));
  width: calc(255.1 * var(--u));
  height: calc(73.34 * var(--u));
}

.b-ielts-banner .elts-banner__promo-rays {
  transform-origin: center;
}

.b-ielts-banner .elts-banner__promo-rays--left {
  left: calc(387.53 * var(--u));
  top: calc(52.305 * var(--u));
  width: calc(86 * var(--u));
  height: calc(62 * var(--u));
  transform: translate(-50%, -50%) rotate(11deg);
}

.b-ielts-banner .elts-banner__promo-rays--right {
  left: calc(1424.9 * var(--u));
  top: calc(29.89 * var(--u));
  width: calc(89.46 * var(--u));
  height: calc(58.35 * var(--u));
}

.b-ielts-banner .elts-banner__badge,
.b-ielts-banner .elts-banner__headline,
.b-ielts-banner .elts-banner__course {
  position: absolute;
  margin: 0;
  z-index: 5;
}

.b-ielts-banner .elts-banner__badge {
  left: calc(139.98 * var(--u));
  top: calc(61.56 * var(--u));
  color: #fff;
  font-size: calc(51.048 * var(--u));
  font-weight: 700;
  line-height: normal;
  white-space: nowrap;
}

.b-ielts-banner .elts-banner__headline {
  inset: 0;
  color: #fff;
  font-weight: 700;
  pointer-events: none;
}

.b-ielts-banner .elts-banner__headline span {
  position: absolute;
  display: block;
  white-space: nowrap;
  line-height: normal;
}

.b-ielts-banner .elts-banner__headline-top {
  left: calc(889.135 * var(--u));
  top: calc(90.385 * var(--u));
  font-size: calc(75.917 * var(--u));
  transform: translate(-50%, -50%) rotate(-3deg);
  transform-origin: center;
}

.b-ielts-banner .elts-banner__headline-main {
  left: calc(225.02 * var(--u));
  top: calc(147.99 * var(--u));
  font-size: calc(119.112 * var(--u));
}

/* Course name */

.b-ielts-banner .elts-banner__course {
  inset: 0;
  pointer-events: none;
}

.b-ielts-banner .elts-banner__course-lead,
.b-ielts-banner .elts-banner__course-name {
  position: absolute;
  display: block;
  font-weight: 700;
  line-height: normal;
  white-space: nowrap;
}

.b-ielts-banner .elts-banner__course-lead {
  left: calc(122.97 * var(--u));
  top: calc(295.98 * var(--u));
  color: var(--ielts-navy);
  font-size: calc(99.478 * var(--u));
}

.b-ielts-banner .elts-banner__course-name {
  left: calc(622.7 * var(--u));
  top: calc(288.12 * var(--u));
  color: var(--ielts-orange);
  font-size: calc(109.949 * var(--u));
}

.b-ielts-banner .elts-banner__course-underline {
  left: calc(605.69 * var(--u));
  top: calc(409.9 * var(--u));
  width: calc(371.5 * var(--u));
  height: calc(24.97 * var(--u));
}

/* Course details */

.b-ielts-banner .elts-banner__details {
  position: absolute;
  left: calc(99.42 * var(--u));
  top: calc(437.42 * var(--u));
  width: calc(1038.35 * var(--u));
  height: calc(225.26 * var(--u));
  margin: 0;
  padding: 0;
  list-style: none;
  z-index: 5;
}

.b-ielts-banner .elts-banner__detail {
  position: absolute;
  left: 0;
  width: 100%;
  padding-left: calc(103.35 * var(--u));
  padding-top: calc(5.24 * var(--u));
  color: var(--ielts-navy);
  font-size: calc(32.723 * var(--u));
  font-weight: 700;
  line-height: normal;
  white-space: nowrap;
}

.b-ielts-banner .elts-banner__detail:nth-child(1) {
  top: 0;
}

.b-ielts-banner .elts-banner__detail:nth-child(2) {
  top: calc(57.62 * var(--u));
}

.b-ielts-banner .elts-banner__detail:nth-child(3) {
  top: calc(115.25 * var(--u));
}

.b-ielts-banner .elts-banner__detail:nth-child(4) {
  top: calc(171.56 * var(--u));
}

.b-ielts-banner .elts-banner__detail::before {
  content: "";
  position: absolute;
  left: 0;
  top: 0;
  width: calc(75.88 * var(--u));
  height: calc(53.69 * var(--u));
  border-radius: calc(16 * var(--u));
  background: #ffe4d1;
  opacity: 0.85;
}

.b-ielts-banner .elts-banner__detail-text {
  position: relative;
}

.b-ielts-banner .elts-banner__detail-icon {
  left: calc(19.62 * var(--u));
  top: calc(9.17 * var(--u));
  width: calc(36.63 * var(--u));
  height: calc(36.63 * var(--u));
  z-index: 2;
}

/* Price */

.b-ielts-banner .elts-banner__price {
  position: absolute;
  inset: 0;
  z-index: 7;
  color: #fff;
  pointer-events: none;
}

.b-ielts-banner .elts-banner__price-shape {
  left: calc(25.69 * var(--u));
  top: calc(701.96 * var(--u));
  width: calc(1330.2 * var(--u));
  height: calc(284.19 * var(--u));
}

.b-ielts-banner .elts-banner__price-divider {
  position: absolute;
  left: calc(495.81 * var(--u));
  top: calc(753.04 * var(--u));
  width: calc(5.236 * var(--u));
  height: calc(187.28 * var(--u));
  border-radius: calc(3 * var(--u));
  background: #fff;
  opacity: 0.95;
}

.b-ielts-banner .elts-banner__price-label,
.b-ielts-banner .elts-banner__price-deadline,
.b-ielts-banner .elts-banner__price-value,
.b-ielts-banner .elts-banner__price-old {
  position: absolute;
  display: block;
  font-weight: 700;
  line-height: normal;
  white-space: nowrap;
}

.b-ielts-banner .elts-banner__price-label {
  left: calc(122.97 * var(--u));
  top: calc(742.56 * var(--u));
  font-size: calc(62.828 * var(--u));
}

.b-ielts-banner .elts-banner__price-deadline {
  left: calc(122.97 * var(--u));
  top: calc(804.11 * var(--u));
  font-size: calc(79.844 * var(--u));
}

.b-ielts-banner .elts-banner__price-value {
  left: calc(533.75 * var(--u));
  top: calc(750.42 * var(--u));
  font-size: calc(138.745 * var(--u));
}

.b-ielts-banner .elts-banner__price-old {
  left: calc(1015.17 * var(--u));
  top: calc(870.9 * var(--u));
  font-size: calc(66.755 * var(--u));
  text-decoration: none;
}

.b-ielts-banner .elts-banner__price-underline {
  left: calc(117.08 * var(--u));
  top: calc(908.2 * var(--u));
  width: calc(346.7 * var(--u));
  height: calc(36.96 * var(--u));
}

.b-ielts-banner .elts-banner__price-strike {
  position: absolute;
  left: calc(1000.78 * var(--u));
  top: calc(922.13 * var(--u));
  width: calc(300.89 * var(--u));
  height: calc(6.545 * var(--u));
  border-radius: calc(3.3 * var(--u));
  background: #fff;
  transform: rotate(-2.5deg);
  transform-origin: center;
}

/* Discount sticker */

.b-ielts-banner .elts-banner__discount {
  position: absolute;
  inset: 0;
  z-index: 9;
  pointer-events: none;
}

.b-ielts-banner .elts-banner__discount-shape {
  left: calc(1007.9 * var(--u));
  top: calc(648.5 * var(--u));
  width: calc(298.13 * var(--u));
  height: calc(164.55 * var(--u));
}

.b-ielts-banner .elts-banner__discount-rays {
  left: calc(1226.765 * var(--u));
  top: calc(649.225 * var(--u));
  width: calc(87 * var(--u));
  height: calc(62 * var(--u));
  transform: translate(-50%, -50%) rotate(9deg);
  transform-origin: center;
}

.b-ielts-banner .elts-banner__discount-text {
  position: absolute;
  left: calc(1164.355 * var(--u));
  top: calc(721.98 * var(--u));
  color: #fa3d00;
  font-size: calc(99.478 * var(--u));
  font-weight: 700;
  line-height: normal;
  white-space: nowrap;
  transform: translate(-50%, -50%) rotate(9deg);
  transform-origin: center;
}

/* Fine print */

.b-ielts-banner .elts-banner__terms {
  position: absolute;
  inset: 0;
  z-index: 8;
  pointer-events: none;
}

.b-ielts-banner .elts-banner__terms-icon {
  left: calc(100.73 * var(--u));
  top: calc(1013.66 * var(--u));
  width: calc(49.71 * var(--u));
  height: calc(33.4 * var(--u));
}

.b-ielts-banner .elts-banner__terms-text {
  position: absolute;
  left: calc(180.53 * var(--u));
  top: calc(1003.18 * var(--u));
  margin: 0;
  color: var(--ielts-navy);
  font-size: calc(36.65 * var(--u));
  font-weight: 400;
  line-height: normal;
  white-space: nowrap;
}

.b-ielts-banner .elts-banner__sr-only {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  border: 0;
}

/* Adaptive: original header art, flowing 16px-minimum details, price and terms. */
@container (max-width: 64rem) {
  .b-ielts-banner .elts-banner__canvas {
    --u: calc(100cqi / 1550);
    display: grid;
    grid-template-columns: minmax(0, 1fr);
    grid-template-areas:
      "details"
      "price"
      "terms";
    row-gap: max(1.5rem, calc(24 * var(--u)));
    padding-top: calc(600 * var(--u));
    aspect-ratio: auto;
    background: var(--ielts-navy);
  }

  .b-ielts-banner .elts-banner__background,
  .b-ielts-banner .elts-banner__corner,
  .b-ielts-banner .elts-banner__glow,
  .b-ielts-banner .elts-banner__wave {
    display: none;
  }

  .b-ielts-banner .elts-banner__photo {
    right: 0;
    top: 0;
    width: 200%;
    height: 100%;
    max-width: none;
    object-fit: cover;
    object-position: right center;
    z-index: 2;
  }

  .b-ielts-banner .elts-banner__canvas::before {
    content: "";
    position: absolute;
    inset: 0;
    z-index: 3;
    pointer-events: none;
    background: linear-gradient(
      180deg,
      rgba(0, 0, 0, 0.14) 0%,
      rgba(0, 0, 0, 0.79) 100%
    );
  }

  .b-ielts-banner .elts-banner__promo-pill {
    left: calc(98.12 * var(--u));
    top: calc(62.87 * var(--u));
    width: max(4.5rem, calc(255.1 * var(--u)));
    height: max(1.5rem, calc(73.34 * var(--u)));
  }

  .b-ielts-banner .elts-banner__badge {
    left: calc(98.12 * var(--u));
    top: calc(62.87 * var(--u));
    display: flex;
    align-items: center;
    justify-content: center;
    width: max(4.5rem, calc(255.1 * var(--u)));
    height: max(1.5rem, calc(73.34 * var(--u)));
    padding: 0;
    color: #fff;
    font-size: max(1rem, calc(51.048 * var(--u)));
    line-height: 1;
    white-space: nowrap;
  }

  .b-ielts-banner .elts-banner__headline-top {
    font-size: max(1rem, calc(80 * var(--u)));
  }

  .b-ielts-banner .elts-banner__headline-main {
    font-size: max(1rem, calc(126 * var(--u)));
  }

  .b-ielts-banner .elts-banner__course {
    transform: translateY(calc(20 * var(--u)));
  }

  .b-ielts-banner .elts-banner__course-lead {
    color: #fff;
    font-size: max(1rem, calc(110 * var(--u)));
    text-shadow: 0 1px 2px rgba(0, 0, 0, 0.45);
  }

  .b-ielts-banner .elts-banner__course-name {
    font-size: max(1rem, calc(120 * var(--u)));
    color: #fff;
  }

  .b-ielts-banner .elts-banner__details {
    position: relative;
    inset: auto;
    grid-area: details;
    justify-self: start;
    width: calc(100% - 198.84 * var(--u));
    height: auto;
    margin: 0 0 0 calc(99.42 * var(--u));
    padding: 0;
    display: grid;
    grid-template-columns: minmax(0, 1fr);
    gap: max(0.5rem, calc(8 * var(--u)));
    list-style: none;
    z-index: 5;
  }

  .b-ielts-banner .elts-banner__detail:nth-child(n) {
    position: relative;
    inset: auto;
    width: auto;
    min-height: max(1.75rem, calc(64 * var(--u)));
    padding: 0 0 0 max(2.25rem, calc(112 * var(--u)));
    color: #fff;
    font-size: max(1rem, calc(40 * var(--u)));
    line-height: 1.35;
    white-space: normal;
    overflow-wrap: break-word;
    text-shadow: 0 1px 2px rgba(0, 0, 0, 0.45);
  }

  .b-ielts-banner .elts-banner__detail::before {
    top: 0;
    left: 0;
    width: max(1.75rem, calc(85 * var(--u)));
    height: max(1.75rem, calc(64 * var(--u)));
    border-radius: max(0.5rem, calc(18 * var(--u)));
    background: #ffe4d1;
    opacity: 1;
  }

  .b-ielts-banner .elts-banner__detail-icon {
    left: max(0.3125rem, calc(20.5 * var(--u)));
    top: max(0.3125rem, calc(10 * var(--u)));
    width: max(1.125rem, calc(44 * var(--u)));
    height: max(1.125rem, calc(44 * var(--u)));
  }

  .b-ielts-banner .elts-banner__price,
  .b-ielts-banner .elts-banner__discount {
    position: relative;
    inset: auto;
    grid-area: price;
    justify-self: start;
    width: min(calc(1330.2 * var(--u)), calc(100% - 51.38 * var(--u)));
    margin: 0 auto;
    transform: none;
  }

  .b-ielts-banner .elts-banner__price {
    height: max(6.5rem, calc(284.19 * var(--u)));
    color: #fff;
    z-index: 7;
    width: calc(100% - 10px);
    max-width: calc(1330.2 * var(--u));
  }

  .b-ielts-banner .elts-banner__discount {
    align-self: stretch;
    z-index: 9;
  }

  .b-ielts-banner .elts-banner__price-shape {
    left: 50%;
    top: 50%;
    transform: translate(-50%, -50%);
    width: 110%;
    height: 110%;
    object-fit: fill;
  }

  .b-ielts-banner .elts-banner__price-underline,
  .b-ielts-banner .elts-banner__discount-shape,
  .b-ielts-banner .elts-banner__discount-rays {
    object-fit: contain;
  }

  .b-ielts-banner .elts-banner__price-label,
  .b-ielts-banner .elts-banner__price-deadline,
  .b-ielts-banner .elts-banner__price-value,
  .b-ielts-banner .elts-banner__price-old {
    position: absolute;
    line-height: 1.1;
  }

  .b-ielts-banner .elts-banner__price-label {
    left: 5%;
    top: 14.29%;
    font-size: max(1rem, calc(62.828 * var(--u)));
  }

  .b-ielts-banner .elts-banner__price-deadline {
    left: 7.31%;
    top: 35.94%;
    font-size: max(1rem, calc(79.844 * var(--u)));
  }

  .b-ielts-banner .elts-banner__price-value {
    left: 38.19%;
    top: 17.05%;
    font-size: max(2rem, calc(146 * var(--u)));
    line-height: 1.05;
  }

  .b-ielts-banner .elts-banner__price-old {
    left: auto;
    right: 4%;
    top: 62%;
    font-size: max(1rem, calc(66.755 * var(--u)));
  }

  .b-ielts-banner .elts-banner__price-divider {
    left: 35.34%;
    top: 17.97%;
    width: max(3px, calc(5.236 * var(--u)));
    height: 65.9%;
  }

  .b-ielts-banner .elts-banner__price-underline {
    left: 6.87%;
    top: max(60%, calc(206.24 * var(--u)));
    width: 26.06%;
    height: 13%;
  }

  .b-ielts-banner .elts-banner__price-strike {
    left: 73.3%;
    top: calc(62% + max(0.7rem, calc(46 * var(--u))));
    width: 22.62%;
    height: 2.3%;
  }

  .b-ielts-banner .elts-banner__discount-shape {
    left: 73.84%;
    top: -18.81%;
    width: 22.41%;
    height: 57.9%;
  }

  .b-ielts-banner .elts-banner__discount-rays {
    left: 90.29%;
    top: -18.56%;
    width: 6.54%;
    height: 21.82%;
  }

  .b-ielts-banner .elts-banner__discount-text {
    left: 85.6%;
    top: 7.04%;
    font-size: max(1rem, calc(99.478 * var(--u)));
  }

  .b-ielts-banner .elts-banner__terms {
    position: relative;
    inset: auto;
    grid-area: terms;
    justify-self: start;
    display: flex;
    flex-wrap: wrap;
    align-items: flex-start;
    gap: max(0.5rem, calc(8 * var(--u)));
    width: calc(100% - 198.84 * var(--u));
    margin: 0 0 0 calc(100.73 * var(--u));
    padding: 0 0 max(1.5rem, calc(60 * var(--u)));
    z-index: 8;
  }

  .b-ielts-banner .elts-banner__terms-icon {
    position: static;
    inset: auto;
    flex: none;
    width: max(1.5rem, calc(49.71 * var(--u)));
    height: max(1.5rem, calc(33.4 * var(--u)));
    object-fit: contain;
    filter: brightness(0) invert(1);
  }

  .b-ielts-banner .elts-banner__terms-text {
    position: static;
    inset: auto;
    flex: 1 1 12rem;
    min-width: 0;
    margin: 0;
    color: #fff;
    font-size: max(1rem, calc(42 * var(--u)));
    line-height: 1.35;
    white-space: normal;
    overflow-wrap: break-word;
    text-shadow: 0 1px 2px rgba(0, 0, 0, 0.45);
  }
}
