* {box-sizing:border-box;}

:root {
  --default-font-family:"Open Sans", sans-serif;
  --secondary-font-family:museo-slab, serif;
  --main-text-color:#0b145f;
  --envision-blue:#1e4f91;
  --envision-green:#84b151;
  --envision-orange:#e96e34;
  --envision-medium-orange:#f4b699;
  --envision-lightest-orange:#f9f4f2;
  --envision-purple:#0b145f;
  --envision-bright-purple:#341386;
  --envision-darker-purple:#172c7b;
  --envision-medium-purple:#a3a7d8;
  --envision-light-purple:#e2e3ec;
  --envision-yellow:#f6da71;
  --envision-yellow-to-orange-gradient:linear-gradient(180deg, var(--envision-yellow) 0%, var(--envision-orange) 100%);
  --envision-bright-purple-to-blue-gradient:linear-gradient(180deg, var(--envision-bright-purple) 0%, var(--envision-blue) 100%);
  --envision-purple-to-darker-purple-gradient:linear-gradient(180deg, var(--envision-purple) 0%, var(--envision-darker-purple) 100%);
  --standard-box-shadow:0 4px 12px 0 rgba(11, 20, 95, 0.25);
}

html {font-size:18px;}


/* Body */

body {
  background-color:#fff;
  color:var(--main-text-color);
  font-family:var(--default-font-family);
  font-optical-sizing:auto;
  font-weight:400;
  line-height:1.5em;
  margin:0;
  padding:0;  
}

p {margin:0 0 20px;}

.dialog-off-canvas-main-canvas a {
  color:var(--envision-purple);
  font-weight:700;
  text-decoration:underline;
  text-decoration-color:var(--envision-orange);
  text-decoration-thickness:2px;
  text-underline-offset:2px;
}

.menu .menu-item {padding:unset;}


/* Header */

header.site-header {
  background:var(--envision-purple);
  width:100%;
  z-index:2;
}

header.site-header .header-container {
  display:grid;
  height:150px;
  margin:0 auto;
  max-width:1400px;
  width:100%;
}

header.site-header figure.branding {
  display:flex;
  height:100%;
  margin:0;
  width:100%;
}

figure.branding a.site-logo {
  align-items:center;
  display:flex;
  font-size:0;
  padding:32px 20px 28px;
}

figure.branding img {
  height:90px;
  width:119px;
}


/* Main Menu */

nav.main-menu ul.menu {
  list-style:none;
  margin:0;
  padding:16px 0;
  z-index:1;
}

nav.main-menu li.menu-item {
  align-content:center;
  display:grid;
  margin:0;
  padding:0;
  position:relative;
  width:100%;
}

nav.main-menu li.menu-item.menu-item--expanded {grid-template-columns:1fr 80px;}

nav.main-menu li.menu-item a,
nav.main-menu li.menu-item span.no-link {
  align-items:center;
  color:#fff;
  display:flex;
  font-size:.888889rem;
  font-weight:700;
  height:100%;
  line-height:1.25em;
  min-height:60px;
  padding:10px 20px;
  text-decoration:none;
  width:100%;
}

nav.main-menu li.menu-item span.no-link:focus,
nav.main-menu li.menu-item span.no-link:hover,
nav.main-menu li.menu-item a:focus,
nav.main-menu li.menu-item a:hover {text-decoration:underline;}

nav.main-menu ul.menu-level-1 > li.menu-item span.no-link:focus,
nav.main-menu ul.menu-level-1 > li.menu-item span.no-link:hover {cursor:pointer;}

nav.main-menu li.menu-item .dropdown-control {
  background-color:unset;
  background-position:center;
  background-repeat:no-repeat;
  background-size:16px;
  border:0;
  border-radius:0;
  font-size:0;
  padding:0;
}

