/* 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: pretty;
}

/* 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,ul,ol { 
    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;
}

/* tables - inherit component colours */
table.table-dark-bg tr th {
  color: inherit;
  background: rgb(0 0 0 / 15%);
}

table.table-dark-bg tr td {
  background: inherit;
}

table.table-dark-bg tr td:hover {
  background: rgb(0 0 0 / 15%);
}


/******* 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.text-block .text-block-column hr {
max-inline-size: 74ch;
}


/* ATO COMPONENT ENHANCEMENTS */
/* full width video - temporary firefox fix until added to main css */
.ato-component.full-width-video > .inner {
    display: block !important;
}
/* full width banner */
.ato-component.full-width-video>.inner p {
    line-height: 1.3;
}
/* 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;
}

/**** report template start ****/
div.reportIntro p {
        max-inline-size: 75ch;
        margin: 0;
    }
    
    .reportIntro h1 {
        color: #fff;
    }
    .reportIntro h1 span {
        color: #f2a900;
    }
    hr.shortDivider {
        border:0;
        border-top: 4px solid #f2a900;
        width: 40px;
        margin: 18px 0 50px;
    }
    hr.gold {
        border-color: #f2a900;
    }
    .reportIntro.onLightPurple h1 {
        color: #330072;
    }
    .reportIntro.onLightPurple h1 span {
        color: #330072;
    }
    hr.mauve {
        border-color: #924DA7;
    }
    .reportIntro.onGold h1 {
        color: #330072;
    }
    .reportIntro.onGold h1 span {
        color: #330072;
    }
    hr.mauve {
        border-color: #924DA7;
    }
/**** report template end ****/


/**** 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-single-column .ato-component.text-block .text-block-column.column-1 > * {
    max-inline-size: 640px;
    margin-left: auto;
    margin-right: auto;
}
.feature-single-column .ato-component.text-block .text-block-column.column-1 figure.image.full-width {
    max-inline-size: none;
}

/**** feature template end ****/

/**** text cta prototype start ****/
.text-cta {
  text-decoration: none;
  margin: 0 0 1em 0;
  display: inline-block;
  position: relative;
  padding: 0 0 10px 0;
  color: var(--tl-cta-color);
}
 
.text-cta:hover, .text-cta:focus {
  /*padding-right: .8em;*/
  color: var(--tl-cta-hover-color);
}
 
 
.text-cta::after {
  content: '\f061';
  margin-left: .8em;
  font-family: "Font Awesome 5 Pro";
  font-weight: 400;
  font-size: .9em;
  display: inline-block;
  transform: translateX(0);
  transition: transform 350ms cubic-bezier(0.5, 0.000, 0, 1.000);
}
 
.text-cta::before {
  content: '';
  position: absolute;
  bottom: 0em;
  left: 0;
  width: 100%;
   border-bottom: 2px solid;
  opacity: 1;
  transition: transform 350ms cubic-bezier(0.5, 0.000, 0, 1.000);
  transform: scaleX(1);
  transform-origin: bottom left;
}
.text-cta:hover:before, .text-cta:focus:before {
    transform: scaleX(0);
  transform-origin: bottom right;
  }
 
.text-cta:hover:after, .text-cta:focus:after {
  transform: translateX(.8em);
}
/**** text cta prototype end ****/

/* photo gallery prototype start */
.photoGalleryGrid {
    max-width: 50em;
    margin-left: auto;
    margin-right: auto;
}
/* photo gallery prototype end */


/*** timeline prototype start ***/
ol.list-timeline {
  list-style-type: none;
  margin: 0;
  --tl-line-color: #AC4FC6;
  --tl-bullet-color: #AC4FC6;
  --tl-date-background-color: #EBE0F5;
  --tl-date-text-color: #330072;
  --tl-title-color: #330072;
  --tl-description-color: #444;
  --tl-cta-color: #330072;
  --tl-cta-hover-color: #330072;
  --tl-slider-arrow-color: #330072;
}
ol.list-timeline.timeline-dark-mode {
  --tl-line-color: #f2a900;
  --tl-bullet-color: #f2a900;
  --tl-date-background-color: #662993;
  --tl-date-text-color: #fff;
  --tl-title-color: #EBE0F5;
  --tl-description-color: #EBE0F5;
  --tl-cta-color: #EBE0F5;
  --tl-cta-hover-color: #f2a900;
  --tl-slider-arrow-color: #f2a900;
}

ol.timeline-vertical {
  display: flex;
  flex-direction: column;
  margin: 0;
}

ol.timeline-horizontal {
  display: block;
}

ol.timeline-horizontal, ol.timeline-horizontal ul.slick-dots {
    max-inline-size: none !important;
}

