/************************************************

Stylesheet: Global Stylesheet

*************************************************/

/*********************
GENERAL STYLES
*********************/

@import url('https://fonts.googleapis.com/css2?family=Material+Symbols+Outlined:opsz,wght,FILL,GRAD@20..48,100..700,0..1,-50..200');
@import url('https://fonts.googleapis.com/css2?family=Noto+Serif:ital,wght@0,100..900;1,100..900&family=Open+Sans:ital,wght@0,300..800;1,300..800&display=swap');

/* ---- 300 · Light --------------------------------------- */
@font-face {
  font-family: "Neusa Next Std";
  font-style: normal;
  font-weight: 300;
  font-display: swap;
  src: url("../fonts/Neusa_Next_Std_Light.woff2") format("woff2"),
       url("../fonts/Neusa_Next_Std_Light.otf") format("opentype");
}

/* ---- 400 · Regular ------------------------------------- */
@font-face {
  font-family: "Neusa Next Std";
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url("../fonts/Neusa_Next_Std_Regular.woff2") format("woff2"),
       url("../fonts/Neusa_Next_Std_Regular.otf") format("opentype");
}

/* ---- 400 · Regular Italic ------------------------------ */
@font-face {
  font-family: "Neusa Next Std";
  font-style: italic;
  font-weight: 400;
  font-display: swap;
  src: url("../fonts/Neusa_Next_Std_Italic.woff2") format("woff2"),
       url("../fonts/Neusa_Next_Std_Italic.otf") format("opentype");
}

/* ---- 500 · Medium -------------------------------------- */
@font-face {
  font-family: "Neusa Next Std";
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url("../fonts/Neusa_Next_Std_Medium.woff2") format("woff2"),
       url("../fonts/Neusa_Next_Std_Medium.otf") format("opentype");
}

/* ---- 700 · Bold ---------------------------------------- */
@font-face {
  font-family: "Neusa Next Std";
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url("../fonts/Neusa_Next_Std_Bold.woff2") format("woff2"),
       url("../fonts/Neusa_Next_Std_Bold.otf") format("opentype");
}

/* ---- 700 · Bold Italic --------------------------------- */
@font-face {
  font-family: "Neusa Next Std";
  font-style: italic;
  font-weight: 700;
  font-display: swap;
  src: url("../fonts/Neusa_Next_Std_Bold_Italic.woff2") format("woff2"),
       url("../fonts/Neusa_Next_Std_Bold_Italic.otf") format("opentype");
}


:root {
  --bg: #fff;
  --copy: #074A76;
  --blue: #074A76;
  --dark-blue: #0A5E94;
  --green: #8DC63F;
  --dark-green: #7DB630;
  --cyan: #86D3E1;
  --red: #8D1715;
  --coral: #FC7F7F;
  --gray: #e9edf3;
  --light-gray: #F6F7F9;

  --ease: cubic-bezier(0.165, 0.84, 0.44, 1);
  --transition: all .2s var(--ease);
}

html,
body {
  font-size: 16px;
  background: var(--bg);
  scroll-behavior: smooth;
}

* {
  scroll-margin-top: 8rem;
}

.main.grid-container,
.nav__container .grid-container,
.full-width .grid-container {
  padding-left: .9375rem;
  padding-right: .9375rem;
}

@media print, screen and (min-width: 40em) {
  html,
  body {
    font-size: 18px;
  }

  .grid-container {
    max-width: 75rem;
  }

  .main.grid-container,
  .nav__container .grid-container,
  .full-width .grid-container {
    padding-left: 2.5rem;
    padding-right: 2.5rem;
  }
}

.wp-block-group,
.wp-block-group__inner-container,
.wp-block-columns,
.wp-block-column {
  position: relative;
}

.entry-content > .wp-block-group {
  padding-top: 2rem;
  padding-bottom: 2rem;
}

.entry-content > .wp-block-group:first-child {
  padding-top: 0;
  padding-bottom: 0;
}

@media print, screen and (max-width: 39.5em) {
  .wp-block-buttons.is-content-justification-right {
    justify-content: flex-start;
  }
  .has-text-align-center,
  .has-text-align-right {
    text-align: left;
  }
}
.grecaptcha-badge {
  display: none;
}

.page-id-171 .grecaptcha-badge {
  display: block;
}

.wp-block-list {
  list-style-position: inside;
}

html,
body,
h1,
h2,
h3,
p {

  color: var(--copy);
  position: relative;
}

h1,
h2,
h3 {
  text-transform: uppercase;
  font-family: 'Neusa Next Std', sans-serif;
  font-weight: 500;
  line-height: 1.15;
}

h4,
h5,
h6,
p,
.entry-content li,
table,
table tr,
table td,
table th {
  font-family: 'Open Sans', sans-serif;
  font-weight: 400;
  color: var(--copy);
  position: relative;
}

li {
  list-style-position: outside;
}

h1,
.site-title {
  font-size: 2.5em;
  line-height: 1.1;
  margin-bottom: 1rem;
  position: relative;
  font-weight: 400;
}

h2 {
  font-size: 1.75em;
  line-height: 1.25;
  margin-bottom: 1rem;
  position: relative;
  font-weight: 600;
}

h3,
.h3 {
  font-size: 1.15em;
  line-height: 1.25;
  font-weight: 600;
}

h3 mark {
  text-transform: none;
}

h4 {
  font-size: 1.75em;
  font-weight: 400;
}

h5 {
  font-weight: 500;
  font-size: 1.33em;
}

@media print, screen and (min-width: 40em) {
  h1,
  .site-title {
    font-size: 3.5em;
  }
}
@media print, screen and (min-width: 95em) {
  h1 {
    font-size: 4em;
  }
  .site-title {
    font-size: 4.5em;
  }
}


#testimonial .wp-block-quote { display: none; } 

.wp-block-quote { 
  position: relative;
  border: none;
  border-top: 2px solid var(--gray);
  border-bottom: 2px solid var(--gray);
  padding: 4rem 0 4rem 6rem;
}

.wp-block-quote::before {
  content: '“';
  position: absolute;
  top: 0;
  left: 0;
  font-family: 'Noto Serif', serif;
  font-weight: 300;
  font-size: 11em;
  line-height: 1;
  color: var(--green);
}

.wp-block-quote p {
  font-family: 'Noto Serif', serif;
  font-size: 1.5em;
  color: var(--blue);
}

.wp-block-quote cite {
  font-style: normal;
  font-size: 1em;
  color: var(--blue);
}

.wp-block-columns {
  position: relative;
  margin-bottom: 0;
}

.full-width {
  width: 100vw;
  position: relative;
  left: 50%;
  right: 50%;
  margin-left: -50vw;
  margin-right: -50vw;
  z-index: 1;
}

@media print, screen and (min-width: 40em) {
  .inner-content {
    padding-bottom: 2rem;
  }
}

@media print, screen and (min-width: 120rem) {
  .full-width,
  .footer-container {
    width: 100rem;
    left: 50%;
    right: 50%;
    margin-left: -50rem;
    margin-right: -50rem;
  }
  .inner-content {
    background: var(--bg);
    width: 100rem;
    margin-left: auto;
    margin-right: auto;
  }
  .off-canvas-content {
    background: var(--gray);
  }
  .sticky-container {
    top: 1rem;
  }
}

figure.full-width img {
  width: 100%;
}

.bg-image {
  position: absolute;
}

.bg-image img {
  width: 100% !important;
  height: 100% !important;
  object-fit: cover;
  object-position: 50% 50%;
}

.bg-image--right {
  right: 0;
}

.full-height {
  display: flex;
  align-items: stretch;
}

.full-height div,
.full-height figure,
.full-height img {
  position: relative;
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
}

hr,
.wp-block-separator {
  border-color: var(--gray);
  margin-top: 2rem;
  margin-bottom: 2rem;
}

.bg-dark h1,
.bg-dark h2,
.bg-dark h3,
.bg-dark h4,
.bg-dark h5,
.bg-dark h6,
.bg-dark p,
.bg-dark li,
.bg-dark a,
.bg-dark a:link,
.bg-dark a:visited {
  color: var(--bg);
}

.bg-dark a:hover,
.bg-dark a:focus,
.bg-dark a:active {
  color: var(--bg);
  opacity: .75;
}

.size-full img {
  width: 100%;
}

.entry-content .aligncenter,
.entry-content .aligncenter img,
.entry-content img.aligncenter {
  text-align: center;
}

.inline-list {
  list-style-type: disc;
  margin: 0;
}

.inline-list li {
  display: inline-block;
}

.inline-list li::before {
  content: '•';
  color: var(--blue);
  margin-right: .25rem;
  font-weight: 600;
  font-size: 1.35em;
  transform: translateY(.1rem);
  display: inline-block;
}

.checklist {
  margin: 0;
}

.checklist li {
  list-style: none;
  font-family: 'Neusa Next Std';
  font-weight: 600;
  text-transform: uppercase;
}

