:root {
  --wp--preset--color--base: #ffffff;
  --wp--preset--color--base-2: #ddf2e3;
  --wp--preset--color--contrast: #575756;
  --wp--preset--color--contrast-2: #6D6E71;
  --wp--preset--color--accent: #00883e;
  --wp--preset--color--accent-2: #ffc807;
  --wp--preset--color--accent-3: #46c4e2;
}
/*BG Colors*/
.has-accent-background-color{background-color:var(--wp--preset--color--accent)!important}
.has-accent-2-background-color{background-color:var(--wp--preset--color--accent-2)!important}
.has-accent-3-background-color{background-color:var(--wp--preset--color--accent-3)!important}
.has-base-background-color{background-color:var(--wp--preset--color--base)!important}
.has-base-2-background-color{background-color:var(--wp--preset--color--base-2)!important}
.has-contrast-background-color{background-color:var(--wp--preset--color--contrast)!important}
.has-contrast-2-background-color{background-color:var(--wp--preset--color--contrast-2)!important}

/*Text Colors*/
.has-base-color{color:var(--wp--preset--color--base)!important;}
.has-contrast-color{color:var(--wp--preset--color--contrast)!important;}
.has-contrast-2-color{color:var(--wp--preset--color--contrast-2)!important;}
.has-accent-color{color:var(--wp--preset--color--accent)!important;}

/*Accessibility*/
@media(prefers-reduced-motion:reduce){*{transition:none!important;animation:none!important;}}
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0, 0, 0, 0);white-space:nowrap;border-width:0;}

/*Reset*/
*{box-sizing:border-box;margin:0;padding:0}
html{-moz-text-size-adjust:none;-webkit-text-size-adjust:none;text-size-adjust:none;}
body{min-height:100vh;}
img{max-width:100%;height:auto}
body,textarea,input {
  font-family: 'Libre Franklin', -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen-Sans, Ubuntu, Cantarell, "Helvetica Neue", sans-serif;
  font-size: 1.15rem;
  line-height: 1.4;
  color: var(--wp--preset--color--contrast);
}
a{color:var(--wp--preset--color--accent)}
h1,h2,h3{font-weight:400;line-height:1.1;text-transform:uppercase;}
h2,h3{color:var(--wp--preset--color--accent);}
h1{font-size:3rem}
ul{padding-left:1.5rem}
ol li{margin-left:1rem;max-width: fit-content;}/*Used for school list*/
p,li,figcaption{text-wrap:pretty;}
a{font-weight: 700;text-decoration: none;}


/*Reset - Vertical margin*/
p:not(:last-child){margin-bottom:2rem}
h1,h2,h3{margin-top:0;margin-bottom:1rem}
h2:not(:first-child),h3:not(:first-child){margin-top:0.75em !important}
main ul:not(:last-child){margin-bottom:2rem}
main li:not(:first-child){margin-top:0.5rem}

/*Reset - Buttons & Form elements*/
button{cursor:pointer;padding:.75rem 1.5rem;border-radius:10rem;border:none;font-size:1.15rem;font-weight:700;}

/*Section defaults*/
section{padding-left:1.5rem;padding-right:1.5rem;padding-top:3rem;padding-bottom:3rem}
.section-content{max-width:72rem;margin-left:auto;margin-right:auto;}

/*Desktop*/
@media (min-width:1025px){
  h1{font-size:6rem}
  h2{font-size:2.5rem}
  section{padding-top:6rem;padding-bottom:6rem}
  button{padding:1.5rem 2rem;font-size:1.25rem;}
}

/*Header element*/
header{
    padding:1.5rem!important;
    background-color:transparent;transition:background-color 0.3s ease;
    position:fixed;top:0;width:100%;z-index:99;}
/*Add this class via JavaScript when scrolling */
.header-scrolled {
    background-color:var(--wp--preset--color--accent);
    box-shadow:0 3px 16px rgba(0, 0, 0, 0.15);
}
.logged-in header{top:2rem;}
.header-inner-container {
    max-width:88rem;margin:auto;gap:1rem;
    display:flex;justify-content:space-between;align-items:center;text-align: center;
}
/*Header logo*/
.header-logo{width:12rem;filter:brightness(0) invert(1);}
.footer-logo{width:20rem;filter:brightness(0) invert(1);}
/*Header col 2 (needed to wrap mobile cta with nav stuff)*/
.header-col-2{display:flex;gap:1.5rem;align-items:center;}
/*Header checkbox*/
.nav-toggle{display:none;}/*hide checkbox*/
/*Header hamburger icon*/
.nav-toggle-icon{display:flex;flex-direction:column;justify-content:space-between;width:1.5rem;height:1rem;position:relative;z-index:999;}
.nav-toggle-bar{display:block;height:2px;width:100%;background:var(--wp--preset--color--base);transition:transform 0.3s ease-in-out;}
.nav-toggle:checked ~ .nav-toggle-label .nav-toggle-bar:first-child{transform:translateY(7px) rotate(45deg);}/*Animate*/
.nav-toggle:checked ~ .nav-toggle-label .nav-toggle-bar:last-child{transform:translateY(-7px) rotate(-45deg);}/*Animate*/
/*Header nav element*/
nav{width:100%;display:none;}
.nav-toggle:checked ~ nav{
    display:flex;flex-direction:column;gap:2rem;background-color:var(--wp--preset--color--contrast);padding:3rem 1.5rem;z-index:9;position:absolute;top:100%;left:0;box-sizing:border-box;
    max-height:calc(100vh - 66px)/*header height*/;overflow-y:auto;-webkit-overflow-scrolling:touch;}
