﻿body {
  font-family: "Montserrat", sans-serif;
  font-style: normal;
  font-weight: 450;
  font-size: 1rem;
  line-height: 1.625rem;
  color: var(--slate-800);
}

h1, .h1-display,
h2, .h2-display,
h3, .h3-display,
h4, .h4-display,
h5, .h5-display,
h6, .h6-display {
  font-weight: 700;
}

.h1-text, .blog-body h2,
.h2-text, .blog-body h3,
.h3-text, .blog-body h4,
.h4-text, .blog-body h5,
.h5-text, .blog-body h6,
.h6-text {
  font-weight: 600;
}

h1, .h1-display {
  font-size: 1.875rem;
  line-height: 2.3125rem;
}

h2, .h2-display {
  font-size: 1.625rem;
  line-height: 2rem;
}

h3, .h3-display, .blog-body h2 {
  font-size: 1.4375rem;
  line-height: 1.8125rem;
}

h4, .h4-display, .blog-body h3 {
  font-size: 1.25rem;
  line-height: 1.625rem;
}

h5, .h5-display, .blog-body h4 {
  font-size: 1.125rem;
  line-height: 1.5rem;
}

h6, .h6-display, .blog-body h5 {
  font-size: 1.125rem;
  line-height: 1.5rem;
}

p.p-xxl, .p-xxl p {
  font-size: 1.375rem;
  line-height: 2rem;
  font-weight: 400;
  --parent-weight: 400;
}

p.p-lg, .p-lg p {
  font-size: 1.1875rem;
  line-height: 1.875rem;
  font-weight: 400;
  --parent-weight: 400;
}

p.p-md, .p-md p {
  font-size: 1.0625rem;
  line-height: 1.75rem;
}

p.p-sm, .p-sm p, figcaption.p-sm {
  font-size: 0.9375rem;
  line-height: 1.375rem;
  --parent-weight:500;
  font-weight: var(--parent-weight);
}

p + h1, p + .h1-display, p + h2, p + .h2-display,
p + h3, p + .h3-display, .blog-body p + h2,
p + h4, p + .h4-display, .blog-body p + h3,
p + h5, p + .h5-display, .blog-body p + h4,
p + h6, p + .h6-display, .blog-body p + h5 {
  margin-top: 1.5rem;
}

h1 + p, .h1-display + p,
h1 + .p-sm, .h1-display + .p-sm,
h1 + .p-md, .h1-display + .p-md,
h1 + .p-lg, .h1-display + .p-lg,
h1 + .p-xxl, .h1-display + .p-xxl {
  margin-top: 0.5rem;
}

h2 + p, h2 + .p-sm, h2 + .p-md, h2 + .p-lg, h2 + .p-xxl,
h2 + h1, h2 + h2, h2 + h3, h2 + h4, h2 + h5, h2 + h6,
h2 + .h1-display, h2 + .h2-display, h2 + .h3-display,
h2 + .h4-display, h2 + .h5-display, h2 + .h6-display,
h2 + .h1-text, h2 + .h2-text, h2 + .h3-text,
h2 + .h4-text, h2 + .h5-text, h2 + .h6-text, .h2-display + p, .h2-display + .p-sm, .h2-display + .p-md, .h2-display + .p-lg, .h2-display + .p-xxl,
.h2-display + h1, .h2-display + h2, .h2-display + h3, .h2-display + h4, .h2-display + h5, .h2-display + h6,
.h2-display + .h1-display, .h2-display + .h2-display, .h2-display + .h3-display,
.h2-display + .h4-display, .h2-display + .h5-display, .h2-display + .h6-display,
.h2-display + .h1-text, .h2-display + .h2-text, .h2-display + .h3-text,
.h2-display + .h4-text, .h2-display + .h5-text, .h2-display + .h6-text {
  margin-top: 0.5rem;
}