nav.main-menu ul.menu-level-1 > li.menu-item > button.dropdown-control {background-image:url(/themes/custom/envision/images/icons/plus-orange.svg);}
nav.main-menu li.menu-item .submenu button.dropdown-control {background-image:url(/themes/custom/envision/images/icons/plus-purple.svg);}

nav.main-menu ul.submenu[hidden] {display:none;}

nav.main-menu ul.submenu {
  max-height:0;
  opacity:0;
  overflow:hidden;
  padding:0;
  visibility:hidden;
}

nav.main-menu li.expanded > ul.submenu {
  grid-column:1 / 3;
  max-height:unset;
  opacity:1;
  visibility:visible;
}

nav.main-menu ul.menu-level-1 > li.menu-item.expanded > button.dropdown-control {background-image:url(/themes/custom/envision/images/icons/minus-orange.svg);}
nav.main-menu .submenu li.menu-item.expanded > button.dropdown-control {background-image:url(/themes/custom/envision/images/icons/minus-purple.svg);}

nav.main-menu .submenu li.menu-item {background:#fff;}

nav.main-menu .submenu.menu-level-2 > li.menu-item {
  background-color:var(--envision-light-purple);
  border-top:1px solid var(--envision-medium-purple);
}

nav.main-menu .submenu.menu-level-2 > li.menu-item.expanded {background-color:var(--envision-medium-purple);}

nav.main-menu .submenu li.menu-item a,
nav.main-menu .submenu li.menu-item span.no-link {
  color:var(--envision-purple);
  font-size:.888889rem;
  font-weight:400;
  line-height:1.428571em;
  padding-left:40px;
}

nav.main-menu .submenu.menu-level-2 > li.menu-item a,
nav.main-menu .submenu.menu-level-2 > li.menu-item span.no-link {
  font-weight:400;
  padding-left:40px;
}

nav.main-menu .submenu.menu-level-3 > li.menu-item,
nav.main-menu .submenu.menu-level-4 > li.menu-item {border-top:1px solid var(--envision-medium-purple);}
nav.main-menu .submenu.menu-level-3 > li.menu-item a,
nav.main-menu .submenu.menu-level-3 > li.menu-item span.no-link {padding-left:60px;}
nav.main-menu .submenu.menu-level-4 > li.menu-item a,
nav.main-menu .submenu.menu-level-4 > li.menu-item span.no-link {padding-left:80px;}


/* Buttons Menu */

nav.buttons-menu ul.menu {
  margin:0;
  width:100%;
}

nav.buttons-menu ul.menu li.menu-item {
  display:flex;
  margin:0;
  padding:0;
  width:auto;
}

nav.buttons-menu .button-links > .button,
.hero-feature .button-links > .button {
  background:var(--envision-yellow-to-orange-gradient);
  line-height:1.333333em;
  padding:12px 30px;
  transition:unset;
}

nav.buttons-menu .button-links > .button:focus,
.hero-feature .button-links > .button:focus,
nav.buttons-menu .button-links > .button:hover,
.hero-feature .button-links > .button:hover {
  background:var(--envision-orange);
  color:var(--envision-purple);
}


/* Hero Region */

section.region-hero {
  align-items:center;
  background:var(--envision-purple);
  background-position:center;
  display:flex;
  justify-content:center;
  padding:32px 20px 20px;
  position:relative;
  text-align:center;
  width:100%;
  z-index:1;
}

.group-child-welfare section.region-hero.parent {background:var(--envision-bright-purple);}
.group-idd section.region-hero.parent {background:var(--envision-yellow);}
.group-mental-health section.region-hero.parent {background:var(--envision-green);}
.group-housing section.region-hero.parent {background:var(--envision-blue);}

section.region-hero.has-hero {
  display:grid;
  grid-template-columns:1fr;
  grid-template-rows:auto auto;
  padding:0;
}

section.region-hero.hero-section {
  background:#fff;
  display:grid;
  grid-template-columns:1fr;
  grid-template-rows:auto auto;
  padding:0;
}

section.region-hero.has-hero-feature {padding:0;}

section.region-hero.program {
  background:var(--envision-purple-to-darker-purple-gradient);
  padding:0;
}

section.region-hero.has-hero:not(.parent) figure.hero {
  background-position:center 33%;
  display:grid;
  grid-template-columns:20px 1fr 20px;
  grid-template-rows:240px auto;
  height:100%;
  margin:0;
  width:100%;
}

section.region-hero.has-hero figure.hero img {
  object-position:center;
  display:block;
  grid-column:1 / 4;
  grid-row:1 / 2;
  height:100%;
  object-fit:cover;
  width:100%;
}

section.region-hero.has-hero figure.hero figcaption {
  color:#fff;
  grid-column:2 / 3;
  grid-row:3 / 3;
  padding-bottom:8px;
  text-align:right;
}

.group-idd section.region-hero.has-hero figure.hero figcaption

section.region-hero .page-title-group {
  color:#fff;
  margin:0 auto;
  max-width:1120px;
  padding:32px 20px 20px;
  text-wrap:balance;
  width:100%;
}

.group-idd section.region-hero.parent .page-title-group,
.group-idd section.region-hero.has-hero figure.hero figcaption,
.group-mental section.region-hero.parent .page-title-group,
.group-mental section.region-hero.has-hero figure.hero figcaption {color:var(--main-text-color);}

section.region-hero.has-icon .page-title-group {
  display:grid;
  gap:20px;
  grid-template-columns:1fr;
  grid-template-rows:auto auto;
  padding:0;
}

section.region-hero.has-icon .page-title-group figure.icon {
  background:var(--envision-light-purple);
  border-radius:50%;
  height:180px;
  margin:0 auto;
  padding:24px;
  width:180px;
}

section.region-hero.has-icon .page-title-group figure.icon img {
  display:block;
  height:132px;
  width:132px;
}

section.region-hero .page-title-group .page-title,
section.region-hero.has-hero-feature .feature-title {
  font-family:var(--secondary-font-family);
  font-size:1.777778rem;
  font-weight:700;
  line-height:1.25em;
  margin:0 0 16px;
}

section.region-hero .page-title-group .page-title:last-child {margin:0;}
section.region-hero.has-hero-feature .feature-title {margin:0 auto 8px;}

section.region-hero.program .page-title-group {
  display:grid;
  gap:20px;
  max-width:1400px;
}

section.region-hero.program .page-title-group figure.program-hero-cutout {
  align-items:flex-end;
  display:grid;
  grid-template-columns:20px 1fr 20px;
  margin:0 auto;
  max-width:480px;
  width:100%;
}

section.region-hero.program .page-title-group figure.program-hero-cutout img {
  grid-column:2 / 3;
  grid-row:1 / 2;
  order:2;
}

section.region-hero.program .page-title-group figure.program-hero-cutout figcaption {
  aspect-ratio:520/203;
  background-size:cover;
  display:block;
  font-size:0;
  grid-column:1 / 4;
  grid-row:1 / 2;
  order:1;
  padding:0;
  width:100%;
}

.parent-child-welfare section.region-hero.program .page-title-group figure.program-hero-cutout figcaption {background-image:url(/themes/custom/envision/images/envision-crescent-bright-purple.svg);}
.parent-housing section.region-hero.program .page-title-group figure.program-hero-cutout figcaption {background-image:url(/themes/custom/envision/images/envision-crescent-blue.svg);}
.parent-idd section.region-hero.program .page-title-group figure.program-hero-cutout figcaption {background-image:url(/themes/custom/envision/images/envision-crescent-yellow.svg);}
.parent-mental-health section.region-hero.program .page-title-group figure.program-hero-cutout figcaption {background-image:url(/themes/custom/envision/images/envision-crescent-green.svg);}

section.region-hero.has-hero.parent figure.video {
  margin:0 auto;
  max-width:1080px;
  width:100%;
}

section.region-hero.has-hero.parent figure.video iframe.media-oembed-content {
  aspect-ratio:16 / 9;
  border-radius:16px;
  height:auto;
  width:100%;
}


/* Buttons */

.button-links {
  display:flex;
  flex-wrap:wrap;
  font-family:var(--secondary-font-family);
  gap:24px;
}

.card .button-links {margin:0;}

.button-links > .button {
  align-items:center;
  background:var(--envision-orange);
  border-radius:8px;
  color:var(--envision-purple);
  display:flex;
  font-size:1rem;
  font-weight:700;
  line-height:1.5em;
  margin:0;
  padding:12px 40px;
  text-align:left;
  text-decoration:none;
  transition:background 250ms ease-in-out, color 250ms ease-in-out;
}

.card .button-links > .button,
.quote .button-links > .button {
  background:#fff;
  border:2px solid var(--envision-purple);
  padding:10px 40px;
}

.button-links > .button:focus,
.card:focus .button-links > .button,
.button-links > .button:hover,
.card:hover .button-links > .button {
  background:var(--envision-purple);
  color:#fff;
}


/* Page Content */

article.node .body-content {
  margin:0 auto;
  max-width:800px;
  padding:40px 20px;
  width:100%;
}

article.node > .body-content.primary {padding-bottom:40px;}
article.node:has(.body-content.primary + .background-white) > .body-content.primary {padding-bottom:0;}

article.node h1.page-title,
article.node h2 {
  color:var(--envision-purple);
  font-family:var(--secondary-font-family);
  font-size:1.555556rem;
  font-weight:700;
  line-height:1.111111em;
  position:relative;
  margin:40px 0 16px;
}

article.node h3 {
  color:var(--envision-purple);
  font-family:var(--secondary-font-family);
  font-size:1.333333rem;
  font-weight:700;
  margin:40px 0 16px;
}

article.node h2:first-child {margin-top:0;}

.body-content ul,
.body-content ol {margin:24px 0;}
.body-content ul li,
.body-content ol li {margin:0 0 8px;}

article.node .body-content .body :last-child {margin-bottom:0;}

article.node > .body-content.primary .body {
  font-family:var(--secondary-font-family);
  font-size:1.333333rem;
  font-weight:300;
  line-height:1.333333em;
}

article.node p.standard {
  font-family:var(--default-font-family);
  font-size:1rem;
  font-weight:400;
  line-height:1.5em;
}

article figure,
.region-hero figure {
  line-height:0;
  margin:0 0 20px;
  position:relative;
  width:100%;
}

article figure a {display:block;}

article figure img,
.region-hero figure img {
  height:auto;
  width:100%;
}

article figure figcaption,
.region-hero figure figcaption {
  font-size:.777778rem;
  font-style:italic;
  line-height:1.428571em;
  padding:8px 12px 0;
  text-align:right;
}

article figure figcaption :last-child,
.region-hero figure figcaption :last-child {margin:0;}
.region-hero figure figcaption {color:#fff;}

article figure.video {margin:0 0 20px;}

article figure.video iframe.media-oembed-content {
  aspect-ratio:16 / 9;
  height:auto;
  width:100%;
}

article.node .body-content hr {
  background:var(--envision-purple);
  border:0;
  height:2px;
  margin:24px 0;
  padding:0;
}

article.node figure.standard img {border-radius:16px;}

article.node .date-created {
  font-size:.833333rem;
  line-height:1.333333em;
  margin:0 0 4px;
}


/* Person pages */

article.node.person h1.page-title {margin:0 0 16px;}
article.node.person > .body-content {padding-top:0;}

article.node.person .person-title {
  font-family:var(--secondary-font-family);
  font-size:1.333333rem;
  font-weight:300;
  margin:0 0 4px;
}

article.node.person figure.portrait {
  max-width:480px;
  margin-top:16px;
}

article.node.person figure.portrait img {border-radius:16px;}


/* Story pages */

article.node.story figure.hero {
  margin:0 auto 24px;
  max-width:1020px;
  padding:24px 20px 0;
  width:100%;
}

article.node.story figure.hero img {border-radius:16px;}
article.node.story figure.hero + .body-content {padding-top:0;}
article.node.story > .body-content:not(:last-child) {padding-bottom:0;}
article.node.story h1.page-title {margin-top:0;}
article.node.story > .body-content + .paragraph.regular.background-white:not(.top-border) {padding-top:16px;}


/* Footer */

footer.site-footer {
  background:var(--envision-purple);
  color:#fff;
  padding:60px 20px 40px;
  width:100%;
}

footer.site-footer .footer-container {
  margin:0 auto;
  max-width:760px;
}

footer.site-footer .footer-section {
  align-items:flex-start;
  display:grid;
  gap:16px;
}

footer.site-footer .footer-section.primary {
  border-bottom:1px solid #fff;
  margin:0 auto 32px;
  padding:0 0 24px;
  width:100%;
}

footer.site-footer .footer-section.secondary {
  margin:0 auto;
  padding:0 0 32px;
}

footer.site-footer figure.branding {
  display:flex;
  justify-content:center;
  line-height:0;
  margin:0;
}

footer.site-footer figure.branding a {padding:0 20px 8px;}

footer.site-footer figure.branding img {
  height:153px;
  width:200px;
}

footer.site-footer .footer-address-contact {
  font-size:.888889rem;
  line-height:1.5em;
  text-align:center;
}

footer.site-footer .footer-address-contact .crisis-services,
footer.site-footer .footer-address-contact .crisis-services a {font-weight:700;}
footer.site-footer .footer-address-contact .body-content p:last-child {margin:0;}

footer.site-footer .body-content a {
  color:#fff;
  font-weight:400;
  text-decoration:underline;
}

footer.site-footer .footer-social .social-media-icons {
  display:flex;
  flex-wrap:wrap;
  justify-content:center;
  margin:0 auto;
}

footer.site-footer .social-media-icons a {
  background-position:center;
  background-repeat:no-repeat;
  background-size:24px;
  display:block;
  font-size:0;
  height:48px;
  padding:12px;
  width:48px;
}

footer.site-footer .social-media-icons a.icon-facebook {background-image:url(/themes/custom/envision/images/icons/facebook-white.svg);}
footer.site-footer .social-media-icons a.icon-instagram {background-image:url(/themes/custom/envision/images/icons/instagram-white.svg);}
footer.site-footer .social-media-icons a.icon-linkedin {background-image:url(/themes/custom/envision/images/icons/linkedin-white.svg);}
footer.site-footer .social-media-icons a.icon-youtube {background-image:url(/themes/custom/envision/images/icons/youtube-white.svg);}

footer.site-footer .disclaimer {
  font-size:.888889rem;
  line-height:1.5em;
}







footer.site-footer .footer-contact ul.menu {
  border:0;
  padding:0;
  position:relative;
  z-index:1;
}

footer.site-footer .footer-menu .menu-item {
  display:block;
  width:100%;
}

footer.site-footer .footer-menu .menu-item a {
  color:#fff;
  display:block;
  font-family:var(--secondary-font-family);
  font-size:.888889rem;
  line-height:1.25em;
  padding:12px;
  text-align:center;
  text-decoration:none;
}

footer.site-footer .footer-menu .menu-item a:focus,
footer.site-footer .footer-menu .menu-item a:hover {text-decoration:underline;}

footer.site-footer .copyright-powered-by {
  display:block;
  margin:0 auto;
  max-width:1200px;
  width:100%;
}

footer.site-footer .copyright-powered-by .block-container {
  display:grid;
  gap:20px;
}

footer.site-footer .copyright-powered-by p {
  font-size:.777778rem;
  line-height:2em;
  margin:0;
}

footer.site-footer .copyright-powered-by .copyright {
  order:2;
  text-align:center;
}

footer.site-footer .copyright-powered-by div.powered-by {
  margin:0 auto;
  width:280px;
}

footer.site-footer .copyright-powered-by div.powered-by .powered-by {margin:0 0 8px;}

footer.site-footer .copyright-powered-by div.powered-by figure.logo {
  height:35px;
  margin:0;
  width:280px;
}


/* Media Queries */


@media (min-width:400px) {

  /* Hero Region */

  section.region-hero.has-hero:not(.parent) figure.hero {grid-template-rows:300px auto;}
  
  
  /* Buttons Menu */
  
  nav.buttons-menu .button-links > .button,
  .hero-feature .button-links > .button {padding:12px 40px;}

}



@media (max-width:479px) {

  article.node .body-content.has-image figure.standard {
    margin-right:-20px;
    margin-left:-20px;
    width:calc(100% + 40px);
  }

  article.node .body-content.has-image figure.standard img {border-radius:0;}

}


@media (min-width:480px) {
  
  /* Hero Section */
  
  section.region-hero.has-hero:not(.parent) figure.hero {grid-template-rows:400px auto;}
  
}


@media (min-width:600px) {
  
  /* Page Content */
  
  article.node h1.page-title,
  article.node h2 {
    font-size:2rem;
    line-height:1.166667em;
  }
  
  article.node .body-content.primary,
  article.node.person > .body-content {padding-bottom:80px;}
  
  
  /* Story pages */

  article.node.story figure.hero {padding-top:44px;}
  
  
  /* Footer */

  footer.site-footer .footer-section.primary {
    column-gap:0;
    grid-template-columns:1fr 200px 45px 265px 1fr;
  }

  footer.site-footer figure.branding {
    grid-column:2 / 3;
    grid-row:1 / 3;
    justify-content:flex-start;
  }
  
  footer.site-footer figure.branding a {padding:0;}
  
  footer.site-footer .footer-address-contact {
    grid-column:4 / 5;
    grid-row:1 / 2;
    text-align:left;
  }

  footer.site-footer .footer-social {
    grid-column:4 / 5;
    grid-row:2 / 3;
  }
  
  footer.site-footer .footer-social .social-media-icons {
    justify-content:flex-start;
    margin-left:-12px;
  }

}
  

@media (min-width:768px) {  
  
  /* Hero Region */
  
  section.region-hero.has-icon {padding:40px 20px;}

  section.region-hero.has-icon .page-title-group {
    align-content:center;
    grid-template-columns:1fr 224px auto 1fr;
    grid-template-rows:auto;
  }

  section.region-hero.has-icon .page-title-group figure.icon {
    grid-column:2 / 3;
    height:224px;
    padding:32px;
    width:224px;
  }

  section.region-hero.has-icon .page-title-group figure.icon img {
    height:160px;
    width:160px;
  }
  
  section.region-hero.has-icon .page-title-group h1.page-title {
    align-items:center;
    display:flex;
    grid-column:3 / 4;
  }

  section.region-hero .page-title-group .page-title,
  section.region-hero.has-hero-feature .feature-title {font-size:2.666667rem;}
  
  section.region-hero.program .page-title-group .page-title.long {
    font-size:2.666667rem;
    line-height:1.25em;
  }
  
  section.region-hero.has-hero.parent .page-title-group .page-title {margin-bottom:32px;}
  
  
  /* Person pages */
  
  article.node.person .body-content.has-portrait {
    align-content:flex-start;
    column-gap:20px;
    display:grid;
    grid-template-columns:250px 1fr;
    max-width:1200px;
  }
  
  article.node.person .body-content.has-portrait > h1,
  article.node.person .body-content.has-portrait > .person-title,
  article.node.person .body-content.has-portrait > .body {grid-column:2 / 3;}
  
  article.node.person .body-content.has-portrait > h1 {margin-top:60px;}
  
  article.node.person .body-content.has-portrait figure.portrait {
    grid-column:1 / 2;
    grid-row:1 / 5;
    margin:0;
  }  

}


@media (min-width:960px) {  

  /* Header */
  
  header.site-header .header-container {
    grid-template-columns:180px 1fr auto;
    grid-template-rows:52px 1fr 44px 16px;
    height:187px;
    padding:0 20px 0 0;
  }
  
  header.site-header .branding {
    grid-column:1 / 2;
    grid-row:1 / 5;
  }
  
  figure.branding a.site-logo {padding:56px 20px 24px;}

  figure.branding img {
    height:107px;
    width:140px;
  }
  
  header.site-header nav.main-menu {
    grid-column:3 / 4;
    grid-row:3 / 4;
  }

  header.site-header nav.main-menu .contextual button {
    top:-15px;
    right:-15px;
  }
  
  nav.main-menu > ul.menu {
    align-items:flex-start;
    display:flex;
    justify-content:flex-end;
    padding:0;
  }
  
  nav.main-menu .menu-level-1 > li.menu-item.menu-item--expanded {grid-template-columns:auto 40px;}
  
  nav.main-menu li.menu-item a,
  nav.main-menu li.menu-item span.no-link {
    padding:10px;
    text-decoration:none;
    width:auto;
  }
  
  nav.main-menu ul.menu-level-1 > li.menu-item > a,
  nav.main-menu ul.menu-level-1 > li.menu-item > span.no-link {
    height:44px;
    line-height:1.25em;
    min-height:unset;
    padding:0 20px;
    text-wrap:nowrap;
    width:auto;
  }
  
  nav.main-menu ul.menu-level-1 > li.menu-item.menu-item--expanded > a,
  nav.main-menu ul.menu-level-1 > li.menu-item.menu-item--expanded > span.no-link {padding-right:0;}
  
  nav.main-menu ul.menu-level-1 ul.menu {position:absolute;}

  nav.main-menu ul.menu-level-1 .expanded ul.menu {
    background:#fff;
    width:100%;
    top:44px;
    z-index:2;
  }
  
  nav.main-menu ul.menu-level-1 .about-us.expanded ul.menu {min-width:160px;}
  nav.main-menu ul.menu-level-1 .get-involved.expanded ul.menu {width:240px;}
  nav.main-menu ul.menu-level-1 .programs--services.expanded ul.menu {width:320px;}
  nav.main-menu .submenu.menu-level-2 > li.menu-item.menu-item--expanded,
  nav.main-menu .submenu.menu-level-3 > li.menu-item.menu-item--expanded,
  nav.main-menu .submenu.menu-level-4 > li.menu-item.menu-item--expanded {grid-template-columns:1fr 60px;}
  nav.main-menu .submenu.menu-level-2 > li.menu-item a,
  nav.main-menu .submenu.menu-level-2 > li.menu-item span.no-link {padding:10px 20px;}
  
  nav.main-menu .submenu.menu-level-2 > li.menu-item > button {
    display:block;
    width:60px;
  }
  
  nav.main-menu ul.menu-level-1 .expanded ul.menu-level-2 ul.menu-level-3 {
    position:relative;
    top:0;
  }
  
  nav.main-menu ul.menu-level-2 .expanded ul.menu {
    position:relative;
    top:0;
  }
  
  nav.main-menu .submenu.menu-level-3 > li.menu-item > a,
  nav.main-menu .submenu.menu-level-3 > li.menu-item > span.no-link {padding-left:40px;}
  nav.main-menu .submenu.menu-level-4 > li.menu-item > a,
  nav.main-menu .submenu.menu-level-4 > li.menu-item > span.no-link {padding-left:60px;}

  header.site-header nav.buttons-menu {
    grid-column:3 / 4;
    grid-row:2 / 3;
  }
  
  nav.buttons-menu ul.menu {
    display:flex;
    justify-content:flex-end;
  }

  nav.buttons-menu .button-links > .button,
  .hero-feature .button-links > .button {padding:16px 40px;}
  
  header.site-header .menu-controls {display:none;}
  
  
  /* Hero Section */
  
  section.region-hero.has-hero:not(.parent) figure.hero {grid-template-rows:500px auto;}
  section.region-hero .page-title-group {padding:40px 20px;}
  section.region-hero.has-hero.parent .page-title-group {padding-top:80px;}
  
  .type-node section.region-hero .page-title-group .page-title,
  section.region-hero.has-hero-feature .feature-title {
    font-size:3.555555rem;
    line-height:1.1875em;
  }
  
  section.region-hero.has-hero.parent .page-title-group .page-title {margin-bottom:40px;}
  
  section.region-hero.program .page-title-group {
    align-items:flex-end;
    gap:40px;
    grid-template-columns:400px 1fr;
    padding-bottom:0;
  }
  
  section.region-hero.program .page-title-group h1.page-title {
    padding-bottom:20px;
    text-align:left;
  }

  
  /* Page Content */
  
  article.node .body-content.primary.has-image {
    display:grid;
    gap:32px;
    grid-template-columns:1fr 1fr;
    max-width:1400px;
  }
  
  article.node .body-content.has-image figure.image {margin:0;}
  
  
  /* Person pages */
  
  article.node.person .body-content.has-portrait {
    column-gap:40px;
    grid-template-columns:400px 1fr;
  }

  
  /* Footer */
  
  footer.site-footer .footer-container {
    align-items:flex-start;
    display:grid;
    grid-template-columns:291px 1fr;
    max-width:1080px;
  }

  footer.site-footer .footer-section.primary {
    border-bottom:0;
    border-right:1px solid #fff;
    grid-row:1 / 2;
    grid-template-columns:1fr;
    margin-bottom:0;
    padding:0 30px 0 0;
  }
  
  footer.site-footer .footer-section.secondary {
    grid-row:1 / 2;
    max-width:unset;
    padding:0 0 0 30px;
  }

  footer.site-footer figure.branding {
    grid-column:1 / 2;
    grid-row:1 / 2;
  }
  
  footer.site-footer .footer-address-contact {
    grid-column:1 / 2;
    grid-row:2 / 3;
    width:265px;
  }

  footer.site-footer .footer-social {
    grid-column:1 / 2;
    grid-row:3 / 4;
  }  
  
}


@media (min-width:1200px) {
  
  header.site-header .header-container {
    grid-template-columns:220px 1fr auto;
    grid-template-rows:32px 1fr 44px 16px;
    height:200px;
  }
  
  figure.branding a.site-logo {padding:32px 20px 30px;}

  figure.branding img {
    height:138px;
    width:180px;
  }
  
  article.node .body-content.primary.has-image {
    gap:40px;
    grid-template-columns:480px 1fr;
  }
  
  
  /* Person pages */
  
  article.node.person .body-content.has-portrait {grid-template-columns:480px 1fr;}
  
  
  /* Footer */
  
  footer.site-footer .footer-container {grid-template-columns:330px 1fr;}
  footer.site-footer .footer-section.primary {padding-right:60px;}
  footer.site-footer .footer-section.secondary {padding-left:60px;}
  footer.site-footer .footer-address-contact {width:270px;}
  
}


@media (min-width:1400px) { 
  
  /* Hero Section */
  
  section.region-hero.has-hero figure.hero {grid-template-columns:1fr 1200px 1fr;}

}


@media (min-width:1440px) { 

  section.region-hero.has-hero:not(.parent) figure.hero.has-caption {grid-template-columns:1fr 1400px 1fr;}
  
}