.checklist li::before {
  content: '✓';
  color: var(--green);
  margin-right: .5rem;
}

.chevron-list li {
  color: var(--cyan);
  font-size: 1.5em;
  font-weight: 700;
}

.chevron-list li::before {
  content: '▸';
  color: var(--bg);
  margin-right: .5rem;
}

.inline-list.checklist li,
.inline-list.chevron-list li {
  padding-right: 1rem;
}

.white-box {
  background: var(--bg);
  border-radius: 1rem;
  box-shadow: 0 4px 20px 0 rgba(0, 0, 0, 0.15);
  padding: 1rem;
  height: 100%;
}

.how-it-works-list {
  gap: 2rem;
}

.how-it-works-list > .wp-block-group {
  position: relative;
}

@media print, screen and (min-width: 40em) {
  .how-it-works-list > .wp-block-group::after {
    content: '\e5db';
    font-family: 'Material Symbols Outlined';
    color: var(--green);
    position: absolute;
    bottom: -1.5rem;
    left: calc( 7.5% - .75rem);
    font-size: 1.5rem;
  }

  .how-it-works-list > .wp-block-group:last-child::after {
    content: '';
  }
  #synopsis-current-conditions .flex-stretch {
    gap: 0 !important;
  }
  #synopsis-current-conditions .flex-stretch .wp-block-column {
    align-self: stretch;
  }
  #synopsis-current-conditions .flex-stretch .wp-block-column > .wp-block-group {
    padding: 2rem;
  }
}

@media print, screen and (max-width: 39.5em) { 
  #who-is-using-pricepulse .is-layout-grid,
  #synopsis-current-conditions .is-layout-grid {
    grid-template-columns: repeat(1, minmax(0, 1fr));
  }
  #intro .is-layout-flex,
  #monthly-deep-dive .is-layout-flex {
    display: -webkit-flex;
    display: flex;
    -webkit-flex-direction: column;
    flex-direction: column;
    -webkit-flex-wrap: nowrap;
    flex-wrap: nowrap;
    -webkit-justify-content: flex-start;
    justify-content: flex-start;
    -webkit-align-content: stretch;
    align-content: stretch;
    -webkit-align-items: flex-start;
    align-items: flex-start;
  }
  #synopsis-current-conditions .wp-block-columns.has-background {
    padding: 0 !important;
  } 
  #synopsis-current-conditions .wp-container-core-group-is-layout-28b052f3 {
    padding: 2rem !important;
  }
}

#join-pricepulse::after {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: linear-gradient(90deg,rgba(255, 255, 255, 0) 0%, rgba(255, 255, 255, 1) 100%);
  z-index: 1;
}

#join-pricepulse .wp-block-columns {
  z-index: 2;
}

.signup-container {
  background: var(--bg);
  border-radius: 1rem;
  box-shadow: 0 4px 20px 0 rgba(0, 0, 0, 0.15);
  padding: 2rem;
}

/* Logo Ticker */

.logo-ticker {
    position: relative;
    overflow: hidden;       
  }
  .logo-ticker__track {
    display: flex;
    width: max-content;           /* track grows with its content */
    align-items: center;
    gap: 2.5rem;                    /* space between logos */
    animation: logo-ticker-scroll 30s linear infinite;  /* speed: bigger = slower */
    will-change: transform;
  }
  .logo-ticker:hover .logo-ticker__track { animation-play-state: paused; }  /* optional */

  /* KEY: the forced WP wrapper is removed from layout, so the figures
     inside it become direct flex items of the track */
  .logo-ticker__track .wp-block-group__inner-container {
    display: contents;
  }

  /* slides exactly half the track; the 2nd half is an identical clone,
     so the reset is invisible */
  @keyframes logo-ticker-scroll {
    from { transform: translateX(0); }
    to   { transform: translateX(-50%); }
  }

  /* each logo */
  .logo-ticker__track figure {
    margin: 0;
    flex: 0 0 auto;
    display: flex;
    align-items: center;
    justify-content: center;
    height: 4rem;                 /* logo height */
  }

  .logo-ticker__track figure img { height: 100% !important; width: auto !important; display: block; }


/* Tables */

.wp-block-table table {
  border-collapse: separate;
  border-spacing: 0 .25rem;
}

tbody,
tfoot,
thead {
  background: transparent;
}

.wp-block-table,
.wp-block-table thead,
.wp-block-table tbody,
.wp-block-table td, 
.wp-block-table th {
  border: none !important;
}

.wp-block-table td, 
.wp-block-table th { 
  margin-bottom: .5rem;
}

.wp-block-table th {
  font-weight: 700;
}

.wp-block-table td,
.wp-block-table th {
  padding: .5rem 1rem;
}

tbody tr:nth-child(even),
tbody tr:nth-child(odd) {
  background: var(--light-gray) !important;
}

.wp-block-accordion-panel tbody tr:nth-child(even),
.wp-block-accordion-panel tbody tr:nth-child(odd) {
  background: var(--gray) !important;
}

thead tr {
  background: transparent;
}


.wp-block-table thead {
  color: var(--blue);
}

