/*///////////////////
 FONTS 
 //////////////// */

/*


@font-face {
    font-family: 'REM';
    src: local(''),                 
        url('../fonts/REM-Thin.woff2') format('woff2'),
        url('../fonts/REM-Thin.woff') format('woff');
    font-weight: 100;
    font-style: normal;
    font-display: swap;
}
*/


/*///////////////////////
LINKS
///////////////////////*/

a {
    text-decoration: none;
    color: var(--wp--preset--color--secondary);
}
a:hover {
    color: var(--wp--preset--color--quaternary);
}

/*///////////////////
  BUTTONS
 //////////////// */
.wp-block-button__link.wp-element-button {
    position: relative;
}
.wp-block-button__link:hover {
    background-color: var(--wp--preset--color--secondary);
    border-color: var(--wp--preset--color--secondary);
    color: var(--wp--preset--color--white);
}

.wp-block-button.is-style-primary .wp-block-button__link:hover {
    background-color: var(--wp--preset--color--secondary);
    border-color: var(--wp--preset--color--secondary);
    color: var(--wp--preset--color--white);
}
.wp-block-button.is-style-secondary .wp-block-button__link:hover {
    background-color: var(--wp--preset--color--primary);
    border-color: var(--wp--preset--color--primary);
    color: var(--wp--preset--color--white);
}
.wp-block-button.is-style-tertiary .wp-block-button__link:hover {
    background-color: var(--wp--preset--color--secondary);
    border-color: var(--wp--preset--color--secondary);
    color: var(--wp--preset--color--white);
}
.wp-block-button.is-style-quaternary .wp-block-button__link:hover {
    background-color: var(--wp--preset--color--primary);
    border-color: var(--wp--preset--color--primary);
    color: var(--wp--preset--color--white);
}
.wp-block-button.is-style-outline-primary .wp-block-button__link:hover {
    background-color: var(--wp--preset--color--primary);
    border-color: var(--wp--preset--color--primary);
    color: var(--wp--preset--color--white);
}
.wp-block-button.is-style-outline-secondary .wp-block-button__link:hover {
    background-color: var(--wp--preset--color--secondary);
    border-color: var(--wp--preset--color--secondary);
    color: var(--wp--preset--color--white);
}
.wp-block-button.is-style-outline-tertiary .wp-block-button__link:hover {
    background-color: var(--wp--preset--color--tertiary);
    border-color: var(--wp--preset--color--tertiary);
    color: var(--wp--preset--color--white);
}
.wp-block-button.is-style-outline-quaternary .wp-block-button__link:hover {
    background-color: var(--wp--preset--color--quaternary);
    border-color: var(--wp--preset--color--quaternary);
    color: var(--wp--preset--color--white);
}
.wp-block-button.is-style-outline-white .wp-block-button__link:hover {
    background-color: var(--wp--preset--color--white);
    border-color: var(--wp--preset--color--white);
    color: var(--wp--preset--color--primary);
}
.wp-block-button.is-style-glass .wp-block-button__link:hover {
    background-color: var(--wp--preset--color--white);
    color: var(--wp--preset--color--primary); 
}
.wp-block-button__link.wp-element-button:after, .is-style-outline-primary .wp-block-button__link.wp-element-button:after, .is-style-outline-primary .wp-block-button__link.wp-element-button:hover:after, .wp-block-button.is-style-white .wp-block-button__link.wp-element-button:hover:after {
    content: '';
    display: inline-block;
    width: 12px;
    height: 12px;
    background: url(../images/linkarrowWhite.png) no-repeat center center;
    background-size: contain !important;
    position: absolute;
    top: 13px;
    right: 15px;
}
.wp-block-button.is-style-glass .wp-block-button__link:hover:after {
    background: url(../images/linkarrowBlue.png) no-repeat center center; 
}
/*////////////////////
RESETS
/////////////////////*/
.mark, mark {
    padding: 0;
}
.anchor {
    scroll-margin-top:180px;
}
.multiplyOverlay .wp-block-cover__background{
    mix-blend-mode: multiply;
}

.wp-site-blocks > * + * {
    margin-block-start: 0px !important;
}