h3 + p, h3 + .p-sm, h3 + .p-md, h3 + .p-lg, h3 + .p-xxl,
h3 + h1, h3 + h2, h3 + h3, h3 + h4, h3 + h5, h3 + h6,
h3 + .h1-display, h3 + .h2-display, h3 + .h3-display,
h3 + .h4-display, h3 + .h5-display, h3 + .h6-display,
h3 + .h1-text, h3 + .h2-text, h3 + .h3-text,
h3 + .h4-text, h3 + .h5-text, h3 + .h6-text, .h3-display + p, .h3-display + .p-sm, .h3-display + .p-md, .h3-display + .p-lg, .h3-display + .p-xxl,
.h3-display + h1, .h3-display + h2, .h3-display + h3, .h3-display + h4, .h3-display + h5, .h3-display + h6,
.h3-display + .h1-display, .h3-display + .h2-display, .h3-display + .h3-display,
.h3-display + .h4-display, .h3-display + .h5-display, .h3-display + .h6-display,
.h3-display + .h1-text, .h3-display + .h2-text, .h3-display + .h3-text,
.h3-display + .h4-text, .h3-display + .h5-text, .h3-display + .h6-text, .blog-body h2 + p, .blog-body h2 + .p-sm, .blog-body h2 + .p-md, .blog-body h2 + .p-lg, .blog-body h2 + .p-xxl,
.blog-body h2 + h1, .blog-body h2 + h2, .blog-body h2 + h3, .blog-body h2 + h4, .blog-body h2 + h5, .blog-body h2 + h6,
.blog-body h2 + .h1-display, .blog-body h2 + .h2-display, .blog-body h2 + .h3-display,
.blog-body h2 + .h4-display, .blog-body h2 + .h5-display, .blog-body h2 + .h6-display,
.blog-body h2 + .h1-text, .blog-body h2 + .h2-text, .blog-body h2 + .h3-text,
.blog-body h2 + .h4-text, .blog-body h2 + .h5-text, .blog-body h2 + .h6-text {
  margin-top: 0.5rem;
}

h4 + p, h4 + .p-sm, h4 + .p-md, h4 + .p-lg, h4 + .p-xxl,
h4 + h1, h4 + h2, h4 + h3, h4 + h4, h4 + h5, h4 + h6,
h4 + .h1-display, h4 + .h2-display, h4 + .h3-display,
h4 + .h4-display, h4 + .h5-display, h4 + .h6-display,
h4 + .h1-text, h4 + .h2-text, h4 + .h3-text,
h4 + .h4-text, h4 + .h5-text, h4 + .h6-text, .h4-display + p, .h4-display + .p-sm, .h4-display + .p-md, .h4-display + .p-lg, .h4-display + .p-xxl,
.h4-display + h1, .h4-display + h2, .h4-display + h3, .h4-display + h4, .h4-display + h5, .h4-display + h6,
.h4-display + .h1-display, .h4-display + .h2-display, .h4-display + .h3-display,
.h4-display + .h4-display, .h4-display + .h5-display, .h4-display + .h6-display,
.h4-display + .h1-text, .h4-display + .h2-text, .h4-display + .h3-text,
.h4-display + .h4-text, .h4-display + .h5-text, .h4-display + .h6-text, .blog-body h3 + p, .blog-body h3 + .p-sm, .blog-body h3 + .p-md, .blog-body h3 + .p-lg, .blog-body h3 + .p-xxl,
.blog-body h3 + h1, .blog-body h3 + h2, .blog-body h3 + h3, .blog-body h3 + h4, .blog-body h3 + h5, .blog-body h3 + h6,
.blog-body h3 + .h1-display, .blog-body h3 + .h2-display, .blog-body h3 + .h3-display,
.blog-body h3 + .h4-display, .blog-body h3 + .h5-display, .blog-body h3 + .h6-display,
.blog-body h3 + .h1-text, .blog-body h3 + .h2-text, .blog-body h3 + .h3-text,
.blog-body h3 + .h4-text, .blog-body h3 + .h5-text, .blog-body h3 + .h6-text {
  margin-top: 0.4375rem;
}

h5 + p, h5 + .p-sm, h5 + .p-md, h5 + .p-lg, h5 + .p-xxl,
h5 + h1, h5 + h2, h5 + h3, h5 + h4, h5 + h5, h5 + h6,
h5 + .h1-display, h5 + .h2-display, h5 + .h3-display,
h5 + .h4-display, h5 + .h5-display, h5 + .h6-display,
h5 + .h1-text, h5 + .h2-text, h5 + .h3-text,
h5 + .h4-text, h5 + .h5-text, h5 + .h6-text, .h5-display + p, .h5-display + .p-sm, .h5-display + .p-md, .h5-display + .p-lg, .h5-display + .p-xxl,
.h5-display + h1, .h5-display + h2, .h5-display + h3, .h5-display + h4, .h5-display + h5, .h5-display + h6,
.h5-display + .h1-display, .h5-display + .h2-display, .h5-display + .h3-display,
.h5-display + .h4-display, .h5-display + .h5-display, .h5-display + .h6-display,
.h5-display + .h1-text, .h5-display + .h2-text, .h5-display + .h3-text,
.h5-display + .h4-text, .h5-display + .h5-text, .h5-display + .h6-text, .blog-body h4 + p, .blog-body h4 + .p-sm, .blog-body h4 + .p-md, .blog-body h4 + .p-lg, .blog-body h4 + .p-xxl,
.blog-body h4 + h1, .blog-body h4 + h2, .blog-body h4 + h3, .blog-body h4 + h4, .blog-body h4 + h5, .blog-body h4 + h6,
.blog-body h4 + .h1-display, .blog-body h4 + .h2-display, .blog-body h4 + .h3-display,
.blog-body h4 + .h4-display, .blog-body h4 + .h5-display, .blog-body h4 + .h6-display,
.blog-body h4 + .h1-text, .blog-body h4 + .h2-text, .blog-body h4 + .h3-text,
.blog-body h4 + .h4-text, .blog-body h4 + .h5-text, .blog-body h4 + .h6-text {
  margin-top: 0.375rem;
}

