:root {
  --pre-blue: #1c2f67;
  --blue: #4266d2;
  --blue-dark: #2c4695;
  --green: #9fce22;
  --red: #df0032;
  --orange: #eb5a00;
  --grey: #ccd4ee;
  --grey-light: #f0f3ff;
  --white: #ffffff;
  --body-bg: #fbfcff;
  --font-57-condensed: "Helvetica LT Pro 57 Condensed";
  --font-63-medium-extended: "Helvetica LT Pro 63 Medium Extended";
  --font-77-bold-condensed: "Helvetica LT Pro 77 Bold Condensed";
  --font-93-black-extended: "Helvetica LT Pro 93 Black Extended";
  --size-xxl: clamp(11rem, 2.868vw + 10.082rem, 14rem);
  --size-h1: clamp(4rem, 1.912vw + 3.388rem, 6rem);
  --line-height-h1: clamp(4.4rem, 1.53vw + 3.911rem, 6rem);
  --size-h2: clamp(4.8rem, 1.147vw + 4.433rem, 6rem);
  --line-height-h2: clamp(5.8rem, 0.191vw + 5.739rem, 6rem);
  --size-xs: 1.2rem;
  --size-default: 2.2rem;
  --size-large: clamp(3.2rem, 0.956vw + 2.894rem, 4.2rem);
  --size-cta: 1.6rem;
  --size-slider-head: 3.2rem;
  --line-height-slider-head: 3.4rem;
  --size-slider-bigger-head: clamp(4rem, 1.147vw + 3.633rem, 5.2rem);
  --line-height-slider-bigger-head: 5.2rem;
  --line-height-large: clamp(3.4rem, 1.147vw + 3.033rem, 4.6rem);
  --cta-padding: 1.2rem 2rem;
  --cta-radius: 99rem;
  --content-width: 136rem;
}

@font-face {
  font-family: "Helvetica LT Pro 57 Condensed";
  src: url("./fonts/helvetica-neue-lt-pro-57-condensed.woff2") format("woff2");
}

@font-face {
  font-family: "Helvetica LT Pro 63 Medium Extended";
  src: url("./fonts/helvetica-neue-lt-pro-63-medium-extended.woff2") format("woff2");
}

@font-face {
  font-family: "Helvetica LT Pro 77 Bold Condensed";
  src: url("./fonts/helvetica-neue-lt-pro-77-bold-condensed.woff2") format("woff2");
}

@font-face {
  font-family: "Helvetica LT Pro 93 Black Extended";
  src: url("./fonts/helvetica-neue-lt-pro-93-black-extended.woff2") format("woff2");
}

.sr-only {
  position: absolute;
  width: 0.1rem;
  height: 0.1rem;
  padding: 0;
  margin: -0.1rem;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  border: 0;
}

html {
  font-size: 62.5%;
}

*,
*::before,
*::after {
  margin: 0;
  padding: 0;
  box-sizing: border-box;
  letter-spacing: 0;
}

body {
  font-family: var(--font-57-condensed);
  font-size: var(--size-default);
  color: var(--pre-blue);
  line-height: 100%;
  letter-spacing: -2%;
  display: flex;
  flex-flow: column;
  /* gap: 4rem; */
  background-color: var(--body-bg);
}

img {
  max-width: 100%;
  display: block;
}

 .svg-container object {
        max-width: 100%;
      }

main {
  display: flex;
  flex-flow: column nowrap;
  gap: 2rem;
  padding-inline: 1.5rem;
  min-height: 100vh;
  max-width: var(--content-width);
  width: 100%;
  margin: 0 auto;
}

/* colors */
.text-color__pre-blue {
  color: var(--pre-blue);
}
.text-color__blue {
  color: var(--blue);
}
.text-color__blue-dark {
  color: var(--blue-dark);
}
.text-color__green {
  color: var(--green);
}
.text-color__red {
  color: var(--red);
}
.text-color__orange {
  color: var(--orange);
}
.text-color__grey {
  color: var(--grey);
}
.text-color__grey-light {
  color: var(--grey-light);
}
.text-color__white {
  color: var(--white);
}