/* Timeline */

  .wrap{margin:0 auto;padding:0 28px;}

  .timeline-wrap{position:relative;margin-top:8px;}
  .rail{overflow-x:auto;overflow-y:hidden;scroll-snap-type:x proximity;padding:2rem 0;scrollbar-width:thin;scrollbar-color:var(--gray) transparent;}
  .rail::-webkit-scrollbar{height:8px;}
  .rail::-webkit-scrollbar-thumb{background:var(--gray);border-radius:4px;}
  .rail::-webkit-scrollbar-track{background:transparent;}
  .track{position:relative;display:flex;padding:0 40px;width:max-content;height:35rem;}
  /* the axis — solidifying past, fading future */
  .track::before{content:"";position:absolute;left:40px;right:40px;top:50%;height:2px;transform:translateY(-1px);
    background:linear-gradient(90deg,var(--gray) 0%,var(--gray) 55%,var(--gray) 100%);}

  .stop{position:relative;flex:0 0 20rem;height:35rem;scroll-snap-align:center;}
  .stop::before{content:'';position:absolute;left:50%;top:50%;width:14px;height:14px;border-radius:50%;transform:translate(-50%,-50%);z-index:2;background:var(--bg);}
  .stop.dev::before{content:'';background:var(--blue);}
  .stop.released::before{content:'';background:var(--green);}
  .stop.launch::before{content:'';width:20px;height:20px;background:var(--green);box-shadow:0 0 0 5px var(--green);}
  .stop.planned::before{content:'';background:var(--bg);border:2px solid var(--coral);}
  .stop.exploring::before{content:'';background:var(--bg);border:2px dashed var(--blue);width:12px;height:12px;}

  .stop::after{content:'';position:absolute;left:50%;width:2px;transform:translateX(-1px);background:var(--blue);z-index:1;}
  .stop.up::after{content:'';bottom:50%;height:46px;}
  .stop.down::after{content:'';top:50%;height:46px;}
  .stop.released::after,.stop.launch::after{content:'';background:var(--green);}
  .stop.planned::after{content:'';background:var(--coral);}

    /* ---------- legend ---------- */
  .legend{display:flex;flex-wrap:wrap;gap:.25rem;margin-top:24px;font-family:'Neusa Next Std',sans-serif;font-size:.9em;color:var(--blue);}
  .legend .legend-item{display:inline-flex;align-items:center;text-transform:uppercase;color:var(--blue);font-weight:600;gap:8px;background:none;border:1px solid transparent;border-radius:.5rem;padding:.75rem 1rem .75rem 1rem;margin:0;cursor:pointer;transition: var(--transition);}
  .legend .legend-item:hover{background:var(--light-gray);border-color:var(--gray);}
  .legend i{transform: translateY(-.05rem);width:.5rem;height:.5rem;border-radius:50%;flex:none;}
  .legend i.dev{background:var(--blue);}
  .legend i.released{background:var(--green);}
  .legend i.planned{background:var(--bg);border:2px solid var(--coral);}
  .legend i.exploring{background:var(--bg);border:2px dashed var(--blue);}

    /* ---------- timeline ---------- */
  .timeline-wrap .white-box{position:absolute;left:50%;transform:translateX(-50%);height: auto;}
  .stop.up .white-box{bottom:calc(50% + 46px);}
  .stop.down .white-box{top:calc(50% + 46px);}
  .stop.exploring .white-box{;background:var(--light-gray);}

  .timeline-wrap .white-box{width:20rem;}
  .timeline-wrap .white-box .tag{display:inline-block;margin:8px 0 10px;  font-family: 'Neusa Next Std', sans-serif;font-size: .9em;font-weight:600;text-transform:uppercase;padding:.25rem .75rem .1rem .75rem;border-radius:1rem;}
  .tag.dev{background:#e9eef3;color:var(--blue);}
  .released .tag,.launch .tag{background:rgba(141, 198, 63, .15);color:var(--green);}
  .planned .tag{background:rgba(252, 127, 127,.15); color:var(--coral);}
  .exploring .tag{background:rgba(233, 237, 243, 1);color:var(--blue);}
  .timeline-wrap .white-box ul{list-style:none;margin:0;padding:0;}
  .timeline-wrap .white-box li{font-size:.9em;line-height:1.25;color:var(--blue);padding:3px 0 3px 15px;position:relative;}
  .timeline-wrap .white-box li::before{content:"";position:absolute;left:0;top:.6rem;width:5px;height:5px;border-radius:50%;background:var(--green);}
  .stop.dev .white-box li::before{background:var(--blue);}
  .stop.planned .white-box li::before{background:var(--coral);}
  .stop.exploring .white-box li{color:var(--blue);}
  .stop.exploring .white-box li::before{background:var(--blue);}
  .timeline-wrap .white-box strong{font-weight:700;color:var(--blue);}
  .stop.exploring .white-box strong{color:var(--blue);}

    /* NOW marker */
  .now{flex:0 0 20rem;position:relative;height:35rem;scroll-snap-align:center;}
  .now::before{content:'';position:absolute;left:50%;top:56px;bottom:56px;width:2px;transform:translateX(-1px);
    background:repeating-linear-gradient(var(--green) 0 6px,transparent 6px 12px);}
  .now::after{content:'';position:absolute;left:50%;top:50%;width:13px;height:13px;border-radius:50%;transform:translate(-50%,-50%);
    background:var(--green);box-shadow:0 0 0 0 rgba(126,181,63,.5);animation:ping 2.4s ease-out infinite;z-index:3;}
  @keyframes ping{0%{box-shadow:0 0 0 0 rgba(126,181,63,.45);}70%,100%{box-shadow:0 0 0 12px rgba(126,181,63,0);}}
  .now h3{text-align: center;background:var(--bg);line-height:1;position:absolute;left:50%;top:26px;transform:translateX(-50%);color:var(--green);}

  /* arrows */
  .arrow{position:absolute;top:50.25%;transform:translateY(-50%);height:3.5rem;width:3.5rem;z-index:6;border-radius: 100%;}
  .arrow .wp-element-button{border-radius: 100%;}
  .arrow:active{transform:translateY(-50%) scale(.94);}
  .arrow.left{left:1rem;}
  .arrow.right{right:1rem;}

  /* edge fades hinting more content */
  .timeline-wrap::before,.timeline-wrap::after{content:"";position:absolute;top:0;bottom:22px;width:56px;z-index:5;pointer-events:none;}
  .timeline-wrap::before{left:0;background:linear-gradient(90deg,var(--bg),transparent);}
  .timeline-wrap::after{right:0;background:linear-gradient(270deg,var(--bg),transparent);}

  @media (prefers-reduced-motion: reduce){.now .dot{animation:none;}}
  @media(max-width:39.5em){
    .track{height:600px;}
    .stop{flex:0 0 220px;height:600px;}
    .now{height:600px;}
    .arrow{display:none;}
    .nav-links{display:none;}
    .hamburger{display:block;}
    .nav-links.open{display:flex;position:absolute;top:75px;left:0;right:0;flex-direction:column;background:var(--blue);padding:18px 28px;gap:16px;border-bottom:1px solid rgba(255,255,255,.08);}
    .rm-outro .outro-grid{grid-template-columns:1fr;gap:28px;}
  }


/* Accordions */

.wp-block-accordion-item {
  background: var(--light-gray);
  padding: 1rem 1rem .75rem 1rem;
  margin-bottom: .5rem;
}

.wp-block-accordion-heading {
  font-size: 1.35em;
  line-height: 1;
  margin-bottom: 0;
  position: relative;
  font-weight: 600;
}

.wp-block-accordion-heading__toggle {
  gap: 1rem;
}

.wp-block-accordion-heading__toggle-icon {
  position: relative;
  color: transparent;
}

.wp-block-accordion-heading__toggle-icon::after {
  content: '\e145';
  font-family: 'Material Symbols Outlined';
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  border: 2px solid var(--blue);
  color: var(--blue);
  font-size: .75em;
  display: -ms-flexbox;
  display: -webkit-flex;
  display: flex;
  -webkit-flex-direction: row;
  -ms-flex-direction: row;
  flex-direction: row;
  -webkit-flex-wrap: nowrap;
  -ms-flex-wrap: nowrap;
  flex-wrap: nowrap;
  -webkit-justify-content: center;
  -ms-flex-pack: center;
  justify-content: center;
  -webkit-align-content: center;
  -ms-flex-line-pack: center;
  align-content: center;
  -webkit-align-items: center;
  -ms-flex-align: center;
  align-items: center;
}

.wp-block-accordion-item.is-open>.wp-block-accordion-heading .wp-block-accordion-heading__toggle-icon {
  transform: none;
}

.wp-block-accordion-item.is-open>.wp-block-accordion-heading .wp-block-accordion-heading__toggle-icon::after {
  content: '\e5cd';
  font-family: 'Material Symbols Outlined';
}

.wp-block-accordion-heading__toggle:hover .wp-block-accordion-heading__toggle-title,
.wp-block-accordion-heading__toggle:active .wp-block-accordion-heading__toggle-title,
.wp-block-accordion-heading__toggle:focus .wp-block-accordion-heading__toggle-title {
  text-decoration: none;
}

.wp-block-accordion-panel {
  padding-top: .5rem;
}

/* Flex Styles */

.is-content-justification-space-between {
  -webkit-justify-content: space-between;
  justify-content: space-between;
}

.flex-stretch {
  display: -webkit-flex;
  display: flex;
  -webkit-flex-direction: row;
  flex-direction: row;
  -webkit-flex-wrap: nowrap;
  flex-wrap: nowrap;
  -webkit-justify-content: center;
  justify-content: center;
  -webkit-align-content: stretch;
  align-content: stretch;
  -webkit-align-items: stretch;
  align-items: stretch;
}

.flex-stretch .wp-block-column {
  flex-grow: 1;
}

.flex-top-left {
  display: -ms-flexbox;
  display: -webkit-flex;
  display: flex;
  -webkit-flex-direction: row;
  -ms-flex-direction: row;
  flex-direction: row;
  -webkit-flex-wrap: nowrap;
  -ms-flex-wrap: nowrap;
  flex-wrap: nowrap;
  -webkit-justify-content: flex-start;
  -ms-flex-pack: start;
  justify-content: flex-start;
  -webkit-align-content: flex-start;
  -ms-flex-line-pack: start;
  align-content: flex-start;
  -webkit-align-items: flex-start;
  -ms-flex-align: start;
  align-items: flex-start;
}

.flex-top-right {
  display: -ms-flexbox;
  display: -webkit-flex;
  display: flex;
  -webkit-flex-direction: row;
  -ms-flex-direction: row;
  flex-direction: row;
  -webkit-flex-wrap: nowrap;
  -ms-flex-wrap: nowrap;
  flex-wrap: nowrap;
  -webkit-justify-content: flex-end;
  -ms-flex-pack: end;
  justify-content: flex-end;
  -webkit-align-content: center;
  -ms-flex-line-pack: center;
  align-content: center;
  -webkit-align-items: flex-start;
  -ms-flex-align: start;
  align-items: flex-start;
}

.flex-bottom-left {
  display: -ms-flexbox;
  display: -webkit-flex;
  display: flex;
  -webkit-flex-direction: row;
  -ms-flex-direction: row;
  flex-direction: row;
  -webkit-flex-wrap: nowrap;
  -ms-flex-wrap: nowrap;
  flex-wrap: nowrap;
  -webkit-justify-content: flex-start;
  -ms-flex-pack: start;
  justify-content: flex-start;
  -webkit-align-content: center;
  -ms-flex-line-pack: center;
  align-content: center;
  -webkit-align-items: flex-end;
  -ms-flex-align: end;
  align-items: flex-end;
}

.flex-bottom-right {
  display: -ms-flexbox;
  display: -webkit-flex;
  display: flex;
  -webkit-flex-direction: row;
  -ms-flex-direction: row;
  flex-direction: row;
  -webkit-flex-wrap: nowrap;
  -ms-flex-wrap: nowrap;
  flex-wrap: nowrap;
  -webkit-justify-content: flex-end;
  -ms-flex-pack: end;
  justify-content: flex-end;
  -webkit-align-content: flex-end;
  -ms-flex-line-pack: end;
  align-content: flex-end;
  -webkit-align-items: flex-end;
  -ms-flex-align: end;
  align-items: flex-end;
}

.flex-center {
  display: -ms-flexbox;
  display: -webkit-flex;
  display: flex;
  -webkit-flex-direction: row;
  -ms-flex-direction: row;
  flex-direction: row;
  -webkit-flex-wrap: nowrap;
  -ms-flex-wrap: nowrap;
  flex-wrap: nowrap;
  -webkit-justify-content: center;
  -ms-flex-pack: center;
  justify-content: center;
  -webkit-align-content: center;
  -ms-flex-line-pack: center;
  align-content: center;
  -webkit-align-items: center;
  -ms-flex-align: center;
  align-items: center;
}

.flex-left {
  display: -webkit-flex;
  display: flex;
  -webkit-flex-direction: row;
  flex-direction: row;
  -webkit-flex-wrap: nowrap;
  flex-wrap: nowrap;
  -webkit-justify-content: flex-start;
  justify-content: flex-start;
  -webkit-align-content: center;
  align-content: center;
  -webkit-align-items: center;
  align-items: center;
}

.flex-right {
  display: -webkit-flex;
  display: flex;
  -webkit-flex-direction: row;
  flex-direction: row;
  -webkit-flex-wrap: nowrap;
  flex-wrap: nowrap;
  -webkit-justify-content: flex-end;
  justify-content: flex-end;
  -webkit-align-content: center;
  align-content: center;
  -webkit-align-items: center;
  align-items: center;
}

@media print, screen and (max-width: 39.5em) {
  .flex-top-left--small {
    display: -ms-flexbox;
    display: -webkit-flex;
    display: flex;
    -webkit-flex-direction: row;
    -ms-flex-direction: row;
    flex-direction: row;
    -webkit-flex-wrap: nowrap;
    -ms-flex-wrap: nowrap;
    flex-wrap: nowrap;
    -webkit-justify-content: flex-start;
    -ms-flex-pack: start;
    justify-content: flex-start;
    -webkit-align-content: flex-start;
    -ms-flex-line-pack: start;
    align-content: flex-start;
    -webkit-align-items: flex-start;
    -ms-flex-align: start;
    align-items: flex-start;
  }

  .flex-top-right--small {
    display: -ms-flexbox;
    display: -webkit-flex;
    display: flex;
    -webkit-flex-direction: row;
    -ms-flex-direction: row;
    flex-direction: row;
    -webkit-flex-wrap: nowrap;
    -ms-flex-wrap: nowrap;
    flex-wrap: nowrap;
    -webkit-justify-content: flex-end;
    -ms-flex-pack: end;
    justify-content: flex-end;
    -webkit-align-content: center;
    -ms-flex-line-pack: center;
    align-content: center;
    -webkit-align-items: flex-start;
    -ms-flex-align: start;
    align-items: flex-start;
  }

  .flex-bottom-left--small {
    display: -ms-flexbox;
    display: -webkit-flex;
    display: flex;
    -webkit-flex-direction: row;
    -ms-flex-direction: row;
    flex-direction: row;
    -webkit-flex-wrap: nowrap;
    -ms-flex-wrap: nowrap;
    flex-wrap: nowrap;
    -webkit-justify-content: flex-start;
    -ms-flex-pack: start;
    justify-content: flex-start;
    -webkit-align-content: center;
    -ms-flex-line-pack: center;
    align-content: center;
    -webkit-align-items: flex-end;
    -ms-flex-align: end;
    align-items: flex-end;
  }

  .flex-bottom-right--small {
    display: -ms-flexbox;
    display: -webkit-flex;
    display: flex;
    -webkit-flex-direction: row;
    -ms-flex-direction: row;
    flex-direction: row;
    -webkit-flex-wrap: nowrap;
    -ms-flex-wrap: nowrap;
    flex-wrap: nowrap;
    -webkit-justify-content: flex-end;
    -ms-flex-pack: end;
    justify-content: flex-end;
    -webkit-align-content: flex-end;
    -ms-flex-line-pack: end;
    align-content: flex-end;
    -webkit-align-items: flex-end;
    -ms-flex-align: end;
    align-items: flex-end;
  }

  .flex-center--small {
    display: -ms-flexbox;
    display: -webkit-flex;
    display: flex;
    -webkit-flex-direction: row;
    -ms-flex-direction: row;
    flex-direction: row;
    -webkit-flex-wrap: nowrap;
    -ms-flex-wrap: nowrap;
    flex-wrap: nowrap;
    -webkit-justify-content: center;
    -ms-flex-pack: center;
    justify-content: center;
    -webkit-align-content: center;
    -ms-flex-line-pack: center;
    align-content: center;
    -webkit-align-items: center;
    -ms-flex-align: center;
    align-items: center;
  }
}


/*********************
LINKS & BUTTONS
*********************/

a,
a:link,
a:active,
a:focus,
a:visited,
a p,
a span,
a h1,
a h2,
a h3,
a h4,
a h5,
a h6 {
  transition: var(--transition);
}

a,
a:link,
a:visited,
.is-ajax-search-details a,
.is-ajax-search-result a {
  color: var(--green);
  font-weight: 600;
}

a:hover,
a:active,
a:focus,
.is-ajax-search-details a:hover,
.is-ajax-search-result a:hover,
.is-ajax-search-details a:active,
.is-ajax-search-result a:active,
.is-ajax-search-details a:focus,
.is-ajax-search-result a:focus {
  color: var(--dark-green);
}

h1 a,
h2 a,
h3 a,
h4 a,
h6 a,
p a {
  position: relative;
}

a.btn,
.btn a,
input[type="submit"],
.wp-block-latest-posts__post-excerpt a,
a.wp-block-button__link {
  display: -ms-flexbox;
  display: -webkit-flex;
  display: flex;
  -webkit-flex-direction: row;
  -ms-flex-direction: row;
  flex-direction: row;
  -webkit-flex-wrap: nowrap;
  -ms-flex-wrap: nowrap;
  flex-wrap: nowrap;
  -webkit-justify-content: center;
  -ms-flex-pack: center;
  justify-content: center;
  -webkit-align-content: center;
  -ms-flex-line-pack: center;
  align-content: center;
  -webkit-align-items: center;
  -ms-flex-align: center;
  align-items: center;
  gap: .5rem;
  background-color: var(--green);
  border-radius: 0;
  color: var(--bg);
  padding: .75rem 1rem .65rem;
  font-size: 1em;
  font-weight: 600;
  position: relative;
  font-family: 'Neusa Next Std', sans-serif;
  text-transform: uppercase;
  z-index: 1;
  transition: var(--transition);
  cursor: pointer;
  text-decoration: none !important;
}

.btn a:hover,
a.btn:hover,
input[type="submit"]:hover,
.wp-block-latest-posts__post-excerpt a:hover,
.wp-block-button__link:hover,
.wp-block-button__link:active,
.wp-block-button__link:focus {
  background-color: var(--dark-green);
  color: var(--bg);
  text-decoration: none;
  opacity: 1 !important;
  transform: translateY(-.15rem);
}

.btn-big a:hover,
a.btn-big:hover {
  transform: translateY(0);
}

a.btn--light,
.btn--light a,
button.btn--light,
input[type="submit"].btn--light {
  color: var(--red);
  background: var(--bg);
  border: 1px solid var(--gray);
}

.btn--light a:hover,
a.btn--light:hover,
button.btn--light:hover,
input[type="submit"].btn--light:hover,
.btn--light a:active,
a.btn--light:active,
button.btn--light:active,
input[type="submit"].btn--light:active,
.btn--light a:focus,
a.btn--light:focus,
button.btn--light:focus,
input[type="submit"].btn--light:focus {
  color: var(--red);
  background-color: var(--light-gray);
}

.bg-dark a.btn--light,
.bg-dark .btn--light a,
.bg-dark button.btn--light,
.bg-dark input[type="submit"].btn--light {
  color: var(--bg);
  background: transparent;
  border: 1px solid var(--bg);
}

.bg-dark .btn--light a:hover,
.bg-dark a.btn--light:hover,
.bg-dark button.btn--light:hover,
.bg-dark input[type="submit"].btn--light:hover,
.bg-dark .btn--light a:active,
.bg-dark a.btn--light:active,
.bg-dark button.btn--light:active,
.bg-dark input[type="submit"].btn--light:active,
.bg-dark .btn--light a:focus,
.bg-dark a.btn--light:focus,
.bg-dark button.btn--light:focus,
.bg-dark input[type="submit"].btn--light:focus {
  color: var(--bg);
  background-color: rgba(134, 211, 225, 0.075);
  
}

.btn-big,
.btn-big a {
  width: 100%;
}

.btn-big a {
  padding: 1rem 1.5rem;
  text-align: left;
  display: -webkit-flex;
  display: flex;
  -webkit-flex-direction: row;
  flex-direction: row;
  -webkit-flex-wrap: nowrap;
  flex-wrap: nowrap;
  -webkit-justify-content: flex-start;
  justify-content: flex-start;
  -webkit-align-content: center;
  align-content: center;
  -webkit-align-items: center;
  align-items: center;
  gap: 1rem;
  font-family: 'Neusa Next Std', sans-serif;
  font-size: 1.75em;
  line-height: 1;
  position: relative;
  font-weight: 600;
}

.btn-big a img {
  width: 20%;
  height: auto !important;
}

.wp-block-button__link img,
.btn img {
  height: 1.5rem !important;
  transform: translateY(-.15rem);
}

.align-center .wp-block-buttons {
  justify-content: center;
}

p.btn {
  margin-bottom: 0;
}

.wp-block-buttons {
  gap: 1rem;
}

.wp-block-buttons>.wp-block-button {
  margin-top: -1px;
}

.is-content-justification-left .btn a,
input[type="submit"] {
  margin-left: 0;
}

input.btn,
input[type="submit"] {
  margin: 0;
}

/* ============================================================
   NAVIGATION & MENUS
   ============================================================ */

/* ----------------------------------------------------------
   Nav container (fixed top bar)
   ---------------------------------------------------------- */
.nav__container {
  position: relative;
  top: 0;
  width: 100vw;
  height: 5rem;
  padding: .625rem;
  z-index: 99;
  background-color: transparent;
  box-shadow: 0 32px 32px 0 rgba(70, 50, 50, 0.04);
  transition: var(--transition);
}

.nav__container .grid-container {
  position: relative;
  height: 100%;
  background-color: var(--blue);  
}

.nav__container .grid-x { height: 100%; }
.nav__container h1     { margin-bottom: 0; }

.admin-bar .is-stuck .nav__container { margin-top: 46px; }

/* Sticky helpers */
.sticky.is-anchored,
.sticky-container {
  position: fixed;
  width: 100%;
  z-index: 999;
}

/* ----------------------------------------------------------
   Logo
   ---------------------------------------------------------- */
.custom-logo {
  width: 12.5rem;
  transform-origin: 0 50%;
  transform: scale(1.65);
  transition: var(--transition);
}

.is-stuck .custom-logo {
  transform: scale(1.15);
}

/* ----------------------------------------------------------
   Main nav
   ---------------------------------------------------------- */
#main-nav {
  position: relative;
  width: 100%;
  display: flex;
  flex-flow: row nowrap;
  justify-content: flex-end;
  align-content: flex-end;
  align-items: center;
  gap: 2rem;
}