/*///////////////////////
HEADER
///////////////////////*/
.topAnnounce {
    transition: opacity 0.3s ease, max-height 0.3s ease, padding 0.3s ease;
    opacity: 1; /* Initially visible */
    max-height: 1000px; /* Set a sufficiently large max-height value */
    padding: 10px; /* Add padding if needed */
    overflow: hidden; /* Prevent content from overflowing */
}

.topAnnounce.hidden {
    opacity: 0; /* Fully transparent when hidden */
    max-height: 0; /* Collapse the height when hidden */
    padding: 0 !important; /* Remove padding to collapse the space */
}
header {
    position: fixed;
    top: 0;
    z-index: 5;
    width: 100%;
    transition: background-color 0.3s ease, box-shadow 0.3s ease, top 0.4s ease, opacity 0.4s ease;
    opacity: 1;
    background: #FFF;
}

/* Initial state: visible but behind content */
.home header {
    position: relative;
    background-color: transparent;
    transition: background-color 0.3s ease, box-shadow 0.3s ease, top 0.4s ease, opacity 0.4s ease;
    opacity: 1;
}

/* Sticky state: above content */
header.is-sticky {
    z-index: 20;
    position: fixed;
    box-shadow: 0 3px 3px rgba(0,0,0,0.25);
}

/* Drop-in animation only on home */
.home header.is-sticky {
    animation: headerDrop 0.4s ease forwards;
}

header .navContainer {
    background-color: transparent;
    transition: background-color 0.3s ease, box-shadow 0.3s ease;
}

header.is-sticky .navContainer {
    background-color: #FFF;
    box-shadow: 0 0 10px rgba(0,0,0,0.25);
    transition: background-color 0.3s ease, box-shadow 0.3s ease;
}

@keyframes headerDrop {
    0% {
        top: -50px;
        opacity: 0;
    }
    100% {
        top: 0;
        opacity: 1;
    }
}
/* Container logos */
.logo-container figure {
    position: absolute; /* stack on top of each other */
    top: 0;
    left: 0;
    width: 100%;
    transition: opacity 0.4s ease;
    margin: 0;
}

/* Default for ALL pages = show color logo */
.logo-container figure:first-child {  /* white logo */
    opacity: 0;
    z-index: 1;
}

.logo-container figure:last-child {   /* color logo */
    opacity: 1;
    z-index: 2;
}

/* HOME page only: start with white logo */
body.home .logo-container figure:first-child {
    opacity: 1;
    z-index: 2;
}

body.home .logo-container figure:last-child {
    opacity: 0;
    z-index: 1;
}

/* HOME page when sticky: swap to color logo */
body.home header.is-sticky .logo-container figure:first-child {
    opacity: 0;
}

body.home header.is-sticky .logo-container figure:last-child {
    opacity: 1;
}
body.home .wp-block-navigation:not(.has-background) .wp-block-navigation__submenu-container {
    background: rgba(0, 0, 0, 0.5);
}
body.home header.is-sticky .wp-block-navigation:not(.has-background) .wp-block-navigation__submenu-container {
    background: #FFF;
}
body.home header .wp-block-navigation-submenu .wp-block-navigation__submenu-icon svg {
    stroke:#FFF;
}
body.home header.is-sticky .wp-block-navigation-submenu .wp-block-navigation__submenu-icon svg {
    stroke:var(--wp--preset--color--tertiary);
}
body.home header .wp-block-navigation__responsive-container-close, .wp-block-navigation__responsive-container-open {
    color: #FFF;
}
body.home header.is-sticky .wp-block-navigation__responsive-container-close, 
body.home header.is-sticky .wp-block-navigation__responsive-container-open {
    color: var(--wp--preset--color--tertiary);
}
.logo-container {
    position: relative;
    width: 200px;   /* match your logo width */
    height: 64px;   /* match your logo height */
}

.logo-container figure img {
    width: 100%;  /* fill container width */
    height: auto; /* maintain aspect ratio */
    display: block;
}


