body,
html {
  width: 100%;
  height: 100%;
  font-family: "Arial", sans-serif;
  line-height: 1.2;
  position: relative;
  background: white;
}

/* .wrap {
  width: 100%;
  height: 100%;
  max-width: 870px;
  max-height: 100%;
  margin: 0 auto;
  overflow: hidden;
  display: flex;
  flex-direction: column;
} */

.wrap {
  aspect-ratio: 870 / 1200;
  width: min(870px, 100%, 100vh * 0.725); /* 0.725 = 870/1200 */
  height: auto;
  max-height: 100vh;
  container-type: inline-size;
  margin: 0 auto;
  overflow: hidden;
  display: flex;
  flex-direction: column;
}

.top,
.bottom {
  /* flex: 0 0 75%; */
}

.top-scroll {
  overflow: auto;
  height: 100%;
}
.top {
  position: relative;
  flex: 0 1 auto; /* grow:0, shrink:1, basis:auto */
  min-height: 0; /* important: allow it to shrink inside flex */
  overflow: hidden;
}
.top:after {
  content: "";
  position: absolute;
  bottom: 0;
  left: 0;
  width: 100%;

  background: linear-gradient(
    to bottom,
    rgba(0, 0, 0, 0) 0%,
    rgba(0, 0, 0, 0.25) 100%
  );
  height: 10px;
  pointer-events: none;
}

.top {
}

.bottom {
  flex: 1 0 30.5%; /* grow into remaining space, base 25% */
  min-height: 30.5%;
  overflow: hidden;
}

.wrap img {
  width: 100%;
  max-width: 100%;
}

.section {
  padding: 3.678161%;
}

.section--grey {
  background: #e5e5e5;
}

.section--isi {
  /* min-height: 400px; */
  max-height: 100%;
  display: flex;
  flex-direction: column;

  padding: 0;
  overflow: auto;
  overflow-y: scroll;
  scrollbar-gutter: stable both-edges;

  /* Firefox */
  scrollbar-width: thin;
  scrollbar-color: #890c59 #d9d9d9;
}
.isi-wrap {
  padding: 3.678161% 5.5172415% 3.678161% 3.678161%;
}

.isi-wrap a {
  display: inline;
}

.isi-wrap p a {
  color: #c724b1;
}

.isi-wrap h2,
.isi-wrap p {
  /* font-size: 2.4137931vw; */
  font-size: 2.63157895cqw;
  color: black;
  margin-bottom: 0.75em;
}

.isi-wrap h2.tight,
.isi-wrap p.tight {
  margin-bottom: 0;
}

@media screen and (max-width: 800px) {
  .isi-wrap h2,
  .isi-wrap p {
    /* font-size: 18px; */
  }
}

.isi-wrap .smaller-content h2,
.isi-wrap .smaller-content p {
  font-size: 18px;
}

.isi-wrap h2,
.isi-wrap p strong {
  font-weight: bold;
  color: #890c59;
}
.isi-wrap p.reference {
  font-size: 18px;
}

.isi-wrap p.reference strong {
  color: black;
}
.isi-wrap p.reference {
  margin: 0.75em 0;
}

.isi-wrap::-webkit-scrollbar {
  width: 8px;
}

.isi-wrap::-webkit-scrollbar-track {
  background: #d9d9d9;
  border-radius: 8px;
}

.isi-wrap::-webkit-scrollbar-thumb {
  background-color: #890c59;
  border-radius: 8px;
  border: 2px solid #d9d9d9;
}

.isi-wrap::-webkit-scrollbar-thumb:hover {
  background-color: #890c59;
}

a {
  display: block;
}
.continue-button {
  margin-top: 3.2183908%;
  margin-bottom: 1.83908046%;
  margin-left: auto;
  margin-right: auto;
  width: 40.198511%;
}

img.alexion-logo {
  width: 28.50574713vw;
}

/* Media query for when browser wider than 870 */
@media screen and (min-width: 870px) {
  .wrap {
    /* width: 870px; */
    /* min-height: 1104px; */
  }

  .top {
    height: 830px;
  }

  .isi-wrap h2,
  .isi-wrap p {
    /* font-size: 21px; */
  }

  img.alexion-logo {
    width: 248px;
  }
}

@media screen and (max-width: 500px) {
  /* .wrap {
    height: auto;
    max-height: none;
  } */

  .bottom {
    min-height: 250px;
  }

  .wrap {
    aspect-ratio: auto;
    width: 100%;
    height: 100%;
    /* max-height: 100vh; */
    container-type: inline-size;
  }

  .section--grey {
    padding: 32px;
  }

  .section--isi {
    /* padding: 32px 16px 0; */
    background: white;
  }

  .isi-wrap {
    /* padding: 0 16px 32px; */
  }

  .isi-wrap a {
    word-break: break-word;
  }
  .continue-button {
    width: auto;
    margin: 28px -10px 16px -10px;
  }

  .isi-wrap h2,
  .isi-wrap p {
    font-size: 4.48vw;
  }
}

@media screen and (max-width: 500px) {
  .desktop-only {
    display: none;
  }
}
@media screen and (min-width: 501px) {
  .mobile-only {
    display: none;
  }
}

.legal {
  background: #2a1750;
  color: white;
  text-align: center;
  font-size: 14px;
  padding: 20px 6.896552%;
}

.nowrap {
  white-space: nowrap;
}

.pad-bottom {
  padding-bottom: 2em;
}
