/*
CTC Separate Stylesheet
Updated: 2025-07-16 16:48:04
Theme Name: Astra Child
Theme URI: https://wpastra.com/
Template: astra
Author: Brainstorm Force
Author URI: https://wpastra.com/about/?utm_source=theme_preview&utm_medium=author_link&utm_campaign=astra_theme
Description: The Astra WordPress theme is lightning-fast and highly customizable. It has over 1 million downloads and the only theme in the world with 5,700+ five-star reviews! It’s ideal for professional web designers, solopreneurs, small businesses, eCommerce, membership sites and any type of website. It offers special features and templates so it works perfectly with all page builders like Spectra, Elementor, Beaver Builder, etc. Fast performance, clean code, mobile-first design and schema markup are all built-in, making the theme exceptionally SEO-friendly. It’s fully compatible with WooCommerce, SureCart and other eCommerce plugins and comes with lots of store-friendly features and templates. Astra also provides expert support for free users. A dedicated team of fully trained WordPress experts are on hand to help with every aspect of the theme. Try the live demo of Astra: https://zipwp.org/themes/astra/
Tags: custom-menu,custom-logo,entertainment,one-column,two-columns,left-sidebar,e-commerce,right-sidebar,custom-colors,editor-style,featured-images,full-width-template,microformats,post-formats,rtl-language-support,theme-options,threaded-comments,translation-ready,blog
Version: 4.11.6.1752680884
*/
.wpcf7-form .field-label{
    color: #172c4f;
}
.wpcf7-form p{
	margin-bottom: 0
}
@media (min-width: 1200px) {
    .container {
        width:1170px
    }
}
.container-fluid {
    padding-right: 15px;
    padding-left: 15px;
    margin-right: auto;
    margin-left: auto
}
.row {
    margin-right: -15px;
    margin-left: -15px
}
.col-lg-1,.col-lg-10,.col-lg-11,.col-lg-12,.col-lg-2,.col-lg-3,.col-lg-4,.col-lg-5,.col-lg-6,.col-lg-7,.col-lg-8,.col-lg-9,.col-md-1,.col-md-10,.col-md-11,.col-md-12,.col-md-2,.col-md-3,.col-md-4,.col-md-5,.col-md-6,.col-md-7,.col-md-8,.col-md-9,.col-sm-1,.col-sm-10,.col-sm-11,.col-sm-12,.col-sm-2,.col-sm-3,.col-sm-4,.col-sm-5,.col-sm-6,.col-sm-7,.col-sm-8,.col-sm-9,.col-xs-1,.col-xs-10,.col-xs-11,.col-xs-12,.col-xs-2,.col-xs-3,.col-xs-4,.col-xs-5,.col-xs-6,.col-xs-7,.col-xs-8,.col-xs-9 {
    position: relative;
    min-height: 1px;
    padding-right: 15px;
    padding-left: 15px
}
.col-xs-1,.col-xs-10,.col-xs-11,.col-xs-12,.col-xs-2,.col-xs-3,.col-xs-4,.col-xs-5,.col-xs-6,.col-xs-7,.col-xs-8,.col-xs-9 {
    float: left
}
.col-xs-12 {
    width: 100%
}
.col-xs-11 {
    width: 91.66666667%
}
.col-xs-10 {
    width: 83.33333333%
}
.col-xs-9 {
    width: 75%
}
.col-xs-8 {
    width: 66.66666667%
}
.col-xs-7 {
    width: 58.33333333%
}
.col-xs-6 {
    width: 50%
}
.col-xs-5 {
    width: 41.66666667%
}
.col-xs-4 {
    width: 33.33333333%
}
.col-xs-3 {
    width: 25%
}
.col-xs-2 {
    width: 16.66666667%
}
.col-xs-1 {
    width: 8.33333333%
}
@media (min-width: 768px) {
    .col-sm-1,.col-sm-10,.col-sm-11,.col-sm-12,.col-sm-2,.col-sm-3,.col-sm-4,.col-sm-5,.col-sm-6,.col-sm-7,.col-sm-8,.col-sm-9 {
        float:left
    }
    .col-sm-12 {
        width: 100%
    }
    .col-sm-11 {
        width: 91.66666667%
    }
    .col-sm-10 {
        width: 83.33333333%
    }
    .col-sm-9 {
        width: 75%
    }
    .col-sm-8 {
        width: 66.66666667%
    }
    .col-sm-7 {
        width: 58.33333333%
    }
    .col-sm-6 {
        width: 50%
    }
    .col-sm-5 {
        width: 41.66666667%
    }
    .col-sm-4 {
        width: 33.33333333%
    }
    .col-sm-3 {
        width: 25%
    }
    .col-sm-2 {
        width: 16.66666667%
    }
    .col-sm-1 {
        width: 8.33333333%
    }
}
@media (min-width: 992px) {
    .col-md-1,.col-md-10,.col-md-11,.col-md-12,.col-md-2,.col-md-3,.col-md-4,.col-md-5,.col-md-6,.col-md-7,.col-md-8,.col-md-9 {
        float:left
    }
    .col-md-12 {
        width: 100%
    }
    .col-md-11 {
        width: 91.66666667%
    }
    .col-md-10 {
        width: 83.33333333%
    }
    .col-md-9 {
        width: 75%
    }
    .col-md-8 {
        width: 66.66666667%
    }
    .col-md-7 {
        width: 58.33333333%
    }
    .col-md-6 {
        width: 50%
    }
    .col-md-5 {
        width: 41.66666667%
    }
    .col-md-4 {
        width: 33.33333333%
    }
    .col-md-3 {
        width: 25%
    }
    .col-md-2 {
        width: 16.66666667%
    }
    .col-md-1 {
        width: 8.33333333%
    }
}
/*maintenance*/
section:not(.footer-widget-area section) {
    display: flex;
    justify-content: center;
    flex-direction: column;
    flex-grow: 10;
    width: 70%;
    max-width: 1170px;
    min-height: calc(100vh - 7em);
    margin: 0 auto;

    flex-grow: 1;
    padding: 2em;
    text-align: center;
    position: relative;
}
body, input {
    font-family: 'Montserrat', 'sans-serif';
    
}
body {
    font-size: 17px;
    letter-spacing: 0px;
    font-weight: 400;
    /*background-color: var(--ast-global-color-1);*/
    background-color: #fff;
}
.graphic-logo {
    width: auto;
    max-width: 500px;
    max-height: 300px;
    margin: 0 auto;
}
.logo-wrapper.image {
    margin-bottom: 2em;
}
 h2 {
     color: #fff;
    font-size: 2.3529411764706em;
    letter-spacing: 0px;
    font-weight: 700;
    font-style: normal;
}
#masthead.site-header.ast-primary-menu-enabled.fixed{
	width: 100%;
    position: fixed;
    left: 0;
    top: 0;
    z-index: 1000;
    background: #fff;
}
#masthead.site-header.ast-primary-menu-enabled.fixed .main-header-menu .menu-link{
    color: #162a4f;
}
#masthead.site-header.ast-primary-menu-enabled.fixed .site-logo-img img {
    filter: url(#ast-img-color-filter);
}
.elpt-portfolio-filter{
	text-align: left
}
.elpt-portfolio-filter .portfolio-filter-item, .elpt-portfolio-filter .portfolio-filter-item.item-active{
    background: transparent;
    color: #777;
    text-transform: capitalize;
    font-weight: 700;
}
.elpt-portfolio-filter .portfolio-filter-item.item-active, .elpt-portfolio-filter .portfolio-filter-item:hover{
    border-bottom: 3px solid var(--e-global-color-astglobalcolor0);
    border-radius: 0;
	color: var(--e-global-color-astglobalcolor8);
    background: transparent;
}
.elpt-portfolio-content.simple .portfolio-item-infos-wrapper {
    top: 60%;
    height: 40%;
    background: rgb(0 0 0 / 65%);
}
.elpt-portfolio-content .portfolio-item-infos {
    top: 40%;
}
.elpt-portfolio-content.simple .portfolio-item .portfolio-item-infos-wrapper {
    opacity: 0.95;
}
.elpt-portfolio-content.simple .portfolio-item .portfolio-item-infos {
    opacity: 1 !important;
    transform: translateY(0px) !important;
    -webkit-transform: translateY(0px) !important;
    -moz-transform: translateY(0px) !important;
}
.elementor-lightbox .elementor-slideshow__footer.elementor-lightbox-prevent-close .elementor-slideshow__title{
	display: none;
}
@media only screen and (max-width: 1024px) {
    .section-body h1:not(.text-logo), .section-body h2, .section-body h3, .section-body h4, .section-body h5, .section-body h6, .text-logo-wrapper {
        font-size: 1.8em !important;
    }
}
/*CUSTOM PORTFOLIO */
/* Filtri */
.pcp-portfolio .pcp-filtri {
    display: flex;
    flex-wrap: wrap;
    gap: 0px 10px;
    margin-bottom: 30px;
}

