/*
 * Theme Name:        Graphyte 2026
 * Theme URI:         https://graphyte.com/
 * Description:       Graphyte 2026 WordPress Theme
 * Version:           1.0.0
 * Author:            Graphyte
 * Author URI:        https://graphyte.com/
 * Text Domain:       graphyte
 * Tested up to:      7.0
 * Requires at least: 7.0
 * Requires PHP:      8.0
 * License:           GNU General Public License v2.0 or later
 * License URI:       https://www.gnu.org/licenses/gpl-2.0.html
 */




/* -------------- Global Styles -------------- */

:root {

    font-size: 20px; 


	--globalBorderRadius :.3rem;
	--globalTransitionTime: .3s;
	--globalTransitionType: ease-in-out;
	--globalBoxShadow : 0 0 14px -9px var(--c-lightgrey);


	--contentWidth : var(--wp--style--global--content-size);
	--siteMargin : calc(.5 * (100vw - var(--wp--style--global--content-size)));

	--fs-s : var(--wp--preset--font-size--small);
	--fs-m : var(--wp--preset--font-size--medium);
	--fs-l : var(--wp--preset--font-size--large);
	--fs-xl : var(--wp--preset--font-size--x-large);
	--fs-2xl : var(--wp--preset--font-size--2-x-large);
	--fs-3xl : var(--wp--preset--font-size--3-x-large);

	--defaultBlockGap: 1rem;
	--iw_gap: var(--defaultBlockGap);

	--c-verydarkgrey :     	var(--wp--preset--color--graphyte-verydarkgrey);
	--c-darkgrey :         	var(--wp--preset--color--graphyte-darkgrey);
	--c-grey :             	var(--wp--preset--color--graphyte-grey);
    --c-lightgrey :         var(--wp--preset--color--graphyte-lightgrey);
	--c-verylightgrey :        	var(--wp--preset--color--graphyte-verylightgrey);
    --c-verydarkbeige :                 var(--wp--preset--color--graphyte-verydarkbeige);
	--c-darkbeige : 				var(--wp--preset--color--graphyte-darkbeige);
	--c-beige : 						var(--wp--preset--color--graphyte-beige);
	--c-lightbeige : 				var(--wp--preset--color--graphyte-lightbeige);
	--c-verylightbeige : 		var(--wp--preset--color--graphyte-verylightbeige);
	--c-umber : 						var(--wp--preset--color--graphyte-umber);
	--c-amber : 						var(--wp--preset--color--graphyte-amber);
	--c-emerald : 					var(--wp--preset--color--graphyte-emerald);
	--c-darkemerald : 			var(--wp--preset--color--graphyte-darkemerald);

}




html, body, select, input, option {
  font-size: 1rem; 
  line-height: 1.2; 
  font-weight: 400; 
  text-wrap: pretty; 
}


body {
    overflow-x: hidden;
    background-color: var(--c-verylightbeige) ;
    color: var(--c-verydarkgrey);
}





h1, h2, h3, h4, h5, h6 {
    text-wrap: balance;

    strong {font-weight: 700;}
}



h1 {font-size: 3rem;    line-height: 1;     font-weight: 300; letter-spacing: -.02em;}
h2 {font-size: 2rem;    line-height: 1;    font-weight: 400; letter-spacing: -.02em;}
h3 {font-size: 1.5rem;    line-height: 1;     font-weight: 400; letter-spacing: -.02em;}
h4 {font-size: 1.25rem;    line-height: 1.1;     font-weight: 400; letter-spacing: -.02em;}
h5 {font-size: 1rem;    line-height: 1.2;     font-weight: 400; }
h6 {font-size: .8rem;     line-height: 1.2;     font-weight: 400; text-transform: uppercase;}
   

h3 + p {
    margin-top: .4em!important;
}

h4 + p {
    margin-top: .4em!important;
}





.has-3-x-large-font-size,
.has-2-x-large-font-size,
.has-x-large-font-size {
    font-family: var(--wp--preset--font-family--roboto-condensed) !important;
    font-weight: 300;
    text-transform: uppercase;
    letter-spacing: -.02em;
    line-height: 1;
    text-wrap: balance;
    strong {font-weight:700;}
}

.has-large-font-size,
.has-medium-font-size {
        text-wrap: balance;
}

.has-large-font-size,
.has-medium-font-size,
.has-default-font-size,
.has-small-font-size {

}




.entry-content p + h3 {
    margin-top: 1.2em;
    margin-bottom: .4em;
}


.entry-content p + ul {
    margin-top: .2em;
}

.post-subcategory {
    a {text-decoration: none;}
    h4 {
            color: var(--c-emerald);
            font-weight: 700;
            margin-bottom: .2em;
            margin-top:0;
        }
}

.post-subcategory:not(:has(*)) + * {
    margin-top:0;
}


.featured_tagline {
    p {
        font-size: var(--fs-m);
        font-weight: 500;
    }
}


a {
    color: var(--c-emerald);
    &:visited {color: var(--c-darkemerald);}
    &:hover {color: var(--c-umber);}
}


.boxShadow1 {
    box-shadow: var(--globalBoxShadow);
}