#main-nav > li,
#main-nav li a {
  position: relative;
  font-family: 'Neusa Next Std', sans-serif;
  height: 100%;
  display: flex;
  flex-flow: row nowrap;
  justify-content: center;
  align-content: center;
  align-items: center;
}

#main-nav > li { text-align: center; }

#main-nav li a {
  z-index: 1;
  padding: 2rem 0;
  color: var(--bg);
  font-size: 1em;
  font-weight: 600;
  text-transform: uppercase;
  text-decoration: none;
  transition: var(--transition);
}

#main-nav > li a:hover,
#main-nav > li a:focus {
  background: transparent;
  color: var(--green);
  font-style: normal;
}

.is-stuck #main-nav > li a:hover,
.is-stuck #main-nav > li a:focus {
  color: var(--green);
}

.menu .active > a { background: transparent; }

.nav-btn,
.nav-btn:visited {
  border: 1px solid var(--bg);
  padding: .05rem 1rem 0 1rem;
  transition: var(--transition);
}

.nav-btn a {
  padding: .75rem 0 !important;
}

.nav-btn:hover,
.nav-btn:focus,
.nav-btn:active {
  background-color: rgba(134, 211, 225, 0.075);
  transform: translateY(-.15rem);
}

.nav-btn:hover a,
.nav-btn:focus a,
.nav-btn:active a {
    color: var(--bg) !important;
}

