﻿body {
  font-family: "Montserrat", sans-serif;
  font-style: normal;
  font-weight: 500;
  font-size: 1rem;
  line-height: 1.625rem;
  color: var(--gray-text);
}

h1, .h1-style,
h2, .h2-style,
h5, .h5-style, .blog-body h4 {
  font-weight: 700;
}

h3, .h3-style, .blog-body h2,
h4, .h4-style, .blog-body h3,
h6, .h6-style, .blog-body h5 {
  font-weight: 600;
}

h1, .h1-style {
  font-size: 1.875rem;
  line-height: 2.3125rem;
}

h2, .h2-style {
  font-size: 1.625rem;
  line-height: 2rem;
}

h3, .h3-style, .blog-body h2 {
  font-size: 1.4375rem;
  line-height: 1.8125rem;
}

h4, .h4-style, .blog-body h3 {
  font-size: 1.25rem;
  line-height: 1.625rem;
}

h5, .h5-style, .blog-body h4 {
  font-size: 1.125rem;
  line-height: 1.5rem;
}

h6, .h6-style, .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;
}

p.p-lg, .p-lg p {
  font-size: 1.1875rem;
  line-height: 1.875rem;
}

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;
}

p + h1, p + .h1-style, p + h2, p + .h2-style,
p + h3, p + .h3-style, .blog-body p + h2,
p + h4, p + .h4-style, .blog-body p + h3,
p + h5, p + .h5-style, .blog-body p + h4,
p + h6, p + .h6-style, .blog-body p + h5 {
  margin-top: 1.5rem;
}

h1 + p, .h1-style + p {
  margin-top: 0.5rem;
}

h2 + p, .h2-style + p {
  margin-top: 0.5rem;
}

h3 + p, .h3-style + p, .blog-body h2 + p {
  margin-top: 0.5rem;
}

h4 + p, .h4-style + p, .blog-body h3 + p {
  margin-top: 0.4375rem;
}

h5 + p, .h5-style + p, .blog-body h4 + p {
  margin-top: 0.375rem;
}

h6 + p, .h6-style + p, .blog-body h5 + p {
  margin-top: 0.375rem;
}

h2 + p.p-xxl, h2 + .p-xxl p,
.h2-style + p.p-xxl, .h2-style + .p-xxl p {
  margin-top: 0.6875rem;
}

h2.h-underline + p.p-xxl, h2.h-underline + .p-xxl p,
.h2-style.h2-underline + p.p-xxl, .h2-style.h-underline + .p-xxl p,
h2.h-underline + p.p-lg, h2.h-underline + .p-lg p,
.h2-style.h2-underline + p.p-lg, .h2-style.h-underline + .p-lg p,
h2.h-underline + p.p-md, h2.h-underline + .p-md p,
.h2-style.h2-underline + p.p-md, .h2-style.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);
  font-weight: 600;
  text-decoration: none;
}

a:hover {
  color: var(--deep-sea);
}

a.link-primary {
  color: var(--green-text);
}

a.link-primary:hover {
  color: var(--deep-forest);
}

a.link-arr {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  transition: 0.2s all ease-in-out;
}

a.link-arr span {
  display: flex;
  flex-wrap: nowrap;
  align-items: center;
  column-gap: 0.125rem;
  transition: inherit;
}

a.link-arr svg {
  opacity: 0.5;
  transition: inherit;
}

a.link-arr svg path {
  fill: var(--green-text);
  transition: inherit;
}

a.link-arr:hover svg {
  opacity: 1;
}

a.link-arr:hover svg path {
  fill: var(--deep-forest);
}

.link-arr-group {
  display: flex;
  flex-wrap: wrap;
  column-gap: 4.5rem;
  row-gap: 1.25rem;
}

h1 a.link-arr svg, .h1-style a.link-arr svg, a.h1-style.link-arr svg {
  height: 2.75rem;
  width: auto;
}

h3 a.link-arr svg, .h3-style a.link-arr svg, a.h3-style.link-arr svg {
  height: 2rem;
  width: auto;
}

h4 a.link-arr svg, .h4-style a.link-arr svg, a.h4-style.link-arr svg {
  height: 1.875rem;
  width: auto;
}

h1 a, h2 a, h3 a, h4 a, h5 a, h6 a, .h1-style a, .h2-style a, .h3-style a, .h4-style a, .h5-style a, .h6-style a {
  font-weight: inherit;
}

.h-underline:after {
  content: "";
  display: block;
  height: 0.25rem;
  width: 3rem;
  background-color: var(--meadow);
  margin-top: 0.75rem;
}

.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 h3, .blog-body h4, .blog-body h5, .blog-body h6 {
  font-weight: 600;
}

.blog-body p {
  line-height: 1.6875rem;
  font-weight: 400;
  color: var(--midnight);
}

.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-style {
    font-size: 2.25rem;
    line-height: 2.75rem;
  }
  h2, .h2-style {
    font-size: 1.8125rem;
    line-height: 2.3125rem;
  }
  h3, .h3-style, .blog-body h2 {
    font-size: 1.5625rem;
    line-height: 2rem;
  }
  h4, .h4-style, .blog-body h3 {
    font-size: 1.375rem;
    line-height: 1.6875rem;
  }
  h5, .h5-style, .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-style, .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-style {
    font-size: 2.5rem;
    line-height: 3rem;
  }
  p.p-xxl, .p-xxl p {
    font-size: 1.4375rem;
    line-height: 2.0625rem;
    font-weight: 400;
  }
  .h-underline: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-style {
    font-size: 2.75rem;
    line-height: 3.375rem;
  }
  h2, .h2-style {
    font-size: 2.25rem;
    line-height: 2.875rem;
  }
  h3, .h3-style, .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;
    font-weight: 400;
  }
  .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-style {
    font-size: 3rem;
    line-height: 3.625rem;
  }
  p.p-xxl, .p-xxl p {
    font-size: 1.75rem;
    line-height: 2.375rem;
    font-weight: 400;
  }
  .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);
  }
}