@media (max-width: 599.99px) {
    [class*='mark'] span:has(> svg) {
        display:none;
    }

    .markAmber span[style*="text-decoration: underline;"] {
        text-decoration-color: var(--c-amber)!important;
    }

    .markUmber span[style*="text-decoration: underline;"] {
       text-decoration-color: var(--c-umber)!important;
    }

    .markEmerald span[style*="text-decoration: underline;"] {
       text-decoration-color: var(--c-emerald)!important;
    }

    .markBeige span[style*="text-decoration: underline;"] {
       text-decoration-color: var(--c-beige)!important;
    }

    .markDarkBeige span[style*="text-decoration: underline;"] {
       text-decoration-color: var(--c-darkbeige)!important;
    }

}


@media (min-width: 600px) {

    [class*='mark'] span[style*='text-decoration: underline;'] {
      position: relative;
      display: inline-block;
      font-style: normal;
      z-index: 1;
      text-decoration-color: #00000000!important;
      white-space: nowrap;
    }
    
    [class*='mark'] span[style*='text-decoration: underline;'] .underline-illustration {
      position: absolute;
      width: 100%;
      height: .16em;
      left: 0%;
      bottom: -3%;
      z-index: -1;
    }

}



.markAmber span[style*="text-decoration: underline;"]  path {
   stroke: var(--c-amber)!important;
}

.markUmber span[style*="text-decoration: underline;"] path {
   stroke: var(--c-umber)!important;
}

.markEmerald span[style*="text-decoration: underline;"] path {
   stroke: var(--c-emerald)!important;
}

.markBeige span[style*="text-decoration: underline;"] path {
   stroke: var(--c-beige)!important;
}

.markDarkBeige span[style*="text-decoration: underline;"] path {
   stroke: var(--c-darkbeige)!important;
}





.wp-block-paragraph a {
    color: var(--c-emerald);
    font-weight: 600;
    transition: all var(--globalTransitionType) var(--globalTransitionTime);

    &:hover {
        color: var(--c-amber);
        transition: all var(--globalTransitionType) var(--globalTransitionTime);
    }
}


#graphyteFooter {
    .wp-block-paragraph a {
        color: var(--c-grey);
        text-decoration:none!important;
        &:hover {color: var(--c-amber);}
    }
    svg {
        width: auto;
    }
    .copyright a {
        color: var(--c-lightgrey);
    }   

}



.has-graphyte-verylightbeige-color .wp-block-paragraph a {
    color: var(--c-verylightbeige);
    &:hover {color: var(--c-darkbeige);}
}


.wp-block-separator {
    border-top: 2px var(--c-beige) solid;
}






#wpadminbar + .wp-site-blocks #graphyteHeader {
	margin-top:32px;
}



:where(.wp-site-blocks) > * {
    margin-block-start: 0!important;
}





/* -------------------------------------------------------------------------------- */
/* ------------------------------------- Navigation Menu ------------------------------------- */
/* -------------------------------------------------------------------------------- */



@media (min-width: 600px) {

    a.wp-block-navigation-item__content {
        padding: .4rem 1rem;
        margin: 1.2rem 0;

       &:hover { 
        padding: 1.6rem 1rem;
        margin: 0rem 0;
        background-color: var(--c-grey);
        color: var(--c-verylightbeige)!important;

      }
    }

    .wp-block-navigation a.wp-block-button__link.wp-element-button {
        padding: 1rem 2rem;
        margin: .6rem 0;
        font-weight: 700;
        border-radius: var(--globalBorderRadius);
        text-align: center;
        display:flex;
        justify-content: space-between;
        &:hover {
            background-color: var(--c-amber)!important;
            color: var(--c-verylightbeige);
            padding: 1.6rem 2rem;
            margin: 0rem 0;
            border-radius: 0!important;
        }

    }

    ul.wp-block-navigation__submenu-container.wp-block-navigation-submenu {
        border:0px!important;
        box-shadow: var(--globalBoxShadow);

        li a {
            padding: 1em 1.4em!important;
            background-color: var(--c-beige);
        }

        li:hover a {
            background-color: var(--c-grey); 
        }
    }


    ul.wp-block-navigation__container.wp-block-navigation {
        gap: 0;
    }

    button.wp-block-navigation__submenu-icon.wp-block-navigation-submenu__toggle {
        padding-right: 1em;
    }

}



button.wp-block-navigation__responsive-container-open,
button.wp-block-navigation__responsive-container-close {
    padding: 1rem;
    &:hover {
        background-color: var(--c-umber);
        color: var(--c-verylightbeige);
    }
}


@media (max-width: 599.99px) {

    .wp-block-navigation {
            gap: 0;
        }

    .wp-block-navigation__container {
        padding-bottom: 1rem;
    }

    ul.wp-block-navigation > li.wp-block-navigation-item {
        border-bottom: 2px solid var(--c-darkbeige);
        width: 100%;
         a {width: 100%;}
        > a {width: calc(100% - 2rem);}
        &:last-child {border-bottom: none;}
        &.has-child {
            li a {padding: .5rem!important;}
            li:last-child a {margin-bottom: 1rem!important;}
        }
    }
    
    .wp-block-navigation a.wp-block-button__link.wp-element-button {
        padding: 1rem 2rem;
        font-weight: 700;
        border-radius: var(--globalBorderRadius);
        &:hover {
            background-color: var(--c-amber)!important;
        }
    
    }
    
    .wp-block-navigation__responsive-container-content {
        padding: 2rem;
    }
    
    
    a.wp-block-navigation-item__content {
        padding: 1rem 1rem!important;
           &:hover { 
            padding: 1.6rem 1rem;
            background-color: var(--c-grey);
            color: var(--c-verylightbeige)!important;
    
          }
        }
    
    
    .wp-block-navigation__submenu-container.wp-block-navigation-submenu {
        padding-top:0!important;
    }

    .wp-block-navigation a {
        font-size: .9rem!important;
    }

}








