html {
  /* font-size: 100%; 16px */
  scroll-behavior: smooth;
}

*,
*::before,
*::after {
  box-sizing: border-box;
}

:root {
  --step-0: 1rem;          /* 16 px body text                   */
  --step-1: 1.125rem;      /* h5                                */
  --step-2: 1.266rem;      /* h4                                */
  --step-3: 1.424rem;      /* h3                                */
  --step-4: 1.602rem;      /* h2                                */
  --step-5: 1.802rem;      /* h1                                */
}
h1 { font-size: var(--step-5); line-height: 1.1; text-wrap: balance;}
h2 { font-size: var(--step-4); margin-top: 0;}
body, p { font-size: var(--step-2); }
body, body * {
  font-feature-settings: "kern" 1, "liga" 1, "tnum" 1;
  font-family: "Poppins", sans-serif;
  line-height: 1.4;
  /* -webkit-font-smoothing: antialiased; */
  -moz-osx-font-smoothing: grayscale;
}
p {
  margin: 0 0 1em 0;
  word-wrap: normal;
  white-space: normal;
  strong {
    color: #fff
  }

  &:last-of-type {
    margin-bottom: 0;
  }
}
h2 {
  color: #DD3A31;
  font-family: "Poppins";
  font-size: 48px;
  font-style: normal;
  font-weight: 600;
  line-height: 54px; /* 112.5% */
  text-wrap: balance;
}
a {
  color: #DD3A31;
  text-decoration: none;
  &:hover {
    text-decoration: underline;
  }
}