header .wp-block-navigation .wp-block-navigation-item__content.wp-block-navigation-item__content {
    color: var(--wp--preset--color--senary);
}
header .wp-block-navigation .wp-block-navigation-item__content.wp-block-navigation-item__content:hover,
header .wp-block-navigation-item.current-menu-item.wp-block-navigation-link .wp-block-navigation-item__content{
    color: var(--wp--preset--color--tertiary);
}
.home header .wp-block-navigation .wp-block-navigation-item__content.wp-block-navigation-item__content {
    color: var(--wp--preset--color--white);
}
header.is-sticky .wp-block-navigation .wp-block-navigation-item__content.wp-block-navigation-item__content {
    color: var(--wp--preset--color--senary);
}
header .wp-block-navigation .wp-block-navigation-item__content.wp-block-navigation-item__content:hover,
header .wp-block-navigation-item.current-menu-item.wp-block-navigation-link .wp-block-navigation-item__content {
    color: var(--wp--preset--color--secondary);
}

.home-hero {
    position: fixed;
    inset: 0;
    height: 100vh;
    width: 100%;
    overflow: hidden;
    z-index: 0;
}
.home-content {
    position: relative;
    z-index: 10;
    margin-top: 100vh;
    background-color: #fff; /* important so it covers hero */
}

.checkList {
    list-style-type: none;
}
.checkList li {
    position: relative;
    padding-left: 25px;
}
.checkList li:before {
    position: absolute;
    left: 0;
    content: '';
    display: block;
    width: 20px;
    height: 20px;
    background: url(../images/iconCheckmark.svg) no-repeat center;
    background-size: contain;
}

.blueGrid {
    background: url(../images/gridline-white.svg) no-repeat bottom right;
    background-size:30% auto;
}
.grayGrid1 {
    background: url(../images/gridline-01.svg) no-repeat top right;
    background-size:30% auto;
}
.grayGrid2 {
    background: url(../images/gridline-02.svg) no-repeat bottom right;
    background-size:30% auto;
}
.grayGrid3 {
    background: url(../images/gridline-03.svg) no-repeat top right;
    background-size:30% auto;
}

.builtIn {
    position: relative;
    overflow: visible;
}
.builtIn:after {
    position: absolute;
    content: '';
    display: block;
    width: 100px;
    height: 50px;
    left: 50%;
    bottom: -50px;
    transform: translateX(-50%);
    z-index: 5;
    background: url(../images/builtinChevron.png) no-repeat;
    background-size: contain;
}
.specs {
    background-image: url(../images/specsBG.svg);
    background-repeat: no-repeat;
    background-position: bottom left;
    background-size: 600px;
}

.connected-steps {
    --circle-size: 50px;
    --gutter: 1rem;
    --line-width: 3px;
    --accent: var(--wp--preset--color--tertiary);
    counter-reset: step;
    list-style: none;
    margin: 0;
    padding: 0;
    font-family: var(--wp--preset--font-family--host-grotesk);
}
/* only style the top-level list items */
.connected-steps > li {
  position: relative;
  padding-left: calc(var(--circle-size) + var(--gutter) + 0.5rem);
  margin-bottom: 2rem;
  line-height: 1.2;
    font-weight: 600;
    font-size: 24px;
    color: var(--wp--preset--color--tertiary);
}
/* numbered square on top-level only */
.connected-steps > li::before {
  counter-increment: step;
  content: counter(step);
  position: absolute;
  left: 0;
  top: 5px;
  width: var(--circle-size);
  height: var(--circle-size);
  border-radius: 0; /* square */
  display: flex;
  align-items: center;
  justify-content: center;
  background: var(--wp--preset--color--primary); /* odd items */
  color: #FFF;
  font-weight: 500;
  font-size: calc(var(--circle-size) * 0.55);
  z-index: 1;
    font-family: var(--wp--preset--font-family--anton);
}
/* even items get tertiary */
.connected-steps > li:nth-child(even)::before {
  background: var(--wp--preset--color--tertiary);
}
/* connecting line between parent bullets */
.connected-steps > li::after {
  content: "";
  position: absolute;
  left: calc(var(--circle-size) / 2);
  top: var(--circle-size);
  bottom: -3rem;
  width: var(--line-width);
  transform: translateX(-50%);
  background: var(--accent);
}
.connected-steps > li:last-child::after {
  display: none;
}
/* sub-lists inside parent items */
.connected-steps > li ul,
.connected-steps > li ol {
  list-style: none;
  margin: 0.5rem 0 0 0;
  padding-left: 0;
  font-weight: normal;
  font-size: 16px;
}
/* optional: indent sub-items manually */
.connected-steps > li ul li,
.connected-steps > li ol li {
  margin-left: 0;
  padding-left: 0;
    color: var(--wp--preset--color--quaternary);
}
/* small responsive tweak example (optional) */
@media (max-width: 420px) {
  .connected-steps {
    --circle-size: 1.6rem;
  }
  .connected-steps li { padding-left: calc(var(--circle-size) + var(--gutter) + 0.5rem); }
}