/* -------------------------------------------------------------------------------- */
/* ------------------------------------- Buttons ------------------------------------- */
/* -------------------------------------------------------------------------------- */




.wp-block-template-part > div:not(#graphyteHeader) a.wp-block-button__link.wp-element-button,
.buttonReturn a.wp-block-button__link.wp-element-button {
    padding: 1rem 2rem;
    margin: .6rem 0;
    background-color: var(--c-beige);
    color: var(--c-darkgrey);
    font-weight: 700;
    border-radius: var(--globalBorderRadius);
    transition: all var(--globalTransitionType) var(--globalTransitionTime);
    text-align: left;
    display:flex;
    justify-content: space-between;

    span {margin-left: 1em;}
    
    &:hover {
        background-color: var(--c-umber);
        color: var(--c-verylightbeige);
        padding: 1.6rem 2rem;
        margin: 0rem 0;
        transition: all var(--globalTransitionType) var(--globalTransitionTime);
    }

    &.has-graphyte-umber-background-color:hover {
        background-color: var(--c-amber)!important;

    }
}




.buttonReturn a.wp-block-button__link.wp-element-button {
    span {margin-left: 0em!important; margin-right: 1em;}

}







a.wp-block-post-excerpt__more-link {
  
  text-decoration:none;
    background-color: var(--c-umber);
    color: var(--c-verylightbeige);

  font-weight: 700;
    padding: 1rem 2rem;
    margin: .6rem 0;
      border-radius: var(--globalBorderRadius);
    transition: all var(--globalTransitionType) var(--globalTransitionTime);

&:hover {
    background-color: var(--c-emerald);
        padding: 1.6rem 2rem;
        margin: 0rem 0;
        transition: all var(--globalTransitionType) var(--globalTransitionTime);
    }


  
    &:after {
      font-family: FontAwesome;
      font-weight: normal;
      font-style: normal;
      display: inline-block;
      text-decoration: inherit;
      content: "\f061";
    }
}



.postNextPrevious {
  padding: 3rem 0;
  a {
    text-decoration:none;
    
    background-color: var(--c-verydarkbeige);
    color: var(--c-verylightbeige);

    font-weight: 700;
    padding: 1rem 2rem;
    margin: .6rem 0;
    border-radius: var(--globalBorderRadius);
    transition: all var(--globalTransitionType) var(--globalTransitionTime);

    &:hover {
        background-color: var(--c-emerald);
        padding: 1.6rem 2rem;
        margin: 0rem 0;
        transition: all var(--globalTransitionType) var(--globalTransitionTime);
    }
  }

}

.postNextPrevious > *:nth-child(1) a {
&:before {
      font-family: FontAwesome;
      font-weight: normal;
      font-style: normal;
      display: inline-block;
      text-decoration: inherit;
      content: "\f060";
      margin-right:1em;
  }
}
.postNextPrevious > *:nth-child(2) a {
&:after {
      font-family: FontAwesome;
      font-weight: normal;
      font-style: normal;
      display: inline-block;
      text-decoration: inherit;
      content: "\f061";
      margin-left: 1rem;
  }
}







/* -------------------------------------------------------------------------------- */
/* ------------------------------------- Blog Formatting ------------------------------------- */
/* -------------------------------------------------------------------------------- */







.postsCategoryNav {
    a {
        text-decoration:none;
        color: var(--c-darkgrey);
        background-color: var(--c-beige);
        border-radius: var(--globalBorderRadius);
        padding: .6em .6em;
        white-space: nowrap;
        font-weight: 600;
        margin-right: .4em;
        margin-bottom: .4em;
        font-size: .9rem;


        &:hover {
            color: var(--c-beige);
            background-color: var(--c-emerald)!important;
        }
        
    }



    
}



body.blog {
    .postsCategoryNav p.postCategoryLinkBlog  a {
        pointer-events: none;
        background-color: var(--c-emerald);
        color: var(--c-verylightbeige);
        &:hover {}
    }
}


body.category-news-highlights {
    .postsCategoryNav p.postCategoryLinkNewsHighlights  a {
        pointer-events: none;
        background-color: var(--c-emerald);
        color: var(--c-verylightbeige);
        &:hover {}
    }
}


body.category-ideas-and-insights {
    .postsCategoryNav p.postCategoryLinkIdeasandInsights a {
        pointer-events: none;
        background-color: var(--c-emerald);
        color: var(--c-verylightbeige);
        &:hover {}
    }
}


body.category-community-impact {
    .postsCategoryNav p.postCategoryLinkCommunityImpact a {
        pointer-events: none;
        background-color: var(--c-emerald);
        color: var(--c-verylightbeige);
        &:hover {}
    }
}








/* -------------------------------------------------------------------------------- */
/* ------------------------------------- Misc ------------------------------------- */
/* -------------------------------------------------------------------------------- */







.wp-block-query .wp-block-post .wp-block-group.has-group-style-cards {
    height: stretch;
    a.linked-group-wrapper{
    height: stretch;

    }
}



#homeBanner {
    display: grid;
    > * {
        grid-row: 1;
        grid-column: 1;
        width: 100%;
    }

    > *:nth-child(2) > * {
        /*max-width: 35rem;*/
    }

}




