  /* Section Styles */
.bg-green {
  background-color:var(--cutler);
}

.bg-green *,
.bg-green a:not(.layout-builder__link--add, .button),
.bg-green a:not(.layout-builder__link--add, .button) * {
  color:var(--white);
}

.bg-trillium {
  background-color:var(--trillium);
}

.bg-trillium *,
.bg-trillium a:not(.layout-builder__link--add, .button),
.bg-trillium a:not(.layout-builder__link--add, .button) * {
  color:var(--black);
}

.bg-moss {
  background-color:var(--moss);
}

.bg-moss *,
.bg-moss a:not(.layout-builder__link--add, .button),
.bg-moss a:not(.layout-builder__link--add, .button) * {
  color:var(--under-the-elms);
}

.bg-teal {
  background-color: var(--teal);
}

.bg-teal *,
.bg-teal a:not(.layout-builder__link--add, .button),
.bg-teal a:not(.layout-builder__link--add, .button) * {
  color: var(--under-the-elms);
}

/* Block Styles */
.white-blocks {
  height:100%;
}

.white-blocks .story-text {
  background-color:var(--white);
  padding:45px;
  height:100%;
}

.white-blocks .story-text h2,
.white-blocks .story-text h3,
.white-blocks .story-text h4,
.white-blocks .story-text h5,
.white-blocks .story-text h6 {
  color:var(--cutler);
  padding-top:0;
}

.white-blocks .story-text hr {
  background-color: var(--teal);
}

.white-blocks .story-text p {
  color:var(--black);
}

/* Wrap long URLs in Sources Text Section */
#sources .story-text {
  word-wrap: break-word;
  word-break: break-word;
}

/* Layout Builder Columns */
.ad-lp {
  display: flex;
  flex-direction: column;
  flex-wrap: wrap;
  align-content: center;
  max-width:100%;
  overflow:hidden;
}

.layout {
  padding:60px 30px;
  gap:45px 30px;
  justify-content: center;
  max-width:100%;
}

@media screen and (min-width: 768px) {
  .ad-lp .layout {
    flex-wrap: nowrap;
  }
}

.layout.intro-section {
  padding-bottom: 15px;
}

.layout.intro-section + .layout {
  padding-top: 15px;
}

.ad-lp .layout:has(footer) {
  padding-top:30px;
  padding-bottom:30px;
}

/* One Column */
.layout.layout--onecol {
  display: flex;
  flex-wrap: wrap;
}

.layout.layout--onecol > .layout__region {
  flex:0 1 clamp(150px, 100%, 1140px);
}

/* Two Columns */
@media only screen and (min-width: 40em) {
  /* 40em from core Layout Builder column styles */
  .layout--twocol-section.layout--twocol-section--50-50 > .layout__region {
    flex:0 1 calc(50% - 15px);
  }
  
  .layout--twocol-section.layout--twocol-section--33-67 > .layout__region--first,
  .layout--twocol-section.layout--twocol-section--67-33 > .layout__region--second {
    flex:0 1 calc(33.33333% - 15px);
  }
  
  .layout--twocol-section.layout--twocol-section--33-67 > .layout__region--second,
  .layout--twocol-section.layout--twocol-section--67-33 > .layout__region--first {
    flex:0 1 calc(66.66666% - 15px);
  }
  
  .layout--twocol-section.layout--twocol-section--25-75 > .layout__region--first,
  .layout--twocol-section.layout--twocol-section--75-25 > .layout__region--second {
    flex:0 1 calc(25% - 15px);
  }
  
  .layout--twocol-section.layout--twocol-section--25-75 > .layout__region--second,
  .layout--twocol-section.layout--twocol-section--75-25 > .layout__region--first {
    flex:0 1 calc(75% - 15px);
  }
}

