/* sitewide */
h1, h2, h3, h4, h5, h6, .h1, .h2, .h3, .h4, .h5, .h6 {
    font-family: CallunaSans-Bold,verdana,sans-serif !important;
    font-weight: 400 !important;
    font-style: normal !important;
    line-height: 1.2 !important;
    margin-top: 0;
    margin-bottom: 0.262em;
    text-wrap: balance;
}

/* major third scale 1.250 - shifted */
h1 { font-size: clamp(1.953rem, .5rem + 2.441vw, 2.441rem) !important; }
h2, .h2 { font-size: 1.563rem; }
h3, .h3 { font-size: 1.25rem; }
h4, .h4 { font-size: 1.0rem; }
h5, .h5 { font-size: 1.0rem; }
h6, .h6 { font-size: 1.0rem; }

p { text-wrap: pretty; }

/* last paragraph or list before heading */
p:has(+ h2), p:has(+ h3), p:has(+ h4), ul:has(+ h2), ul:has(+ h3), ul:has(+ h4), ol:has(+ h2), ol:has(+ h3), ol:has(+ h4) { margin-bottom: 2.441rem }

.ato-component h2:has(+h3) {
margin-bottom: 1.953rem;
}

/******* utility classes - desktop *******/
b, strong, .bold {
font-family: CallunaSans-Bold,verdana,sans-serif;
    font-weight: 400 !important;
    font-style: normal;
}

.background-attachment-fixed {
    background-attachment: fixed !important;
}
.display-block {
    display: block;
}
.display-flex {
    display: flex;
}
.flex-direction-row {
    flex-direction: row;
}
.flex-wrap {
    flex-wrap: wrap;
}
.list-margin-0 > li {
    margin-left: 0;
}
.list-style-type-none {
    list-style-type: none;
}
.text-align-center {
    text-align: center;
}
.margin-0-auto {
    margin: 0 auto;
}
.text-align-left {
    text-align: left;
}
.text-align-right {
    text-align: right;
}
.text-gold {
    color: #f2a900;
}
.text-purple {
    color: #330072;
}

.text-transform-uppercase {
    text-transform: uppercase;
}


/******* utility classes - mobile *******/
@media screen and (max-width: 768px) {
    .mobile-flex-direction-column {
        flex-direction: column;
    }
}





/* ATO only */

/* general styling */

.ato-component h1 { font-size: clamp(2.441rem, .75rem + 2vw, 3.052rem) !important; } 
.ato-component .h1 { font-size: 2.441rem; }
.ato-component h2, .ato-component .h2 { font-size: 1.953rem; }
.ato-component h3, .ato-component .h3 { font-size: 1.563rem; }
.ato-component h4, .ato-component .h4 { font-size: 1.25rem; }
.ato-component h5, .ato-component .h5 { font-size: 1.0rem; }
.ato-component h6, .ato-component .h6 { font-size: 1.0rem; }
/* if h1 alone in full-width banner*/
.ato-component h1:only-child {
margin: 0 !important;
}
figure.image {
	 margin: 0 0 40px;
}
.ato-component .call__action.gold:focus, .ato-component .call__action.gold:hover {
border-color: #fff;
}
.ato-component .call__action.purple-light:focus, .ato-component .call__action.purple-light:hover {
border-color: #fff;
}


/* ATO COMPONENT ENHANCEMENTS */
/* full width video - temporary firefox fix until added to main css */
.ato-component.full-width-video > .inner {
    display: block !important;
}
/* accordions */
.ato-component.accordions .accordion-container .accordion-column .accordions-group .accordion-single .accordion-header,.ato-component.accordions .accordion-container .accordion-column .accordions-group .accordion-single .accordion-header .accordion-trigger {
font-size: 1em;
}
.ato-component.accordions .accordion-container .accordion-column .accordions-group .accordion-single .accordion-header .accordion-trigger .accordion-title {
margin: 22px 20px 22px 0;
}
.ato-component.accordions .accordion-container .accordion-column .accordions-group .accordion-single {
box-shadow: 0 0px 2px rgba(0,0,0,0.2), 0 1px 3px rgba(0,0,0,0.2);
line-height: inherit;
font-size: 1em;
}
.ato-component.accordions .accordion-container .accordion-column .accordions-group .accordion-single .accordion-panel {
padding: 10px 30px 18px;
}
.ato-component.accordions .accordion-container .accordion-column .accordions-group .accordion-single.accordion-open .accordion-header .accordion-trigger {
font-weight: inherit;
font-family: CallunaSans-Bold,verdana,sans-serif;
}
.ato-component.accordions .heading { margin-bottom: 1.25rem; }