#graphyteFooter a:hover .wp-font-awesome-icon svg path{
    fill: var(--c-amber);
}




.topRow {
    /*padding-top: var(--navBarFull-height)!important;*/
    padding-top: calc(var(--navBarFull-height) + 2rem) !important;


}

.customStyles_InnerWidth > .projectTitleGroup {
     margin-left: -4rem!important;
 }


.projectTitleGroup {
     margin-left: -4rem!important;
     box-shadow: var(--globalBoxShadow);
}

.project_location {
    font-weight: 500;
    font-size: .9rem;
    color: var(--c-grey);
}

.single-project #graphyteContent > p:nth-child(1) {
    background-color: var(--c-beige);
    padding: 3rem;
    padding-top: 3rem!important;
    font-size: var(--fs-m);
    margin-top: 3rem;
    margin-bottom: 4rem;
}



.wp-block-post-featured-image img {
    background-color: #ffffff;
}



/* -------------------------------------------------------------------------------- */
/* ------------------------------------- Taxonomies ------------------------------------- */
/* -------------------------------------------------------------------------------- */



[class*="taxonomy-"].wp-block-post-terms {

    display:flex; 
    flex-wrap: wrap;
    
    a {
        text-decoration:none;
        color: var(--c-darkgrey);
        background-color: var(--c-verylightbeige);
        border-radius: var(--globalBorderRadius);
        padding: .6em .6em;
        white-space: nowrap;
        font-weight: 600;
        margin-right: .4em;
        margin-bottom: .4em;
        font-size: .9rem;


        &:hover {
            color: var(--c-beige);
            background-color: var(--c-emerald)!important;
        }
        
    }



    span.wp-block-post-terms__separator {
        display:none;
    }
    
}   



.project_feedstock > p,
.project_capacity > p {
        color: var(--c-darkgrey);
        background-color: var(--c-verylightbeige);
    border-radius: var(--globalBorderRadius);
    padding: .6em .6em;
    white-space: nowrap;
    font-weight: 600;
    margin-right: .4em;
    margin-bottom: .4em;
    font-size: .9rem;
    margin-top:0;



}


.single-project {
    .project_feedstock > p,
    .project_capacity > p,
    [class*="taxonomy-"].wp-block-post-terms a {
                background-color: var(--c-lightbeige);
    }

}







/* -------------------------------------------------------------------------------- */
/* ------------------------------------- Hover Transition ------------------------------------- */
/* -------------------------------------------------------------------------------- */

a, a:hover,
#graphyteFooter a .wp-font-awesome-icon svg path,
#graphyteFooter a:hover .wp-font-awesome-icon svg path,
a i[class*='fa-']:before,
a:hover i[class*='fa-']:before,
.has-group-style-cards a.linked-group-wrapper,
.has-group-style-cards a.linked-group-wrapper:hover,
button.wp-block-navigation__responsive-container-open,
button.wp-block-navigation__responsive-container-open:hover,
button.wp-block-navigation__responsive-container-close,
button.wp-block-navigation__responsive-container-close:hover
 {
    transition: all var(--globalTransitionType) var(--globalTransitionTime);

}





/* -------------------------------------------------------------------------------- */
/* ------------------------------------- Icons ------------------------------------- */
/* -------------------------------------------------------------------------------- */

a i[class*='fa-'] {
    margin-left: -.2em;
}

a i[class*='fa-']:before {
    color: var(--c-lightgrey);
}


a:hover i[class*='fa-']:before {
    color: var(--c-amber);
}






/* -------------------------------------------------------------------------------- */
/* ------------------------------------- Accordion ------------------------------------- */
/* -------------------------------------------------------------------------------- */

.has-group-style-accordion {
    position:relative;
}


.alignwide.has-group-style-accordion {
        > *:nth-child(1), > *:nth-child(2) {
        
        margin-right: calc((var(--wp--style--global--wide-size) - var(--wp--style--global--content-size)) / 2 )!important;

    }

}



/*      margin-right: calc(((var(--wp--style--global--wide-size) - var(--wp--style--global--content-size)) / 2 ) + 2rem)!important;
        margin-left: calc((var(--wp--style--global--wide-size) - var(--wp--style--global--content-size)) / 2 )!important;
        padding-right: calc(((var(--wp--style--global--wide-size) - var(--wp--style--global--content-size)) / 2 ) + 2rem);

        */


.has-group-style-accordion * {
    transition: all var(--globalTransitionType) var(--globalTransitionTime);
}


.has-group-style-accordion .accordionControls {
    position: absolute;
    top: 0;
    right: 0;
    padding: 1.75rem;
    margin: 0;


    > div {
        background-color: var(--c-darkbeige);
        padding: 1.5em;
        color: var(--c-verylightbeige);
        &:hover {
            background-color: var(--c-amber);
            cursor:pointer;
        }
    }

    &.closed {
        .accordionOpen {}
        .accordionClose {display:none;}
    }

    &.open {
        .accordionOpen {display:none;}
        .accordionClose {}

    }


}


.has-group-style-accordion:has(.accordionControls.closed) {
    > .wp-block-group {display:none;}
}