@media only screen and (min-width: 768px) {
  .layout--twocol-section.layout--twocol-section--50-50 > .layout__region {
    flex:0 1 clamp(339px, calc(50% - 15px), 555px);
  }
  
  .layout--twocol-section.layout--twocol-section--33-67 > .layout__region--first,
  .layout--twocol-section.layout--twocol-section--67-33 > .layout__region--second {
    flex:0 1 clamp(226px, calc(33.33333% - 15px), 370px);
  }
  
  .layout--twocol-section.layout--twocol-section--33-67 > .layout__region--second,
  .layout--twocol-section.layout--twocol-section--67-33 > .layout__region--first {
    flex:0 1 clamp(452px, calc(66.66666% - 15px), 740px);
  }
  
  .layout--twocol-section.layout--twocol-section--25-75 > .layout__region--first,
  .layout--twocol-section.layout--twocol-section--75-25 > .layout__region--second {
    flex:0 1 clamp(170px, calc(25% - 15px), 277px);
  }
  
  .layout--twocol-section.layout--twocol-section--25-75 > .layout__region--second,
  .layout--twocol-section.layout--twocol-section--75-25 > .layout__region--first {
    flex:0 1 clamp(508px, calc(75% - 15px), 833px);
  }
}

/* Three Columns */
@media only screen and (min-width: 40em) {
  .layout--threecol-section--33-34-33 > .layout__region {
    flex:0 1 calc(33.33333% - 20px); /* 20px = 60px gap / 3 columns */
  }
  
  .layout--threecol-section--25-50-25 > .layout__region--first,
  .layout--threecol-section--25-50-25 > .layout__region--third{
    flex:0 1 calc(25% - 20px); /* 20px = 60px gap / 3 columns */
  }

  .layout--threecol-section--25-25-50 > .layout__region--first,
  .layout--threecol-section--25-25-50 > .layout__region--second,
  .layout--threecol-section--50-25-25 > .layout__region--second,
  .layout--threecol-section--50-25-25 > .layout__region--third {
    flex:0 1 calc(50% - 15px); /* 15px = 30px gap / 2 columns */
  }
  
  .layout--threecol-section--25-50-25 > .layout__region--second {
    flex:0 1 calc(50% - 20px); /* 20px = 60px gap / 3 columns */
  }

  .layout--threecol-section--25-25-50 > .layout__region--third,
  .layout--threecol-section--50-25-25 > .layout__region--first {
    flex:0 1 100%;
  }
}

@media only screen and (min-width: 768px) {
  .layout--threecol-section--33-34-33 > .layout__region {
    flex:0 1 clamp(216px, calc(33.33333% - 20px), 360px);
  }
  
  .layout--threecol-section--25-50-25 > .layout__region--first,
  .layout--threecol-section--25-50-25 > .layout__region--third,
  .layout--threecol-section--25-25-50 > .layout__region--first,
  .layout--threecol-section--25-25-50 > .layout__region--second,
  .layout--threecol-section--50-25-25 > .layout__region--second,
  .layout--threecol-section--50-25-25 > .layout__region--third {
    flex:0 1 clamp(108px, calc(25% - 20px), 270px);
  }
  
  .layout--threecol-section--25-50-25 > .layout__region--second,
  .layout--threecol-section--25-25-50 > .layout__region--third,
  .layout--threecol-section--50-25-25 > .layout__region--first {
    flex:0 1 clamp(216px, calc(50% - 20px), 540px);
  }
}

/* Four Columns */
@media only screen and (min-width: 40em) {
  .layout--fourcol-section > .layout__region {
    flex:0 1 calc(50% - 15px); /* 15px = 30px gap / 2 columns */
  }
}

@media only screen and (min-width: 768px) {
  .layout--fourcol-section > .layout__region {
    flex:0 1 clamp(225px, calc(25% - 22px), 262px); /* 22px = 90px gap / 4 columns */
  }
}

/* Headings */
h1,
h2,
h3,
h4,
h5,
h6,
.ad-lp h1 a,
.ad-lp h2 a,
.ad-lp h3 a,
.ad-lp h4 a,
.ad-lp h5 a,
.ad-lp h6 a {
  font-family:var(--text-display);
  color:var(--cutler);
  -webkit-hyphens:auto;
  -ms-hyphens:auto;
  hyphens:auto;
  word-wrap:break-word;
  word-break:break-word;
  text-decoration-color:inherit;
  text-decoration-thickness:2px;
  text-underline-offset:2px;
  transition:var(--transition-default);
}

