/*
Theme Name: Think TPI
Theme URI: 
Author: James Fawcett
Author URI: 
Description: Custom block theme for Thoughtprocess Interatctive.
Requires at least: 6.8
Tested up to: 6.8
Requires PHP: 5.7
Version: 
License: GNU General Public License v2 or later
License URI: http://www.gnu.org/licenses/gpl-2.0.html
Text Domain: think-tpi
Tags: 
*/


/* ###### COLOR REFERENCES - Set in theme.json #########################################################################

--wp--preset--color--tpi-base                  #ffffff;
--wp--preset--color--tpi-dark-blue             #032d42;
--wp--preset--color--tpi-dark-blue-shift       #0f6682;
--wp--preset--color--tpi-light-blue            #40d8ff;
--wp--preset--color--tpi-extra-light-blue      #6deeff;
--wp--preset--color--tpi-green                 #7fa40e;
--wp--preset--color--tpi-light-green           #9cc912;
--wp--preset--color--tpi-green-tint-bg         #eff6dc;
--wp--preset--color--tpi-body-text             #333333;
--wp--preset--color--tpi-body-text-reverse     #ffffff;
--wp--preset--color--tpi-headline-text         #032d42;
--wp--preset--color--tpi-headline-text-reverse #ffffff;
--wp--preset--color--tpi-off-white             #f7f7f5;
--wp--preset--color--tpi-light-grey            #e8e8e6;
--wp--preset--color--tpi-med-grey              #c8c8c6;
*/


/* ###### FONT SIZE REFERENCES - Set in theme.json #####################################################################

--wp--preset--font-size--xx-small               clamp(0.6875rem, 0.656rem + 0.156vw, 0.8125rem)
--wp--preset--font-size--extra-small            clamp(0.75rem, 0.719rem + 0.156vw, 0.875rem)
--wp--preset--font-size--small                  clamp(0.90625rem, 0.887rem + 0.098vw, 0.984375rem)
--wp--preset--font-size--medium                 clamp(1rem, 0.969rem + 0.156vw, 1.125rem)
--wp--preset--font-size--large                  clamp(1.25rem, 1.212rem + 0.187vw, 1.4rem)
--wp--preset--font-size--extra-large            clamp(1.375rem, 1.313rem + 0.313vw, 1.625rem)
--wp--preset--font-size--xx-large               clamp(1.5rem, 1.406rem + 0.469vw, 1.875rem)
--wp--preset--font-size--xxx-large              clamp(2rem, 1.797rem + 1.016vw, 2.8125rem)
--wp--preset--font-size--huge                   clamp(2.75rem, 2.5rem + 1.25vw, 3.75rem)
--wp--preset--font-size--h1-huge                clamp(3.125rem, 2.813rem + 1.563vw, 4.375rem)


/* ###### BREAKPOINT REFERENCES - Wordpress Defaults ################################################################

.wp-block-columns - Grids stack at (max-width: 781px)

*/


/* ###### CLAMP SIZE GENERATION REFERENCES  ################################################################

- Generated usin CSS clamp generator https://cssclamp.com
- Set min viewport width 320px, max viewport width 1600px





*/



/* ############ TPI UI SYSTEM UTILITY CLASSES #######################################

- Add these classes in the WP admin for elements where you cannot add additional CSS directly.
- These should cover common uses, but you may still need additional specific classes.
- These are intended to be UNIVERSAL utility classes.

*/

.tpi-util-max-width-400 { max-width: min(90%, 400px); }
.tpi-util-max-width-500 { max-width: min(90%, 500px); }
.tpi-util-max-width-600 { max-width: min(90%, 600px); }
.tpi-util-max-width-700 { max-width: min(90%, 700px); }
.tpi-util-max-width-800 { max-width: min(90%, 800px); }
.tpi-util-max-width-900 { max-width: min(90%, 900px); }
.tpi-util-max-width-1000 { max-width: min(90%, 1000px); }

.tpi-util-height-100 { height: 100%; }

.tpi-util-margin-auto { margin: auto; }

.tpi-util-padding-right-20-percent { padding-right: 20%; }




.tpi-util-stylized-list {
    list-style: none;
    margin: 0;
    padding: 0;

    & > li {
        display: block;
        padding: .8em 1.2em;
        border-radius: var(--tpi-border-radius-general);
        border: 1px solid var(--wp--preset--color--tpi-med-grey );
        background-color: var(--wp--preset--color--tpi-green-tint-bg);
        margin: .5em 0;
        font-size: var(--wp--preset--font-size--extra-small);
        text-transform: uppercase;
        font-weight: 500;
    }
}

.tpi-util-card-container {

    width: 100%;
    box-sizing: border-box;
    padding: 4rem;
    position: relative;
    border-radius: var(--tpi-border-radius-general);

}



/* ----------- TPI UI SYSTEM UTILITY CLASSES - END -------------------------------- */




/* ######### GENERAL ######### */



@import url('https://fonts.googleapis.com/css2?family=DM+Serif+Display:ital@0;1&display=swap');
@import url('https://fonts.googleapis.com/css2?family=Roboto:ital,wght@0,100..900;1,100..900&display=swap');



:root {
    --tpi-transitions-general: all .3s;
    --tpi-border-radius-general: clamp(0.5rem, 0.318rem + 0.909vw, 1rem);
}

:where(.wp-site-blocks) > * {
	margin-block-start: 0 !important; /* zeroing out margins on main sections, like header, entry content, footer */
	margin-block-end: 0 !important; /* zeroing out margins on main sections, like header, entry content, footer */

    /* & > * { 
        padding-left: 40px;    // set padding on *children* of main sections like header, entry content, footer 
        padding-right: 40px;   // set padding on *children* of main sections like header, entry content, footer 
    } */

}


ol, ul {
    padding-left: 1.25em;
}


.wp-block-site-logo {
    
    & a{
        
        transition: all .3s;
        
        &:hover {
            transform: scale(1.02);
        }

    }    

    img {
        width: 100%; /* added to address SVG rendering issues */
    }
}

h1.tpi-eyebrow,
p.tpi-eyebrow {
    font-family: Roboto, sans-serif;
    font-size: var(--wp--preset--font-size--large);
}

h1.tpi-eyebrow + h2,
p.tpi-eyebrow + h1 {
    font-size: var(--wp--preset--font-size--h-1-huge); 
    margin-top: .1em;
}



