/* Typography global styles */
body {
  font-family: var(--site-font, "Public Sans", sans-serif);
  font-size: var(--font-size-2, 1.125rem);
  font-weight: var(--font-weight-4, 400);
  line-height: var(--font-lineheight-3, 1.5);
  color: var(--black, #000);
  @media (min-width: 768px) {
    font-size: calc(var(--font-size-2) + var(--ratio));
  }
  overflow-x: hidden; // fixes scroll bar caused by full-bleed class
}

/* TYPOGRAPHY */
h1.page-title {
  margin: 0 0 0 0;
  padding: 0 0 var(--s-3) 0;
}

main {
  h2:first-child {
    margin-top: 0px;
  }
}

// paragraph margin
p {
  margin-bottom: calc(var(--s-2) + var(--ratio));
}

/* New styles, need home */
ul,
ol {
  margin-bottom: calc(var(--s-2) + var(--ratio));
}

ul li,
ol li {
  margin-bottom: calc(var(--s-1) + var(--ratio));
}

main ol li,
main ul li {
  margin-left: var(--s-4, 2rem);
}

main ol li {
  padding: 0 16px;
  margin-bottom: calc(var(--s-1) + var(--ratio));
}

/* Update position list element */
main ul li,
main ol li {
  list-style-position: outside;
}

h1,
.h1 {
  font-size: calc(var(--font-size-10) + var(--ratio));
  margin-top: calc(var(--s-5) + var(--ratio));
  margin-bottom: calc(var(--s-4) + var(--ratio));
  font-weight: var(--font-weight-7, 700);
  line-height: var(--font-lineheight-1);
}

h2,
.h2 {
  font-size: calc(var(--font-size-8) + var(--ratio));
  margin-top: calc(var(--s-4) + var(--ratio));
  margin-bottom: calc(var(--s-3) + var(--ratio));
  font-weight: var(--font-weight-7, 700);
  line-height: var(--font-lineheight-2);
}

h3,
.h3 {
  font-size: calc(var(--font-size-6) + var(--ratio));
  margin-top: calc(var(--s-3) + var(--ratio));
  margin-bottom: calc(var(--s-2) + var(--ratio));
  font-weight: var(--font-weight-7, 700);
  line-height: var(--font-lineheight-3);
}

h4,
.h4 {
  font-size: calc(var(--font-size-4) + var(--ratio));
  margin-top: calc(var(--s-3) + var(--ratio));
  margin-bottom: calc(var(--s-2) + var(--ratio));
  font-weight: var(--font-weight-7, 700);
  line-height: var(--font-lineheight-4);
}

h5,
.h5 {
  font-size: calc(var(--font-size-2) + var(--ratio));
  margin-top: calc(var(--s-3) + var(--ratio));
  margin-bottom: calc(var(--s-2) + var(--ratio));
  font-weight: var(--font-weight-7, 700);
  line-height: var(--font-lineheight-5);
}

h6,
.h6 {
  font-size: calc(var(--font-size-sm) + var(--ratio));
  margin-top: calc(var(--s-3) + var(--ratio));
  margin-bottom: calc(var(--s-2) + var(--ratio));
  font-weight: var(--font-weight-7, 700);
  line-height: var(--font-lineheight-5);
}

.text-lead,
.lead {
  font-size: var(--font-size-4, 1.4375rem);
  font-size: calc(var(--font-size-4) + var(--ratio));
}
.text-small,
.text-sm {
  font-size: var(--font-size-sm, 0.875rem);
  font-size: calc(var(--font-size-sm) + var(--ratio));
}

// Mobile headings
@media (max-width: 767px) {
  h1,
  .h1 {
    font-size: var(--font-size-9, 2.625rem);
  }

  h2,
  .h2 {
    font-size: var(--font-size-7, 2.0625rem);
  }

  h3,
  .h3 {
    font-size: var(--font-size-5, 1.625rem);
  }

  h4,
  .h4 {
    font-size: var(--font-size-3, 1.25rem);
  }

  h5,
  .h5 {
    font-size: var(--font-size-1, 1rem);
  }

  h2:first-child,
  figure ~ h2:first-of-type {
    margin-top: 0px;
  }

  .text-lead,
  .lead {
    font-size: var(--font-size-3, 1.25rem);
  }
  .text-small,
  .text-sm {
    font-size: var(--font-size-sm, 0.875rem);
  }
}

/* lists */

ul.list-highlight {
  li {
    list-style: none;
    background-color: var(--gray-100, #f9f9fa);
    padding: var(--s-3, 24px);
    margin-bottom: calc(var(--s-2) + var(--ratio));
    margin-left: 0;
    font-size: calc(var(--font-size-5) + var(--ratio));
    font-weight: var(--font-weight-7, 700);
    span.has-black-color {
      margin-top: calc(1rem + var(--ratio));
      font-size: var(--font-size-2, 1.125rem);
      font-size: calc(var(--font-size-2) + var(--ratio));
      font-weight: var(--font-weight-4, 400);
      display: block;
      line-height: var(--font-lineheight-3, 1.5);
    }
  }
}

/* Remove any margins from tags in Gutenberg blocks */
.cagov-stack h1,
.cagov-stack h2,
.cagov-stack h3,
.cagov-stack h4,
.cagov-card h1,
.cagov-card h2,
.cagov-card h3,
.cagov-card h4,
.cagov-card ul {
  margin: 0;
}

/* Image captions */
figure {
  background: none;
  border: none;
  figcaption {
    padding-left: 0;
    font-size: calc(var(--font-size-sm) + var(--ratio));
  }
}