.pcp-portfolio .pcp-filtri a {
    padding: 0 8px 0px;
    color: #747474;
    font-size: 13px;
    font-weight: 700;
    /*letter-spacing: .06em;*/
    text-decoration: none;
    border-bottom: 3px solid transparent;
    margin-bottom: 3px;
}

.pcp-portfolio .pcp-filtri a:hover,
.pcp-portfolio .pcp-filtri a.attivo {
    color: #34435a;
}

.pcp-portfolio .pcp-filtri a.attivo {
    border-bottom-color: #526fa8;
    text-decoration: none;
}

/* Griglia: due colonne come nell'immagine */
.pcp-portfolio .pcp-griglia {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 12px;
}

/* Card e foto */
.pcp-portfolio .pcp-card {
    position: relative;
    overflow: hidden;
    background: #26313c;
}

.pcp-portfolio .pcp-card > a {
    position: relative;
    display: flex;
    align-items: center;
    justify-content: center;
    width: 100%;
    height: auto;
    min-height: 280px;
    aspect-ratio: 2.35 / 1;
    color: #fff;
    text-decoration: none;
}

.pcp-portfolio .pcp-foto {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
}

.pcp-portfolio .pcp-foto img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform .3s ease;
}

/* Velo scuro sopra la foto */
.pcp-portfolio .pcp-card > a::before {
    content: "";
    position: absolute;
    inset: 0;
    z-index: 1;
    background: rgba(0, 0, 0, .58);
    pointer-events: none;
}