.has-group-style-accordion:has(.accordionControls.open) {

}



.has-group-style-cards .has-group-style-accordion .accordionControls {
    padding: 1rem;
    > div {
        padding: 1em;
        background-color: var(--c-verydarkbeige);
         &:hover {
            background-color: var(--c-umber);
         }
    }
}

.has-group-style-cards .has-group-style-accordion {
    padding-right: 4.3rem;
}



/* -------------------------------------------------------------------------------- */
/* ------------------------------------- Search ------------------------------------- */
/* -------------------------------------------------------------------------------- */


   .archive-filter-container {
            display: flex;
            align-items: center;
            gap: 1em;
            justify-content: space-between;
            padding-top: 4em;
            padding-bottom: 1em;
        }

        .archive-filter-container *:not(i){
            font-size: .8rem;
            font-family: var(--wp--preset--font-family--albert-sans);
        }

        .archive-filter-container > form > div {
            display: flex;
            flex-direction: row;
            align-items: center;
            gap: 1em;
        }

        .archive-filter-container .sort-label {
            font-weight: bold;
            color: var(--c-darkgrey);
        }

        .archive-filter-container .sort-dropdown {
            border: none;
            padding: 1em;
            cursor: pointer;
            background-color: var(--c-lightbeige);
            border-radius: 4px;
        }

        .archive-filter-container .search-container {
            display: flex;
            align-items: center;
            border: none;
            border-radius: 6px;
            padding: 1em;
            background-color: var(--c-lightbeige);
        }

        .archive-filter-container .search-input {
            border: none;
            outline: none;
            background: transparent;
            padding: 5px;
            width: 300px;
        }

        .archive-filter-container .search-icon {
            border:none;
            background: transparent;
            padding: 5px 10px;
            border-radius: 6px;
            cursor: pointer;
        }

.archive-filter-container i.fas.fa-search,
.archive-filter-container i.fas.fa-chevron-down {
    color: var(--c-grey);
}


.custom-sort-dropdown {
  position: relative;
  background-color: var(--c-lightbeige);
  border-radius: 4px;
  padding: 5px 10px;
  cursor: pointer;
  font-size: .8rem;
}

.custom-sort-dropdown * {
      font-weight: 600;

}

.dropdown-toggle {
  display: flex;
  align-items: center;
  gap: 0.5em;
  border: none;
  background: none;
  padding: 0;
  width: 100%;
  font-size: .8rem;
  color: inherit;
  cursor: pointer;
}

.dropdown-icon {
  margin-left: auto;
}

.dropdown-menu {
  position: absolute;
  top: calc(100% + 0.25em);
  left: 0;
  background: var(--c-lightbeige);
  border-radius: 4px;
  padding: 0.25em 0;
  z-index: 999;
  display: none;
  min-width: 100%;
}

.dropdown-menu.open {
  display: block;
}

.dropdown-menu li {
  padding: 5px 10px;
  cursor: pointer;
  display: flex;
  align-items: center;
  gap: 0.5em;
}

.dropdown-menu li:hover {
  background-color: #ddd;
}


.wp-block-query-pagination {
    justify-content: center
}

.page-numbers:not(.current, .dots),
.wp-block-query-pagination-next,
.wp-block-query-pagination-previous {
    background-color:  var(--c-beige);
}

.page-numbers,
.wp-block-query-pagination-next,
.wp-block-query-pagination-previous {
    padding:  .6rem 1rem;
    border-radius: 4px;
    text-decoration: none;
    color:  var(--c-navy);
    font-weight: 600;
  transition: all var(--globalTransitionType) var(--globalTransitionTime);

}

.page-numbers:not(.current, .dots):hover,
.wp-block-query-pagination-next:hover,
.wp-block-query-pagination-previous:hover {
    background-color: var(--c-emerald);
    color: var(--c-verylightbeige);
  transition: all var(--globalTransitionType) var(--globalTransitionTime);

}



.page-numbers.current {
    background-color: var(--c-emerald);
    color: var(--c-verylightbeige);
}


.wp-block-query-pagination {
    padding-top: 2rem;
    padding-bottom: 4rem;
}






/* -------------------------------------------------------------------------------- */
/* --------------------------------- Cards Styling --------------------------------- */
/* -------------------------------------------------------------------------------- */

.has-group-style-cards {
	> * {
		background-color: var(--c-lightbeige);
		padding: 2rem;
		border-radius: var(--globalBorderRadius);
		box-shadow: var(--globalBoxShadow);
	}
}


.has-group-style-cards.ar1 {
    > * {
        aspect-ratio: 1;
        display: flex;
        align-items: center;
        flex-wrap: nowrap;
    }
}




.has-group-style-cards a.linked-group-wrapper:hover {

    transform:scale(1.1);
    background-color: var(--c-beige);
    
}


.has-group-style-cards:has(a.linked-group-wrapper:hover) {
    z-index:100!important;
    
}


/* -------------------------------------------------------------------------------- */
/* --------------------------------- Scroll Box --------------------------------- */
/* -------------------------------------------------------------------------------- */


.scroll-box {
  max-height: 100px; 
  overflow: auto; 
  border: 1px solid #ccc;
  padding: 10px;
  transition: max-height 0.3s ease-in-out; 
  background-color: white;
  cursor: pointer;
}











/* -------------------------------------------------------------------------------- */
/* ---------------------------- Vertical Extend Styling ---------------------------- */
/* -------------------------------------------------------------------------------- */