.background-color__pre-blue {
  background-color: var(--pre-blue);
}
.background-color__blue {
  background-color: var(--blue);
}
.background-color__blue-dark {
  background-color: var(--blue-dark);
}
.background-color__green {
  background-color: var(--green);
}
.background-color__red {
  background-color: var(--red);
}
.background-color__orange {
  background-color: var(--orange);
}
.background-color__grey {
  background-color: var(--grey);
}
.background-color__grey-light {
  background-color: var(--grey-light);
}

/* fonts and sizes */
.h1 {
  font-family: var(--font-93-black-extended);
  font-size: var(--size-h1);
  line-height: var(--line-height-h1);
  letter-spacing: -0.2rem;
  text-align: center;
  color: var(--pre-blue);
  margin-top: 2rem;
}

.hr {
  height: 0.1rem;
}

.bold {
  font-family: var(--font-77-bold-condensed);
}

.mobile-br {
  display: inline;
}
.desktop-br {
  display: none;
}
.nowrap {
  white-space: nowrap;
}

object {
  display: block;
}

.strip-mobile {
  width: 100%;
  max-height: 12rem;
  height: fit-content;
}

.strip-desktop,
.city-desktop {
  display: none;
}

.text-center {
  text-align: center;
}
.text-left {
  text-align: left;
}
.margin-0-auto {
  margin: 0 auto;
}
.breakout {
  width: 100vw;
  margin-inline: calc(50% - 50vw);
}

section {
  margin-block: 4rem;
}

#banner,
#cookies {
  background-color: var(--pre-blue);
}
.banner {
  display: flex;
  flex-flow: row;
  justify-content: space-between;
  align-items: center;
  background-color: var(--pre-blue);
  padding: 0 1.8rem;
  min-height: 6rem;
  max-width: var(--content-width);
  margin: 0 auto;
}

.hero {
  display: flex;
  flex-flow: column nowrap;
  gap: 4rem;
}

.hero-middle-part {
  display: flex;
  flex-flow: column;
  padding: 2rem;
  gap: 4rem;
  border-radius: 2rem;
  max-width: 69rem;
  margin: 0 auto;
}

.city-mobile {
  height: auto;
}

.index-intro-wrapper {
  display: flex;
  flex-flow: column;
  padding: 2rem;
  gap: 4rem;
  max-width: 97rem;
  margin: 0 auto;
}
.index-intro-wrapper p {
  font-size: var(--size-large);
  font-family: var(--font-77-bold-condensed);
  line-height: var(--line-height-large);
  letter-spacing: -0.1rem;
}

.cookies-link {
  font-size: var(--size-xs);
  line-height: 2.5rem;
  letter-spacing: -0.1rem;
}

.cookies-link:hover {
  color: var(--grey-light);
}

.cta {
  padding: var(--cta-padding);
  font-family: var(--font-63-medium-extended);
  font-size: var(--size-cta);
  line-height: 1;
  border-radius: var(--cta-radius);
  text-decoration: none;
  text-transform: uppercase;
  max-height: 3.8rem;
}

.cta.background-color__blue:hover {
  background-color: var(--blue-dark);
}

.energo-index {
  display: flex;
  flex-flow: column;
  gap: clamp(4rem, 1.912vw + 3.388rem, 6rem);
}

.pill {
  font-family: var(--font-63-medium-extended);
  font-size: var(--size-cta);
  line-height: 2rem;
  color: var(--pre-blue);
  letter-spacing: -0.1rem;
  border-radius: var(--cta-radius);
  padding: var(--cta-padding);
  max-width: 54rem;
  margin: 0 auto;
}

.balance-text {
  font-family: var(--font-93-black-extended);
  font-size: var(--size-large);
  line-height: var(--line-height-large);
  letter-spacing: -0.18rem;
}
.balance-text__number {
  font-size: var(--size-xxl);
  line-height: 15.5rem;
}

.balance-line {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  /* height: clamp(1.6rem, 0.765vw + 1.355rem, 2.4rem); */
  border-radius: var(--cta-radius);
  position: relative;
  margin-top: 6rem;
}
.balance-line .box {
  height: clamp(1.6rem, 0.765vw + 1.355rem, 2.4rem);
}
.balance-line .red {
  background-color: var(--red);
  border-top-left-radius: var(--cta-radius);
  border-bottom-left-radius: var(--cta-radius);
}
.balance-line .orange {
  background-color: var(--orange);
}
.balance-line .blue {
  background-color: var(--blue);
  overflow: visible;
}
.balance-line .green {
  background-color: var(--green);
  border-bottom-right-radius: var(--cta-radius);
  border-top-right-radius: var(--cta-radius);
}

