/* Cards Paragraphs */

.paragraph .cards {
  display:flex;
  flex-wrap:wrap;
  justify-content:center;
  gap:32px;
  margin:0 auto 40px;
  max-width:1360px;
}

.paragraph .cards:last-child {margin-bottom:0;}

.paragraph .cards .card {
  background:#fff;
  border:1px solid var(--main-text-color);
  border-radius:16px;
  box-shadow:var(--standard-box-shadow);
  display:flex;
  width:100%;
}

.paragraph .card a {
  display:grid;
  grid-template-rows:auto 1fr;
  text-decoration:unset;
}

.paragraph .card figure.standard,
.paragraph .card figure.icon {margin:0;}
.paragraph .card figure.icon {padding:24px 24px 0;}
.paragraph .card figure.standard img {border-radius:16px 16px 0 0;}

.paragraph .card figure.icon svg {
  display:block;
  height:96px;
  width:96px;
}

.paragraph .card .card-content {
  display:grid;
  gap:4px;
  grid-template-rows:auto auto 1fr auto;
  padding:24px;
}

.paragraph .card h3.card-title {margin:0;}
.paragraph .card a h3.card-title,
.paragraph .card a h3.card-title {text-decoration:underline;}

.paragraph .card .teaser {font-weight:400;}

.paragraph .card .button-links {
  grid-row:4 / 5;
  margin:0;
}


/* Hero Feature Paragraphs */

.hero-feature {
  display:grid;
  grid-template-columns:1fr;
  grid-template-rows:1fr auto;
  width:100%;
}

.hero-feature figure.background {
  background-position:50% 33%;
  background-repeat:no-repeat;
  background-size:cover;
  display:block;
  grid-column:1 / 2;
  grid-row:1 / 2;
  height:100%;
  line-height:0;
  margin:0;
  position:relative;
  width:100%;
  z-index:1;
}

.hero-feature figure.background.has-caption {
  display:grid;
  grid-row:1 / 2;
  grid-template-columns:20px 1fr 20px;
  grid-template-rows:1fr auto;
}

.hero-feature figure.background video,
.hero-feature figure.background img {
  display:block;
  height:auto;
  max-height:600px;
  object-fit:cover;
  position:relative;
  width: 100%;
}

.hero-feature figure.background.has-caption video,
.hero-feature figure.background.has-caption img {
  grid-column:1 / 4;
  grid-row:1 / 2;
}

.hero-feature figure.background.has-caption figcaption {
  grid-column:2 / 3;
  grid-row:2 / 3;
}

.hero-feature .hero-feature-content {
  color:#fff;
  padding:20px 20px 40px;
}

section.region-hero.has-hero-feature .feature-title,
section.region-hero.has-hero-feature .feature-subtitle,
.hero-feature .hero-feature-content .button-links {max-width:1080px;}

section.region-hero.has-hero-feature .feature-subtitle {
  font-family:var(--secondary-font-family);
  font-size:1.333333rem;
  font-weight:300;
  line-height:1.25em;
  margin:0 auto 20px;
}

.hero-feature .hero-feature-content .button-links {
  justify-content:center;
  margin:16px auto 0;
}


/* Highlights Paragraphs */

.paragraph .highlights {
  display:flex;
  flex-wrap:wrap;
  justify-content:center;
  gap:32px;
  margin:0 auto 40px;
  max-width:1360px;
}

.paragraph .highlights:last-child {margin-bottom:0;}

.paragraph .highlights .highlight {
  background:var(--envision-purple);
  border-radius:16px;
  box-shadow:12px 12px 0 0 var(--envision-green);
  color:#fff;
  font-family:var(--secondary-font-family);
  padding:20px;
  text-align:center;
  width:100%;
}

.paragraph .highlights .highlight h3 {
  color:var(--envision-green);
  display:block;
  font-size:2rem;
  font-weight:500;
  line-height:1.333333em;
  margin:0 0 4px;
}

.paragraph .highlights .highlight .body {
  font-weight:300;
  font-size:1.333333rem;
  line-height:1.5em;
}


/* Icon Callouts */

.paragraph .cards.icon-callouts {gap:60px;}

.paragraph .card.icon-callout {
  border:0;
  box-shadow:unset;
}

.paragraph .card.icon-callout a {
  align-items:flex-start;
  text-align:center;
}