.ad-lp h1 a:hover,
.ad-lp h2 a:hover,
.ad-lp h3 a:hover,
.ad-lp h4 a:hover,
.ad-lp h5 a:hover,
.ad-lp h6 a:hover {
  text-decoration-color:transparent;
}

h1 {
  /* base text ratio 32px/36px */
  font-size:clamp(2.6rem, 2.171rem + 1.143vw, 3.2rem);
  line-height:clamp(3rem, 2.571rem + 1.143vw, 3.6rem);
  font-weight:900;
  text-transform:uppercase;
}

h2,
.ad-lp h2 a {
  /* base text ratio 32px/36px */
  font-size:clamp(2.2rem, 1.486rem + 1.905vw, 3.2rem);
  line-height:clamp(2.6rem, 1.886rem + 1.905vw, 3.6rem);
  font-weight:800;
}

h2.uppercase,
.ad-lp h2.uppercase a {
  text-transform:uppercase;
}

h2.display-3,
.ad-lp h2.display-3 a,
h3,
.ad-lp h3 a {
  /* base text ratio 18px/23px */
  font-size:clamp(1.6rem, 1.457rem + 0.381vw, 1.8rem);
  line-height:clamp(2.1rem, 1.957rem + 0.381vw, 2.3rem);
  font-weight:900;
  text-transform:uppercase;
}

h3.display-4,
.ad-lp h3.display-4 a,
h4,
.ad-lp h4 a {
  /* base text ratio 18px/24px */
  font-size:clamp(1.6rem, 1.457rem + 0.381vw, 1.8rem);
  line-height:clamp(2.2rem, 2.057rem + 0.381vw, 2.4rem);
  font-weight:800;
  text-transform:none;
}

h5,
.ad-lp h5 a {
  /* base text ratio 16px/20px */
  font-size:clamp(1.4rem, 1.257rem + 0.381vw, 1.6rem);
  line-height:clamp(1.8rem, 1.657rem + 0.381vw, 2rem);
  font-weight:900;
  text-transform:uppercase;
}

h6,
.ad-lp h6 a {
  /* base text ratio 16px/22px */
  font-size:clamp(1.4rem, 1.257rem + 0.381vw, 1.6rem);
  line-height:clamp(2rem, 1.857rem + 0.381vw, 2.2rem);
  font-weight:800;
}

hr {
  width: 50px;
  height: 5px;
  background-color: var(--teal);
  display: block;
  margin: 12px 0px 16px;
  border:none;
  margin-left:0;
}

.bg-moss hr,
.bg-teal hr {
  background-color: var(--white);
}

.bg-trillium hr {
  background-color: var(--moss);
}

hr + p {
  margin-top:0;
}

.text-align-center + hr {
  margin-right: auto;
  margin-left: auto;
}

.small-text {
  font-size: .85em;
}

/* Images */
article.media--type-image:not(:is(.align-center, .align-left, .align-right)) {
  margin: 0 auto;
}

/* Buttons */
a.button.moss {
  font-family: var(--text-display);
  font-size: 14px;
  font-weight: 900;
  text-transform: uppercase;
  line-height: 1.3;
  padding: 10px 24px;
  width: 100%;
  max-width: 380px;
  border-radius: 5px;
  background: var(--moss);
  border-color: var(--moss);
  color: var(--black);
}

a.button.moss:hover,
.bg-trillium a.button.moss:hover {
  background: var(--cutler);
  text-decoration: underline;
  border-color: var(--cutler);
  color: var(--trillium);
}

a.button.moss:focus,
.bg-trillium a.button.moss:focus {
  background: var(--under-the-elms) !important;
  text-decoration: underline;
  border-color: var(--under-the-elms);
  color: var(--trillium) !important;
}

.bg-moss a.button.moss {
  background: var(--white);
  border-color: var(--white);
  color: var(--under-the-elms);
}

.bg-green a.button.moss,
.bg-trillium a.button.moss {
  background: var(--moss);
  border-color: var(--moss);
  color: var(--black);
}

.bg-green a.button.moss:hover {
  background: var(--white);
  text-decoration: underline;
  border-color: var(--white);
  color: var(--black);
}

.bg-moss a.button.moss:hover {
  background: var(--under-the-elms);
  text-decoration: underline;
  border-color: var(--under-the-elms);
  color: var(--trillium);
}