.balance-line .blue:before {
  content: "\25C0";
  display: inline-block;
  transform: rotate(-90deg);
  position: relative;
  top: -3.4rem;
  left: 3rem;
  font-size: clamp(5.6rem, 0.956vw + 5.294rem, 6.6rem);
}
.energo-how-to-read {
  display: flex;
  flex-flow: column;
  gap: 4rem;
  border-radius: 2rem;
  padding: 2rem;
}

.energo-how-to-read .text-intro {
  display: flex;
  flex-flow: column;
  gap: 2rem;
  text-align: left;
  max-width: 48rem;
}

.energo-how-to-read h2 {
  font-family: var(--font-77-bold-condensed);
  font-size: 3.2rem;
}

.energo-how-to-read p {
  margin: 0 auto;
}

.energo-details-pills {
  display: grid;
  grid-template-columns: 1fr;
  gap: 2rem;
  width: 100%;
  margin: 0 auto;
}

.energo-details-pills .pill {
  width: 100%;
  max-width: 29rem;
  padding: 0;
}

.pill summary {
  display: flex;
  flex-flow: row nowrap;
  justify-content: space-between;
  align-items: center;
  list-style-type: none;
  gap: 1rem;
  padding: 1.2rem 2rem 1.2rem 2rem;
  width: 100%;
  height: 6rem;
  border-radius: var(--cta-radius);
  cursor: pointer;
}

.pill h3 {
  font-family: var(--font-63-medium-extended);
  font-size: clamp(1.5rem, 0.096vw + 1.469rem, 1.6rem);
  color: var(--white);
  line-height: 100%;
}

.pill .img-wrapper {
  width: 4.1rem;
  height: 4.1rem;
}

.pill p {
  font-family: var(--font-57-condensed);
  font-size: var(--size-default);
  padding: 2rem 2rem 1.2rem 2rem;
}

.pill-red:is(:open) img {
  transform: rotate(-180deg);
}
.pill-orange:is(:open) img {
  transform: rotate(-180deg);
}
.pill-blue:is(:open) img {
  transform: rotate(-180deg);
}
.pill-green:is(:open) img {
  transform: rotate(-180deg);
}

.download-pdf {
  display: flex;
  flex-flow: column-reverse wrap;
  align-items: flex-start;
  justify-content: space-evenly;
  gap: 2rem;
  padding: 1rem;
}

.download-pdf__content-wrapper {
  display: flex;
  flex-flow: column;
  gap: 4rem;
}

.download-pdf__text {
  font-family: var(--font-77-bold-condensed);
  font-size: var(--size-large);
  line-height: var(--line-height-large);
}

.download-pdf__btn {
  display: inline-block;
  width: fit-content;
}

.download-pdf__image-wrapper {
  max-width: 36.4rem;
  max-height: 37.6rem;
}

.download-pdf__image-wrapper object {
  max-width: 100%;
  max-height: 37.6rem;
}

.take-test {
  display: flex;
  flex-flow: column-reverse wrap;
  align-items: flex-start;
  justify-content: space-evenly;
  gap: 2rem;
  padding: 1rem;
}

.take-test__content-wrapper {
  display: flex;
  flex-flow: column;
  gap: 4rem;
}

.take-test__text {
  font-family: var(--font-77-bold-condensed);
  font-size: var(--size-large);
  line-height: var(--line-height-large);
}

.take-test__btn {
  display: inline-block;
  width: fit-content;
}

.take-test__image-wrapper {
  max-width: 38.6rem;
  max-height: 38.6rem;
}

.take-test__image-wrapper object {
  max-width: 100%;
  max-height: 38.6rem;
}

.iep-parts {
  display: flex;
  flex-direction: column;
  gap: 4rem;
}

.iep-parts__heading {
  font-family: var(--font-93-black-extended);
  font-size: var(--size-h2);
  line-height: var(--line-height-h2);
}