h6 + p, h6 + .p-sm, h6 + .p-md, h6 + .p-lg, h6 + .p-xxl,
h6 + h1, h6 + h2, h6 + h3, h6 + h4, h6 + h5, h6 + h6,
h6 + .h1-display, h6 + .h2-display, h6 + .h3-display,
h6 + .h4-display, h6 + .h5-display, h6 + .h6-display,
h6 + .h1-text, h6 + .h2-text, h6 + .h3-text,
h6 + .h4-text, h6 + .h5-text, h6 + .h6-text, .h6-display + p, .h6-display + .p-sm, .h6-display + .p-md, .h6-display + .p-lg, .h6-display + .p-xxl,
.h6-display + h1, .h6-display + h2, .h6-display + h3, .h6-display + h4, .h6-display + h5, .h6-display + h6,
.h6-display + .h1-display, .h6-display + .h2-display, .h6-display + .h3-display,
.h6-display + .h4-display, .h6-display + .h5-display, .h6-display + .h6-display,
.h6-display + .h1-text, .h6-display + .h2-text, .h6-display + .h3-text,
.h6-display + .h4-text, .h6-display + .h5-text, .h6-display + .h6-text, .blog-body h5 + p, .blog-body h5 + .p-sm, .blog-body h5 + .p-md, .blog-body h5 + .p-lg, .blog-body h5 + .p-xxl,
.blog-body h5 + h1, .blog-body h5 + h2, .blog-body h5 + h3, .blog-body h5 + h4, .blog-body h5 + h5, .blog-body h5 + h6,
.blog-body h5 + .h1-display, .blog-body h5 + .h2-display, .blog-body h5 + .h3-display,
.blog-body h5 + .h4-display, .blog-body h5 + .h5-display, .blog-body h5 + .h6-display,
.blog-body h5 + .h1-text, .blog-body h5 + .h2-text, .blog-body h5 + .h3-text,
.blog-body h5 + .h4-text, .blog-body h5 + .h5-text, .blog-body h5 + .h6-text {
  margin-top: 0.375rem;
}

h2 + p.p-xxl, h2 + .p-xxl p,
.h2-display + p.p-xxl, .h2-display + .p-xxl p {
  margin-top: 0.6875rem;
}

h2.h-underline + p.p-xxl, h2.h-underline + .p-xxl p,
.h2-display.h2-underline + p.p-xxl, .h2-display.h-underline + .p-xxl p,
h2.h-underline + p.p-lg, h2.h-underline + .p-lg p,
.h2-display.h2-underline + p.p-lg, .h2-display.h-underline + .p-lg p,
h2.h-underline + p.p-md, h2.h-underline + .p-md p,
.h2-display.h2-underline + p.p-md, .h2-display.h-underline + .p-md p {
  margin-top: 0.9375rem;
}

.p-xxl + .p-md {
  margin-top: 0.75rem;
}

p + p {
  margin-top: 0.75rem;
}

p + .btn, p + .btn-group, p + .link-arr-group {
  margin-top: 1.125rem;
}

.p-md + .btn, .p-md + .btn-group, .p-md + .link-arr-group {
  margin-top: 1.125rem;
}

a {
  color: var(--freshwater);
  /* Weight is 600 by default but you can add a --parent-weight
      to the containing text to make sure a link always stands out.
      E.g. if a link is within a paragraph of weight 550,
      you set the --parent-weight of that <p> to 550 and
      the link will stand out at weight 700.
  */
  font-weight: calc(var(--parent-weight, 450) + 100);
  text-decoration: none;
}

a:hover {
  color: var(--deep-sea);
}

a.link-primary {
  color: var(--green-text);
}

a.link-primary:hover {
  color: var(--deep-forest);
}

h1 a, h2 a, h3 a, h4 a, h5 a, h6 a, .h1-display a, .h2-display a, .h3-display a, .h4-display a, .h5-display a, .h6-display a {
  font-weight: inherit;
}

.h-underline:after,
.h-underline-center:after,
.h-underline-blue:after,
.h-underline-center-blue:after {
  content: "";
  display: block;
  height: 0.25rem;
  width: 3rem;
  background-color: var(--meadow);
  margin-top: 0.75rem;
}

.h-underline-blue:after,
.h-underline-center-blue:after {
  background-color: var(--freshwater);
}