.pcp-portfolio .pcp-card:hover .pcp-foto img {
    transform: scale(1.04);
}

/* Testi e logo sopra il velo scuro */
.pcp-portfolio .pcp-contenuto {
    position: relative;
    z-index: 2;
    width: 100%;
    padding: 24px 35px;
    color: #fff;
    text-align: center;
}

.pcp-portfolio .pcp-logo img {
    display: block;
    width: auto;
    max-width: 125px;
    max-height: 55px;
    margin: 0 auto 14px;
    object-fit: contain;
}

.pcp-portfolio .pcp-contenuto h3 {
    margin: 0 0 8px;
    color: #fff;
    font-size: clamp(20px, 1.8vw, 18px);
    font-weight: 700;
    line-height: 1.2;
}

.pcp-portfolio .pcp-sottotitolo {
    margin: 0 0 8px;
    color: #fff;
    font-size: 15px;
    line-height: 1.4;
}

.pcp-portfolio .pcp-categorie {
    margin: 0;
    color: rgba(255, 255, 255, .82);
    font-size: 11px;
    font-style: italic;
    line-height: 1.4;
}

/* Una colonna sugli schermi stretti */
@media (max-width: 767px) {
    .pcp-portfolio .pcp-griglia {
        grid-template-columns: 1fr;
    }

    .pcp-portfolio .pcp-card > a {
        min-height: 300px;
        aspect-ratio: auto;
    }

    .pcp-portfolio .pcp-contenuto {
        padding: 24px;
    }

    .pcp-portfolio .pcp-filtri {
        gap: 4px 14px;
    }

    .pcp-portfolio .pcp-filtri a {
        font-size: 13px;
    }
}