.nav-btn a::before {
  content: '\eaaa';
  font-family: 'Material Symbols Outlined';
  color: var(--bg);
  margin-right: .5rem;
  font-size: 1.25em;
  font-weight: 400;
  transform: translateY(-.05rem);
}

.nav-btn:hover a::before,
.nav-btn:focus a::before,
.nav-btn:active a::before {
  color:var(--bg);
}

/* ----------------------------------------------------------
   Dropdown submenu (desktop)
   ---------------------------------------------------------- */
#main-nav .submenu {
  position: absolute;
  left: -1rem;
  width: max-content;
  max-width: 15rem;
  padding: 1rem 1.5rem;
  border: none;
  background: var(--light-gray);
  transition: var(--transition);
  box-shadow: 0 2px 0 var(--gray);
}

.is-stuck #main-nav .submenu { background: var(--light-gray); }

#main-nav .submenu li a        { color: var(--copy); }
#main-nav .submenu li a:hover  { color: var(--green); }
#main-nav .submenu li a::after { display: none; }

#main-nav.dropdown.menu > li.is-dropdown-submenu-parent > a {
  padding-right: 1rem;
}
#main-nav.dropdown.menu > li.is-dropdown-submenu-parent > a::after {
  content: '\e145';
  font-family: 'Material Symbols Outlined';
  display: block;
  position: absolute;
  top: 41.5%;
  right: .75rem;
  border: none;
}

/* Opens-left / opens-right alignment */
#main-nav.dropdown.menu > li.opens-left > .is-dropdown-submenu,
.dropdown.menu.medium-horizontal > li.opens-right > .is-dropdown-submenu {
  top: 100% !important;
  left: 0;
  right: auto;
}
#main-nav.dropdown.menu > li.opens-left > .is-dropdown-submenu a,
.dropdown.menu.medium-horizontal > li.opens-right > .is-dropdown-submenu a {
  display: block !important;
  padding: .5rem 0 !important;
  text-align: left;
}

/* ----------------------------------------------------------
   Off-canvas / accordion menu (mobile)
   ---------------------------------------------------------- */

/* Hamburger */

.nav__hamburger {
  text-align: right;
  display: -ms-flexbox;
  display: -webkit-flex;
  display: flex;
  -webkit-flex-direction: row;
  -ms-flex-direction: row;
  flex-direction: row;
  -webkit-flex-wrap: nowrap;
  -ms-flex-wrap: nowrap;
  flex-wrap: nowrap;
  -webkit-justify-content: center;
  -ms-flex-pack: center;
  justify-content: center;
  -webkit-align-content: center;
  -ms-flex-line-pack: center;
  align-content: center;
  -webkit-align-items: center;
  -ms-flex-align: center;
  align-items: center;
}

.hamburger {
  padding: 11px 0 0 0;
  display: inline-block;
  cursor: pointer;
  transition-property: opacity, filter;
  transition-duration: 0.15s;
  transition-timing-function: linear;
  font: inherit;
  color: inherit;
  text-transform: none;
  background-color: transparent;
  border: 0;
  margin: 0;
  overflow: visible; }
  .hamburger:hover {
    }

.hamburger__box {
  width: 2.25rem;
  height: 24px;
  display: inline-block;
  position: relative; }

.hamburger__inner {
  display: block;
  top: 50%;
  margin-top: -2px; }
  .hamburger__inner, .hamburger__inner::before, .hamburger__inner::after {
    width: 2.25rem;
    height: 3px;
    background-color: var(--bg);
    position: absolute;
    transition-property: transform;
    transition-duration: 0.15s;
    transition-timing-function: ease; }
  .hamburger__inner::before, .hamburger__inner::after {
    content: "";
    display: block; }
  .hamburger__inner::before {
    top: -10px; }
  .hamburger__inner::after {
    bottom: -10px; }


.hamburger--spin .hamburger__inner {
  transition-duration: 0.22s;
  transition-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19); }
  .hamburger--spin .hamburger__inner::before {
    transition: top 0.1s 0.25s ease-in, opacity 0.1s ease-in; }
  .hamburger--spin .hamburger__inner::after {
    transition: bottom 0.1s 0.25s ease-in, transform 0.22s cubic-bezier(0.55, 0.055, 0.675, 0.19); }

.hamburger--spin.is-active .hamburger__inner {
  transform: rotate(225deg);
  transition-delay: 0.12s;
  transition-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1); }
  .hamburger--spin.is-active .hamburger__inner::before {
    top: 0;
    opacity: 0;
    transition: top 0.1s ease-out, opacity 0.1s 0.12s ease-out; }
  .hamburger--spin.is-active .hamburger__inner::after {
    bottom: 0;
    transform: rotate(-90deg);
    transition: bottom 0.1s ease-out, transform 0.22s 0.12s cubic-bezier(0.215, 0.61, 0.355, 1); }

.off-canvas {
  background: var(--dark-blue);
  padding: 5rem 0 2rem;
}

.admin-bar .off-canvas {
  padding: calc(32px + 3rem) 0 2rem 0;
}

.accordion-menu {
  margin-top: 0;
  margin-bottom: 2rem;
}

.accordion-menu li a {
  color: var(--bg);
  font-family: 'Neusa Next Std', sans-serif;
  text-transform: uppercase;
  font-size: 1.1em;
  line-height: 1.25;
  font-weight: 600;
  padding: 1.5rem 1rem;
  margin-top: -1px;
}

.accordion-menu li a:hover {
  background: transparent;
  color: var(--green) !important;
}

.off-canvas .nav-btn {
  margin-top: 1rem;
  margin-left: 1rem;
  margin-right: 1rem;
  width: calc(100% - 2rem);
}

.off-canvas .nav-btn a {
    padding: 1rem;
}