.has-group-style-vertical-extend {
    position:absolute;
    right:0;
    /*height: 120%;*/
    display: flex;
    align-content: flex-start;
    flex-direction: column;
    justify-content: center;
    align-items: flex-start;
    box-shadow: var(--globalBoxShadow);
    
}


.has-background:has(.has-group-style-vertical-extend) {
    margin-top: 4.5em;
    margin-bottom: 4.5rem;
}




.wp-block-group > .has-group-style-vertical-extend:nth-child(1) {
    left:0;
}


body:not(.block-editor-page)
.wp-block-group:has(.has-group-style-vertical-extend:nth-child(1)) .wp-block-group:nth-child(2)  {
    margin-left:50%!important;
}



@media (max-width: 899.99px) {
    
    .has-group-style-vertical-extend {
        position:unset;
    }

    body:not(.block-editor-page)
    .wp-block-group:has(.has-group-style-vertical-extend:nth-child(1)) .wp-block-group:nth-child(2)  {
        margin-left:0%!important;
    }

    .wp-block-group:has(.has-group-style-vertical-extend:nth-child(1)) {
        flex-direction: column-reverse;
    }
    .wp-block-group:has(.has-group-style-vertical-extend) {
        gap:0;
    }

    
}






/* -------------------------------------------------------------------------------- */
/* ------------------------ Container Width Sizing/Spacing ------------------------ */
/* -------------------------------------------------------------------------------- */




.customStyles_ContainerWidth {

}

.customStyles_ContainerWidth.container-width-100        { --container-width: 100%; }
.customStyles_ContainerWidth.container-width-83-3333    { --container-width: 83.3333%; }
.customStyles_ContainerWidth.container-width-80         { --container-width: 80%; }
.customStyles_ContainerWidth.container-width-75         { --container-width: 75%; }
.customStyles_ContainerWidth.container-width-66-6667    { --container-width: 66.6667%; }
.customStyles_ContainerWidth.container-width-60         { --container-width: 60%; }
.customStyles_ContainerWidth.container-width-50         { --container-width: 50%; }
.customStyles_ContainerWidth.container-width-40         { --container-width: 40%; }
.customStyles_ContainerWidth.container-width-33-3333    { --container-width: 33.3333%; }
.customStyles_ContainerWidth.container-width-25         { --container-width: 25%; }
.customStyles_ContainerWidth.container-width-20         { --container-width: 20%; }
.customStyles_ContainerWidth.container-width-16-6667    { --container-width: 16.6667%; }


.customStyles_ContainerWidth {
    width: var(--container-width);
}



.customStyles_InnerWidth.inner-width-100        { --inner-width: 100%; }
.customStyles_InnerWidth.inner-width-83-3333    { --inner-width: 83.3333%; }
.customStyles_InnerWidth.inner-width-80         { --inner-width: 80%; }
.customStyles_InnerWidth.inner-width-75         { --inner-width: 75%; }
.customStyles_InnerWidth.inner-width-66-6667    { --inner-width: 66.6667%; }
.customStyles_InnerWidth.inner-width-60         { --inner-width: 60%; }
.customStyles_InnerWidth.inner-width-50         { --inner-width: 50%; }
.customStyles_InnerWidth.inner-width-40         { --inner-width: 40%; }
.customStyles_InnerWidth.inner-width-33-3333    { --inner-width: 33.3333%; }
.customStyles_InnerWidth.inner-width-25         { --inner-width: 25%; }
.customStyles_InnerWidth.inner-width-20         { --inner-width: 20%; }
.customStyles_InnerWidth.inner-width-16-6667    { --inner-width: 16.6667%; }


/*.has-gap-30 {--iw_gap: 1rem;}*/
.has-gap-30 {--iw_gap: .5rem;}
.has-gap-40 {--iw_gap: 2rem;}
.has-gap-50 {--iw_gap: 4rem;}
.has-gap-60 {--iw_gap: 8rem;}
.has-gap-70 {--iw_gap: 16rem;}


.customStyles_InnerWidth {
    gap:var(--iw_gap);
}

.customStyles_ContainerWidth {

}




.customStyles_InnerWidth > * {
    margin-block-start: 0!important;
    margin-left: 0!important;
    margin-right: 0!important;
}

.customStyles_InnerWidth > * {
    width: calc(var(--inner-width) - (((100% / var(--inner-width) - 1) * var(--iw_gap)) / (100% / var(--inner-width))));
}





.customStyles_InnerWidth {
    flex-wrap: wrap;
    display: flex;
}

.customStyles_InnerWidth.is-content-justification-center {
    justify-content: center;
}

.customStyles_InnerWidth.is-content-justification-right {
    justify-content: right;
}






body.page-template-default #graphyteContent,
body.post-template-default #graphytePostContainer,
body.project-template-default #graphyteProjectContainer,
body.archive #graphyteBlogContainer,
body.blog #graphyteBlogContainer {
    min-height: calc(100vh - var(--navBarFull-height));
}





/* -------------------------------------------------------------------------------- */
/* ------------------------------- Consent Banner ------------------------------- */
/* -------------------------------------------------------------------------------- */



.cc-window *{
    font-family: 'Albert Sans'!important;
    font-size: .8rem!important;
    line-height: 1.2!important;
}