.tpi-bg-gradient {
    background-color: #ebf3f3; /* Fallback color */
    background: linear-gradient(to right,  #ebf3f3 0%,#f5f8f2 50%,#fcfaf7 100%); /* W3C, IE10+, FF16+, Chrome26+, Opera12+, Safari7+ */

    & h1, h2, h3, h4, h5, h6 {
        color: var(--wp--preset--color--tpi-dark-blue);
    }

    & p {
        color: var(--wp--preset--color--tpi-body-text);
    }

}


a:where(:not(.wp-element-button):not(header a):not(footer a):not(#wpadminbar a):not(#wpadminbar a):not(.editor-editor-interface):not(.editor-list-view-sidebar a)) {
    transition: var(--tpi-transitions-general);
    display: inline-block;
    position: relative;
    z-index: 1;
    text-decoration: none;

    &::before {
        content: "";
        position: absolute;
        z-index: -1;
        bottom: .1em;
        left: 50%;
        transform: translateX(-50%);
        width: 90%;
        height: .08em;
        background-color: currentColor;
        opacity: .8;
        transition: all .3s, height .3s, width .3s;
    }

    &:hover {
        color: var(--wp--preset--color--tpi-dark-blue-shift);
        &::before {
            width: 100%;
            background-color: currentColor;
            opacity: 1;
        }
    }
    

}

/* ---------- GENERAL - END ------------------------------------------------------------------------ */





/* ################## POJO ALLY ACCESSIBILITY WIDGET ################################################## */

#pojo-a11y-toolbar {

    z-index: 11000;

    .pojo-a11y-toolbar-toggle {

        a {
            
            border-top-left-radius: .25rem;
            border-bottom-left-radius: .25rem;
            
            &::before {
                display: none !important;
            }
        }

    }

}


/* ------------------- POJO ALLY ACCESSIBILITY WIDGET - END ------------------------------------------- */





/* ######### BUTTON ANIMATIONS ################################################################################# */

.wp-block-button {
    overflow: hidden;    
    border-radius: 999px;
}

.wp-block-button__link {

    position: relative;
    z-index: 1;
    transition: all .3s;


    &::before {
        content: "";
        position: absolute;
        z-index: -1;
        top: -2px;
        left: -2px;
        width: calc(100% + 4px);
        height: calc(100% + 4px);
        /* top: calc(50% - 2px);
        left: -2px;
        width: 2px;
        aspect-ratio: 1/1;*/
        border-radius: 999px; 
        transform: translateX(-100%);
        opacity: 1;
        transition: all .3s;
        background-color: var(--wp--preset--color--tpi-light-blue);
    }
   
    &:hover {

        color: var(--wp--preset--color--tpi-dark-blue) !important;
        border-color: var(--wp--preset--color--tpi-light-blue);
        /* background-color: rgba(0,0,0,0.0) !important; */

        &::before {
            transform: translateX(0);
            /* width: calc(100% + 4px); */
            opacity: 1;
            /* transition: transform .15s, height .3s, width .3s, opacity .3s; */
       }

    }

    &.has-tpi-light-green-color {

        &::before {
            background-color: var(--wp--preset--color--tpi-light-green);
        }

        &:hover {
            color: var(--wp--preset--color--tpi-dark-blue) !important;
            border-color: var(--wp--preset--color--tpi-light-green);
        }

    }

    &.has-tpi-light-blue-color {

        &::before {
            background-color: var(--wp--preset--color--tpi-light-blue);
        }

        &:hover {
            color: var(--wp--preset--color--tpi-dark-blue) !important;
            border-color: var(--wp--preset--color--tpi-light-blue);
        }

    }


}

button.frm_button_submit {
    position: relative;
    overflow: hidden;
    z-index: 1;
    transition: var(--tpi-transitions-general);

    &::before {
        content: "";
        position: absolute;
        z-index: -1;
        top: -2px;
        left: -2px;
        width: calc(100% + 4px);
        height: calc(100% + 4px);
        border-radius: 999px; 
        transform: translateX(-100%);
        opacity: 1;
        transition: all .3s;
        background-color: var(--wp--preset--color--tpi-light-green);
    }
    &:hover {

        border-color: var(--wp--preset--color--tpi-light-green) !important;
        /* background-color: transparent !important; */
        /* color: var(--wp--preset--color--tpi-dark-blue) !important; */

        &::before {
            transform: translateX(0);
            /* width: calc(100% + 4px); */
            opacity: 1;
            /* transition: transform .15s, height .3s, width .3s, opacity .3s; */
       }

    }
}

/* ---------- BUTTON ACTIONS - END ------------------------------------------------------------------------ */


/* ######### BLOCKS - COLUMNS ######################################################################## */


@media (max-width: 781px) {
  :root :where(.wp-block-columns-is-layout-flex) {
    gap: 2rem;
  }
}



/* ---------- BLOCKS - COLUMNS - END ------------------------------------------------------------------------ */


/* ######### HEADER ################################################################################# */

header { 
    background-color: transparent;
    position: fixed;
    top: calc(0 + var(--wp-admin--admin-bar--height));
    z-index: 10000;
    padding-top: 30px;
    padding-bottom: 30px;
    box-sizing: border-box;
    width: 100%;
    height: 105px;
    transition: all .5s;

    &.scrolled {
        background-color: rgba(3, 45, 66, .92);
        padding-top: 20px;
        padding-bottom: 20px;
        height: 85px;
    }

    & > section.tpi-section-block {
        padding: 0;
        width: 90%;
        margin: auto;
    }

    /* & > * {
        padding-left: 40px;
        padding-right: 40px;
    } */

    & .tpi-header-flex-container.is-layout-flex {
        align-items: flex-end;
    }

    /* & .wp-block-group {
        padding: 0;
    } */

    & .wp-block-site-logo img {
        width: clamp(15rem, 14.063rem + 4.688vw, 18.75rem);
        /* max-width: 300px; */
    }

    & a {
        transition: var(--tpi-transitions-general);

        &:hover{
            color: var(--wp--preset--color--tpi-light-blue) !important;
        }

    }

}


body.tpi-header-color-light header,
header.tpi-header-color-light {


    & .custom-logo-link {
        position: relative;
        
        &::before {
            content: "";
            position: absolute;
            top: 0;
            left: 0;
            width: 100%;
            height: 100%;
            background-image: url(/wp-content/uploads/tpi-logo-blue.svg);
            background-size: contain;
            background-repeat: no-repeat;
            background-position: center;
            opacity: 1;
            transition: opacity .3s;
        }

    }

    & a {
        color: var(--wp--preset--color--tpi-dark-blue) !important;

        &:hover{
            color: var(--wp--preset--color--tpi-light-blue) !important;
        }

    }

    &.scrolled {

        & .custom-logo-link {
            
            &::before {
                opacity: 0;
            }

        }

        & a {
            color: var(--wp--preset--color--tpi-text-reversed) !important;

            &:hover{
                color: var(--wp--preset--color--tpi-light-blue) !important;
            }

        }

    }

    & + div.entry-content >.tpi-header-page:first-child,
    & + section.tpi-header-page:first-of-type {
        background-color: #ebf3f3; /* Fallback color */
        background: linear-gradient(125deg,  #e4efef 0%,#edf2e6 50%,#f6f2ec 100%); /* W3C, IE10+, FF16+, Chrome26+, Opera12+, Safari7+ */

        &::before {
            display: none;
        }

        & p {
            color: var(--wp--preset--color--tpi-body-text);
        }

        & * {
            color: var(--wp--preset--color--tpi-body-text);
        }

        & h1, h2, h3, h4, h5, h6 {
            color: var(--wp--preset--color--tpi-dark-blue);
        }

    }


}

/* ---------- HEADER - END ------------------------------------------------------------------------ */




/* ######### MAIN NAVIGATION ######################################################################## */

ul.tpi-main-nav {

    & > li {
        padding-bottom: .5em;

        &.has-child {

            & > a::after {
                content: "+";
                display: inline-block;
                margin-left: .2em;
                transition: transform .3s;
            }

            & > a:hover::after {
                transform: rotate(135deg);
            }

        }

    }

    

    .wp-block-navigation-submenu {

        & ul {
            background-color: white !important;
            padding: .8em 0;
            min-width: 0;
            right: auto !important;
            left: 50% !important;
            transform: translateX(-50%);
            box-shadow: 0 2px 10px rgba(0, 0, 0, .1);

            &::before{
                content: "";
                background-image: url(/wp-content/uploads/arrow-up.svg);
                display: block;
                position: absolute;
                width: 10px;
                height: 5px;
                bottom: 100%;
                left: 50%;
                transform: translateX(-50%);
            }

        }

        & > li {
            
            & a {
                padding: .2em 2.0em;
                line-height: 1.1
                position: relative;
                color: var(--wp--preset--color--tpi-dark-blue) !important;
                white-space: nowrap;

                &:hover {
                    color: var(--wp--preset--color--tpi-dark-blue-shift) !important;
                }

            }

        }
        
        

    }

}


/* **************** MOBILE NAV START **************************** */



@media (min-width: 600px) {
    .wp-block-navigation__responsive-container-open:not(.always-shown) {
        display: block;
    }
}

@media (max-width: 960px) {
    
    ul.tpi-main-nav {

        & > li {
            padding-bottom: 0;

            &.has-child {

                & > a::after {
                    content: "";
                    display: none;
                }

            }

        }

    }
    
    
    .wp-block-navigation__responsive-container {
        background-color: var(--wp--preset--color--tpi-dark-blue) !important;
    }

    .wp-block-navigation__responsive-container-content {

        ul.wp-block-navigation__container {
            gap: .5em !important;
            align-items: center !important;
            text-align: center;
            width: 100%;
            
            .wp-block-navigation-item {
                width: 100%;
                text-align: center;
                margin: 0;

                a {
                    display: block;
                    width: 100%;
                    font-size: var(--wp--preset--font-size--large);
                }

            }

            .wp-block-navigation__submenu-container {

                border: 0;
                box-shadow: none;
                display: block;
                left: 0;
                transform: none;
                width: 100% !important;
                box-sizing: border-box;
                padding-top: 0 !important;

                &::before {
                    display: none;
                }

                .wp-block-navigation-item {
                    padding-top: .5em !important;
                }

                a {
                    color: #fff !important;
                    display: block !important;
                    width: 100%;
                    font-size: var(--wp--preset--font-size--small);
                }

            }
            
        }

    }

  .wp-block-navigation__container {
    display: none;
  }
}

@media (min-width: 961px) {
  
    .tpi-hide-on-desktop {
        display: none !important;
    }

    .wp-block-navigation__responsive-container {
    display: none;
  }

    .wp-block-navigation__responsive-container-open:not(.always-shown) {
        display: none;
    }

  .wp-block-navigation__container {
    display: flex;
  }
}


/* ---------------- MOBILE NAV END -------------------------- */



/* ---------- MAIN NAVIGATION - END ------------------------------------------------------------------------ */




/* ######### MAIN CONTENT ######################################################################## */


header + div.entry-content > :first-child,
header + section.tpi-section-block {
    padding-top: 165px;
    padding-bottom: 60px;

    &.tpi-header-page {
        margin: 0;
        max-width: 100%;
        background-color: var(--wp--preset--color--tpi-dark-blue);
        color: var(--wp--preset--color--tpi-body-text-reverse);
        position: relative;

        & > * {
            position: relative;
            z-index: 2;
            box-sizing: border-box;
        }

        &::before {
            content: "";
            display: block;
            position: absolute;
            z-index: 1;
            top: 0;
            left: 0;
            bottom: 0;
            right: 0;
            background-image: url(/wp-content/uploads/tpi-header-bg.jpg);
            background-size: 100%;
            background-position: center top;
            background-repeat: no-repeat;
            opacity: .4;
        }

        & h1, h2, h3, h4, h5, h6 {
            color: var(--wp--preset--color--tpi-body-text-reverse);

            a, a:hover {
                color: inherit;
                text-decoration: none !important;

                &::before {
                    display: none;
                }

            }

            a:hover {
                color: var(--wp--preset--color--tpi-light-blue);
            }

        }

        & p {
            font-size: var(--wp--preset--font-size--xx-large);
            color: var(--wp--preset--color--tpi-body-text-reverse);
            margin-top: .75em;
            font-weight: 300;

        }

        .tpi-eyebrow {

            margin-top: 0;

            a, a:hover {
                color: inherit;
                text-decoration: none !important;

                &::before {
                    display: none;
                }

            }

            a:hover {
                color: var(--wp--preset--color--tpi-light-blue);
            }
        }

        a {
            color: var(--wp--preset--color--tpi-light-blue);

            &:hover {
                color: var(--wp--preset--color--tpi-extra-light-blue);
            }

        }

        &.tpi-bg-gradient {
            background-color: #ebf3f3; /* Fallback color */
            background: linear-gradient(125deg,  #e4efef 0%,#edf2e6 50%,#f6f2ec 100%); /* W3C, IE10+, FF16+, Chrome26+, Opera12+, Safari7+ */

            &::before {
                display: none;
            }

            & h1, h2, h3, h4, h5, h6 {
                color: var(--wp--preset--color--tpi-dark-blue);
            }

            & p {
                color: var(--wp--preset--color--tpi-body-text);
            }

        }

    }

    &.tpi-header-home {
        padding-top: 250px;
        padding-bottom: 200px;
      
    }

}


/* ********** TYPEWRITER ANIMATION ********** */

.tpi-typing-text-h1 {
    line-height: 1.1;
    height: 1.1em;
    overflow: visible;
    position: relative;
    /* background-color: rgba(255,0,0,.5); */
    transition: all .2s;
}

.tpi-header-home span.typewrite,
.tpi-header-home span.punctuation {
    color: var(--wp--preset--color--tpi-light-blue);
}

.tpi-header-home span.cursor {
    display: inline-block;
    height: .51em;
    width: .05em;
    transform: scaleY(2);
    margin-right: -.05em;
    position: relative;
    top: -.1em;
    left: .02em;
    background-color: var(--wp--preset--color--tpi-light-blue);
    animation: cursor-blink 1s steps(2) infinite;
}

@keyframes cursor-blink {
    0% {
        opacity: 0;
    }
}

/* --------- TYPEWRITER ANIMATION - END --------- */




@media (max-width: 1439px) {

    header + div.entry-content >.tpi-header-page:first-child {
        padding-top: 155px;
        padding-bottom: 60px;
    }

    header + div.entry-content >.tpi-header-page.tpi-header-home:first-child {
        padding-top: 240px;
        padding-bottom: 180px;
    }

}

@media (max-width: 1279px) {

    header + div.entry-content >.tpi-header-page.tpi-header-home:first-child {
        padding-top: 200px;
        padding-bottom: 120px;
    }

}

@media (max-width: 781px) {

    header + div.entry-content >.tpi-header-page.tpi-header-home:first-child {
        padding-top: 200px;
        padding-bottom: 80px;

        & .wp-block-buttons {
            column-gap: .65em;
            row-gap: .8em;
        }

    }
}

@media (max-width: 439px) {

    header + div.entry-content >.tpi-header-page:first-child {
        padding-top: 140px;
    }

    header + div.entry-content >.tpi-header-page.tpi-header-home:first-child {
        padding-top: 140px;
        padding-bottom: 60px;

        & .wp-block-buttons {
            column-gap: .5em;
            row-gap: .6em;
        }

    }
}








section.tpi-section-block {
    margin: 0;
    padding-top: 100px;
    padding-bottom: 100px;
    width: 100%;
    max-width: 100%;
    box-sizing: border-box;
}

@media (max-width: 1439px) {
    section.tpi-section-block {
        padding-top: 90px;
        padding-bottom: 90px;
    }
}

@media (max-width: 1279px) {
    section.tpi-section-block {
        padding-top: 80px;
        padding-bottom: 80px;
    }
}

@media (max-width: 781px) {
    section.tpi-section-block {
        padding-top: 70px;
        padding-bottom: 70px;
    }
}

@media (max-width: 439px) {
    section.tpi-section-block {
        padding-top: 60px;
        padding-bottom: 60px;
    }
}



.tpi-has-column-divider {
    position: relative;
    overflow: hidden;

    &::before {
        content: "";
        position: absolute;
        top: 0;
        left: 50%;
        width: 1px;
        height: 100%;
        background-color: #d8d8d6;
        transform: translateX(-50%);
    }

    &.two-columns::before {
        left: 50%;
    }

    &.two-to-one-columns::before {
        left: 66%;
    }

}

@media (max-width: 781px) {
    .tpi-has-column-divider {
        &::before {
            display: none;
        }
    }
}


.tpi-max-width-600 {
    max-width: min(90%, 600px);
}

.tpi-max-width-800 {
    max-width: min(90%, 800px);
}

.tpi-max-width-1000 {
    max-width: min(90%, 1000px);
}

.tpi-card-container {

    width: 100%;
    box-sizing: border-box;
    padding: 4rem;
    position: relative;
    border-radius: var(--tpi-border-radius-general);

}



.tpi-guiding-principles-section {

    .tpi-card-container {
        margin-bottom: 3rem;
        max-width: 1000px;

        li {
            margin-bottom: .5em;
        }

    }

}

@media (max-width: 799px) {

    .tpi-guiding-principles-section {

        .tpi-card-container {
            padding: 3rem;
            margin-bottom: 2rem;
        }

    }

}

@media (max-width: 599px) {

    .tpi-guiding-principles-section {

        .tpi-card-container {
            padding: 2rem;
            margin-bottom: 1.5rem;
        }

    }

}

@media (max-width: 399px) {

    .tpi-guiding-principles-section {

        .tpi-card-container {
            padding: 1.5rem;
            margin-bottom: 1rem;
        }

    }

}

.tpi-guiding-principles-container {

    max-width: 800px;

    & > ol > li {
        line-height: 1;
        margin-bottom: 1em;

        & > ul {

            margin-top: 1em;
            list-style-type: disc;
            
            & > li {
                margin-bottom: 1em;
                line-height: 1.4;
            }

        }

    }

}




/* ************** TPI PARALLAX IMAGES ****************** */


.tpi-parallax-images {

    position: relative;
    height: 100%;
    overflow: visible;

    & div {
        position: absolute;
        width: 80%;
        height: auto;
        aspect-ratio: 16/9;
        margin: 0;
        box-shadow: 0 3px 6px 0px rgba(0,0,0,0.3);
        -webkit-box-shadow: 0 3px 6px 0px rgba(0,0,0,0.3);
        -moz-box-shadow: 0 3px 6px 0px rgba(0,0,0,0.3);
        font-size: 0;
        overflow: hidden;
        border-radius: var(--tpi-border-radius-general);
        

        & img {
            width: 100%;
            height: 100%;
            object-fit: cover;
            object-position: top center;
        }

        & video {
            width: 100%;
            height: 100%;

        }

    }

    & div:first-of-type {
        /* background-color: red; */
        z-index: 30;
        top: 35%;
        left: 0;
        transform-origin: top left;
    }

    & div:nth-of-type(2) {
        /* background-color: green; */
        top: 10%;
        left: 12%;
        z-index: 20;
        transform-origin: center center;
    }
    
    & div:nth-of-type(3) {
        /* background-color: blue; */
        top: 45%;
        right: 0;
        z-index: 10;
        transform-origin: center right;
    }
}


@media (max-width: 780px) {

    .tpi-parallax-images {
        height: auto;
        aspect-ratio: 600 / 600;
        transform: translateY(40px);
        max-width: 500px;
        margin: auto;
    }

    body.home .tpi-parallax-images {
        aspect-ratio: 600 / 400;
    }
}

@media (max-width: 500px) {

    .tpi-parallax-images,
    body.home .tpi-parallax-images {

        & div:first-of-type {
            margin-top: 40px;
        }
    }
}



/* -------------- TPI PARALLAX IMAGES - END -------------- */



/* ************** TPI TESTIMONIAL PATTERN ************** */


.tpi-testimonial-pattern {

    position: relative;
    padding-top: 3rem;

    &::before {
        content: "‘‘";
        font-family: var(--wp--preset--font-family--dm-serif-display) !important;
        font-size: 16rem;

        line-height: 1;
        letter-spacing: -0.045em;
        position: absolute;
        top: -.06em;
        left: -.03em;
        color: #f0f0f0;
        z-index: -1;
    }

    & > * {
        max-width: 100%
    }

    & .tpi-testimonial-text {
        margin-top: 1rem;
        width: 70%;
    }

    & .tpi-testimonial-author-group {
        width: 50%;    
        margin-left: auto !important;
        margin-right: 0 !important;
        margin-top: 1.525em;
        padding-right: 15%;

        & .tpi-testimonial-author {
            position: relative;
            margin-top: 0;
            line-height: 1.1;

            &::before {
                content: "–";
                position: absolute;
                top: 0;
                left: -1.2em;
            }

        }

        & .tpi-testimonial-author-meta {
            margin-top: .4em;
            line-height: 1.1;
        }

    }

}



/* -------------- TPI TESTIMONIAL PATTERN - END -------- */





/* *************** TPI LINK CARD PATTERN ************** */

.tpi-link-card {
    margin-top: 4rem;
    padding: 3rem 2rem 2.5rem 2rem;
    box-sizing: border-box;
    position: relative;
    background-color: white;
    border-radius: var(--tpi-border-radius-general);

    &::before {
        display: none;
    }

    &:hover {
        transform: scale(1.015);
        transform-origin: bottom center;
        box-shadow: 0 3px 8px 0px rgba(0,0,0,0.1);
        -webkit-box-shadow: 0 3px 8px 0px rgba(0,0,0,0.1);
        -moz-box-shadow: 0 3px 8px 0px rgba(0,0,0,0.1);

        & h4,
        & .tpi-link-card-cta {
            color: var(--wp--preset--color--tpi-dark-blue-shift);
        }

    }

    & img:first-child {
        position: absolute;
        height: 7.5rem;
        width: auto;
        top: -3.3rem;
        left: 50%;
        transform: translateX(-50%);
        transform-origin: center center;
    }

    & .tpi-link-card-cta {

        font-weight: 600;
        margin-bottom: 0;
        
        &::after {
            content: url(/wp-content/uploads/chevron-circle.svg);
            height: .8em;
            width: .8em;
            transform: translateY(.1em);
            display: inline-block;
            margin-left: .25em;
            
        }

    }



}


@media (max-width: 781px) {
    .tpi-link-card--with-icon {
        margin-top: 4rem !important;
    }
}

.tpi-link-card--green {
    background-color: var(--wp--preset--color--tpi-green-tint-bg);
    color: var(--wp--preset--color--tpi-dark-green);

    * {
        color: var(--wp--preset--color--tpi-dark-green);
    }

    &:hover {
        
        *, h1, h2, h3, h4, h5, h6, .tpi-link-card-cta {
            color: var(--wp--preset--color--tpi-dark-green-shift);
        }
        
    }

    & .tpi-link-card-cta {

        font-weight: 600;
        margin-bottom: 0;
        
        &::after {
            filter: hue-rotate(255deg) brightness(0.5);
            
        }

    }

}

.tpi-link-card--blue {
    background-color: var(--wp--preset--color--tpi-blue-tint-bg);
    color: var(--wp--preset--color--tpi-dark-blue);
}


.tpi-link-card-guiding-principles {
    width: 100%;
    background-color: var(--wp--preset--color--tpi-green-tint-bg);
    font-family: "Lora";
    color: var(--wp--preset--color--tpi-dark-green);
    padding: 2rem 2rem 2.5rem 5rem;

    figure {
        margin: 0;
    }

    & img:first-child {
        position: absolute;
        height: 7.5rem;
        width: auto;
        top: -1.3rem;
        left: -2rem;
        transform: translateX(0);
        transform-origin: center center;
    }

    h3 {
        color: var(--wp--preset--color--tpi-dark-green);
        font-size: var(--wp--preset--font-size--xx-large); 
        margin-top: 0;
    }

    ol {
        list-style: none;
        counter-reset: tpi-guiding-principles-counter;
        padding: 0 0 0 2em;

        li {
            counter-increment: tpi-guiding-principles-counter;
            margin-top: 1em;
            position: relative;

            &:first-of-type {
                margin-top: 0;
            }

            &::before {
                content: counter(tpi-guiding-principles-counter);
                display: inline-block;
                position: absolute;
                top: 0;
                left: -2em;
                font-family: "Montserrat";
                font-weight: 700;
                text-align: center;
                line-height: 1.5em;
                width: 1.5em;
                height: 1.5em;
                background-color: var(--wp--preset--color--tpi-dark-green);
                color: #e1edbd;
                border-radius: 100em;
            }

        }

    }



    &:hover {
        transform-origin: center center;
        box-shadow: 0 3px 8px 0px rgba(25, 54, 6, 0.25);
        -webkit-box-shadow: 0 3px 8px 0px rgba(25, 54, 6, 0.25);
        -moz-box-shadow: 0 3px 8px 0px rgba(25, 54, 6, 0.25);
        color: var(--wp--preset--color--tpi-dark-green);

        & h4,
        & h3,
        & .tpi-link-card-cta {
            color: var(--wp--preset--color--tpi-dark-green);
        }

    }


}


/* --------------- TPI LINK CARD PATTERN - END --------- */








/* ******** TPI SERVICE CARD Grids and Blocks ********************************* */


.tpi-home-services-grid {

    grid-template-columns: 1fr 1fr 1fr 1fr;
    grid-template-rows: auto;

    & .tpi-link-card {

        & img[src*="megaphone"] {
            transform: translateX(-50%) scale(.8);
        }

        & img[src*="gear"] {
            transform: translateX(-50%) scale(.9);
        }

        & img[src*="tools"] {
            transform: translateX(-50%) scale(.9);
        }

    }


}

@media (max-width: 999px) {

    .tpi-home-services-grid {
        grid-template-columns: 1fr 1fr;
        grid-template-rows: auto auto;
        grid-row-gap: 4rem;
    }

}

@media (max-width: 559px) {

    .tpi-home-services-grid {
        grid-template-columns: 1fr;
        grid-template-rows: auto auto;
        grid-row-gap: 4rem;
    }

}





.tpi-services-grid {

    grid-template-columns: 1fr 1fr;
    grid-template-rows: auto;
    grid-row-gap: 4rem;

    & .tpi-link-card {

        & img[src*="megaphone"] {
            transform: translateX(-50%) scale(.8);
        }

        & img[src*="gear"] {
            transform: translateX(-50%) scale(.9);
        }

        & img[src*="tools"] {
            transform: translateX(-50%) scale(.9);
        }

    }


}

@media (max-width: 999px) {

    .tpi-services-grid {
        grid-template-columns: 1fr 1fr;
        grid-template-rows: auto auto;

    }

}

@media (max-width: 899px) {

    .tpi-services-grid {
        grid-column-gap: 2.5rem;
    }

}

@media (max-width: 799px) {

    .tpi-services-grid {
        grid-column-gap: 2rem;
    }

}

@media (max-width: 699px) {

    .tpi-services-grid {
        grid-column-gap: 1.5rem;
    }

}

@media (max-width: 559px) {

    .tpi-services-grid {
        grid-template-columns: 1fr;
        grid-template-rows: auto auto;
    }

}


.tpi-sub-services-grid {

}

@media (max-width: 767px) {

    .tpi-sub-services-grid {
        grid-template-columns: 1fr;
    }

}

.tpi-sub-service-card {

    position: relative;

    h4 {
        margin-top: 0;
    }

    figure {
        position: absolute;
        top: calc( 2rem + ( var(--wp--preset--font-size--extra-large) / 2) );
        left: -40px;
        transform: translateY(-50%);
        width: 80px;
    }

    img {
        

    }

}



/* --------- TPI SERVICE CARD  Grids and Blocks - END -------------------------- */


.tpi-service-page-icon {
    position: relative;
    padding-bottom: 150px;

    img {
        position: absolute;
        top: -150px;
        right: 0;
        width: 100%;
        z-index: 10; 
    }
    
}







/* ******** TPI DEV ICON GALLERY - START ********************************* */

.tpi-dev-icon-gallery.wp-block-gallery.has-nested-images {

    justify-content: center;
    gap: 2rem;

    figure.wp-block-image {
        flex-grow: 0;
        max-width: 70px;
        width: auto;
    }

}

/* --------- TPI DEV ICON GALLERY - END -------------------------- */







/* ******** TPI BIO CARD Block ********************************* */


.tpi-bio-card-row {
    display: grid !important;
    grid-template-columns: 1fr 1fr 1fr 1fr 1fr;
    align-items: start;
    column-gap: 1.5em;
    row-gap: 3em;
}

.tpi-bio-card-row-intro {
    grid-column: 1 / span 2;
    padding-right: 10%;
}

@media (max-width: 1199px) {

    .tpi-bio-card-row {
        grid-template-columns: 1fr 1fr 1fr 1fr;
    }

}

@media (max-width: 899px) {

    .tpi-bio-card-row {
        grid-template-columns: 1fr 1fr 1fr;
    }

}

@media (max-width: 599px) {

    .tpi-bio-card-row {
        grid-template-columns: 1fr 1fr;
    }
    
}

@media (max-width: 449px) {

    .tpi-bio-card-row {
        grid-template-columns: 1fr;
        justify-items: center;
    }

    .tpi-bio-card-row-intro {
        grid-column: 1 / span 1;
    }

    .tpi-bio-card {
        max-width: 220px;
        margin: auto;
    }

    
}



.tpi-bio-card {

    text-align: center;
    text-decoration: none;
    /* max-width: calc; */

    & * {
        transition: var(--tpi-transitions-general);
    }


    &::before {
        display: none;
    }

    & figure {
        overflow: hidden;
        border-radius: 100%;
        width: 100%;
        height: auto;
        aspect-ratio: 1/1;

        & img {
            width: 100%;
            height: 100%;
            aspect-ratio: 1/1;
            filter: saturate(0.8);
        }

    }

    & .tpi-bio-name {
        font-size: var(--wp--preset--font-size--extra-large);
        margin-top: .5em;
    }

    & .tpi-bio-title {
        font-size: var(--wp--preset--font-size--extra-small);
        margin: .5em 0 0 0;
    }

    &:hover {
        
        color: var(--wp--preset--color--tpi-dark-blue);

        & img {
            transform: scale(1.05);
            filter: saturate(1.05);
        }
        
        & .tpi-bio-name {
            color: var(--wp--preset--color--tpi-dark-blue-shift);
        }
        
        & .tpi-bio-title {
            color: var(--wp--preset--color--tpi-dark-blue-shift);
        }
    }

}




/* --------- TPI BIO CARD Block - END -------------------------- */




/* *********** TPI PROJECT CARD BLOCK ************************* */

.tpi-project-loop-container {
    
    & > ul {
        display: flex;
        flex-direction: row;
        flex-wrap: wrap;
        justify-content: stretch;
        column-gap: 4rem;
        row-gap: 4rem;

        & > li {
            width: calc(50% - 2rem);
            margin: 0;
            padding: 0;

            &:nth-of-type(even) {
                transform: translateY(-2rem);
            }

        }
    }

    &.tpi-project-loop-teaser {

        & > ul {
            column-gap: 1rem;
            row-gap: 1rem;

            & > li {
                width: calc(25% - .75rem);

                &:nth-of-type(even) {
                    transform: translateY(0);
                }

                h4 {
                    margin-top: .5em;
                    font-size: var(--wp--preset--font-size--extra-large);
                }

                .tpi-project-card-location {
                    margin-bottom: 0;
                }

                .tpi-project-card-excerpt,
                .tpi-project-card-cta {
                    display: none;
                }

            }
        }

    }
    
}

@media (max-width: 999px) {

    .tpi-project-loop-container {
        
        & > ul {
            column-gap: 3rem;
            row-gap: 3rem;

            & > li {
                width: calc(50% - 1.5rem);

                &:nth-of-type(even) {
                    transform: translateY(0);
                }

            }
        }

        &.tpi-project-loop-teaser {

            .tpi-project-card {
                padding: 0 1.5rem 1.5rem 1.5rem;
            }

            & > ul {

                & > li {

                    width: calc(50% - 0.5rem);

                    &:not(:nth-child(1)):not(:nth-child(2)) {
                        display: none;
                    }

                    h4 {
                        margin-top: .75em;
                    }

                }
            }

        }
        
    }
}

@media (max-width: 639px) {

    .tpi-project-loop-container {
        
        & > ul {
            column-gap: 3rem;
            row-gap: 3rem;

            & > li {
                width: 100%;
            }
        }

        &.tpi-project-loop-teaser {

            .tpi-project-card {
                padding: 0 1.5rem 1.5rem 1.5rem;
            }

            & > ul {

                row-gap: 2rem;

                & > li {

                    width: 100%;

                    h4 {
                        margin-top: .75em;
                    }

                }
            }

        }

    }
}


.tpi-project-card {

    width: 100%;
    height: 100%;
    box-sizing: border-box;
    padding: 0 2rem 2rem 2rem;
    position: relative;
    border-radius: var(--tpi-border-radius-general);
    background-position: top left;
    background-size: 100%;
    background-repeat: no-repeat;
    box-shadow: 0 3px 8px 0px rgba(0,0,0,0), inset 0 0 30px rgba(0,0,0,.1);
    transition: var(--tpi-transitions-general);

    &::before {
        display: none;
    }

    &:hover {
        transform: scale(1.015);
        transform-origin: center center;
        box-shadow: 0 3px 8px 0px rgba(0,0,0,0.1), inset 0 0 20px rgba(0,0,0,.1);
        -webkit-box-shadow: 0 3px 8px 0px rgba(0,0,0,0.1), inset 0 0 20px rgba(0,0,0,.1);
        -moz-box-shadow: 0 3px 8px 0px rgba(0,0,0,0.1), inset 0 0 20px rgba(0,0,0,.1);
    }


    & img {
        width: 65%;
        height: auto;
        display: block;
        margin: auto;
    }

    & h4 {
        margin-top: 0;
    }

    & .tpi-project-card-location {
        font-size: var(--wp--preset--font-size--small);
        font-style: italic;
        margin-top: .25em;
    }

    & .tpi-project-card-service-links {
        font-style: normal;
        font-size: .7em;
        font-weight: 500;
        text-transform: uppercase;
        display: block;
        margin-top: 1em;

        & em {
            font-style: normal;

            &::after {
                content: "|";
                display: inline-block;
                margin: 0 .25em 0 .5em;
            }

            &:last-of-type::after {
                content: "";
                display: none;
            }

        }

    }

    & .tpi-project-card-cta {

        font-weight: 500;

        &::after {
            content: url(/wp-content/uploads/chevron-circle.svg);
            height: .8em;
            width: .8em;
            transform: translateY(.1em);
            display: inline-block;
            margin-left: .25em;
            filter: saturate(0) brightness(.36);
        }

    }

    &.tpi-project-card-dark {

        & .tpi-project-card-cta {

            &::after {
                filter: saturate(0) brightness(100);
            }

        }

    }

}


/* ----------- TPI PROJECT CARD BLOCK - END ------------------- */





/* ************ TPI PROJECT DETAILS LIST - START ************************ */

.tpi-project-details-list {

    display: flex;
    column-gap: 1.5rem;
    row-gap: .5rem;
    margin-bottom: 2rem !important;
    flex-wrap: nowrap;

    dt {
        font-size: var(--wp--preset--font-size--xx-small);
        color: #666;
        text-transform: uppercase;
        display: inline-block;
        margin-right: .5em;
        

        &::after {
            content: ":";
        }

    }
    
    dd {
        display: inline-block;
        margin: 0;
        margin-bottom: .2em;

        &.tpi-project-details-no-link-button,
        &.tpi-project-details-link-button a {
            
            font-size: var(--wp--preset--font-size--extra-small);
            line-height: 1;
            vertical-align: baseline;
            display: inline-block;
            padding: .4em 1em;
            border-radius: 1000px;
            background-color: var(--wp--preset--color--tpi-blue-tint-bg);


            &::before {
                display: none;

            }

        }

    }

    .tpi-project-details-services-list {
        display: inline-block;
    }

}


@media (max-width: 1023px) {

    .tpi-project-details-list {
        flex-wrap: wrap;

        dd {

            &.tpi-project-details-services-group {
                width: 100%;
            }

        }

        .tpi-project-details-services-list {
            vertical-align: top;
        }

    }

}


/* ------------ TPI PROJECT DETAILS LIST - END ------------------------ */





/* ************ TPI PROJECT DETAIL GALLERY - START ************************ */

.tpi-kadence-blocks-gallery {

    .splide__track {
        border-radius: var(--tpi-border-radius-general);
        overflow: hidden;
        
        .kb-gallery-image-contain {
         
            border-radius: var(--tpi-border-radius-general);

            &::before {
                content: "";
                display: block;
                position: absolute;
                top: 0;
                left: 0;
                right: 0;
                bottom: 0;
                box-shadow: inset 0 0 40px rgba(0,0,0,.15);
                z-index: 1;
            }
            
        }
        
    }

}

/* ------------ TPI PROJECT DETAIL GALLERY - END ------------------------ */






/* ************ TPI PROJECT BEFORE AFTER COLUMNS - START ************************ */

.tpi-project-before-after-columns {
    border-radius: var(--tpi-border-radius-general);
    overflow: hidden;
    background-color: var(--wp--preset--color--tpi-off-white);
    position: relative;
    background-image: url('/wp-content/uploads/curly-brace.svg');
    background-size: auto 100%;
    background-position: center;
    background-repeat: no-repeat;

    .wp-block-column:first-child .tpi-util-card-container {
        padding-right: 3rem;
    }

    .wp-block-column:last-child .tpi-util-card-container {
        padding-left: 3rem;
    }


}

@media (max-width: 1200px) {

    .tpi-project-before-after-columns {

        .wp-block-column:first-child .tpi-util-card-container {
            padding-right: 2rem;
        }

        .wp-block-column:last-child .tpi-util-card-container {
            padding-left: 2rem;
        }
        

    }

}

@media (max-width: 1024px) {

    .tpi-project-before-after-columns {


        .tpi-util-card-container {
            padding: 3rem;
        }

        .wp-block-column:first-child .tpi-util-card-container {
            padding-right: 1.5rem;
        }

        .wp-block-column:last-child .tpi-util-card-container {
            padding-left: 1.5rem;
        }
        

    }

}


@media (max-width: 782px) {

    .tpi-project-before-after-columns {
        background: none;

        .tpi-util-card-container {
            padding: 4rem !important;
        }
     

    }

}

@media (max-width: 500px) {

    .tpi-project-before-after-columns {

        .tpi-util-card-container {
            padding: 3rem !important;
        }
     

    }

}

@media (max-width: 420px) {

    .tpi-project-before-after-columns {

        .tpi-util-card-container {
            padding: 2rem !important;
        }
     

    }

}


/* ------------ TPI PROJECT BEFORE AFTER COLUMNS - END ------------------------ */





/* ************ TPI PROJECT PREV-NEXT BUTTONS - START ************************ */

.tpi-project-prev-next-group {

    a {
        background-color: var(--wp--preset--color--tpi-dark-blue);
        border-width: 0;
        color: var(--wp--preset--color--tpi-extra-light-blue);
        font-family: var(--wp--preset--font-family--roboto);
        font-size: var(--wp--preset--font-size--medium);
        line-height: 1;
        padding: calc(0.667em + 2px) calc(1.333em + 2px);
        text-decoration: none;
        border-radius: 1000px;
    
        &::before {
            display: none;
        }
    }

}

/* ------------ TPI PROJECT PREV-NEXT BUTTONS - END ------------------------ */





/* ************ TPI PHOTO RIBBON - START ************************ */


figure.has-nested-images.tpi-photo-ribbon {

    display: grid;
    grid-template-columns: 1fr 1fr 1fr 1fr 1fr 1fr;
    /* grid-template-rows: minmax(200px, 200px); */
    grid-auto-rows: calc(16vw - 1em);
    gap: 1rem;
    padding: 1rem;

    figure {
        overflow: hidden;
        border-radius: var(--tpi-border-radius-general);
        width: 100% !important;
        background-color: var(--wp--preset--color--tpi-off-white);

        img {
            object-fit: cover;
        }

    }

    figure:nth-of-type(1) {
        grid-column: 1 / span 2;
        grid-row: 1;
    }
    
    figure:nth-of-type(2) {
        grid-column: 3 / span 2;
        grid-row: 1 / span 2;
    }

    figure:nth-of-type(3) {
        grid-column: 5;
        grid-row: 1;
    }

    figure:nth-of-type(4) {
        grid-column: 6;
        grid-row: 1;

        img {
            display: none;
        }

    }

    figure:nth-of-type(5) {
        grid-column: 1;
        grid-row: 2;

        img {
            display: none;
        }

    }

    figure:nth-of-type(6) {
        grid-column: 2;
        grid-row: 2;
    }

    figure:nth-of-type(7) {
        grid-column: 5;
        grid-row: 2;

        img {
            display: none;
        }

    }

    figure:nth-of-type(8) {
        grid-column: 6;
        grid-row: 2;
    }

}




/* --------------- TPI PHOTO RIBBON - END ------------------------ */


/* ************ TPI PHOTO GRID HALF - START ************************ */

figure.has-nested-images.tpi-photo-grid-half {

    display: grid;
    grid-template-columns: 1fr 1fr 1fr 1fr;
    /* grid-template-rows: minmax(200px, 200px); */
    /* grid-auto-rows: calc(8vw - 1em); */
    gap: 1rem;
    padding: 0;
    aspect-ratio: 2 / 1;

    figure {
        overflow: hidden;
        border-radius: var(--tpi-border-radius-general);
        width: 100% !important;
        background-color: var(--wp--preset--color--tpi-off-white);

        img {
            object-fit: cover;
        }

    }

    figure:nth-of-type(1) {
        grid-column: 1 / span 2;
        grid-row: 1;
    }
    
    figure:nth-of-type(2) {
        grid-column: 3 / span 2;
        grid-row: 1 / span 2;
    }

    figure:nth-of-type(3) {
        grid-column: 1;
        grid-row: 2;
    }

    figure:nth-of-type(4) {
        grid-column: 2;
        grid-row: 2;

    }

    /* figure:nth-of-type(5) {
        grid-column: 3;
        grid-row: 2;

    }

    figure:nth-of-type(6) {
        grid-column: 2;
        grid-row: 2;
    } */

    /* figure:nth-of-type(7) {
        grid-column: 5;
        grid-row: 2;



    }

    figure:nth-of-type(8) {
        grid-column: 6;
        grid-row: 2;
    } */

}

@media (max-width: 200px) {
    figure.has-nested-images.tpi-photo-grid-half {

        display: grid;
        grid-template-columns: 1fr 1fr 1fr 1fr;
        /* grid-template-rows: minmax(200px, 200px); */
        /* grid-auto-rows: calc(8vw - 1em); */
        gap: 1rem;
        padding: 0;
        height: 300px;

    }
}


/* --------------- TPI PHOTO GRID HALF - END ------------------------ */





/* ************ TPI BIO PHOTO HALF - START ************************ */

figure.has-nested-images.tpi-bio-photo-grid {

    display: grid;
    grid-template-columns: 1fr 1fr 1fr;
    /* grid-template-rows: minmax(200px, 200px); */
    /* grid-auto-rows: calc(8vw - 1em); */
    gap: 1rem;
    padding: 0;
    aspect-ratio: 1 / 1;

    figure {
        overflow: hidden;
        border-radius: var(--tpi-border-radius-general);
        width: 100% !important;
        background-color: var(--wp--preset--color--tpi-off-white);

        img {
            object-fit: cover;
        }

    }

    figure:nth-of-type(1) {
        grid-column: 2 / span 2;
        grid-row: 1 / span 2;
    }
    
    figure:nth-of-type(2) {
        grid-column: 1;
        grid-row: 1;
    }

    figure:nth-of-type(3) {
        grid-column: 1;
        grid-row: 2;
    }

    figure:nth-of-type(4) {
        grid-column: 1 / span 2;
        grid-row: 3;
    }

    figure:nth-of-type(5) {
        grid-column: 3;
        grid-row: 3;
    }

    /* figure:nth-of-type(5) {
        grid-column: 3;
        grid-row: 2;

    }

    figure:nth-of-type(6) {
        grid-column: 2;
        grid-row: 2;
    } */

    /* figure:nth-of-type(7) {
        grid-column: 5;
        grid-row: 2;



    }

    figure:nth-of-type(8) {
        grid-column: 6;
        grid-row: 2;
    } */

}

@media (max-width: 200px) {
    figure.has-nested-images.tpi-bio-photo-grid {

        display: grid;
        grid-template-columns: 1fr 1fr 1fr 1fr;
        /* grid-template-rows: minmax(200px, 200px); */
        /* grid-auto-rows: calc(8vw - 1em); */
        gap: 1rem;
        padding: 0;
        height: 300px;

    }
}


/* --------------- TPI BIO PHOTO GRID - END ------------------------ */






/* *************** TPI TEAM SUBNAV - START ************************ */

.tpi-team-subnav {

    display: flex;
    justify-content: center;
    gap: .75rem;
    max-width: 1200px;
    margin: auto;

    .tpi-bio-card {
        margin: 0 !important;
        width: 120px;


        &::after {
            content: "";
            position: absolute;
            display: block;
            bottom: -.8rem;
            left: 0;
            right: 0;
            height: 6px;
            border-radius: 100px;
            background-color: var(--wp--preset--color--tpi-light-grey);
            transition: all .3s;
        }

        &:hover::after {
            background-color: var(--wp--preset--color--tpi-light-blue);
        }

        figure {
            margin-bottom: 0;
        }

        & .tpi-bio-name {
            font-size: var(--wp--preset--font-size--small);
            margin-top: .6em;
            font-family: Roboto;
            font-weight: 400;
        }

    }

}

@media (max-width: 959px) {

    .tpi-team-subnav {
        flex-wrap: wrap;
        margin-bottom: -10px !important;

        .tpi-bio-card {
            width: 80px;
            margin-bottom: 16px !important;
        
            &::after {
                height: 5px;
            }

        }

    }

}

@media (max-width: 959px) {

    .tpi-team-subnav {
        flex-wrap: wrap;

        .tpi-bio-card {
            width: 70px;

            &::after {
                height: 4px;
            }
        }

        & .tpi-bio-name {
            font-size: var(--wp--preset--font-size--extra-small);
            margin-top: .6em;
            font-family: Roboto;
            font-weight: 400;
        }

    }

}

@media (max-width: 550px) {


    .tpi-team-edge-fade {
        position: relative;
        padding-left: 0 !important;
        padding-right: 0 !important;
        padding-bottom: 0 !important;
        padding-top: 24px !important;

        &::before {
            content: "";
            display: block;
            position: absolute;
            top: 0;
            left: 0;
            bottom: 0;
            width: 30px;
            background: linear-gradient(90deg,rgba(235, 242, 243, 1) 0, rgba(235, 242, 243, 0) 100%);
            z-index: 10;
        }
        &::after {
            content: "";
            display: block;
            position: absolute;
            top: 0;
            right: 0;
            bottom: 0;
            width: 30px;
            background: linear-gradient(270deg,rgba(235, 242, 243, 1) 0, rgba(235, 242, 243, 0) 100%);
            z-index: 10;
        }

    }

    .tpi-team-subnav {
        flex-wrap: nowrap;
        justify-content: flex-start;
        overflow-x: scroll;
        overflow-y: hidden;
        position: relative;
        padding-bottom: 20px !important;

        
        .tpi-bio-card {
            width: 70px;

            figure {
                width: 70px;
            }

            &:first-child {
                padding-left: 25px !important;
            }

            &:last-child {
                padding-right: 25px !important;
            }

        }

    }

}

section.tpi-header-page.tpi-bio-asiemsen + section .tpi-team-subnav .tpi-bio-card.tpi-bio-card-asiemsen,
section.tpi-header-page.tpi-bio-akoller + section .tpi-team-subnav .tpi-bio-card.tpi-bio-card-akoller,
section.tpi-header-page.tpi-bio-cchristopher + section .tpi-team-subnav .tpi-bio-card.tpi-bio-card-cchristopher,
section.tpi-header-page.tpi-bio-dyoung + section .tpi-team-subnav .tpi-bio-card.tpi-bio-card-dyoung,
section.tpi-header-page.tpi-bio-dpeoples + section .tpi-team-subnav .tpi-bio-card.tpi-bio-card-dpeoples,
section.tpi-header-page.tpi-bio-dmoody + section .tpi-team-subnav .tpi-bio-card.tpi-bio-card-dmoody,
section.tpi-header-page.tpi-bio-jfawcett + section .tpi-team-subnav .tpi-bio-card.tpi-bio-card-jfawcett,
section.tpi-header-page.tpi-bio-skampert + section .tpi-team-subnav .tpi-bio-card.tpi-bio-card-skampert,
section.tpi-header-page.tpi-bio-sswanson + section .tpi-team-subnav .tpi-bio-card.tpi-bio-card-sswanson,
section.tpi-header-page.tpi-bio-sraumschuh + section .tpi-team-subnav .tpi-bio-card.tpi-bio-card-sraumschuh,
section.tpi-header-page.tpi-bio-tfawcett + section .tpi-team-subnav .tpi-bio-card.tpi-bio-card-tfawcett {

    &::after { 
        background-color: var(--wp--preset--color--tpi-green); 
    }

}


/* --------------- TPI TEAM SUBNAV - END ------------------------ */







/* *************** TPI YOAST FAQ - START ************************ */


.schema-faq.wp-block-yoast-faq-block {
    border-top: 1px solid var(--wp--preset--color--tpi-med-grey);
}

.schema-faq-section {

    padding: 1em 0;
    margin-bottom: 2px;
    cursor: pointer;
    border-bottom: 1px solid var(--wp--preset--color--tpi-med-grey);

    .schema-faq-question {
        display: block;
        font-family: Roboto, sans-serif;
        font-size: var(--wp--preset--font-size--extra-large);
        font-weight: 300;
        position: relative;
        padding-right: 3em;

        &::after {
            content: "+";
            position: absolute;
            right: 0;
            font-family: Roboto, sans-serif;
            transition: transform .3s;
        }

    }

    .schema-faq-answer {

        overflow: hidden;
        box-sizing: content-box;
        max-height: 0;
        transition: max-height 0.4s ease, padding 0.4s ease;
        margin: 0;
        padding-top: 0;

    }

    &.open {
        
        .schema-faq-question {


            &::after {
                transform: rotate(135deg);
            }

        }
        .schema-faq-answer {
            padding: .75em 0 1em 0;
        }
    }

}

:where(.editor-styles-wrapper) .schema-faq-answer {
    max-height: none !important;
}


/* --------------- TPI YOAST FAQ - END ------------------------ */





/* ************ TPI BLOG LAYOUT - START ************************ */

.blog {

    .blog-nav {
        display: flex;
        justify-content: flex-start;
        flex-wrap: wrap;
        margin-bottom: 5rem;
        gap: .5rem;

        .wp-block-categories-list {
            display: flex;
            justify-content: flex-start;
            flex-wrap: wrap;
            list-style-type: none;
            column-gap: .5rem;
            row-gap: .75rem;
            margin: 0 !important;
            padding: 0;

        }

        li, p {
            padding: 0 !important;
            margin: 0 !important;
            display: flex;
            align-items: center;

            a {
                position: relative;
                z-index: 1;
                transition: all .3s;
                text-align: center;
                display: block;
                padding-top: 0.5em;
                padding-right: 1.33em;
                padding-bottom: 0.5em;
                padding-left: 1.33em;
                border-radius: 100px;
                overflow: hidden;
                width: 100%;
                white-space: nowrap;
                border: 2px solid var(--wp--preset--color--tpi-dark-blue);

                &::before {
                    content: "";
                    position: absolute;
                    z-index: -1;
                    top: -2px;
                    left: -2px;
                    width: calc(100% + 4px);
                    height: calc(100% + 4px);
                    /* top: calc(50% - 2px);
                    left: -2px;
                    width: 2px;
                    aspect-ratio: 1/1;*/
                    border-radius: 999px; 
                    transform: translateX(-100%);
                    opacity: 1;
                    transition: all .3s;
                    background-color: var(--wp--preset--color--tpi-light-blue);
                }

                &:hover {
                    color: var(--wp--preset--color--tpi-dark-blue) !important;
                    border-color: var(--wp--preset--color--tpi-light-blue);

                    &::before {
                        transform: translateX(0);
                        /* width: calc(100% + 4px); */
                        opacity: 1;
                        /* transition: transform .15s, height .3s, width .3s, opacity .3s; */
                    }

                }

            }

            &.current-cat {
            
                a,
                a:hover {
                    color: white !important;
                    background: var(--wp--preset--color--tpi-green) !important;
                    border-color: var(--wp--preset--color--tpi-green) !important;

                    &::before {
                        display: none;
                    }

                }

                
            }

        }



    }


    .wp-block-group {
        padding: 0;

        figure {

            a {
                display: block;
                position: relative;
                border-radius: var(--tpi-border-radius-general);
                overflow: hidden;

                &::before {
                    display: none;
                }

                &::after {
                    content: "";
                    position: absolute;
                    top: 0;
                    left: 0;
                    right: 0;
                    bottom: 0;
                    border-radius: var(--tpi-border-radius-general);
                    box-shadow: inset 0 0 40px rgba(0,0,0,.15);
                    z-index: 10;
                }

                &:hover {
                    transform: scale(1.015);
                    transform-origin: bottom center;
                    box-shadow: 0 3px 8px 0px rgba(0,0,0,0.1);
                    -webkit-box-shadow: 0 3px 8px 0px rgba(0,0,0,0.1);
                    -moz-box-shadow: 0 3px 8px 0px rgba(0,0,0,0.1);
                }

            }

        }

        h4 {
            line-height: 1.2;
            margin-top: .5em;
            margin-bottom: 1em;
            font-size: var(--wp--preset--font-size--large);
            font-weight: 400;
        }

    }

    .wp-block-post-featured-image {
        aspect-ratio: 16/10;

        img {
            width: 100%;
            aspect-ratio: 16/10;
        }

    }

    .wp-block-post-title {
        line-height: 1.5;

        a:before {
            display: none;
        }
    }


}

.tpi-blog-post-grid {

    ul {
        gap: 2rem;
    }
    
}

@media (max-width: 1024px) {
    .tpi-blog-post-grid {

        ul {
            gap: 1.5rem;
        }
        
    }
}

@media (max-width: 960px) {
    .tpi-blog-post-grid {

        ul {
            gap: 1.25rem;
        }
        
    }
}

@media (max-width: 800px) {
    .tpi-blog-post-grid {

        ul {
            grid-template-columns: 1fr 1fr;
        }
        
    }


}

@media (max-width: 600px) {

    .blog {
        & .blog-nav {
            
            margin-bottom: 3rem;

            .wp-block-categories-list {
                column-gap: .25rem;
                row-gap: .5rem;
            }

            & li, & p {
                a {
                    padding-top: 0.4em;
                    padding-right: .8em;
                    padding-bottom: 0.4em;
                    padding-left: .8em;
                    border-radius: 100px;
                    overflow: hidden;
                    width: 100%;
                    white-space: nowrap;
                    border: 2px solid var(--wp--preset--color--tpi-dark-blue);
                    font-size: var(--wp--preset--font-size--extra-small) !important;
                }
            }
        }

    }
    
}





/* --------------- TPI BLOG LAYOUT - END ------------------------ */



/* ######################## PAGINATION - Start (BLOG AND PROJECTS) ########################## */

.wp-block-query-pagination {

    align-items: flex-start;
    gap: 0;

    a, span {
        border: 2px solid transparent;
        border-radius: 100px;
        padding: .5em 0;
        height: 2em;
        box-sizing: border-box;
        aspect-ratio: 1/1;
        text-align: center;
        line-height: 1;
        display: inline-block;
        position: relative;
        overflow:hidden;
        transition: var(--tpi-transitions-general);

        > span {
            padding: 0;
        }


        &.current {
            background: var(--wp--preset--color--tpi-green);
            border-color: var(--wp--preset--color--tpi-green);
            color: white;
        }

        &::before {
            display: none;
        }

        &:hover:not(span) {
            color: var(--wp--preset--color--tpi-dark-blue-shift);
            background-color: var(--wp--preset--color--tpi-off-white);
        }

        &.dots {
            border-color: transparent;
            background-color: transparent !important;
        }

        &.wp-block-query-pagination-next,
        &.wp-block-query-pagination-previous {
            width: auto;
            aspect-ratio: auto;
            padding-left: .5em;
            padding-right: .5em;
                            
            .wp-block-query-pagination-previous-arrow,
            .wp-block-query-pagination-next-arrow {
                width: auto;
                aspect-ratio: auto;
                padding: 0;
                border-radius: 0;
                overflow: visible;
                border: 0;
                margin: 0;
                font-size: 0;
                line-height: 0;

                &::before {
                    content: "";
                    color: var(--wp--preset--color--tpi-dark-blue);
                    font-size: var(--wp--preset--font-size--medium);
                    line-height: 1;
                    display: inline-block;
                    position: relative;
                    top: 0;
                    left: 0;
                }

                &:hover::before {
                    color: var(--wp--preset--color--tpi-dark-blue-shift);
                }

            }

            .wp-block-query-pagination-previous-arrow {

                &:before {
                    content: 'Prev';
                }
            }
            .wp-block-query-pagination-next-arrow {

                &:before {
                    content: 'Next';
                }
            }


        }

        

    }


    
}

@media (max-width: 800px) {


    .wp-block-query-pagination {

        a, span {
            background-color: var(--wp--preset--color--tpi-off-white);

            &.wp-block-query-pagination-previous, 
            &.wp-block-query-pagination-next {
                background-color: transparent !important;
                padding-left: .5em !important;
                padding-right: .5em !important;
            }


        }

    }

}



/* ------------------------- PAGINATION - End --------------------------------------------*/





/* ######################## BLOG POST DETAILS ##################################### */


.tpi-blog-post-details-group {

    * {
        max-width: 100%;
    }


    h1 {
        font-size: var(--wp--preset--font-size--xxx-large);
        font-family: Roboto;
        font-weight: 300;
        line-height: 1.2;
        margin-bottom: .5em;
    }

    .tpi-post-attribution-group {
        display: flex;
        align-items: flex-start;
        justify-content: flex-start;
        gap: 0;
        font-size: var(--wp--preset--font-size--small);
        margin-bottom: 2em;

        & div {
            margin-top: 0;
            margin-left: 0 !important;
            margin-right: 0 !important;
            display: inline-block;

            &.wp-block-post-author-name {

                &::before {
                    content: "Posted by";
                    display: inline-block;
                    margin-left: .3em;
                    margin-right: .3em;
                    /* color: #888;
                    font-style: italic; */
                }

            }

            &.wp-block-post-date {

                time::before {
                    content: "on ";
                    display: inline-block;
                    margin-left: .3em;
                    margin-right: .3em;
                    /* color: #888;
                    font-style: italic; */
                }
            
            }

        }

    }

    figure.wp-block-post-featured-image {
        border-radius: var(--tpi-border-radius-general);
        overflow: hidden;
        aspect-ratio: 16/10;
        position: relative;

        &::before {
            content: "";
            display: block;
            position: absolute;
            top: 0;
            left: 0;
            right: 0;
            bottom: 0;
            box-shadow: inset 0 0 50px rgba(0, 0, 0, .1);
        }
        
        
    }

    h2 {
        font-size: var(--wp--preset--font-size--xxx-large);
        line-height: 1.2;
        margin-top: 1em;
    }

    h3 {
        font-size: var(--wp--preset--font-size--extra-large);
        font-weight: 400;
        line-height: 1.2;
        margin-top: 1em;
        font-family: Roboto;
    }

    h4 {
        font-size: var(--wp--preset--font-size--large);
        font-weight: 400;
        line-height: 1.2;
        margin-top: 1em;
        font-family: Roboto;
    }

    p {
        margin-top: .75em;
    }

    ul {
        margin-top: .75em;
        max-width: 700px;
    }


    li:not(:first-child) {
        margin-top: .75em;
    }

    a {
        text-decoration: underline;

        &::before {
            display: none;
        }

    }


}


.tpi-blog-prev-next-group {
    display: flex;
    justify-content: flex-start;
    gap: .5rem;
    align-items: flex-start;
    margin-top: 4rem;

    .wp-block-post-navigation-link {
        display: inline-block;
        margin-left: 0 !important;
        margin-right: 0 !important;
        margin-top: 0 !important;
        margin-bottom: 0 !important;
        padding: 0;

        a {
            position: relative;
            z-index: 1;
            transition: all .3s;
            text-align: center;
            display: block;
            padding-top: 0.5em;
            padding-right: 1.33em;
            padding-bottom: 0.5em;
            padding-left: 1.33em;
            border-radius: 100px;
            overflow: hidden;
            width: auto;
            box-sizing: border-box;
            white-space: nowrap;
            border: 2px solid var(--wp--preset--color--tpi-dark-blue);
            text-decoration: none;

            &::before {
                content: "";
                display: block;
                position: absolute;
                z-index: -1;
                top: -2px;
                left: -2px;
                width: calc(100% + 4px);
                height: calc(100% + 4px);
                border-radius: 999px; 
                transform: translateX(-100%);
                opacity: 1;
                transition: all .3s;
                background-color: var(--wp--preset--color--tpi-light-blue);
            }

            &:hover {
                color: var(--wp--preset--color--tpi-dark-blue) !important;
                border-color: var(--wp--preset--color--tpi-light-blue);

                &::before {
                    transform: translateX(0);
                    /* width: calc(100% + 4px); */
                    opacity: 1;
                    /* transition: transform .15s, height .3s, width .3s, opacity .3s; */
                }

            }
    
        }

        &.post-navigation-link-previous a::before {
            left: auto;
            right: -2px;
            transform: translateX(100%);
        }

        &.post-navigation-link-previous a:hover::before {
            transform: translateX(0);
            opacity: 1;
        }

        &.post-navigation-link-next a::after,
        &.post-navigation-link-previous a::after {
            content: " Post";
        }


    }

}


.tpi-blog-sidebar-category-list {

    &.wp-block-categories-list {
        display: flex;
        justify-content: flex-start;
        flex-wrap: wrap;
        list-style-type: none;
        column-gap: .5rem;
        row-gap: .75rem;
        margin: 0 !important;
        padding: 0;

    }

    li {
        padding: 0 !important;
        margin: 0 !important;
        display: flex;
        align-items: center;

        a {
            position: relative;
            z-index: 1;
            transition: all .3s;
            text-align: center;
            display: block;
            padding-top: 0.5em;
            padding-right: 1.33em;
            padding-bottom: 0.5em;
            padding-left: 1.33em;
            border-radius: 100px;
            overflow: hidden;
            width: 100%;
            white-space: nowrap;
            border: 2px solid var(--wp--preset--color--tpi-dark-blue);
            font-size: var(--wp--preset--font-size--small);

            &::before {
                content: "";
                position: absolute;
                z-index: -1;
                top: -2px;
                left: -2px;
                width: calc(100% + 4px);
                height: calc(100% + 4px);
                /* top: calc(50% - 2px);
                left: -2px;
                width: 2px;
                aspect-ratio: 1/1;*/
                border-radius: 999px; 
                transform: translateX(-100%);
                opacity: 1;
                transition: all .3s;
                background-color: var(--wp--preset--color--tpi-light-blue);
            }

            &:hover {
                color: var(--wp--preset--color--tpi-dark-blue) !important;
                border-color: var(--wp--preset--color--tpi-light-blue);

                &::before {
                    transform: translateX(0);
                    /* width: calc(100% + 4px); */
                    opacity: 1;
                    /* transition: transform .15s, height .3s, width .3s, opacity .3s; */
                }

            }

        }

        &.current-cat {
        
            a,
            a:hover {
                color: white !important;
                background: var(--wp--preset--color--tpi-green) !important;
                border-color: var(--wp--preset--color--tpi-green) !important;

                &::before {
                    display: none;
                }

            }

            
        }

    }    

}


@media (max-width: 600px) {

    .tpi-blog-sidebar-category-list {
        column-gap: .25rem !important;
        row-gap: .5rem !important;
        & li {
            a {
                padding-top: 0.4em;
                padding-right: .8em;
                padding-bottom: 0.4em;
                padding-left: .8em;
                font-size: var(--wp--preset--font-size--extra-small);
            }
        }
    
    }

}

.tpi-sidebar-latest-posts {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 1rem;

    & > li {

        div.wp-block-latest-posts__featured-image {

            a {
                display: block;
                position: relative;
                border-radius: var(--tpi-border-radius-general);
                overflow: hidden;
                aspect-ratio: 16/10;

                &::before {
                    display: none;
                }

                &::after {
                    content: "";
                    position: absolute;
                    top: 0;
                    left: 0;
                    right: 0;
                    bottom: 0;
                    border-radius: var(--tpi-border-radius-general);
                    box-shadow: inset 0 0 40px rgba(0,0,0,.15);
                    z-index: 10;
                }

                &:hover {
                    transform: scale(1.015);
                    transform-origin: bottom center;
                    box-shadow: 0 3px 8px 0px rgba(0,0,0,0.1);
                    -webkit-box-shadow: 0 3px 8px 0px rgba(0,0,0,0.1);
                    -moz-box-shadow: 0 3px 8px 0px rgba(0,0,0,0.1);
                }

                img {
                    width: 100%;
                    aspect-ratio: 16/10;
                    object-fit: cover;
                }

            }

        }

        .wp-block-latest-posts__post-title {
            line-height: 1.2;
            margin-top: .5em;
            margin-bottom: 1em;
            font-size: var(--wp--preset--font-size--medium);
            font-weight: 400;

            &::before {
                display: none;
            }

        }        

    }

    
}

@media (max-width: 1024px) {
    
    .tpi-sidebar-latest-posts {
        grid-template-columns: 1fr;
    }

}

@media (max-width: 780px) {
    
    .tpi-sidebar-latest-posts {
        grid-template-columns: 1fr 1fr;
        gap: 1.5rem;
    }

}

@media (max-width: 400px) {
    
    .tpi-sidebar-latest-posts {
        gap: 1rem;
    }

}



/* ---------- BLOG POST DETAILS - END ------------------------------------------------ */




/* ---------- MAIN CONTENT - END ------------------------------------------------------------------------ */


/* ######### FOOTER ######################################################################## */

footer {

    & .wp-block-site-logo img {
        max-width: 240px;
    }


    & .frm_button_submit {
        margin-bottom: 0 !important;;
    }

    & .with_frm_style .frm_form_fields > fieldset {
        padding: 0 !important;
    }

}

.tpi-footer-nav-columns {

    a {
        text-decoration: none;
    }

    & > .wp-block-column {

        & > p {
            font-size: var(--wp--preset--font-size--medium);
            margin: .4em 0 0 0 !important;
        }

        & > .wp-block-group {
            font-size: var(--wp--preset--font-size--xx-small);

            p {
                margin: .75em 0 0 0 !important;
                padding: 0;
                line-height: 1.3;
            }

        }

    }


}

/* ---------- FOOTER - END ------------------------------------------------------------------------ */

/* ########## EDITOR STYLES ################################################################### */

:where(.editor-styles-wrapper) {

    & a {
       pointer-events: none !important;

       & * {
        pointer-events: none !important;
       }

       & .block-list-appender {
            pointer-events: unset !important;

            & * {
                pointer-events: unset !important;
            }

       }

    }


    & .tpi-header-page {
        margin: 0;
        max-width: 100%;
        background-color: var(--wp--preset--color--tpi-dark-blue);
        color: var(--wp--preset--color--tpi-body-text-reverse);
        position: relative;

        & h1, h2, h3, h4, h5, h6 {
            color: var(--wp--preset--color--tpi-body-text-reverse);
        }

        & p {
            font-size: var(--wp--preset--font-size--xx-large);
            color: var(--wp--preset--color--tpi-body-text-reverse);
            margin-top: .75em;
            font-weight: 300;
        }

    }

    & .tpi-header-home {
        padding-top: 250px;
        padding-bottom: 200px;
    }

    & section.tpi-section-block {
        margin: 0;
        padding: 100px 0;
    }

    & .tpi-bg-gradient {
        background-color: #ebf3f3; /* Fallback color */
        background: linear-gradient(to right,  #ebf3f3 0%,#f5f8f2 50%,#fcfaf7 100%); /* W3C, IE10+, FF16+, Chrome26+, Opera12+, Safari7+ */

        & h1, h2, h3, h4, h5, h6 {
            color: var(--wp--preset--color--tpi-dark-blue);
        }

        & p {
            color: var(--wp--preset--color--tpi-body-text);
        }

    }

    & a:where(:not(.wp-element-button):not(header a):not(footer a):not(#wpadminbar a):not(#wpadminbar a):not(.editor-editor-interface):not(.editor-list-view-sidebar a)) {
        text-decoration: none !important;

      

    }


}

/* ---------- EDITOR STYLES - END ------------------------------------------------------------------------ */