/* number counter */
.ato-component.number-counter .number-counter-container .number-counter-column .number-counter-value {
	font-family: CallunaSans-Bold,verdana,sans-serif;
	font-size: 3.052rem;
}
/* news component */
.ato-component.news {
padding: 45px 30px;
}
.ato-component.news .news-container .news-column .featured-article .content span {
    color: #444;
    -webkit-font-smoothing: antialiased;
}
.ato-component.news .news-column .bottom_content > span, .ato-component.news .news-container .news-column .curated-feed .articles .article .content .bottom-content span {
  font-size: .8rem !important;
}
.ato-component.news .news-container .news-column .automatic-feed .articles .article .content span, .ato-component.news .news-container .news-column .curated-feed .articles .article .content span, .ato-component.news .news-container .news-column .trending .articles .article .content span {
    color: #444;
}
/* text block */
.ato-component.text-block .text-block-column.column-1 { display: block;}
/* pathways */
.ato-component.pathways .inner {
	box-shadow: 0 15px 46px rgba(0,0,0,.2);
}

/**** fix one-off templates - unset changes ****/
/* programs page */
.program-grid-item .program-face h2 {
font-size: 1em !important;
font-family:"Calluna Sans","Calluna Sans Two","Calluna Sans Three" !important;
}
/* article/universal */
.universal h2 { text-transform: none !important; }
.overlay.purple h2 { font-size: 1.953rem; }
/* purple and gold */
.text6xl { font-size: 3.75rem !important;}
.page-title {
width: 75%;
}

/* ato unset to original css */
/*number counter - custom coded prototype (used on program pages) */
h2.counter-value {
	font-size:70px;
}

/* clear image floats on mobile */
@media only screen and (max-width:425px) {
  .ato__components p img {
    float: none !important;
    display: block;
  }
}

/**********Prototypes **********/
/* slim clickable banner */
p.slimClickableBanner {
        margin: 0; 
        text-align: center;
    }
    p.slimClickableBanner a {
        text-decoration: none; width: 100%; height: 100%;
        padding: 14px 0;
        display: block;
    }
    p.slimClickableBanner a span.clickableBannerLink {
      color: #f2a900;
      font-family: CallunaSans-Bold,sans-serif;
      margin-left: 6px;
      position: relative;
      white-space: nowrap;
    }
    p.slimClickableBanner a span.clickableBannerLink::after {
  content: '';
  position: absolute;
  bottom: -3px;
  left: 0;
  width: 100%;
  height: 0.1em;
  background-color: #f2a900;
  opacity: 0;
  transition: opacity 300ms, transform 300ms;
  transform: scaleX(0);
  transform-origin: bottom left;
}
p.slimClickableBanner a:hover span.clickableBannerLink::after,p.slimClickableBanner a:focus span.clickableBannerLink::after {
    transform: scaleX(1);
    opacity: 1;
}
p.slimClickableBanner span.clickableBannerLink:before {
    content: '\f324';
    font-family: 'Font Awesome 5 Pro';
    font-weight: 600;
}

/**** feature template start ****/

.feature figure.image img {
	width: 100%;
}

.feature figcaption {
    max-width: 66ch;
    margin: 8px 0 0px;
    color: inherit;
    text-align: left;
    text-wrap: balance;
}

/**** feature template end ****/