
:root {
	/** Sizing **/
  --container-width: 1280px;
  --content-width: 1184px;
  --card-width: 384px;
  --card-image-height: 256px;
  --radius-card: 8px;
  --gap-page: 40px;
  --gap-card-row-1: 76px;
  --gap-card-row-2: 24px; 
  --gap-cards: 32px;
  --gap-heading: 16px;
  --radius-nav-btn: 8px;
  --shadow-card: 0 4px 4px rgba(0, 0, 0, 0.25);
}
* {
  box-sizing: border-box;
}

body {
  margin: 0;
  font: var(--mds-text-body);
  background: var(--mds-color-utility-base-gray);
  color: var(--mds-color-brand-gray-1300);
}


.page-frame {
  width: 100%;
  min-width: 100%;
  background: var(--mds-color-utility-base-white);
  display: flex;
  flex-direction: column;
  align-items: stretch;
}


.state-banner {
  width: 100%;
  background: var(--mds-color-brand-gray-100);
}

.state-banner-inner {
  max-width: var(--container-width);
  margin: 0 auto;
  display: flex;
  align-items: center;
  justify-content: space-between;
  flex-wrap: wrap;
  gap: 16px;
  padding: 8px 48px;
}

.state-banner-left {
  display: flex;
  align-items: center;
  gap: 8px;
}

.state-banner-seal {
  width: 24px;
  height: 24px;
  flex-shrink: 0;
  display: flex;
  align-items: center;
  justify-content: center;
}

.state-banner-seal img,
.state-banner-seal svg {
  width: 24px;
  height: 24px;
  display: block;
}

.state-seal {
  width: 56px;
  height: 56px;
  flex-shrink: 0;
  display: flex;
  align-items: center;
  justify-content: center;
}

.state-seal img,
.state-seal svg {
  width: 56px;
  height: 56px;
  display: block;
}

.state-banner-text {
  font: var(--mds-text-body);
  color: var(--mds-color-utility-base-black);
  font-size: 13.5px;
}

.banner-link {
  color: var(--mds-color-brand-bay-blue-1000);
  text-decoration: none;
  border-bottom: 1.5px solid var(--mds-color-brand-bay-blue-1000);
  padding-bottom: 2px;
  cursor: pointer;
}


.site-header {
  width: 100%;
  background: var(--mds-color-brand-gray-300);
}

.site-header-inner {
  max-width: var(--container-width);
  margin: 0 auto;
  display: flex;
  flex-direction: row;
  flex-wrap: wrap;
  align-items: stretch;
  justify-content: stretch;
  gap: 64px;
  padding: 20px 48px;
}

.masthead {
  display: flex;
  align-items: center;
  gap: 16px;
}

.site-name {
  font: var(--mds-text-body-bold);
  color: var(--mds-color-brand-berkshires-green-1000);
  font-size: 24px;
}

.masthead a {
    text-decoration: none !important;
}
.utility-banner {
    width: 100%;
    background: var(--mds-color-utility-informative-blue-900);
    min-height: 48px;
}

.utility-banner-inner {
  max-width: var(--container-width);
  margin: 0 auto;
  display: flex;
  flex-direction: row;
  flex-wrap: wrap;
  align-items: center;
  gap: 32px;
  padding: 0 48px;
}

.utility-banner .menu-trigger {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 12px 0;
  background: none;
  border: none;
  font: var(--mds-text-body);
  color: var(--mds-color-utility-base-white);
  cursor: pointer;
}

.utility-items {
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-end;
  align-items: center;
  gap: 8px;
  margin-left: auto;
}

.utility-items a {
  color: var(--mds-color-utility-base-white);
  text-decoration: none;
  font: var(--mds-text-body);
}

.utility-banner .menu-trigger a {
    color: var(--mds-color-utility-base-white) !important;
    text-decoration: none !important;
    font: var(--mds-text-body) !important;
}
    .utility-items span {
        color: var(--mds-color-utility-base-white);
        text-decoration: none;
        font: var(--mds-text-body);
        padding-right:20px !important;
    }

.page-container {
  width: 100%;
  display: flex;
  flex-direction: column;
  align-items: stretch;
  gap: 0;
  padding: 0;
}

.page-container-inner {
  max-width: var(--container-width);
  margin: 0 auto;
  width: 100%;
  padding: 40px 48px;
  display: flex;
  flex-direction: column;
  gap: 10px;
}

.page-inner {
  max-width: var(--content-width);
  margin: 0 auto;
  width: 100%;
}

.semantic-heading {
  display: flex;
  flex-direction: column;
  gap: 16px;
  max-width: 1200px;
}

.semantic-heading h2 {
  margin: 0;
  font: var(--mds-text-heading-lg);
  color: var(--mds-color-brand-gray-1300);
}

.heading-accent {
  display: flex;
  flex-direction: row;
  align-items: center;
  gap: 8px;
}

.heading-accent-bar {
  width: 58px;
  height: 4px;
  background: var(--mds-color-brand-berkshires-green-1000);
  flex-shrink: 0;
}

.heading-accent svg {
    display: none;
}