.off-canvas .nav--extra .wp-block-group {
  padding: 0 1rem;
  display: -webkit-flex;
  display: flex;
  -webkit-flex-direction: column;
  flex-direction: column;
  -webkit-flex-wrap: nowrap;
  flex-wrap: nowrap;
  -webkit-justify-content: flex-start;
  justify-content: flex-start;
  -webkit-align-content: stretch;
  align-content: stretch;
  -webkit-align-items: flex-start;
  align-items: flex-start;
  gap: 2rem;
}
.off-canvas .widget {
  margin: 1rem 2rem;
}

.off-canvas h1,
.off-canvas h2,
.off-canvas h3,
.off-canvas h4,
.off-canvas h5,
.off-canvas h6,
.off-canvas p,
.off-canvas figcaption {
  color: var(--bg) !important;
}

.off-canvas p {
  position: relative;
  bottom: 0;
  left: 0;
  width: 100%;
  padding: 1.5rem;
  background: transparent;
  font-size: .9em;
  color: var(--bg);
}

.off-canvas p span {
  display: block;
}

.off-canvas p a {
  text-decoration: underline;
}

.off-canvas .menu .active>a,
.off-canvas a:hover {
  color: var(--green);
}

.has-icon span { display: none; }

.js-off-canvas-overlay { background: rgba(35, 55, 69, .1); }

.off-canvas .menu > li.is-accordion-submenu-parent > a::after {
  content: '+';
  display: inline-block;
  position: absolute;
  top: 50%;
  right: 2rem;
  margin-top: -.65rem;
  margin-left: .35rem;
  border: none;
}

.accordion-menu .is-accordion-submenu-parent[aria-expanded="true"] > a::after {
  content: '-' !important;
  transform: rotate(0deg);
  transform-origin: 50% 50%;
}

.accordion-menu .is-accordion-submenu              { background: var(--blue); }
.accordion-menu .is-accordion-submenu a            { padding: 1.5rem; }
.accordion-menu .is-accordion-submenu ul li a      { padding: 1.5rem 2rem; }

/* ----------------------------------------------------------
   Nav Extras
   ---------------------------------------------------------- */

.nav--extra {
  padding: 1rem 0;
}

.is-stuck .nav--extra {
  display: none;
}

.nav--extra a {
  display: -ms-flexbox;
  display: -webkit-flex;
  display: flex;
  -webkit-flex-direction: row;
  -ms-flex-direction: row;
  flex-direction: row;
  -webkit-flex-wrap: nowrap;
  -ms-flex-wrap: nowrap;
  flex-wrap: nowrap;
  -webkit-justify-content: center;
  -ms-flex-pack: center;
  justify-content: center;
  -webkit-align-content: center;
  -ms-flex-line-pack: center;
  align-content: center;
  -webkit-align-items: center;
  -ms-flex-align: center;
  align-items: center;
  gap: .5rem;
  font-weight: 400;
}

.nav--extra a, 
.nav--extra a:link,
.nav--extra a:visited {
  color: var(--bg);
}

.nav--extra a:hover,
.nav--extra a:focus,
.nav--extra a:active {
  color: var(--green);
}

.nav--extra .material-symbols-outlined {
  font-weight: 300;
}
/* ----------------------------------------------------------
   Media queries
   ---------------------------------------------------------- */
@media print, screen and (max-width: 39.5em) {
  .nav__container { background-color: var(--blue); }

  .sticky.is-anchored.is-at-bottom {
    top: 0 !important;
    bottom: auto !important;
  }
}

@media print, screen and (min-width: 40em) {
  .sticky.is-anchored,
  .sticky-container { position: absolute; }

  .nav__container {
    top: 0;
    left: 0;
    padding: 0;
    box-shadow: none;
  }

  .is-stuck .nav__container { height: 5rem; }

  .custom-logo { display: block; }

  .footer .custom-logo-link {
    margin-bottom: 0;
    text-align: left;
  }

  .admin-bar .is-stuck .nav__container { margin-top: 32px; }
}

/*********************
PAGE STYLES
*********************/

.banner-container {
  container-type: inline-size;
}

.banner {
  position: relative;
}

.banner::after {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 20rem;
  background: #09334f;
  background: linear-gradient(0deg, rgba(9, 51, 79, 0) 0%, rgba(9, 51, 79, 1) 100%);
  opacity: .75;
  mix-blend-mode: multiply;
}

.home .banner::after {
  opacity: .5;
}

.banner .wp-block-cover__inner-container {
  z-index: 10;
}

.banner img {
  width: 100% !important;
  height: 100% !important;
  height: calc(100% + 16rem) !important;
  object-fit: cover !important;
  object-position: 50% 100%;
}

@media print, screen and (max-width: 39.5em) {
  .home .banner {
    padding: 10rem 0 5rem 0;
    min-height: 0;
}
}

@media print, screen and (min-width: 40em) {
  .banner {
    height: 24rem;
    --banner-slant: clamp(64px, 26cqw, 420px);           /* drop scales w/ container width, clamped */
    clip-path: polygon(0 0, 100% 0, 100% calc(100% - var(--banner-slant)), 0 100%);
    padding-bottom: calc( var(--banner-slant) - 8rem);     /* keep content above the cut */
  }

  .home .banner {
    height: 56rem;
    margin-bottom: -15rem;
  }
  .moveup {
    margin-top: -10rem !important;
  }
}

.banner .wp-block-columns,
.banner .wp-block-cover__inner-container,
.banner .wp-block-group,
.banner .wp-block-group__inner-container {
  position: relative;
  height: 100%;
}

figure {
  position: relative;
  transition: var(--transition);
}

figcaption {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translateY(-50%) translateX(-50%);
  width: max-content;
  max-width: 90%;
  display: block;
  background: rgba(7, 74, 118, 0.8);
  padding: 1rem 2rem .75rem 2rem;
  border-radius: 2rem;
  text-align: center;
  font-family: 'Neusa Next Std', sans-serif;
  font-weight: 600;
  text-transform: uppercase; 
  font-size: 1.15em;
  line-height: 1.25;
  margin: 0 !important;
  color: var(--bg);
  pointer-events: none;
  transition: var(--transition);
}

figure:hover figcaption,
figure:active figcaption,
figure:focus figcaption {
  background: var(--blue);
}

#get-started figure:hover,
#get-started figure:focus,
#get-started figure:active {
  transform: translateY(-.15rem);
}
/*********************
POSTS & CONTENT STYLES
*********************/
.page-title .vcard {
  border: 0px;
  padding: 0px; }