main {
  #block-texascavs-content {
    .text-formatted {
      video {
        width: 100%;
        height: auto;
        margin-top: 60px;

        @media (max-width: 767px) {
          margin-top: 40px;
        }
      }
    }

    h3.blue-heading {
      color: var(--Brand-Primary, #25408E);
      font-family: var(--font-serif);
      font-size: 32px;
      font-style: normal;
      font-weight: 800;
      line-height: 100%; /* 32px */
      letter-spacing: 1.6px;
      text-transform: uppercase;

      @media (max-width: 767px) {
        font-size: 23px !important;
      }
    }

    h3.red-heading {
      color: var(--Brand-Secondary, #DD3A31);
      text-align: center;
      font-family: var(--font-serif);
      font-size: 32px;
      font-style: normal;
      font-weight: 700;
      line-height: 94%; /* 30.08px */
      letter-spacing: 0.64px;
      text-transform: uppercase;

      @media (max-width: 767px) {
        font-size: 23px !important;
      }
    }

    h2 {
      color: #DD3A31;
      font-family: "Podkova", serif;
      font-size: 36px;
      font-style: normal;
      font-weight: 700;
      line-height: 94%; /* 33.84px */
      letter-spacing: 0.72px;
      text-transform: uppercase;
      text-wrap: balance;
    }

    span.blue-text {
      color: var(--Brand-Primary, #25408E);
      font-family: inherit;
    }

    p {
      font-family: "Poppins", sans-serif;
      font-size: 19px;
      font-style: normal;
      font-weight: 400;
      line-height: 163%;
      strong {
        color: inherit;
      }
      @media (max-width: 767px) {
        font-size: 16px;
        line-height: 1.4;
      }
      &.featured {
        color: var(--Brand-Secondary);
        text-align: center;
        font-family: "Podkova", serif;
        font-size: 38px;
        font-style: normal;
        font-weight: 800;
        line-height: 1.4;
        letter-spacing: -1.52px;
        max-width: 75%;
        margin-bottom: 50px;
        display: block;
        margin-right: auto;
        margin-left: auto;

        @media (max-width: 767px) {
          font-size: 23px;
          letter-spacing: -0.92px;
          margin-bottom: 40px;
        }
      }
      &.large-text {
        color: var(--color-document-black);
        font-family: "Poppins", sans-serif;
        font-size: 25px;
        font-style: normal;
        font-weight: 400;
        line-height: 170%;

        @media (max-width: 767px) {
          font-size: 16px;
          line-height: 150%;
        }
      }

      &.white-text {
        color: #fff;
      }

      &.red-text {
        color: #DD3A31 !important;
      }

      &.disclaimer {
        text-align: center;
        font-family: var(--font-sans);
        font-size: 15px;
        font-style: normal;
        font-weight: 400;
        line-height: 21.88px; /* 145.867% */
        letter-spacing: -0.04px;
      }
      &.important-notice {
        text-align: center;
        border-radius: 15px;
        padding: 35px 40px;
        border: 2px solid #4AA8DE;
        max-width: 950px;
        margin: 40px auto;
        strong {
          text-transform: uppercase;
          margin-top: 20px;
        }
        @media (max-width: 549px) {
          padding: 20px;
        }
      }
    }
    .wysiwyg-button {
      color: #fff;
      border: 1px solid transparent;
      text-decoration: none;
      text-align: center;
      font-family: "Poppins", sans-serif;
      font-size: 30px;
      font-style: normal;
      font-weight: 600;
      line-height: 14px; /* 46.667% */
      text-transform: capitalize;
      border-radius: 12px;
      background: #DD3A31;
      display: inline-block;
      padding: 30px 40px;
      margin-top: 20px;
      transition: all ease 0.3s;
      &:hover {
        background: #FFF;
        border: 1px solid #DD3A31;
        color: #282846 !important;
      }
      @media (max-width: 549px) {
        font-size: 18px;
        padding: 18px 40px;
      }
    }

    .blue-button {
      color: #fff;
      border: 1px solid transparent;
      text-decoration: none;
      text-align: center;
      font-family: "Poppins", sans-serif;
      font-size: 30px;
      font-style: normal;
      font-weight: 600;
      line-height: 14px; /* 46.667% */
      text-transform: capitalize;
      border-radius: 12px;
      background: var(--Tertiary, #4AA8DE);
      display: inline-block;
      padding: 30px 40px;
      transition: all ease 0.3s;
      &:hover {
        background: #FFF;
        border: 1px solid #DD3A31;
        color: #282846 !important;
      }
      @media (max-width: 549px) {
        font-size: 18px;
        padding: 18px 40px;
      }
    }

    hr {
      display: block;
      max-width: 360px;
      height: 4px;
      background-color: #25408E;
      border: none;
      margin-bottom: 40px;
      margin-top: -5px;

      @media (max-width: 767px) {
        max-width: 55%;
        margin-bottom: 30px;
        margin-top: 10px;
      }
    }
    ul.multi-column {
      column-count: 3;
      column-gap: 87px;
      column-width: 282px;
      padding-left: 0;
      display: block;
      margin-top: 35px;
      max-width: 1020px;
      margin-right: auto;
      margin-left: auto;
      > li {
      max-width: 100%;
      break-inside: avoid;
      list-style: none;
      color: #25408E;
      text-align: center;
      font-family: "Poppins", sans-serif;
      font-size: 21px;
      font-style: normal;
      font-weight: 400;
      line-height: 120%; /* 25.2px */
      margin-bottom: 15px;
      }
    }
    .three-col-cta {
      margin-top: 60px;
      margin-bottom: 30px;
      display: flex;
      > div {
        flex: 1 1 410px;
        padding: 0 30px;
        h3 {
          text-align: center;
          color: #DD3A31;
          font-family: "Podkova", serif;
          font-size: 36px;
          font-style: normal;
          font-weight: 700;
          line-height: 110%; /* 39.6px */
          text-wrap: balance;
        }
        p {
          text-align: center;
          text-wrap: balance;
          a {
            color: #25408E !important;
            white-space: nowrap;
            &:hover {
              color: #DD3A31 !important;
            }
          }
        }
        &:nth-child(2) {
          border-right: solid 2px #4AA8DE;
          border-left: solid 2px #4AA8DE;
        }
      }
      @media (max-width: 949px) {
        margin-top: 30px;
        flex-wrap: wrap;
        gap: 30px;
        > div {
          flex: 1 1 100%;
          padding: 0;
          h3 {
            font-size: 33px;
            margin-bottom: 20px !important;
          }
          &:nth-child(2) {
            border-right: none;
            border-left: none;
          }
        }
      }
    }
  }
}