.bg-green a.button.moss:focus {
  background: var(--under-the-elms) !important;
  text-decoration: underline;
  border-color: var(--under-the-elms);
  color: var(--moss) !important;
}

/* Lists */
.story-text div h3.checklist-heading {
  font-family: var(--text-display);
  text-transform: uppercase;
  margin-left: 25px;
  margin-bottom: 12px;
}

.bg-green .story-text div h3.checklist-heading {
  color: var(--white);
}

.bg-trillium .story-text div h3.checklist-heading {
  color: var(--cutler);
}

.story-text div ul.checklist-list {
  padding: 15px;
}

.story-text div ul.checklist-list li {
  list-style: none;
  font-family: var(--text-sans);
  font-size: 16px;
  line-height: 22px;
  margin-left: 10px;
}

.bg-green .story-text div ul.checklist-list li {
  color: var(--white);
}

.bg-trillium .story-text div ul.checklist-list li {
  color: var(--cutler);
}

.bg-moss .story-text div ul.checklist-list li {
  color: var(--under-the-elms);
}

.story-text div ul.checklist-list li:before {
  content: "";
  font-family: "Font Awesome 6 Sharp", "Font Awesome 6 Brands";
  font-size: 16px;
  font-style: normal;
  font-weight: 900;
  margin-left: -22px;
  margin-right: 7px;
}

.bg-green .story-text div ul.checklist-list li:before {
  color: var(--moss);
}

.bg-moss .story-text div ul.checklist-list li:before,
.bg-trillium .story-text div ul.checklist-list li:before {
  color: var(--under-the-elms);
}

.bg-green ul.checklist-list li a,
.bg-green ul.checklist-list li em,
.bg-green ul.checklist-list li strong {
  color: var(--white);
}

.bg-green ul.checklist-list li a:hover {
  background: var(--white);
  color: var(--cutler);
}

.bg-green ul.checklist-list li a:focus {
  outline: 2px solid var(--white) !important;
  background: none !important;
  color: var(--white) !important;
}

.bg-moss ul.checklist-list li a,
.bg-moss ul.checklist-list li em,
.bg-moss ul.checklist-list li strong {
  color: var(--under-the-elms);
}

.bg-moss ul.checklist-list li a:hover {
  background: var(--under-the-elms);
  color: var(--moss);
}

.bg-moss ul.checklist-list li a:focus {
  outline: 2px solid var(--under-the-elms) !important;
  background: none !important;
  color: var(--under-the-elms) !important;
}

.bg-trillium ul.checklist-list li a,
.bg-trillium ul.checklist-list li em,
.bg-trillium ul.checklist-list li strong {
  color: var(--cutler);
}

.bg-trillium ul.checklist-list li a:hover {
  background: var(--cutler);
  color: var(--trillium);
}

.bg-trillium ul.checklist-list li a:focus {
  outline: 2px solid var(--cutler) !important;
  background: none !important;
  color: var(--cutler) !important;;
}

.story-text ul.hr-list {
  list-style:none;
  padding:15px 0;
}

.story-text ul.hr-list:has(ul) {
  padding-bottom:0;
}

.story-text ul.hr-list li {
  border-bottom-width:2px;
  border-bottom-style:solid;
  border-bottom-color:var(--cutler);
  padding-bottom:15px;
}

.layout:is(.bg-green, .bg-trillium) .story-text ul.hr-list li {
  border-bottom-color:var(--under-the-elms);
}

.layout:is(.bg-moss, .bg-teal) .story-text ul.hr-list li {
  border-bottom-color:var(--white);
}

.story-text ul.hr-list li:last-of-type {
  border-bottom:none;
}

.story-text ul.hr-list ul {
  padding:15px 0 0 0;
  list-style:none;
}

.story-text ul.hr-list ul li {
  padding-bottom:15px;
}

.story-text ul.hr-list ul li:last-of-type {
  padding-bottom:0;
}

/* admin content preview interface specific */
.layout-builder .layout-builder-block {
  background-color:transparent;
}

.layout-builder .layout-builder__link--add {
  color:var(--black);
}

.layout-builder .layout-builder__link--add:focus {
  color:var(--white);
}