.byline {
  color: #999; }

.entry-content img {
  max-width: 100%;
  height: auto; }

.entry-content .alignleft, .entry-content img.alignleft {
  margin-right: 1.5em;
  display: inline;
  float: left; }

.entry-content .alignright, .entry-content img.alignright {
  margin-left: 1.5em;
  display: inline;
  float: right; }

.entry-content .aligncenter, .entry-content img.aligncenter {
  margin-right: auto;
  margin-left: auto;
  display: block;
  clear: both; }

.entry-content video, .entry-content object {
  max-width: 100%;
  height: auto; }

.entry-content pre {
  background: #eee;
  border: 1px solid #cecece;
  padding: 10px; }

.wp-caption {
  max-width: 100%;
  background: #eee;
  padding: 5px; }
  .wp-caption img {
    max-width: 100%;
    margin-bottom: 0;
    width: 100%; }
  .wp-caption p.wp-caption-text {
    font-size: 0.85em;
    margin: 4px 0 7px;
    text-align: center; }

.post-password-form input[type="submit"] {
  display: inline-block;
  vertical-align: middle;
  margin: 0 0 1rem 0;
  font-family: inherit;
  padding: 0.85em 1em;
  -webkit-appearance: none;
  border: 1px solid transparent;
  border-radius: 0;
  transition: background-color 0.25s ease-out, color 0.25s ease-out;
  font-size: 0.9rem;
  line-height: 1;
  text-align: center;
  cursor: pointer;
  background-color: #1779ba;
  color: #fefefe; }
  [data-whatinput='mouse'] .post-password-form input[type="submit"] {
    outline: 0; }
  .post-password-form input[type="submit"]:hover, .post-password-form input[type="submit"]:focus {
    background-color: #14679e;
    color: #fefefe; }

/*********************
IMAGE GALLERY STYLES
*********************/
.gallery {
  max-width: 100%;
  margin-left: auto;
  margin-right: auto;
  margin-right: -15px;
  margin-left: -15px; }

.gallery::before, .gallery::after {
  content: ' ';
  display: table; }

.gallery::after {
  clear: both; }

.gallery.gallery-columns-1 > dl {
  width: 100%;
  float: left;
  padding-right: 0.625rem;
  padding-left: 0.625rem; }
  @media print, screen and (min-width: 40em) {
    .gallery.gallery-columns-1 > dl {
      padding-right: 0.9375rem;
      padding-left: 0.9375rem; } }
  .gallery.gallery-columns-1 > dl:last-child:not(:first-child) {
    float: right; }

.gallery.gallery-columns-2 > dl {
  width: 50%;
  float: left;
  padding-right: 0.625rem;
  padding-left: 0.625rem; }
  @media print, screen and (min-width: 40em) {
    .gallery.gallery-columns-2 > dl {
      padding-right: 0.9375rem;
      padding-left: 0.9375rem; } }
  .gallery.gallery-columns-2 > dl:last-child:not(:first-child) {
    float: right; }

.gallery.gallery-columns-3 > dl {
  width: 33.33333%;
  float: left;
  padding-right: 0.625rem;
  padding-left: 0.625rem; }
  @media print, screen and (min-width: 40em) {
    .gallery.gallery-columns-3 > dl {
      padding-right: 0.9375rem;
      padding-left: 0.9375rem; } }
  .gallery.gallery-columns-3 > dl:last-child:not(:first-child) {
    float: right; }

.gallery.gallery-columns-4 > dl {
  width: 25%;
  float: left;
  padding-right: 0.625rem;
  padding-left: 0.625rem; }
  @media print, screen and (min-width: 40em) {
    .gallery.gallery-columns-4 > dl {
      padding-right: 0.9375rem;
      padding-left: 0.9375rem; } }
  .gallery.gallery-columns-4 > dl:last-child:not(:first-child) {
    float: right; }

.gallery.gallery-columns-5 > dl {
  width: 20%;
  float: left;
  padding-right: 0.625rem;
  padding-left: 0.625rem; }
  @media print, screen and (min-width: 40em) {
    .gallery.gallery-columns-5 > dl {
      padding-right: 0.9375rem;
      padding-left: 0.9375rem; } }
  .gallery.gallery-columns-5 > dl:last-child:not(:first-child) {
    float: right; }

.gallery.gallery-columns-6 > dl {
  width: 16.66667%;
  float: left;
  padding-right: 0.625rem;
  padding-left: 0.625rem; }
  @media print, screen and (min-width: 40em) {
    .gallery.gallery-columns-6 > dl {
      padding-right: 0.9375rem;
      padding-left: 0.9375rem; } }
  .gallery.gallery-columns-6 > dl:last-child:not(:first-child) {
    float: right; }

.gallery.gallery-columns-7 > dl {
  width: 14.28571%;
  float: left;
  padding-right: 0.625rem;
  padding-left: 0.625rem; }
  @media print, screen and (min-width: 40em) {
    .gallery.gallery-columns-7 > dl {
      padding-right: 0.9375rem;
      padding-left: 0.9375rem; } }
  .gallery.gallery-columns-7 > dl:last-child:not(:first-child) {
    float: right; }

.gallery.gallery-columns-8 > dl {
  width: 12.5%;
  float: left;
  padding-right: 0.625rem;
  padding-left: 0.625rem; }
  @media print, screen and (min-width: 40em) {
    .gallery.gallery-columns-8 > dl {
      padding-right: 0.9375rem;
      padding-left: 0.9375rem; } }
  .gallery.gallery-columns-8 > dl:last-child:not(:first-child) {
    float: right; }

.gallery dl {
  width: 100%;
  float: left;
  padding-left: 0.9375rem;
  padding-right: 0.9375rem; }

.gallery dl:last-child:not(:first-child) {
  float: right; }

/*********************
PAGE NAVI STYLES
*********************/
.page-navigation {
  margin-top: 1rem; }

/*********************
COMMENT STYLES
*********************/
#comments .commentlist {
  margin-left: 0px; }

#respond ul {
  margin-left: 0px; }

.commentlist li {
  position: relative;
  clear: both;
  overflow: hidden;
  list-style-type: none;
  margin-bottom: 1.5em;
  padding: 0.7335em 10px; }
  .commentlist li:last-child {
    margin-bottom: 0; }
  .commentlist li ul.children {
    margin: 0; }

.commentlist li[class*=depth-] {
  margin-top: 1.1em; }

.commentlist li.depth-1 {
  margin-left: 0;
  margin-top: 0; }

.commentlist li:not(.depth-1) {
  margin-left: 10px;
  margin-top: 0;
  padding-bottom: 0; }

.commentlist .vcard {
  margin-left: 50px; }
  .commentlist .vcard cite.fn {
    font-weight: 700;
    font-style: normal; }
  .commentlist .vcard time {
    float: right; }
    .commentlist .vcard time a {
      color: #999;
      text-decoration: none; }
      .commentlist .vcard time a:hover {
        text-decoration: underline; }
  .commentlist .vcard img.avatar {
    position: absolute;
    left: 10px;
    padding: 2px;
    border: 1px solid #cecece;
    background: var(--bg); }

.commentlist .comment_content p {
  margin: 0.7335em 0 1.5em;
  font-size: 1em;
  line-height: 1.5em; }

.commentlist .comment-reply-link {
  float: right; }



/*********************
FORM STYLES
*********************/

[type=color],
[type=date],
[type=datetime-local],
[type=datetime],
[type=email],
[type=month],
[type=number],
[type=password],
[type=search],
[type=tel],
[type=text],
[type=time],
[type=url],
[type=week],
textarea,
select {
  display: block;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  width: 100%;
  height: auto;
  margin: 0;
  padding: .5rem .75rem;
  border: 1px solid var(--gray);
  border-radius: .5rem;
  background-color: var(--bg);
  -webkit-box-shadow: none;
  box-shadow: none;
  font-family: inherit;
  font-size: 1em;
  line-height: 1.25;
  color: var(--blue);
  transition: var(--transition);
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
}

select {
  padding-right: 2rem;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' height='24px' viewBox='0 -960 960 960' width='24px' fill='%23122223'%3E%3Cpath d='M480-344 240-584l56-56 184 184 184-184 56 56-240 240Z'/%3E%3C/svg%3E");
  background-size: 1em 1em;
}

[type=color]::placeholder,
[type=date]::placeholder,
[type=datetime-local]::placeholder,
[type=datetime]::placeholder,
[type=email]::placeholder,
[type=month]::placeholder,
[type=number]::placeholder,
[type=password]::placeholder,
[type=search]::placeholder,
[type=tel]::placeholder,
[type=text]::placeholder,
[type=time]::placeholder,
[type=url]::placeholder,
[type=week]::placeholder,
textarea::placeholder,
select::placeholder {
  color: var(--blue);
  font-size: 1em;
}

[type=color]:hover,
[type=date]:hover,
[type=datetime-local]:hover,
[type=datetime]:hover,
[type=email]:hover,
[type=month]:hover,
[type=number]:hover,
[type=password]:hover,
[type=search]:hover,
[type=tel]:hover,
[type=text]:hover,
[type=time]:hover,
[type=url]:hover,
[type=week]:hover,
textarea:hover,
select:hover,
[type=color]:focus,
[type=date]:focus,
[type=datetime-local]:focus,
[type=datetime]:focus,
[type=email]:focus,
[type=month]:focus,
[type=number]:focus,
[type=password]:focus,
[type=search]:focus,
[type=tel]:focus,
[type=text]:focus,
[type=time]:focus,
[type=url]:focus,
[type=week]:focus,
textarea:focus,
select:focus {
    outline: 0;
    border: 1px solid var(--blue);
    background-color: var(--bg);
    -webkit-box-shadow: none;
    box-shadow: none;
    transition: var(--transition);
}

/*********************
CONTACT FORM STYLES
*********************/

.wpcf7-form label {
  font-size: 1em;
  line-height: 1.25;
  color: var(--blue);
  margin-bottom: .5rem;
}

@media screen {
  .wpcf7-form label {
    display: none;
  }
  .wpcf7-form .wpcf7-checkbox label {
    display: inline-block;
  }
}

.wpcf7 form .wpcf7-response-output {
  margin: 0;
  margin-top: 1rem;
  padding: .75rem 1.5rem;
  background-color: var(--coral);
  border-color: var(--coral);
}

.wpcf7 form.init .wpcf7-response-output {
  display: none;
}

.wpcf7 form.sent .wpcf7-response-output {
  background-color: var(--green);
  border-color: var(--green); /* Green */
  color: var(--bg);
}

.wpcf7 form.failed .wpcf7-response-output,
.wpcf7 form.aborted .wpcf7-response-output {
  background-color: var(--coral);
  border-color: var(--coral); /* Red */
  color: var(--bg);
}

.wpcf7 form.spam .wpcf7-response-output {
  background-color: var(--coral);
  border-color: var(--coral); /* Orange */
  color: var(--bg);
}

.wpcf7 form.invalid .wpcf7-response-output,
.wpcf7 form.unaccepted .wpcf7-response-output {
  background-color: var(--coral);
  border-color: var(--coral); /* Yellow */
  color: var(--bg);
}

span.wpcf7-list-item {
    display: inline-block;
    margin: 0 1rem 0 0;
}

[type=checkbox],
[type=file],
[type=radio] {
    margin: 0 0 .75rem;
}

[type=file] {
  display: inline-block;
  width: auto;
  padding: 1rem 2rem;
  background: var(--bg);
  border: transparent;
  font-size: .9em;
}

.wpcf7-form .btn.big {
  width: 100%;
  margin: 0;
}

.wpcf7-not-valid-tip {
  position: absolute;
  top: .5rem;
  right: 1rem;
  color: var(--coral);
  text-align: right;
  font-size: .9em;
}

/* ---- Checkbox group --------------------------------------- */

.wpcf7-checkbox {
  display: block;
}


@media print, screen and (min-width: 40em) {
  .wpcf7-checkbox {
    display: -webkit-flex;
    display: flex;
    -webkit-flex-direction: row;
    flex-direction: row;
    -webkit-flex-wrap: wrap;
    flex-wrap: wrap;
    -webkit-justify-content: flex-start;
    justify-content: flex-start;
    -webkit-align-content: center;
    align-content: center;
    -webkit-align-items: center;
    align-items: center;
    gap: .25rem 1.25rem;
  }
}

.wpcf7-checkbox .wpcf7-list-item {
  display: block;
  margin: 0;      /* override CF7's default left margin */
}
.wpcf7-checkbox .wpcf7-list-item label {
  display: flex;
  align-items: center;
  gap: 1rem;
  cursor: pointer;
}

/* hide the native checkbox, keep it accessible */
.wpcf7-checkbox input[type="checkbox"] {
  position: absolute;
  opacity: 0;
  width: 0;
  height: 0;
}

/* custom white box drawn before the label text */
.wpcf7-checkbox .wpcf7-list-item-label {
  position: relative;
  display: flex;
  align-items: center;
  gap: .5rem;
  font-family: 'Neusa Next Std', sans-serif;
  text-transform: uppercase;
  font-weight: 700;
  font-size: 1.1em;
  color: var(--blue);
}
.wpcf7-checkbox .wpcf7-list-item-label::before {
  content: "";
  flex: 0 0 auto;
  width: 1.5rem;
  height: 1.5rem;
  background: var(--bg);
  box-shadow: inset 0 0 0 1px rgba(0, 0, 0, 0.2);
  transform: translateY(-.1rem);
}
/* coral check mark when selected */
.wpcf7-checkbox .wpcf7-list-item-label::after {
  content: "\2713";
  position: absolute;
  left: -.1rem;
  top: 0;
  width: 1.5rem;
  text-align: center;
  font-family: 'Neusa Next Std', sans-serif;
  font-weight: 700;
  font-size: 1.25rem;
  color: var(--coral);
  opacity: 0;
}
.wpcf7-checkbox input[type="checkbox"]:checked + .wpcf7-list-item-label::after { opacity: 1; }
.wpcf7-checkbox input[type="checkbox"]:focus-visible + .wpcf7-list-item-label::before {
  box-shadow: inset 0 0 0 2px var(--blue);
}

/* ---- Submit ----------------------------------------------- */
.wpcf7-submit {
  display: block;
  width: 100%;
  height: 57px;
  margin-top: 24px;
  border: none;
  border-radius: 0;
  background: var(--green);
  color: var(--bg);
  font-family: 'Neusa Next Std', sans-serif;
  font-weight: 700;
  font-size: 22px;
  text-transform: uppercase;
  cursor: pointer;
  transition: var(--transition);
}
.wpcf7-submit:hover { background: var(--blue); }

/* CF7 ajax spinner sits next to the button */
.wpcf7-spinner { margin: 18px auto 0; display: none; }

/*********************
COMMENT FORM STYLES
*********************/
.respond-form {
  margin: 1.5em 10px;
  padding-bottom: 2.2em; }
  .respond-form form {
    margin: 0.75em 0; }
    .respond-form form li {
      list-style-type: none;
      clear: both;
      margin-bottom: 0.7335em; }
      .respond-form form li label,
      .respond-form form li small {
        display: none; }
    .respond-form form input[type=text],
    .respond-form form input[type=email],
    .respond-form form input[type=url],
    .respond-form form textarea {
      padding: 3px 6px;
      background: #efefef;
      border: 2px solid #cecece;
      line-height: 1.5em; }
      .respond-form form input[type=text]:focus,
      .respond-form form input[type=email]:focus,
      .respond-form form input[type=url]:focus,
      .respond-form form textarea:focus {
        background: var(--bg); }
      .respond-form form input[type=text]:invalid,
      .respond-form form input[type=email]:invalid,
      .respond-form form input[type=url]:invalid,
      .respond-form form textarea:invalid {
        outline: none;
        border-color: #fbc2c4;
        background-color: #f6e7eb;
        -ms-box-shadow: none;
        box-shadow: none; }
    .respond-form form input[type=text],
    .respond-form form input[type=email],
    .respond-form form input[type=url] {
      max-width: 400px;
      min-width: 250px; }
    .respond-form form textarea {
      resize: none;
      width: 97.3%;
      height: 150px; }

#comment-form-title {
  margin: 0 0 1.1em; }