/*Header nav ul*/
.nav-list{
    list-style:none;margin:0;padding:0;
    display:flex;flex-direction:column;gap:1rem;align-items:start;}
/*Header nav list item*/
.nav-list-item,.sub-nav-title{position:relative;font-weight:600;line-height:normal;}
/*Header nav links*/
.nav-link,.sub-nav-link{text-decoration:none;display:block;color:var(--wp--preset--color--base-2);}
/*Header desktop styles*/
@media(min-width:1025px){
    /*Logo*/.header-logo{width:12rem;}
    /*hide the nav toggle*/.nav-toggle-label{display:none;}
    /*make nav visible*/nav{display:flex!important;width:auto;align-items:center;gap:2rem;}
    /*Cancel out mobile styles*/.nav-toggle:checked ~ nav{position:static;background-color:unset;padding:0;flex-direction:row;overflow-y:unset;}
    /*nav list*/.nav-list{flex-direction:row;gap:1.75rem;}
    /*nav links*/.nav-link,.sub-nav-link{font-size:1rem;text-transform:uppercase;color:var(--wp--preset--color--base);align-items:flex-start;gap:1rem;}
}

/* ============== Background Cover ============= */
.hero_background {
  height: 100dvh;
}

.hero_content {
    position: relative;
}

@media (max-width: 1024px) {
  .hero_background {
    height: 70dvh;
  }

  .hero_content {
    top: 0;
  }
}

@media (max-width: 320px) {
  h2 {
    font-size: 1.5rem;
  }
}

/*Scroll margin (Make anchor links account for sticky header height*/
.scroll-margin-header,h2,h3{scroll-margin-top:8.9rem;}
@media(max-width:1024px){.scroll-margin-header{scroll-margin-top:6.25rem;}}

/*Sticky*/
@media(min-width:1025px){
.is-position-sticky {
  top: 6.5rem;
  height: fit-content;
  position: sticky!important;
  z-index: 10;
}}

/*Wide labels*/
.wide-label-left,.wide-label-right {
  display:inline-block;padding-block:1rem;text-transform:uppercase;font-weight:700;
  background-color:var(--wp--preset--color--accent);color:var(--wp--preset--color--base);
}
.wide-label-left {
  margin-left: calc(-50vw + 50%);
  padding-left: calc(50vw - 50%);
  border-radius: 0 10rem 10rem 0;
  padding-right: 10rem;
}
.wide-label-right {
  margin-right: calc(-50vw - 50%);
  padding-right: calc(50vw + 50%);
  border-radius: 10rem 0 0 10rem;
  padding-left: 10rem;
}
@media(max-width:1024px) {
  .wide-label-left{padding-right:1.5rem;}
  .wide-label-right{padding-left:1.5rem;}
}

/*Slides*/
.slide{display:none;}
.slide.active{display:block;}
.nav-button{padding:0;background-color:transparent;}
.nav-button-left{margin-left: -0.75rem;}
.nav-button-right{margin-right: -0.75rem;}
.button-active{outline:2px solid #000;outline-offset: 2px;}
.nav-dot.dot-active{background-color: #242424!important;}
@media(max-width:1024px){
  .nav-button-left{margin-left: -2.125rem;}
  .nav-button-right{margin-right: -1.125rem;}
}

/*Circle Graph labels*/
#circle-graph-labels dl:first-of-type {top:0;right:0;}
#circle-graph-labels dl:nth-of-type(2) {top:35%;right:0;}
#circle-graph-labels dl:nth-of-type(3) {bottom:-10%;left:10%;}
#circle-graph-labels dl:nth-of-type(4) {bottom:25%;left:5%;}
#circle-graph-labels dl:nth-of-type(5) {top:0;left:10%;}
/*Circle Graph labels - Desktop*/
@media(min-width:1025px){
#circle-graph-labels dl:first-of-type:before {
  content:"";border-left:1px solid;border-top:1px solid;
  position:absolute;left:-80%;
  width:100%;max-width:6rem;height:3rem;
}
#circle-graph-labels dl:nth-of-type(2):before {
  content:"";border-left:1px solid;border-top:1px solid;
  position:absolute;left:-45%;
  width:100%;max-width:3rem;height:3rem;
}
#circle-graph-labels dl:nth-of-type(3):before {
  content:"";border-right:1px solid;border-bottom:1px solid;
  position:absolute;right:-80%;top:20%;
  width:100%;max-width:6rem;height:1.5rem;
}
#circle-graph-labels dl:nth-of-type(4):before {
  content:"";border-right:1px solid;border-top:1px solid;
  position:absolute;right:-50%;
  width:100%;max-width:3rem;height:3rem;
}
#circle-graph-labels dl:nth-of-type(5):before {
  content:"";border-right:1px solid;border-top:1px solid;
  position:absolute;right:-100%;
  width:100%;max-width:6rem;height:3rem;
}
}