/*CONTENT*/
.has-white-color p {
    color: #FFF !important;
}
.materialsGrid h3 {
    white-space: nowrap;
}
.pageBanner .wp-block-media-text__media img {
    position: relative;
    clip-path: polygon(100px 0, 100% 0, 100% calc(100% - 0px), 50% 100%, 100px 100%, 0 50% );
}
.pageBanner .wp-block-media-text__media:before {
    content: '';
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    background: linear-gradient(to top, rgba(27,36,44,.85), rgba(0, 150, 255, 0) );
    z-index: 1;
}
.pageBanner .wp-block-media-text {
    min-height: 400px;
}
.pageBanner .wp-block-categories-list {
    padding: 0;
    margin: 0;
    list-style-type: none;
}
.pageBanner .wp-block-categories-list a:hover {
    color: var(--wp--preset--color--primary);
}
.wp-block-column.imgCallouts {
    justify-content: center;
    align-items: flex-end;
    display: flex;
    max-width: 80%;
    flex-direction: column;
}

.wp-block-column.imgCallouts figure {
    max-width: 80%;
    position: relative;
}
.wp-block-column.imgCallouts figure .wp-element-caption {
    position: absolute;
    top: 50%;
    left: -10%;
    background: var(--wp--preset--color--quinary);
    padding: 6px 15px 6px 12px;
    border-left: 3px solid var(--wp--preset--color--primary);
    font-size: 15px;
}

.sideways-label {
  position: relative;
  display: inline-block;
  writing-mode: vertical-rl; /* makes text vertical */
  transform: rotate(180deg); /* flips to read bottom → top (like your image) */
  font-size: 14px;
  letter-spacing: 2px;
    padding-top: 10px;
    color: var(--wp--preset--color--primary);
}

/* the fading line */
.sideways-label::before {
  content: "";
  position: absolute;
  left: 50%;
  bottom: 100%;
  transform: translateX(-50%);
  width: 2px;
  height: 60px; /* adjust length */
  
  background: linear-gradient(
    to top,
    var(--wp--preset--color--primary),   /* solid near text */
    rgba(0, 150, 255, 0)    /* fade out */
  );
}

.wp-block-quote.is-style-quote-white p,
.wp-block-quote.is-style-quote-gray p {
    color: var(--wp--preset--color--tertiary);
}

/*SERVICE AREAS LIST*/
ul.serviceAreasList.wp-block-page-list {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 1rem;
    list-style-type: none;
}
ul.serviceAreasList.wp-block-page-list li {
    position: relative;
    padding-left: 24px;
    color: var(--wp--preset--color--tertiary);
}
ul.serviceAreasList.wp-block-page-list li:before {
    position: absolute;
    content: '';
    display: inline-block;
    background: url(../images/iconNut.svg) no-repeat center;
    background-size: contain;    
    width: 20px;
    height: 20px;
    left: 0;
    top: 1px;
}
@media (max-width: 980px) {

    ul.serviceAreasList.wp-block-page-list {
        grid-template-columns: repeat(3, 1fr);
    }
}
@media (max-width: 600px) {
    ul.serviceAreasList.wp-block-page-list {
        grid-template-columns: repeat(2, 1fr);
    }
}
/*TABLES*/
.wp-block-table {
  width: 100%;
  overflow-x: auto;
  -webkit-overflow-scrolling: touch;
}