.h-underline-center:after,
.h-underline-center-blue:after {
  margin-left: auto;
  margin-right: auto;
}

.page-title h1 {
  background-color: var(--green-text);
  padding: 0.875rem 2rem;
  display: inline-flex;
  width: auto;
  color: #fff;
}

.condensed .page-title {
  border-left: none;
}

.blog-body h1 {
  font-size: 1.625rem;
  line-height: 2rem;
  color: var(--midnight);
}

.blog-body h2, .blog-body h3, .blog-body h4, .blog-body h5, .blog-body h6 {
  color: var(--midnight);
}

.blog-body p {
  line-height: 1.6875rem;
}

.sidebar h6 {
  color: var(--midnight);
}

.content-wrap p.p-xxl, .content-wrap .p-xxl p {
  color: var(--midnight);
}

.content-wrap p.p-md, .content-wrap .p-md p {
  color: var(--slate);
}

@media (min-width: 576px) {
  h1, .h1-display {
    font-size: 2.25rem;
    line-height: 2.75rem;
  }
  h2, .h2-display {
    font-size: 1.8125rem;
    line-height: 2.3125rem;
  }
  h3, .h3-display, .blog-body h2 {
    font-size: 1.5625rem;
    line-height: 2rem;
  }
  h4, .h4-display, .blog-body h3 {
    font-size: 1.375rem;
    line-height: 1.6875rem;
  }
  h5, .h5-display, .blog-body h4 {
    font-size: 1.1875rem;
    line-height: 1.625rem;
  }
  .page-title {
    /* extend green to page edge 
        use page width (100vw) minus container width (540px)
        minus x-padding on h1 (4rem) then divide by 2
    */
    border-left-width: calc((100vw - 540px - 4rem) / 2);
    border-left-color: var(--green-text);
    border-left-style: solid;
  }
  .page-title .container {
    margin-left: 0rem;
  }
  .page-title h1 {
    padding: 0.875rem 2rem;
  }
}
@media (min-width: 768px) {
  h5, .h5-display, .blog-body h4 {
    font-size: 1.25rem;
    line-height: 1.6875rem;
  }
  p.p-lg, .p-lg p {
    font-size: 1.25rem;
    line-height: 2rem;
  }
  p.p-md, .p-md p {
    font-size: 1.125rem;
    line-height: 1.875rem;
  }
  .blog-body h1 {
    font-size: 2rem;
    line-height: 2.5rem;
  }
  .page-title {
    /* extend green to page edge 
        use page width (100vw) minus container width (720px)
        minus x-padding on h1 (4rem) then divide by 2
    */
    border-left-width: calc((100vw - 720px - 4rem) / 2);
  }
}
@media (min-width: 992px) {
  h1, .h1-display {
    font-size: 2.5rem;
    line-height: 3rem;
  }
  p.p-xxl, .p-xxl p {
    font-size: 1.4375rem;
    line-height: 2.0625rem;
  }
  .h-underline:after,
  .h-underline-blue:after,
  .h-underline-center-blue:after {
    width: 4rem;
    margin-top: 0.5rem;
  }
  .blog-body h1 {
    font-size: 2.25rem;
    line-height: 2.875rem;
  }
  .page-title {
    /* extend green to page edge 
        use page width (100vw) minus container width (960px)
        minus x-padding on h1 (4rem) then divide by 2
    */
    border-left-width: calc((100vw - 960px - 4rem) / 2);
  }
}
@media (min-width: 1200px) {
  h1, .h1-display {
    font-size: 2.75rem;
    line-height: 3.375rem;
  }
  h2, .h2-display {
    font-size: 2.25rem;
    line-height: 2.875rem;
  }
  h3, .h3-display, .blog-body h2 {
    font-size: 1.75rem;
    line-height: 2.25rem;
  }
  p.p-xxl, .p-xxl p {
    font-size: 1.5625rem;
    line-height: 2.1875rem;
  }
  .page-title {
    /* extend green to page edge 
        use page width (100vw) minus container width (1140px)
        minus x-padding on h1 (4rem) then divide by 2
    */
    border-left-width: calc((100vw - 1140px - 4rem) / 2);
  }
}
@media (min-width: 1400px) {
  h1, .h1-display {
    font-size: 3rem;
    line-height: 3.625rem;
  }
  p.p-lg, .p-lg p {
    font-size: 1.375rem;
    line-height: 2rem;
  }
  p.p-xxl, .p-xxl p {
    font-size: 1.75rem;
    line-height: 2.375rem;
  }
  .page-title {
    /* extend green to page edge 
        use page width (100vw) minus container width (1320px)
        minus x-padding on h1 (4rem) then divide by 2
    */
    border-left-width: calc((100vw - 1320px - 4rem) / 2);
  }
}