.timeline-horizontal.slider.single-item ul.slick-dots {
  margin: 10px;
}

/* make items same height */
.list-timeline.timeline-horizontal .slick-track {
    display: flex !important;
}
.list-timeline.timeline-horizontal .slick-slide {
    height: inherit !important;
}

ol.list-timeline.timeline-vertical li, ol.list-timeline .slick-track li {
  max-inline-size: 66ch;
  position: relative;
  margin: 0;
  padding-bottom: 26px;
  padding-left: 1.75em;
}

ol.list-timeline li:focus { outline: none;}
ol.list-timeline li:focus-visible { 
  outline: #330072 dotted 2px;
  outline-offset: -2px;
}

ol.timeline-horizontal .slick-track li {
  padding: 1.0em;
  border-radius: 1em;
}

/* vertical line */
ol.list-timeline.timeline-vertical li:before {
  background-color: #AC4FC6;
  background-color: var(--tl-line-color);
  width: 2px;
  content: '';
  position: absolute;
  top: 0px;
  bottom: 0px;
  left: 7px;
  transform: translateX(-.4px);
  z-index:9;
}
/* horizontal line */
ol.list-timeline.timeline-horizontal .slick-track > li:before {
  background-color: #AC4FC6;
  background-color: var(--tl-line-color);
  height: 2px;
  content: '';
  position: absolute;
  left: 10px;
  top: calc(1em + 15px); /* padding plus variable*/
  right: 0px;
  z-index:0;
}

/* bullet */
ol.list-timeline.timeline-vertical li:after {
  content: '';
  position: absolute;
  background: var(--tl-bullet-color);
  mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' aria-hidden='true' viewBox='0 0 32 32' focusable='false'%3E%3Ccircle stroke='none' cx='16' cy='16' r='10'%3E%3C/circle%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-size: contain;
  left: 0;
  top: 3px;
  width: 16px;
  height: 16px;
}

ol.list-timeline.timeline-vertical li:first-child:before { 
  top: 12px;
}

/* Stop the line short on the final list item */
ol.list-timeline.timeline-vertical li:last-child:before { 
  height: 12px;
}

ol.list-timeline.timeline-horizontal li:first-child:before { 
  left: 12px;
}

/* Stop the line short on the final list item */
ol.list-timeline.timeline-horizontal li:last-child:before { display: none;
}

.timeline-date {
  background: var(--tl-date-background-color);
  color: var(--tl-date-text-color);
  display: inline-block;
  padding: .512em 1.25em .32em 2.75em;
  border-radius: 9999px;
  left: -2.75em;
  top: -6px;
  position: relative;
  font-size: .8rem;
  margin-bottom: 0rem;
}

.timeline-horizontal .timeline-date {
  left: -1.0em;
  top: auto;
  padding-left: 1.25em;
  margin-bottom: 0em;
}

.timeline-title {
  font-size: 1.25em;
  font-family: 'CallunaSans-Bold',sans-serif;
  color: var(--tl-title-color);
  display: none;
}

.timeline-description {
  flex-grow: 1;
  font-size: 1.0em;
  color: var(--tl-description-color);
  margin: 6px 0 18px;
}

.list-timeline button.arrowPrev, .list-timeline button.arrowNext {
  font-size: 0;
  line-height: 0;
  position: absolute;
  background: transparent;
  top: 40%;
  width: 30px;
  height: 30px;
  padding: 0;
  transform: translate(0, -40%);
  cursor: pointer;
  color: transparent;
  border: none;
  outline: none;
}
.list-timeline button.arrowPrev {
  left: -40px;
}
.list-timeline button.arrowNext {
  right: -40px;
}
.list-timeline button.arrowPrev::before, .list-timeline button.arrowNext::after {
  font-family: "Font Awesome 5 Pro";
  color: var(--tl-slider-arrow-color);
  font-weight: 400;
  font-size: 21px;
  padding: 10px;
  opacity: .75;
}
.list-timeline button.arrowPrev::before {
  content: '\f137';
}
.list-timeline button.arrowNext::after {
  content: '\f138';
  
}
.list-timeline button.arrowPrev:hover:before, .list-timeline button.arrowNext:hover:after {
  opacity: 1;
}


@media only screen and (min-width: 768px) {
  .timeline-horizontal.slider.single-item button.slick-next.arrowNext.slick-arrow, .timeline-horizontal.slider.single-item button.slick-prev.arrowPrev.slick-arrow {
    display: block !important;
  }
  }

.timeline-dark-mode.slider.single-item ul.slick-dots li.slick-active button {
background: #AC4FC6;
border-color: #AC4FC6;
}

.slick-disabled {
  opacity: 0;
  transition: 350ms;
  pointer-events: none;
}

/*** timeline prototype end ***/