.wp-block-table table {
  width: 100%;
  border-collapse: collapse;
  min-width: 600px; /* adjust based on your table */
}
.wp-block-table thead {
    border: none;
}
.wp-block-table thead th {
    border-bottom: none;
    background: var(--wp--preset--color--tertiary);
    color: #FFF;
    font-family: var(--wp--preset--font-family--anton);
    font-weight: normal;
    text-transform: uppercase;
    min-width: 100px;
    text-align: left;
}
@media (max-width: 768px) {
  table {
    font-size: 14px;
  }

  th, td {
    padding: 6px;
  }

  th {
    white-space: nowrap;
  }
}
/*FORMS*/
.formContainer {
    border-radius: 60px 0;
}
.formContainer.sidebar {
    border-bottom: 20px solid var(--wp--preset--color--secondary);
}
.gform_wrapper.gravity-theme #field_submit .gform-button,
.gform_wrapper.gravity-theme .gform_footer button, 
.gform_wrapper.gravity-theme .gform_footer input, 
.gform_wrapper.gravity-theme .gform_page_footer button, 
.gform_wrapper.gravity-theme .gform_page_footer input {
    background-color: var(--wp--preset--color--primary);
    border-color: var(--wp--preset--color--primary);
    color: var(--wp--preset--color--white);
}
.gform_wrapper.gravity-theme #field_submit .gform-button:hover,
.gform_wrapper.gravity-theme .gform_footer button:hover, 
.gform_wrapper.gravity-theme .gform_footer input:hover, 
.gform_wrapper.gravity-theme .gform_page_footer button:hover, 
.gform_wrapper.gravity-theme .gform_page_footer input:hover {
    background-color: var(--wp--preset--color--secondary);
}


.gform_wrapper.gravity-theme .gfield_label {
    font-weight: 500;     
}
.gform_wrapper.gravity-theme select {
    color:  #c8c8c8;
}
::-webkit-input-placeholder,
.gform_wrapper.gf_browser_chrome ul.gform_fields li.gfield select { 
	color:  #c8c8c8;
	}
::-moz-placeholder { 
	color:  #c8c8c8;
}
:-ms-input-placeholder { 
	color:  #c8c8c8;
	}
:-moz-placeholder { 
    color: #c8c8c8;
	}



/* ── Pagination ── */
.wp-block-query-pagination {
    gap: .5rem !important;
    align-items: center !important;
    margin-top: 2em;
}

.wp-block-query-pagination-numbers {
    display: flex !important;
    gap: .5rem !important;
    align-items: center !important;
}

/* All page number squares */
.wp-block-query-pagination-numbers .page-numbers,
.wp-block-query-pagination-previous,
.wp-block-query-pagination-next{
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 40px !important;
    height: 40px !important;
    font-weight: 500 !important;
    letter-spacing: .08em !important;
    text-decoration: none !important;
    background: #FFF !important;
    color: var(--wp--preset--color--primary) !important;
    border: 1px solid var(--wp--preset--color--primary) !important;
    transition: background .25s, color .25s, border-color .25s !important;
}

.wp-block-query-pagination-numbers .page-numbers:hover {
    background: var(--wp--preset--color--tertiary) !important;
    color: #FFF !important;
    border-color: var(--wp--preset--color--tertiary) !important;
}

/* Active page */
.wp-block-query-pagination-numbers .page-numbers.current {
    background: var(--wp--preset--color--primary) !important;
    color: #FFF !important;
    border-color: var(--wp--preset--color--primary) !important;
}

.wp-block-query-pagination-previous:hover,
.wp-block-query-pagination-next:hover {
    background: var(--wp--preset--color--secondary) !important;
    color: #FFF !important;
    border-color: var(--wp--preset--color--secondary) !important;
}
.wp-block-query-pagination .wp-block-query-pagination-previous-arrow {
    margin-right: .25ch;
}
.wp-block-query-pagination .wp-block-query-pagination-next-arrow {
    margin-left: .25ch;
}