.card-row {
  width: 100%;
  max-width: var(--content-width);
  margin-left: auto;
  margin-right: auto;
  display: flex;
  flex-direction: row;
  align-items: stretch;
  gap: var(--gap-card-row-2);
  justify-content: space-between;
}

.card-row.centered {
  justify-content: center;
  gap: var(--gap-card-row-2);
}


.card {
  width: var(--card-width);
  flex-shrink: 0;
  display: flex;
  flex-direction: column;
  border: 1px solid var(--mds-color-brand-bay-blue-300);
  border-radius: var(--radius-card);
  overflow: hidden;
}

.card-media {
   width: 100%;
  height: var(--card-image-height);
  background:  var(--mds-color-utility-base-white);
  flex-shrink: 0;
padding: 22px 85px 21px 86px;
}

.card-media img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.card-content {
  display: flex;
  flex-direction: column;
  align-items: flex-end;
  padding: 24px 24px 0;
  background: var(--mds-color-brand-bay-blue-1000);
  border-radius: 0 0 var(--radius-card) var(--radius-card);
}

.card-content-inner {
  width: 100%;
  display: flex;
  flex-direction: column;
  gap: 8px;
}

.card-title {
  font: var(--mds-text-body-bold);
  color: var(--mds-color-utility-base-white);
}

.card-description {
  font: var(--mds-text-body);
  color: var(--mds-color-utility-base-white);
  opacity: 0.95;
}

.card-cta {
  display: flex;
  justify-content: center;
  align-items: center;
  width: 56px;
  height: 56px;
  flex-shrink: 0;
}

.card-cta svg {
  color: var(--mds-color-utility-base-white);
}

.alert-section-ds {
  width: 100%;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 10px;
}

.alert-ds {
    width: 100%;
    max-width: var(--content-width);
    display: flex;
    flex-direction: column;
    gap: 24px;
    padding: 24px;
    background: var(--mds-color-brand-gray-100);
    border-radius: var(--radius-card);
}

.alert-inner-ds {
    display: flex;
    flex-direction: row;
    align-items: flex-start;
    gap: 16px;
    align-self: stretch;
}

.alert-icon-ds {
    width: 24px;
    height: 24px;
    flex-shrink: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 999px;
    background: #14558F;
    padding: 18px;
}

.alert-icon-ds img {
        width: 24px;
        height: 24px;
}

.alert-icon-ds svg {
        width: 24px;
        height: 24px;
        flex-shrink: 0;
    }

.alert-text-ds {
    display: flex;
    flex-direction: column;
    gap: 8px;
    padding-top: 4px;
}

.alert-title-ds {
    font: var(--mds-text-body-bold);
    color: var(--mds-color-brand-gray-1300);
}

.alert-description-ds {
    font: var(--mds-text-body);
    color: var(--mds-color-brand-gray-900);
}

.footer {
  width: 100%;
  background: var(--mds-color-brand-gray-100);
}

.footer-site-name {
  font: var(--mds-text-body-bold);
  color: var(--mds-color-brand-gray-1300);
  font-size: 24px;
}

.footer-issues
{
	display: flex;
flex-direction: column;
align-items: flex-start;
gap: 10px;
flex: 1 0 0;
padding:8px;
}


.footer-inner {
  max-width: var(--container-width);
  margin: 0 auto;
  display: flex;
  flex-direction: column;
  align-items: stretch;
  gap: 24px;
  padding: 48px;
}

.footer-content {
  display: flex;
  flex-direction: row;
  flex-wrap: wrap;
  align-items: stretch;
  gap: 32px;
}

.footer-utility-wrapper {
  padding: 4px 0 0;
  border-top: 1px solid var(--mds-color-brand-gray-300);
  border-bottom: 1px solid var(--mds-color-brand-gray-300);
  display: flex;
  flex-direction: column;
  gap: 16px;
}

.footer-links {
  display: flex;
  flex-direction: row;
  flex-wrap: wrap;
  gap: 32px;
}

.footer-links a {
  padding: 8px 0;
  font: var(--mds-text-body);
  color: var(--mds-color-brand-gray-1300);
  text-decoration: none;
}

.footer-inline-link:focus {
    outline: none;
    box-shadow: 0 0 0 1px var(--mds-color-utility-base-white), 0 0 0 3px var(--mds-color-utility-focus-blue-600);
}

.footer-inline-link:focus-visible {
    outline: none;
    box-shadow: 0 0 0 1px var(--mds-color-utility-base-white), 0 0 0 3px var(--mds-color-utility-focus-blue-600);
}

.utility-link:focus {
    outline: 2px solid var(--mds-color-utility-focus-blue-600);
    outline-offset: 2px;
}

.utility-link:focus-visible {
    outline: 2px solid var(--mds-color-utility-focus-blue-600);
    outline-offset: 2px;
}

.menu-trigger:focus {
    outline: none;
    box-shadow: 0 0 0 1px var(--mds-color-utility-base-white), 0 0 0 3px var(--mds-color-utility-focus-blue-600);
}