.cc-header {
    font-family: var(--wp--preset--font-family--roboto-condensed)!important;
    text-transform: uppercase!important;
    font-size: 1rem!important;
}




/* -------------------------------------------------------------------------------- */
/* ------------------------------- UD Map ------------------------------- */
/* -------------------------------------------------------------------------------- */





.content100 {
    display: flex;
    flex-wrap: wrap;
    align-content: flex-start;
    width: 100%;
}


.svgcontainer {
    width: 100%;
    display: grid;
}


#graphyteUDMap {
    /*width: 800px;*/
    display: flex;
    position: relative;
    --chartWidth : 635;
    --chartHeight : 880; 
}


.uDMap_ele {
    position: absolute;
    top: calc(var(--eleTop) / var(--chartHeight) * 100%);
    left: calc(var(--eleLeft) / var(--chartWidth) * 100%);
    width: calc(var(--eleWidth) / var(--chartWidth) * 100%);
    height: calc(var(--eleHeight) / var(--chartHeight) * 100%);
    --eleWidth : 20;
    --eleHeight : 20;
    --ele1Left : 136;
    --ele1Top : 290;
    --ele2Left : 304;
    --ele2Top : 402;
    --ele3Left : 478;
    --ele3Top : 715;
}



#graphyteUDMapLocation1 {
    --eleLeft : calc(var(--ele1Left) - (.5 * var(--eleWidth)));
    --eleTop : calc(var(--ele1Top) - (.5 * var(--eleHeight)));
    
}

#graphyteUDMapLocation2 {
    --eleLeft : calc(var(--ele2Left) - (.5 * var(--eleWidth)));
    --eleTop : calc(var(--ele2Top) - (.5 * var(--eleHeight)));
}

#graphyteUDMapLocation3 {
    --eleLeft : calc(var(--ele3Left) - (.5 * var(--eleWidth)));
    --eleTop : calc(var(--ele3Top) - (.5 * var(--eleHeight)));
}





.uDMap_ele {display:grid;}

.eleDefault, .eleHover {
    grid-column: 1; 
    grid-row: 1;
    transition: all var(--transition-type) var(--transition-time);

}

.eleDefault {
    border-radius: 100%;
}

.eleHover {
    position: absolute;
    /*left: 75%;*/
    pointer-events: none;
    opacity: 0;
    transition: all var(--transition-type) var(--transition-time);
    background-color: var(--c-beige);
    padding:  1rem;
    border-radius: var(--globalBorderRadius);
    width: 300px;
    z-index: 9999;
    * {color: var(--c-verydarkgrey);}
}

.uDMap_ele:hover {
    .eleDefault {
        cursor: pointer;
        transform: scale(1.5);
        transition: all var(--transition-type) var(--transition-time);
        outline: #7b462987 solid 1rem;


    }

    .eleHover {
        cursor: pointer;
        pointer-events: inherit;
        opacity:1; 
        transition: all var(--transition-type) var(--transition-time);
    }
}



#graphyteUDMapLocation1 .eleHover {
    left: 0;
}
#graphyteUDMapLocation2 .eleHover {
    left: -150px;
}
#graphyteUDMapLocation3 .eleHover {
    right: 0;
}

@media (max-width: 599.99px) {
    .eleHover {
        width: 180px;
        h2 {font-size: 1.4rem;}
    }
}













/* -------------------------------------------------------------------------------- */
/* ------------------------------- Contact Form ------------------------------- */
/* -------------------------------------------------------------------------------- */



form[class*="everest-form"] {
    
    * {
        font-family: 'Albert Sans'!important;
        font-size: 1rem!important;
        line-height: 1.2!important;
        font-weight: 500;
    }
    
    label:not(.evf-error) {
        color: var(--c-verydarkgrey)!important;
    }
    
    input, select {
        font-size: 1rem!important;
        height: 4rem!important;
        background-color: #ffffff!important;
    }

    .evf-field {
        margin-top: 1.2rem;
    }

    .everest-forms-submit-button {
            background-color: var(--c-emerald)!important;
            color: var(--c-verylightbeige)!important;
            font-weight: 700!important;
            padding: 1rem 2rem!important;
            margin: .6rem 0rem!important;
            border-radius: .3rem!important;
            transition: all ease-in-out .3s;

            &:hover {
                background-color: var(--c-umber)!important;
                padding: 1.6rem 2rem!important;
                margin: 0rem 0rem!important;
                transition: all ease-in-out .3s;
            }
        }



}












/* -------------------------------------------------------------------------------- */
/* ------------------------------- Responsive Sizing ------------------------------- */
/* -------------------------------------------------------------------------------- */






@media (min-width: 600px) {
    .wp-site-blocks .wp-block-template-part:has(#graphyteHeader) + .wp-block-group,
    #homeBanner
    /*#graphyteContent > *:nth-child(1) */
    {
        padding-top: var(--navBarFull-height)!important;
    }

    body.post-template-default .wp-site-blocks > .wp-block-group .wp-block-post-title:nth-child(1) {
        /*padding-top: calc(var(--navBarFull-height) + 2rem) !important;*/

    }
}


@media (min-width: 600px) and (max-width: 1350px) {
    .wp-block-navigation__responsive-container-content {
        margin-right: .5rem;
    }
    .wp-block-navigation__responsive-container .wp-block-navigation__responsive-container-content {
        flex-wrap:nowrap;
    }

    
    #graphyteHeader  a.wp-block-button__link.wp-element-button {
        margin: 0;
        padding: 1rem;
            text-align: center;
        word-break: normal;
        &:hover {
            padding: 1rem;
            border-radius: var(--globalBorderRadius)!important;
        }
    }
    
    #modal-1-content {
        row-gap:0;
    }
    
    a.wp-block-navigation-item__content {
        padding: 0 .5rem;
        margin: 1rem 0;
         &:hover { 
            padding: 1rem .5rem;
             margin: 0rem 0;
         }
    }


}