footer {
    margin-block-start: 0 !important;
}

footer h6 {
    position: relative;
    padding-bottom: 5px;
}
footer h6:after {
    content: '';
    position: absolute;
    width: 24px;
    height: 2px;
    background-color: var(--wp--preset--color--primary);
    left: 0;
    bottom: 0;
}

.wp-block-navigation:not(.has-text-color) .wp-block-navigation__responsive-container.is-menu-open:not(.disable-default-overlay) {
    padding:0 30px 30px;
}
/*RESET MOBILE MENU DISPLAY SIZE*/
/* copy of wp default css to a 1000px media query */
@media (min-width: 1200px) {

    .wp-block-navigation__responsive-container-open:not(.always-shown){
        display: none !important;
    }
    .wp-block-navigation__responsive-container:not(.hidden-by-default):not(.is-menu-open) {
        display: block !important;
        width: 100%;
        position: relative;
        z-index: auto;
        background-color: inherit;
    }
}

/* neutralize the wp default for 600px */
@media (min-width: 600px) {
    .wp-block-navigation__responsive-container-open:not(.always-shown) {
        display: flex;
    }
    .wp-block-navigation__responsive-container:not(.hidden-by-default):not(.is-menu-open) {
        display: none;
    }
}


@media (max-width: 1200px) {

    .home .wp-block-navigation__responsive-container-close svg{
        fill:var(--wp--preset--color--tertiary);
    }
    .home header .wp-block-navigation .wp-block-navigation-item__content.wp-block-navigation-item__content {
        color: var(--wp--preset--color--tertiary);
    }    
    .home header .wp-block-navigation .wp-block-navigation-item__content.wp-block-navigation-item__content:hover {
        color: var(--wp--preset--color--secondary);
    }
    .wp-block-navigation__responsive-container.is-menu-open {
        padding: 20px;
    }
    .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__submenu-container.wp-block-navigation__submenu-container.wp-block-navigation__submenu-container.wp-block-navigation__submenu-container {
        padding: 10px 0 0 10px;
        margin-top: 0px;
    }
    .wp-block-navigation .wp-block-page-list, .wp-block-navigation__container, .wp-block-navigation__responsive-close, .wp-block-navigation__responsive-container, .wp-block-navigation__responsive-container-content, .wp-block-navigation__responsive-dialog {
        gap:20px;
    }
    .home .wp-block-navigation__responsive-container-close svg, 
    .home .wp-block-navigation__responsive-container-open svg {
        color: #FFF;
    }
    .home .is-sticky .wp-block-navigation__responsive-container-close svg, 
    .home .is-sticky .wp-block-navigation__responsive-container-open svg,
    .wp-block-navigation__responsive-container-close svg, 
    .wp-block-navigation__responsive-container-open svg {
        height: 45px;
        width: 45px;
        color: var(--wp--preset--color--tertiary);
    }



}
/*END RESET MOBILE MENU DISPLAY SIZE*/


@media (max-width: 767px) {
    body.home .logo-container figure:last-child {
        opacity: 1;
        z-index: 2;
    }
    header .navContainer {
        padding: 10px !important;
    }
    .home .entry-content {
        padding-top: 0 !important;
    }
    .home-hero {
        position: relative;
        padding-top: 2rem !important;
        align-items: flex-start !important;
        min-height: auto;
    }

    .home-content {
        margin-top: 0;

    }
    .wp-block-navigation__responsive-container-close {
        right: -20px;
        top: 20px;
    }
    .wp-block-navigation__responsive-container-close svg, .wp-block-navigation__responsive-container-open svg {
        fill:var(--wp--preset--color--tertiary);
    }
    .wp-block-columns.mobile-column-reverse {
        flex-direction: column-reverse;
    }
}

@media (max-width: 600px) {
    .pageBanner .wp-block-media-text.is-stacked-on-mobile>.wp-block-media-text__content {
        grid-row: 1;
    }
    .pageBanner .wp-block-media-text.is-stacked-on-mobile>.wp-block-media-text__media {
        grid-row: 2;
    }
    .pageBanner .wp-block-media-text__media img {
        clip-path: none;
    }
}