#allowed_tags {
  margin: 1.5em 10px 0.7335em 0; }

.nocomments {
  margin: 0 20px 1.1em; }

/*********************
SIDEBARS & ASIDES
*********************/
.sidebar li {
  list-style: none; }

.widget ul {
  margin: 0; }

/*********************
FOOTER STYLES
*********************/

.footer-container {

  position: relative;
  z-index: 0;   
}

/* the slanted navy lives on a layer BEHIND the content */
.footer-container::before {
  content: '';
  position: absolute;
  inset: 0;                      /* fill the whole footer */
  z-index: -1;                   /* sit behind the content */
  background: var(--blue);
  clip-path: polygon(
    0    calc(var(--footer-slant-start) + var(--footer-slant)),
    100% var(--footer-slant-start),
    100% 100%,
    0    100%
  );
}

.footer--explore figure {
  transition: var(--transition);  
}

.footer--explore figcaption {
  margin: 0;
  padding: 0;
  transform: none;
  position: relative;
  background: transparent;
  width: 100%;
  max-width: 100%;
  border-radius: 0;
  left: 0;
  pointer-events: all;
}

.footer--explore figcaption a {
  display: block;
  width: 100% !important;
  background: var(--green);
  text-align: center;
  font-family: 'Neusa Next Std', sans-serif;
  font-weight: 600;
  text-transform: uppercase; 
  font-size: 1.15em;
  line-height: 1.25;
  padding: .75rem 0 .6rem 0;
  margin: 0;
  color: var(--bg);
}

.footer--explore figure:hover,
.footer--explore figure:focus,
.footer--explore figure:active {
  transform: translateY(-.15rem);
}

.footer--explore figure:hover a,
.footer--explore figure:focus a,
.footer--explore figure:active a {
  background: var(--dark-green);
}

.footer--data-supplier {
  transition: var(--transition);
}

@media print, screen and (max-width: 30.5em) {
  .footer--data-supplier a {
    display: -webkit-flex;
    display: flex;
    -webkit-flex-direction: column;
    flex-direction: column;
    -webkit-flex-wrap: nowrap;
    flex-wrap: nowrap;
    -webkit-justify-content: flex-start;
    justify-content: flex-start;
    -webkit-align-content: stretch;
    align-content: stretch;
    -webkit-align-items: flex-start;
    align-items: flex-start;
  }
}

.footer--data-supplier:hover,
.footer--data-supplier:focus,
.footer--data-supplier:active {
  transform: translateY(-.15rem);
  opacity: 1;
}

.footer--data-supplier a,
.footer--data-supplier a:link,
.footer--data-supplier a:visited {
  font-family: 'Neusa Next Std', sans-serif;
  text-transform: uppercase;
  color: var(--green);
  font-weight: 600;
}

.footer--data-supplier a:hover,
.footer--data-supplier a:focus,
.footer--data-supplier a:active {
  color: #9BD944 !important;
  opacity: 1;
}

.footer ul {
  margin: 0;
  list-style: none;
}

.footer ul li a,
.footer ul li a:link,
.footer ul li a:visited {
  color: var(--cyan);
  font-weight: 400;
}

.footer ul li a:hover,
.footer ul li a:focus,
.footer ul li a:active {
  color: var(--bg);
}

.subfooter {
  text-align: center;
  color: rgba(255,255,255,.5);
  padding: 1rem;
  margin-top: 4rem;
  border-top: 1px solid rgba(255,255,255,.5);
}

.subfooter p {
  margin: 0;
}


@media print, screen and (min-width: 40em) {
  .footer-container {
     /* --footer-slant: clamp(60px, 20cqw, 360px);
    --footer-slant-start: 0rem;         where the navy diagonal begins */

    position: relative;
    z-index: 0;   
  }
  .footer {
    /* margin-top: 5rem; */
  }
  
}
/*********************
VISUAL EDITOR STYLES
*********************/
body#tinymce {
  margin: 20px; }

/*********************
PLUGIN STYLES
*********************/
.gform_body ul {
  list-style: none outside none;
  margin: 0; }

/*# sourceMappingURL=style.css.map */