.paragraph .cards .card.icon-callout .button-links {justify-content:center;}
.paragraph .card.icon-callout figure.icon {padding:0;}

.paragraph .card.icon-callout figure.icon svg {
  height:160px;
  margin:0 auto;
  width:160px;
}

.paragraph .card.icon-callout .card-content {
  gap:8px;
  padding:24px 0 0;
}

.paragraph .card.icon-callout .card-content .body p {font-weight:400;}
.paragraph .card.icon-callout .card-content .body > :last-child {margin-bottom:8px;}


/* Image Paragraphs */

section.paragraph.regular > .content-container > figure.image.standard {
  margin-left:auto;
  margin-right:auto;
  max-width:1200px;
}

section.paragraph.regular > .content-container > figure.image.standard:last-child {margin-bottom:0;}
section.paragraph.regular.sun.background-grey > .content-container > figure.image.standard img {border:10px solid var(--envision-light-purple);}
section.paragraph.regular.sun.background-orange > .content-container > figure.image.standard img {border:10px solid var(--envision-orange);}
section.paragraph.regular.sun.background-purple > .content-container > figure.image.standard img {border:10px solid var(--envision-purple);}
section.paragraph.regular.sun.background-white > .content-container > figure.image.standard img {border:10px solid #fff;}


/* Image with Text Paragraphs */

section.paragraph.image-with-text.regular .content-container,
.paragraph .image-with-text {
  display:grid;
  gap:20px;
  margin:0 auto;
  max-width:800px;
}

.paragraph .image-with-text {max-width:760px;}
.paragraph.regular .content-container .image-with-text {padding-bottom:40px;}
.paragraph.regular .content-container .image-with-text:last-child {padding-bottom:0;}

.paragraph .image-with-text.top-border {
  border-top:3px solid var(--envision-green);
  padding-top:40px;
}

section.paragraph.image-with-text figure.image,
.paragraph .image-with-text figure.image {margin:0;}
.paragraph .image-with-text h3.subsection-title {margin-top:0;}
section.paragraph.image-with-text .body > :last-child,
.paragraph .image-with-text .body > :last-child {margin-bottom:0;}


/* Introduction Paragraphs */

section.paragraph.introduction > .content-container .body {
  font-family:var(--secondary-font-family);
  font-size:1.555556rem;
  line-height:1.285714em;
  margin-top:0;
  max-width:1080px;
  text-align:center;
}


/* Quote Paragraphs */

section.paragraph.regular.quote > .content-container {
  display:grid;
  gap:32px;
  max-width:1400px;
}

section.paragraph.regular.quote > .content-container > figure.image.square {
  margin-bottom:0;
  max-width:480px;
}

section.paragraph.regular.quote.image-decoration > .content-container > figure.image.square {
  background-image:url(/themes/custom/envision/images/quote-image-decoration.svg);
  background-repeat:no-repeat;
  background-size:contain;
  padding:10.416667% 10.416667% 0 14.583333%;
}

section.paragraph.regular.quote > .content-container > figure.image.square img {border-radius:50%;}

section.paragraph.regular.quote > .content-container .body {
  margin-top:0;
  max-width:880px;
}

section.paragraph.regular.quote.no-image > .content-container .body {text-align:center;}

section.paragraph.regular.quote blockquote {
  font-family:var(--secondary-font-family);
  font-size:1.555556rem;
  line-height:1.285714em;
  margin:0;
}

section.paragraph.regular.quote .quoter {
  font-size:1.166667rem;
  margin:16px 0 0;
}

section.paragraph.regular.quote .button-links {margin-top:32px;}
section.paragraph.regular.quote.no-image .button-links {justify-content:center;}


/* Regular Paragraphs */

section.paragraph.regular {
  background:#fff;
  margin:0 auto;
  padding:40px 0;
  width:100%;
}

section.paragraph.regular.background-white + .background-white:not(.top-border) {padding-top:0;}
section.paragraph.regular.background-gradient {background:var(--envision-yellow-to-orange-gradient);}
section.paragraph.regular.background-grey + .background-grey:not(.top-border) {padding-top:0;}
section.paragraph.regular.background-grey {background:var(--envision-light-purple);}
section.paragraph.regular.background-orange {background:var(--envision-orange);}
section.paragraph.regular.background-lightest-orange {background:var(--envision-lightest-orange);}
section.paragraph.regular.background-purple {background:var(--envision-purple);}
section.paragraph.regular.top-border {border-top:3px solid var(--envision-green);}
section.paragraph.regular.background-orange.top-border {border-color:var(--envision-medium-orange);}

section.paragraph.regular.sun {
  background-image:url(/themes/custom/envision/images/sun-orange.svg);
  background-position:bottom center;
  background-repeat:no-repeat;
}

section.paragraph.regular.sun.background-orange {background-image:url(/themes/custom/envision/images/sun-yellow.svg);}

.paragraph.regular .content-container {
  margin:0 auto;
  max-width:unset;
  padding:0 20px;
  width:100%;
}

.paragraph.regular .content-container > h2.title {
  margin:0 auto 40px;
  max-width:960px;
  padding:0;
  text-align:center;
  width:100%;
}

.paragraph.regular .content-container:has(h2.title + .body) > h2.title {margin-bottom:16px;}

.paragraph.regular.left .content-container > h2.title {
  margin-left:0;
  margin-right:0;
  text-align:left;
}

.paragraph.regular.background-purple .content-container > h2.title {color:#fff;}

.paragraph.regular .content-container > .body {
  margin:16px auto 40px;
  max-width:760px;
  width:100%
}

.paragraph.regular .content-container > .body:last-child,
.paragraph.regular .content-container > .body :last-child {margin-bottom:0;}
.paragraph.regular.background-purple .content-container > .body {color:#fff;}
.paragraph.regular .content-container .image-with-text .body :last-child {margin-bottom:0;}


/* Statistics Paragraphs */

.paragraph .statistics {
  background:var(--envision-bright-purple-to-blue-gradient);
  border-radius:90px;
  color:#fff;
  display:flex;
  flex-wrap:wrap;
  gap:20px;
  margin:0 auto 40px;
  max-width:1360px;
  padding:40px;
}

.paragraph .statistics:last-child {margin-bottom:0;}

.paragraph .statistics .statistic {
  margin:0;
  text-align:center;
  width:100%;
}

.paragraph .statistics .statistic strong {
  display:block;
  font-family:var(--secondary-font-family);
  font-size:4.944444rem;
  line-height:1.123596em;
  margin:0 0 14px;
}


/* Sticky Menu Paragraphs */

section.paragraph.regular.sticky-menu {
  background:var(--envision-purple);
  padding:12px 0;
  position:sticky;
  top:0;
  z-index:6;
}

.group-child-welfare section.paragraph.regular.sticky-menu {background:var(--envision-bright-purple);}
.group-idd section.paragraph.regular.sticky-menu {background:var(--envision-yellow);}
.group-mental-health section.paragraph.regular.sticky-menu {background:var(--envision-green);}
.group-housing section.paragraph.regular.sticky-menu {background:var(--envision-blue);}
.gin--horizontal-toolbar.toolbar-vertical.user-logged-in section.paragraph.regular.sticky-menu {top:39px;}
.gin--horizontal-toolbar.toolbar-horizontal.user-logged-in section.paragraph.regular.sticky-menu {top:53px;}

section.paragraph.sticky-menu nav.sticky-menu ul.menu {
  display:flex;
  flex-wrap:wrap;
  justify-content:center;
  margin:0 auto;
}

nav.sticky-menu ul.menu a {
  color:#fff;
  display:block;
  font-family:var(--secondary-font-family);
  font-size:1.166667rem;
  line-height:1.714286em;
  padding:6px 12px;
  text-align:center;
  text-decoration-color:#fff;
  text-decoration:unset;
}

.group-idd nav.sticky-menu ul.menu a,
.group-mental-health nav.sticky-menu ul.menu a {
  color:var(--envision-purple);
  text-decoration-color:var(--envision-purple);
}

nav.sticky-menu ul.menu a:focus,
nav.sticky-menu ul.menu a:hover {text-decoration:underline;}

section.sticky-menu ~ section.paragraph.regular:target {
  overflow:scroll;
  scroll-margin-top:120px;
}


@media (min-width:600px) {
  
  /* Cards Paragraphs */

  .paragraph .cards {margin-bottom:60px;}
  .paragraph .cards .card {width:calc(50% - 16px);}
  
  
  /* Image with Text Paragraphs */

  .paragraph.regular .content-container .image-with-text {padding-bottom:60px;}
  .paragraph .image-with-text.top-border {padding-top:40px;}
  
  
  /* Quote Paragraphs */
  
  section.paragraph.regular.quote blockquote {
    font-size:2rem;
    line-height:1.25em;
  }

  
  /* Regular Paragraphs */

  section.paragraph.regular {padding:60px 0 80px;}
  

  .paragraph .cards,
  .paragraph .highlights,
  .paragraph .statistics {margin-bottom:60px;}
   
}


@media (min-width:768px) {
  
  /* Hero Feature Paragraphs */

  .hero-feature .hero-feature-content {padding:40px 0 60px;}  
  

  /* Highlights Paragraphs */

  .paragraph .highlights {gap:40px;}
  .paragraph .highlights .highlight {width:calc(50% - 20px);}


  /* Statistics Paragraphs */

  .paragraph .statistics {
    gap:40px;
    justify-content:center;
    padding:40px 80px;
  }

  .paragraph .statistics .statistic {width:calc((100% / 3) - 27px);}
  
}



@media (min-width:960px) {
  
  /* Cards Paragraphs */

  .paragraph .cards {gap:39px;}
  .paragraph .cards .card {width:calc((100% / 3) - 26px);}
  .paragraph .cards .card.icon-callout {width:calc((100% / 3) - 40px);}
  
  
  /* Hero Feature Paragraphs */
  
  .hero-feature figure.background.has-caption figcaption {padding-left:50%;}


  /* Highlights Paragraphs */

  .paragraph .highlights .highlight {width:calc((100% / 3) - 27px);}
  
  
  /* Image with Text Paragraphs */
  
  .paragraph .image-with-text.top-border {padding-top:60px;}
  .paragraph .image-with-text {display:block;}
  
  
  section.paragraph.image-with-text.regular .content-container {
    gap:32px;
    grid-template-columns:1fr 1fr;
    max-width:1400px;
  }
  
  section.paragraph.image-with-text figure.image {
    grid-column:2 / 3;
    grid-row:1 / 2;
    margin:0;
  }
  
  section.paragraph.image-with-text.left figure.image {grid-column:1 / 2;}
  
  .paragraph .image-with-text figure.image {
    float:right;
    margin:0 0 20px 20px;
    width:50%;
  }
  
  .paragraph .image-with-text.left figure.image {
    float:left;
    margin:0 20px 20px 0;
  }
  
  section.paragraph.image-with-text > .content {
    grid-column:1 / 2;
    grid-row:1 / 2;
  }
  
  .paragraph .image-with-text.left > .content {grid-column:2 / 3;}
  
  
  /* Introduction Paragraphs */

  section.paragraph.introduction > .content-container .body {
    font-size:2rem;
    line-height:1.333333em;
  }
  
  
  /* Quote Paragraphs */

  section.paragraph.regular.quote.has-image > .content-container {
    align-content:center;
    align-items:center;
    grid-template-columns:1fr 480px;
    grid-template-rows:1fr;
    gap:40px;
  }
  
  section.paragraph.regular.quote.has-image.left > .content-container {grid-template-columns:480px 1fr;}
  section.paragraph.regular.quote.has-image:not(.left) figure.image.square {grid-column:2 / 3;}
  
  section.paragraph.regular.quote.has-image:not(.left) .body {
    grid-column:1 / 2;
    grid-row:1 / 2;
  }
  

  /* Statistics Paragraphs */

  .paragraph .statistics {
    gap:40px;
    justify-content:center;
    padding:40px 80px;
  }

  .paragraph .statistics .statistic {width:calc((100% / 3) - 27px);}
  
  
  /* Sticky Menu Paragraphs */
  
  section.sticky-menu ~ section.paragraph.regular:target {scroll-margin-top:72px;}  

}


@media (min-width:1200px) {  

  /* Image with Text Paragraphs */
  
  section.paragraph.image-with-text.regular .content-container {grid-template-columns:760px 1fr;}
  section.paragraph.image-with-text.regular.left .content-container {grid-template-columns:1fr 760px;}
  
}


@media (min-width:1440px) {
  
  /* Hero Feature Paragraphs */
  
  .hero-feature figure.background.has-caption {grid-template-columns:1fr 1400px 1fr;}
  

  /* Regular Paragraphs */
  
  section.paragraph.regular.sun {background-size:1440px 376px;}  

}