.slick-dots {
  bottom: -50px !important;
}

.iep-parts__slider-card {
  display: flex;
  flex-direction: column;
  gap: 6rem;
  max-width: 67rem;
  border-radius: 2rem;
  padding: 2rem;
  margin: 0 auto;
}

.iep-parts__slider-icon-wrapper {
  max-width: clamp(6.4rem, 10.707vw + 2.974rem, 17.6rem);
  max-height: clamp(6.4rem, 10.707vw + 2.974rem, 17.6rem);
}

.iep-parts-icon {
  max-width: 100%;
  max-height: clamp(6.4rem, 10.707vw + 2.974rem, 17.6rem);
}

.iep-parts__slider-content-wrapper {
  display: flex;
  flex-flow: column;
  gap: 2rem;
}

.iep-parts__slider-heading {
  font-family: var(--font-77-bold-condensed);
  font-size: var(--size-slider-head);
  line-height: var(--line-height-slider-head);
}

.key-findings {
  display: flex;
  flex-direction: column;
  gap: 4rem;
}

.key-findings__heading {
  font-family: var(--font-93-black-extended);
  font-size: var(--size-h2);
  line-height: var(--line-height-h2);
}

.slick-dots {
  bottom: -50px !important;
}

.key-findings__slider-card {
  display: flex;
  flex-direction: column;
  gap: 6rem;
  max-width: 44rem;
  border-radius: 2rem;
  padding: 2rem;
  margin: 0 auto;
}

.key-findings__slider-icon-wrapper {
  width: 8.5rem;
  height: 7.5rem;
}

.key-findings-icon {
  width: 8.5rem;
  height: 7.5rem;
}

.key-findings__slider-content-wrapper {
  display: flex;
  flex-flow: column;
  gap: 2rem;
}

.key-findings__slider-heading {
  font-family: var(--font-77-bold-condensed);
  font-size: var(--size-slider-bigger-head);
  line-height: var(--line-height-slider-bigger-head);
}

.key-findings__slider-heading.bigger {
  font-size: 5.2rem;
}

.key-findings__slider-text {
  letter-spacing: -0.1rem;
}

@media screen and (min-width: 40em) {
  .energo-how-to-read .text-intro {
    text-align: center;
    margin: 0 auto;
  }
}

@media screen and (min-width: 47em) {
  .mobile-br {
    display: none;
  }
  .desktop-br {
    display: inline;
  }
  .strip-mobile,
  .city-mobile {
    display: none;
  }
  .strip-desktop,
  .city-desktop {
    display: block;
    width: 100%;
    height: 100%;
    margin-top: -0.1rem;
  }

  .hero-bottom-part {
    margin-top: -5rem;
  }

  .energo-how-to-read {
    padding: 4rem 2rem;
  }

  .energo-how-to-read .text-intro {
    text-align: center;
  }

  .energo-details-pills .pill {
    width: 100%;
    max-width: 55rem;
  }

  .download-pdf,
  .take-test {
    flex-flow: row;
    align-items: center;
  }

  .take-test__content-wrapper {
    max-width: 33rem;
  }
  .key-findings__slider-content-wrapper {
    max-width: 30rem;
  }
}

@media screen and (min-width: 64em) {
  .energo-details-pills {
    grid-template-columns: 1fr 1fr;
  }
  .energo-details-pills .pill {
    width: 100%;
    max-width: 65rem;
  }

  .slick-slide {
    padding: 0 1rem;
  }

  .iep-parts__slider-icon-wrapper,
  .iep-parts__slider-icon-wrapper .svg-container,
  .iep-parts-icon {
    width: 12rem;
    height: 12rem;
  }
}

@media screen and (min-width: 80em) {
  main {
    /* padding-inline: 0.25rem; */
    padding-inline: 0;
  }

  .iep-parts__slider-card,
  .key-findings__slider-card {
    /* flex-direction: row; */
    gap: 3rem;
  }

  .iep-parts__slider-icon-wrapper,
  .iep-parts__slider-icon-wrapper .svg-container,
  .iep-parts-icon {
    width: 17.6rem;
    height: 17.6rem;
  }
}

@media screen and (min-width: 118em) {
  .hero-bottom-part {
    margin-top: -20rem;
  }
}