@media (min-width: 600px) and (max-width: 1210px) {
        a.wp-block-navigation-item__content {
         padding: 0 .5rem;
        margin: .7rem 0;
         &:hover { 
            padding: .7rem .5rem;
             margin: 0rem 0;
         }
        }
}


@media (min-width: 600px) and (max-width: 699px) {
    #graphyteHeader > .wp-block-group {
        display:grid;
        gap: 0;
    }
    .wp-block-site-logo {
        text-align: center;
    }

    a.wp-block-navigation-item__content {
     padding: 0 .6rem;
    margin: .4rem 0;
     &:hover { 
        padding: .4rem .6rem;
         margin: 0rem 0;
     }
    }   
    ul.wp-block-navigation__container {
        justify-content: center;
    }

     #graphyteHeader  a.wp-block-button__link.wp-element-button {
        margin: 0;
        padding: .5rem 1rem;
        &:hover {
            padding: .5rem 1rem;
        }
    }
    
}







@media (max-width: 899.99px) {
    :root {
        font-size: 18px;
    }
    .customStyles_InnerWidth {
        --inner-width: 100%!important;
    }
    .customStyles_ContainerWidth[class*='container-width-'] {
        --container-width: 100%!important;
    }

    div:has(>.customStyles_ContainerWidth[class*='container-width-']) {
        flex-wrap: wrap;
    }

    .customStyles_InnerWidth:not(:has( > .has-background)),
    .customStyles_ContainerWidth:not(:has( > .has-background))  {
        padding-left: 1rem;
        padding-right: 1rem;
    }

    .customStyles_InnerWidth > .has-background,
    .customStyles_ContainerWidth > .has-background  {
        padding-left: 1rem!important;
        padding-right: 1rem!important;
    }
    [class*='semi-background-color'] > * > * > .wp-block-group:not(.has-background)  {
        padding-left: 1rem!important;
        padding-right: 1rem!important;
    }
    
    .alignwide.has-group-style-accordion,
    .archive-filter-container,
    .alignwide.copyright {
        padding-left: 1rem;
        padding-right: 1rem;
    }

    [class*='semi-background-color'] {
        /* text-align: center; */
    }

    ul.columns-3, 
    ul.columns-2 {
        display:flex;
        flex-wrap: wrap;
    }

    .postsCategoryNav > div {
        flex-wrap: wrap;
        row-gap: 2rem;
    }

    .archive-filter-container {
        flex-wrap: wrap;
        > form > div {
            flex-wrap: wrap;
        }
    }
    .wp-block-post.team-member .customStyles_InnerWidth {
        gap: 0;
    }

    .teamPhotoFeature > figure {
        padding-left: 1rem!important;
        padding-right: 1rem!important;
    }

    .customStyles_InnerWidth > .projectTitleGroup {
        margin-left: 0!important;
    }
    
    .topRow {
        padding-top: calc(var(--navBarFull-height)) !important;
    }

}



@media (max-width: 599.99px) {

    :root {
        --wp--preset--font-size--x-small: .8rem;
        --wp--preset--font-size--small: .9rem;
        --wp--preset--font-size--medium: 1.2rem;
        --wp--preset--font-size--large: 1.4rem;
        --wp--preset--font-size--x-large: 1.8rem;
        --wp--preset--font-size--2-x-large: 2rem;
        --wp--preset--font-size--3-x-large: 2.2rem;

        --wp--preset--spacing--20: 0.44rem;
        --wp--preset--spacing--30: 1rem;
        --wp--preset--spacing--40: 2rem;
        --wp--preset--spacing--50: 2rem;
        --wp--preset--spacing--60: 6rem;
        --wp--preset--spacing--70: 8rem;


    }

   /* .has-x-small-font-size {font-size: .8rem!important;}
    .has-small-font-size {font-size: .9rem!important;}
    .has-medium-font-size {font-size: 1.2rem!important;}
    .has-large-font-size {font-size: 1.4rem!important;}
    .has-x-large-font-size {font-size: 1.8rem!important;}
    .has-2-x-large-font-size {font-size: 2rem!important;}
    .has-3-x-large-font-size {font-size: 2.5rem!important;} */



    #homeBanner {
        display: flex;
        flex-wrap:wrap;
        
        > * {
            width: 100%;
        }

        .has-graphyte-darkgrey-semi-background-color {
            background-color: var(--c-darkgrey)!important;
        }

    }



    .has-group-style-accordion .accordionControls {
        padding: 1rem;
        > div {
            padding: 1em;
            }
        }
    


}



@media (min-width: 600px) {


	:where(.wp-site-blocks) > :first-child {
		margin-block-start: 0;
		/*padding-bottom: var(--navBarFull-height);*/
	}

    #graphyteHeader {
        z-index:99;
        position: fixed;
        width: 100%;
        top: 0;	
    }


}