.menu-trigger:focus-visible {
    outline: none;
    box-shadow: 0 0 0 1px var(--mds-color-utility-base-white), 0 0 0 3px var(--mds-color-utility-focus-blue-600);
}

.footer-copyright {
    display: flex;
    flex-direction: column;
}

.copyright-line {
  font: var(--mds-text-body-bold);
  color: var(--mds-color-brand-gray-900);
}

.copyright-details {
  font: var(--mds-text-body);
  color: var(--mds-color-brand-gray-900);
}


.banner-button-inner
{
    background:transparent;
    border:none;
}

.banner-button-inner:focus {
    outline: none;
    box-shadow: 0 0 0 1px var(--mds-color-utility-base-white), 0 0 0 3px var(--mds-color-utility-focus-blue-600);
}


.banner-button-icon-expanded > svg {
    transform: rotate(-180deg)
}

.banner-button-icon span {
    display: inline-block;
    padding-right: 5px
}

.banner-button-icon > svg {  
    height: 20px;
}

.state-banner-expansion {  
    display: none;
    flex-direction: row !important;
    margin-bottom: 0;
    font: var(--mds-text-body);
    color: var(--mds-color-utility-base-black);
    font-size: 13.5px;
    max-width: var(--container-width);
    margin: 0 auto;   
    align-items: center;
    flex-wrap: wrap;
    gap: 16px;
    padding: 8px 48px;
}
.state-banner-expansion-expanded {
    display: flex !important;
    flex-direction: row !important;
    padding-bottom: 5px;
    padding-top: 10px
}

.state-banner-expansion-item {
    display: flex;
    flex-direction: row;
    flex: 0 1 auto;
    max-width: 500px
}

.state-banner-expansion-item-content {
    margin-left: 1rem
}

.state-banner-expansion-item > svg {
    width: 30px;
    height: 30px;
    min-width: 20px
}

.state-banner-expansion-item + .state-banner-expansion-item {
    margin-top: 1rem
}

.state-banner-expansion-item p {
    margin-bottom: 0
}

.state-banner-expansion-item p:first-of-type {
    font-weight: 600
}


.crem-site-name {
    color: var(--text-and-icons-brand-seconday-mid, #2D6A46);
    font-family: "Noto Sans";
    font-size: var(--font-size-h5, 24px);
    font-style: normal;
    font-weight: 600;
    line-height: 110%; /* 26.4px */
    letter-spacing: -1px;
}

.crem-site-name1 {
    color: var(--text-and-icons-brand-seconday-mid, #2D6A46);
    font-feature-settings: 'liga' off, 'clig' off;
    /* Labels/Eyebrow MD */
    font-family: var(--family-label, "Noto Sans");
    font-size: var(--size-200, 16px);
    font-style: normal;
    font-weight: 600;
    line-height: 100%; /* 16px */
    letter-spacing: 1px;
    text-transform: uppercase;
}


.release-site-name {

    color: var(--mds-background-section-brand-primary-mid, #14558f);
    font-family: "Noto Sans";
    font-size: var(--font-size-h5, 24px);
    font-style: normal;
    font-weight: 600;
    line-height: 110%; /* 26.4px */
    letter-spacing: -1px;
}

.release-site-name1 {
    color: var(--mds-background-section-brand-primary-mid, #14558f);
    font-feature-settings: 'liga' off, 'clig' off;
    /* Labels/Eyebrow MD */
    font-family: var(--family-label, "Noto Sans");
    font-size: var(--size-200, 16px);
    font-style: normal;
    font-weight: 600;
    line-height: 100%; /* 16px */
    letter-spacing: 1px;
    text-transform: uppercase;
}

.test-environment-message {
    height: 56px;
    flex-shrink: 0;
    color: var(--mds-color-utility-danger-red-600);
    font-size: 16px;
    font-style: normal;
    font-weight: 500;
}

.invisible-text {
    visibility: hidden;
}

@media(min-width: 700px) {
    .state-banner-expansion-item > svg {
        min-width: 30px
    }
}

@media(min-width: 700px) {
    .state-banner-expansion {
        flex-direction: row
    }

    .state-banner-expansion-item + .state-banner-expansion-item {
        margin-left: 1rem;
        margin-top: 0
    }
}

@media (max-width: 1280px) {
    .state-banner-inner,
    .site-header-inner,
    .utility-banner-inner,
    .footer-inner,
    .state-banner-expansion {
        padding-left: 24px;
        padding-right: 24px;
    }
}

@media (max-width: 900px) {
  .state-banner-inner {
    padding: 8px 24px;
  }
    
  .state-banner-expansion {     
    padding: 8px 24px;
  }

  .site-header-inner,
  .utility-banner-inner {
    padding-left: 24px;
    padding-right: 24px;
  }

  .test-environment-message {
    height: auto;
    flex-shrink: inherit;
  }

  .page-container-inner {
    padding: 24px 16px;
  }

  .card-row, .card-row.centered {
    flex-direction: column;
    align-items: center;
    gap: 24px;
  }

  .card {
    width: 100%;
    max-width: var(--card-width);
  }

  .footer-inner {
    padding: 32px 24px;
  }
}



