/*
 Theme Name:   Olivero Edilizia
 Theme URI:    
 Description:  
 Author:       
 Author URI:   
 Template:     generatepress
 Version:      0.1
*/


:root {
    --container-side-padding: 2.5rem;
    --container-base-padding: 3rem;
    --container-padding: var(--container-base-padding) var(--container-side-padding);
    --section-gap: 7rem;
    @media (min-width:769px) {
        --container-side-padding: 4rem;
        --container-base-padding: 6rem;
    }
    @media (min-width:1024px) {
        --container-side-padding: 12.5%;
        --container-base-padding: 6rem;
    }
}


h1, h2, h3, h4, h5, h6, p, span {
    word-wrap: break-word;
    overflow: hidden;
}

p:last-child {
    margin-bottom:0;
}

.site-header {
    padding-left: 30px;
    padding-right: 30px;
    width: 100%;
    position: absolute;
    background-color: var(--base);
    z-index:999;
}



@media (min-width:769px) {
    .site-header {
        padding-left: var(--container-side-padding);
        padding-right: var(--container-side-padding);
        background-color: transparent;
        background-blend-mode: normal;
        background-image: linear-gradient(to right, var(--base) 50%, rgba(10, 10, 10, 0) 50%);
        background-position: center;
        background-repeat: no-repeat;
        background-size: cover;
    }
}

.inside-header {
    padding: 1rem 0;
    background-color: var(--base);
}

@media (min-width:769px) {
    .inside-header {
        padding: 2rem 0;
    }
}

.site-header .header-image {
    width: max(20vw, 90px);
}

@media (min-width:769px) {
    .site-header .header-image {
        width: min(15vw, 15rem);
    }
}

.main-navigation.navigation-stick.has-sticky-branding .inside-navigation.grid-container {
    padding-left:0 !important;
    padding-right:0 !important;
}

.sticky-enabled .main-navigation.is_stuck {
    padding: 0.75rem 30px;
    background-color: var(--base);
}

@media (min-width:769px) {
    .sticky-enabled .main-navigation.is_stuck {
        padding: 0.75rem var(--container-side-padding);
    }
}

.navigation-branding img, .site-logo.mobile-header-logo img {
    height: auto !important;
    width: 10rem !important;
}

.main-navigation .main-nav ul li a {
    padding-left: 1em;
    padding-right: 1em;
    line-height: 2em;
}

@media (min-width: 1024px) {
    .main-navigation .main-nav ul li a {
        padding-left: 2em;
        padding-right: 2em;
    }
}

.main-navigation .main-nav ul li:last-child a {
    padding-right: 4rem;
}

.main-navigation.offside {
    width:90% !important;
}

.menu-toggle {
    padding: 0 !important;
}




section:not(.full-width), .wrapper {
    padding: var(--container-padding);
}

section1 + section1 {
    margin-top: var(--section-gap);
}



.gb-carousel-initialized {
    overflow:hidden;
}

:where(.gb-carousel-pagination) .gb-carousel-dot.is-active {
    background-color: var(--accent) !important;
    transform: none !important;
}

:where(.gb-carousel-pagination) .gb-carousel-dot {
    border-radius: 0 !important;
}

@media (min-width:768px) and (max-width:1200px) {
    .gb-carousel-item.is-active + .gb-carousel-item.is-next .image-wrapper:after  {
        content:"";
        display:block;
        position:absolute;
        top:0;
        left:0;
        width:100%;
        height:100%;
        background-image: linear-gradient(to right, rgba(255, 255, 255, 0.5) 0%, rgba(255, 255, 255, 1) 100%);
    }
    .gb-carousel-item.is-active + .gb-carousel-item.is-next .project-title * {
        opacity:0.4;
    }
}    

@media (min-width:1025px) {
    .gb-carousel-item.is-next + .gb-carousel-item .image-wrapper:after {
        content:"";
        display:block;
        position:absolute;
        top:0;
        left:0;
        width:100%;
        height:100%;
        background-image: linear-gradient(to right, rgba(255, 255, 255, 0.5) 0%, rgba(255, 255, 255, 1) 100%);
    }
    .gb-carousel-item.is-next + .gb-carousel-item .project-title * {
        opacity:0.4;
    }
}


.masonry-load-more.load-more .button {
    margin-top: 5rem;
    padding: 2rem 1em 2rem 1em;
    background: var(--accent);
    width: 100%;
    color: var(--base);
    display:flex;
    flex-direction: row;
    align-items: center;
    justify-content: center;
    column-gap: 0.5em;
    position:relative;

} 


.masonry-load-more.load-more .button::after {
    content:"";
    width: 2em;
    height: 2em;
    background-image: url("data:image/svg+xml,%3Csvg fill='%23efefef' viewBox='0 0 256 256' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M202.82812,146.82812l-72,72a3.99853,3.99853,0,0,1-5.65625,0l-72-72a3.99957,3.99957,0,0,1,5.65625-5.65625L124,206.34277V40a4,4,0,0,1,8,0V206.34277l65.17187-65.1709a3.99957,3.99957,0,0,1,5.65625,5.65625Z'/%3E%3C/svg%3E");
    position: relative;
    display:inline-block;
    right1: 0;
    transform1: translateX(-150%);
    transition: all ease 0.5s;
}

.masonry-load-more.load-more:hover .button::after {
    margin-top1:1em;
    transform: translateY(0.5em);
}

.post-type-archive-project .site-main {
    display: grid;
    grid-template-columns: 1fr;
    column-gap: 1rem;
    row-gap:1rem;
    padding: 0 var(--container-side-padding) 5rem var(--container-side-padding);
}

@media (min-width:600px) {
    .post-type-archive-project .site-main {
        grid-template-columns: 1fr 1fr;
        column-gap: 2rem;
        row-gap:1rem;
    }
    .masonry-load-more.load-more {
        text-align: center;
        grid-column: span 2;
        justify-items: center;
    } 
    
    
    .masonry-load-more.load-more .button {
        width: 50%;

    } 
}

@media (min-width:1300px) {
    .post-type-archive-project .site-main {
        grid-template-columns: 1fr 1fr 1fr;
        column-gap: 3rem;
        row-gap:3rem;
    }
    
    .masonry-load-more.load-more {
        text-align: center;
        grid-column: 2 / 2;
    } 
    .masonry-load-more.load-more .button {
        width: 100%;
    } 
}

.headline-wrapper {
    align-content: center;
}

.invo-project-template img{
    width:100%;
}

.invo-project-template figure{
    display:flex;
    flex-direction:column;
}

.invo-project-template figure img{
    flex:1;
    object-fit:cover;
    object-position:center center;
	aspect-ratio: 1.8 / 1;
}