/*
Theme Name: Salient Child Theme
Description: This is a custom child theme for Salient
Theme URI:   https://themeforest.net/item/salient-responsive-multipurpose-theme/4363266
Author: ThemeNectar
Author URI:  https://themeforest.net/user/themenectar
Template: salient
Version: 1.0
*/

.font-70, h1.vc_custom_heading.font-70, h2.vc_custom_heading.font-70, h3.vc_custom_heading.font-70 { font-size: clamp(48px, 3.3vw, 70px) !important; line-height: 1.3 !important; }
.font-68, h1.vc_custom_heading.font-68, h2.vc_custom_heading.font-68, h3.vc_custom_heading.font-68 { font-size: clamp(46px, 3.2vw, 68px) !important; line-height: 1.3 !important; }
.font-66, h1.vc_custom_heading.font-66, h2.vc_custom_heading.font-66, h3.vc_custom_heading.font-66 { font-size: clamp(45px, 3.1vw, 66px) !important; line-height: 1.3 !important; }
.font-64, h1.vc_custom_heading.font-64, h2.vc_custom_heading.font-64, h3.vc_custom_heading.font-64 { font-size: clamp(44px, 3.0vw, 64px) !important; line-height: 1.3 !important; }
.font-62, h1.vc_custom_heading.font-62, h2.vc_custom_heading.font-62, h3.vc_custom_heading.font-62 { font-size: clamp(42px, 2.9vw, 62px) !important; line-height: 1.3 !important; }
.font-60, h1.vc_custom_heading.font-60, h2.vc_custom_heading.font-60, h3.vc_custom_heading.font-60 { font-size: clamp(40px, 2.8vw, 60px) !important; line-height: 1.3 !important; }
.font-58, h1.vc_custom_heading.font-58, h2.vc_custom_heading.font-58, h3.vc_custom_heading.font-58 { font-size: clamp(39px, 2.7vw, 58px) !important; line-height: 1.3 !important; }
.font-56, h1.vc_custom_heading.font-56, h2.vc_custom_heading.font-56, h3.vc_custom_heading.font-56 { font-size: clamp(38px, 2.6vw, 56px) !important; line-height: 1.3 !important; }
.font-54, h1.vc_custom_heading.font-54, h2.vc_custom_heading.font-54, h3.vc_custom_heading.font-54 { font-size: clamp(37px, 2.5vw, 54px) !important; line-height: 1.3 !important; }
.font-52, h1.vc_custom_heading.font-52, h2.vc_custom_heading.font-52, h3.vc_custom_heading.font-52 { font-size: clamp(36px, 2.4vw, 52px) !important; line-height: 1.3 !important; }
.font-50, h1.vc_custom_heading.font-50, h2.vc_custom_heading.font-50, h3.vc_custom_heading.font-50 { font-size: clamp(35px, 2.3vw, 50px) !important; line-height: 1.3 !important; }
.font-48, h1.vc_custom_heading.font-48, h2.vc_custom_heading.font-48, h3.vc_custom_heading.font-48 { font-size: clamp(34px, 2.25vw, 48px)!important; line-height: 1.3 !important; }
.font-46, h1.vc_custom_heading.font-46, h2.vc_custom_heading.font-46, h3.vc_custom_heading.font-46 { font-size: clamp(32px, 2.2vw, 46px) !important; line-height: 1.3 !important; }
.font-44, h1.vc_custom_heading.font-44, h2.vc_custom_heading.font-44, h3.vc_custom_heading.font-44 { font-size: clamp(31px, 2.1vw, 44px) !important; line-height: 1.3 !important; }
.font-42, h1.vc_custom_heading.font-42, h2.vc_custom_heading.font-42, h3.vc_custom_heading.font-42 { font-size: clamp(30px, 2.0vw, 42px) !important; line-height: 1.3 !important; }
.font-40, h1.vc_custom_heading.font-40, h2.vc_custom_heading.font-40, h3.vc_custom_heading.font-40 { font-size: clamp(28px, 1.9vw, 40px) !important; line-height: 1.3 !important; }
.font-38, h1.vc_custom_heading.font-38, h2.vc_custom_heading.font-38, h3.vc_custom_heading.font-38 { font-size: clamp(27px, 1.8vw, 38px) !important; line-height: 1.3 !important; }
.font-36, h1.vc_custom_heading.font-36, h2.vc_custom_heading.font-36, h3.vc_custom_heading.font-36 { font-size: clamp(24px, 1.6vw, 33px) !important; line-height: 1.3 !important; }
.font-34, h1.vc_custom_heading.font-34, h2.vc_custom_heading.font-34, h3.vc_custom_heading.font-34 { font-size: clamp(24px, 1.6vw, 34px) !important; line-height: 1.3 !important; }
.font-32, h1.vc_custom_heading.font-32, h2.vc_custom_heading.font-32, h3.vc_custom_heading.font-32 { font-size: clamp(23px, 1.5vw, 32px) !important; line-height: 1.3 !important; }
.font-30, h1.vc_custom_heading.font-30, h2.vc_custom_heading.font-30, h3.vc_custom_heading.font-30 { font-size: clamp(22px, 1.4vw, 30px) !important; line-height: 1.3 !important; }
.font-28, h1.vc_custom_heading.font-28, h2.vc_custom_heading.font-28, h3.vc_custom_heading.font-28 { font-size: clamp(21px, 1.3vw, 28px) !important; line-height: 1.3 !important; }
.font-26, h1.vc_custom_heading.font-26, h2.vc_custom_heading.font-26, h3.vc_custom_heading.font-26 { font-size: clamp(20px, 1.2vw, 26px) !important; line-height: 1.3 !important; }
.font-24, h1.vc_custom_heading.font-24, h2.vc_custom_heading.font-24, h3.vc_custom_heading.font-24 { font-size: clamp(18px, 1.1vw, 24px) !important; line-height: 1.3 !important; }
.font-22, h1.vc_custom_heading.font-22, h2.vc_custom_heading.font-22, h3.vc_custom_heading.font-22 { font-size: clamp(17px, 1.0vw, 22px) !important; line-height: 1.3 !important; }
.font-20, h1.vc_custom_heading.font-20, h2.vc_custom_heading.font-20, h3.vc_custom_heading.font-20 { font-size: clamp(16px, 0.95vw, 20px)!important; line-height: 1.3 !important; }
.font-18, h1.vc_custom_heading.font-18, h2.vc_custom_heading.font-18, h3.vc_custom_heading.font-18, span.font-18 { font-size: clamp(15px, 0.9vw, 18px) !important; line-height: 1.5 !important; }
.font-16, h1.vc_custom_heading.font-16, h2.vc_custom_heading.font-16, h3.vc_custom_heading.font-16, span.font-16  { font-size: clamp(14px, 0.85vw, 16px)!important; line-height: 1.5 !important; }
.r *, * .r{font-weight:400 !important;}
.l *, * .l{font-weight:300 !important;}
.b *, * .b{font-weight:700 !important;}
.m *, * .m{font-weight:500 !important;}
.w *, * .w{color:#fff !important;}
.uppercase{text-transform:uppercase !important;}

/* ================================
   Portfolio Scacchiera
================================ */

.portfolio-scacchiera {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 20;
    background: #fff;
    overflow: hidden;
}

.portfolio-scacchiera__item,
.portfolio-scacchiera__empty {
    display: block;
    margin: 0;
    padding: 0;
}

.portfolio-scacchiera__item {
    position: relative;
    overflow: hidden;
    line-height: 0;
    border: 0 !important;
    box-shadow: none !important;
    text-decoration: none !important;

    opacity: 0;
    transform: translateY(40px) scale(0.96);
    filter: blur(4px);

    transition:
        opacity 0.75s ease,
        transform 0.75s cubic-bezier(0.22, 1, 0.36, 1),
        filter 0.75s ease,
        clip-path 0.9s cubic-bezier(0.22, 1, 0.36, 1);

    transition-delay: var(--delay, 0ms);
}

.portfolio-scacchiera__item.is-visible {
    opacity: 1;
    transform: translateY(0) scale(1);
    filter: blur(0);
}

.portfolio-scacchiera__item::before,
.portfolio-scacchiera__item::after {
    display: none !important;
    content: none !important;
}

.portfolio-scacchiera__item img {
    display: block;
    width: calc(100% + 2px);
    height: calc(100% + 2px);
    max-width: none !important;
    object-fit: cover;
    vertical-align: top;
    border: 0 !important;
    margin: -1px 0 0 -1px;
    padding: 0;

    transform: scale(1.01);
    transform-origin: center;
    backface-visibility: hidden;
    transition: transform 0.6s ease;
}

.portfolio-scacchiera__item:hover img {
    transform: scale(1.06);
}

.portfolio-scacchiera__empty {
    background: #fff;
}

/* Overlay testo ACF */

.portfolio-scacchiera__overlay {
    position: absolute;
    inset: 0;
    z-index: 2;

    display: flex;
    align-items: flex-end;
    justify-content: flex-start;

    padding: 30px;
    background: linear-gradient(
        to top,
        rgba(0, 0, 0, 0.65),
        rgba(0, 0, 0, 0)
    );

    opacity: 0;
    pointer-events: none;

    transition: opacity 0.35s ease;
}

.portfolio-scacchiera__progetto {
    display: block;
    color: #fff;
    font-size: 22px;
    line-height: 1.2;
    font-weight: 600;

    transform: translateY(15px);
    transition: transform 0.35s ease;
}

.portfolio-scacchiera__item:hover .portfolio-scacchiera__overlay {
    opacity: 1;
}

.portfolio-scacchiera__item:hover .portfolio-scacchiera__progetto {
    transform: translateY(0);
}

/* Tablet */

@media (max-width: 900px) {
    .portfolio-scacchiera {
        grid-template-columns: repeat(2, 1fr);
    }

    .portfolio-scacchiera__empty {
        display: none;
    }
}

/* Mobile */

@media (max-width: 600px) {
    .portfolio-scacchiera {
        grid-template-columns: 1fr;
		gap:20px
    }

    .portfolio-scacchiera__item,
    .portfolio-scacchiera__empty {
    }

    .portfolio-scacchiera__empty {
        display: none;
    }

    .portfolio-scacchiera__overlay {
        opacity: 1;
        padding: 24px;
    }

    .portfolio-scacchiera__progetto {
        transform: none;
        font-size: 20px;
    }
}

/* Accessibilità */

@media (prefers-reduced-motion: reduce) {
    .portfolio-scacchiera__item {
        opacity: 1;
        transform: none;
        filter: none;
        clip-path: none;
        transition: none;
    }

    .portfolio-scacchiera__item img,
    .portfolio-scacchiera__overlay,
    .portfolio-scacchiera__progetto {
        transition: none;
    }
}

/******
BLOCCO CSS PER PROGETTI GALLERY
*****/

/* Portfolio Gallery Builder */

.ms-pgb-wrap {
    width: 100%;
}

.ms-pgb-block {
    margin-bottom: 40px;
}

/* Video layout */

.ms-pgb-video {
    width: 100%;
}

.ms-pgb-video-inner {
    position: relative;
    width: 100%;
    overflow: hidden;
    background: #000;
}

.ms-pgb-video-ratio-16-9 .ms-pgb-video-inner {
    aspect-ratio: 16 / 9;
}

.ms-pgb-video-ratio-4-3 .ms-pgb-video-inner {
    aspect-ratio: 4 / 3;
}

.ms-pgb-video-ratio-1-1 .ms-pgb-video-inner {
    aspect-ratio: 1 / 1;
}

.ms-pgb-video-inner iframe,
.ms-pgb-video-inner video,
.ms-pgb-video-file {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100% !important;
    display: block;
}

.ms-pgb-video-inner iframe {
    border: 0;
}

.ms-pgb-video-file {
    object-fit: cover;
}


/* Grid */

.ms-pgb-grid {
    display: grid;
    gap: 40px;
}

.ms-pgb-cols-1 {
    grid-template-columns: 1fr;
}

.ms-pgb-cols-2 {
    grid-template-columns: repeat(2, 1fr);
}

.ms-pgb-cols-3 {
    grid-template-columns: repeat(3, 1fr);
}

.ms-pgb-cols-4 {
    grid-template-columns: repeat(4, 1fr);
}

.ms-pgb-item,
.ms-pgb-link {
    display: block;
}

.ms-pgb-img {
    width: 100%;
    height: auto;
    display: block;
}


/* Slideshow */

.ms-pgb-slider {
    position: relative;
    overflow: hidden;
}

.ms-pgb-slider-track {
    position: relative;
    width: 100%;
}

.ms-pgb-slide {
    display: none;
}

.ms-pgb-slide.active {
    display: block;
}

.ms-pgb-slide .ms-pgb-img {
    width: 100%;
    height: auto;
    display: block;
}