/*Circle Graph labels - Mobile*/
@media(max-width:767px){
dl { 
  background-color: rgb(256,256,256,.8);
  padding: .25rem;
  border: 1px solid var(--wp--preset--color--accent);
  border-radius: .5rem;
  font-size: 10px;
}
}

/*Bar graph*/
.chart {
  height: 24rem;
  display: flex;
  gap: 2rem;
  border-bottom: 3px solid var(--wp--preset--color--contrast-2);
}

.bar-container{flex:1;position:relative;}

.bar {
  width: 100%;
  max-width: 3.5rem;
  background-color: var(--wp--preset--color--base);
  border: 3px solid var(--wp--preset--color--accent);
  border-bottom: none;
  border-radius: 4px 4px 0 0;
  position: absolute;
  bottom: 0;
  left: 50%;
  transform: translateX(-50%);
}

.year {
  position:absolute;bottom:-2rem;
  left:50%;transform: translateX(-50%);
  color: var(--wp--preset--color--accent);font-size: .875rem;font-weight: 700;
}

.value {
  position:absolute;
  left:50%;transform: translateX(-50%);
  color: var(--wp--preset--color--contrast-2);font-size: .875rem;font-weight: 700;
  white-space: nowrap;
  bottom: calc(100% + 4px);
}

#bar2008 { height: 1.8%; }
#bar2009 { height: 1.8%; }
#bar2011 { height: 7.6%; }
#bar2012 { height: 11.2%; }
#bar2013 { height: 16.5%; }
#bar2014 { height: 22.2%; }
#bar2015 { height: 29.1%; }
#bar2017 { height: 43.5%; }
#bar2020 { height: 67.2%; }
#bar2021 { height: 75.1%; }
#bar2023 { height: 91.8%; }
#bar2024 { height: 95.5%; }
#bar2025 { height: 100%; }

@media(max-width:1024px){
  .chart{gap:.25rem;}
  .year{rotate:300deg;}
  .value{rotate:290deg;top:-3rem;left:0;transform:unset;font-size:.75rem;}
}

/*Map*/
.hotspot {
    position:absolute;cursor:pointer;
    background-color:white;border-radius:10rem;font-weight:700;color:var(--wp--preset--color--contrast-2);
    width:1.5rem;height:1.5rem;font-size: 0.9rem;
    display:flex;align-items:center;justify-content:center;
}
.hotspot1{top:44.5%;left:63%}
.hotspot2{top:47%;left:64%}
.hotspot3{top:52%;left:77%}
.hotspot4{top:58%;left:64%}
.hotspot5{top:46%;left:68%}
.hotspot6{top:43%;left:88%}
.hotspot7{top:51%;left:58%}
.hotspot8{top:59%;left:70%}
.hotspot9{top:49%;left:68%}
.hotspot10{top:53%;left:61%}
.hotspot11{top:56%;left:67%}
.hotspot12{top:34%;left:72%}
.hotspot13{top:50%;left:64%}
.hotspot14{top:46%;left:87%}
.hotspot15{top:58%;left:75%}
.hotspot16{top:42%;left:69%}
/* .hotspot17{top:37%;left:73%} */
.hotspot17{top:41%;left:76%}
.hotspot18{top:54%;left:57%}
.hotspot19{top:50.2%;left:72%}
.hotspot20{top:48%;left:83%}
.hotspot21{top:53%;left:73%}
.hotspot22{top:55%;left:77%}
.hotspot23{top:57%;left:56%}
/* .hotspot24{top:45%;left:83%} */
.hotspot24{top:21%;left:44%;}
.hotspot25{top:19%;left:48%}

.tooltip {
  position: absolute;
  display: none;
  background: var(--wp--preset--color--contrast-2);color:var(--wp--preset--color--base);
  padding: 0.5rem 1.5rem;border-radius: 0.5rem;
  width: max-content;
  max-width: 24rem;
  z-index: 10;
  left: 100%;
  top: 50%;
  transform: translateY(-50%);
  margin-left: 0.5rem;
}
.hotspot:hover .tooltip {display:block;}

.tooltip .date-opened {text-transform: uppercase;margin:0;max-width:fit-content;}

.tooltip .school-name {font-weight:normal;max-width:fit-content;}

@media(max-width:1024px){
  .hotspot {
    font-size:.8rem;
    width:1.25rem;height:1.25rem;
  }
  .tooltip {
    bottom: 100%;
    left: 50%;
    top: unset;
    margin-left:unset;
    transform: translateX(-50%);
    margin-bottom: 0.5rem;
    max-width: 80vw;
    width: auto;
    white-space: normal;
  }
}

/*Triangle list*/
.triangle-list{list-style-type: '▶';}
.triangle-list li::marker{color:var(--wp--preset--color--accent);}
.triangle-list li {padding-left: .75rem;}

/*Count up*/
.count-up{font-weight:700;font-size:clamp(2rem, 1.5rem + 2vw, 3rem);}