/*
Theme Name:   Marta Torbidoni Soprano
Description:  Tema Child per Marta Torbidoni Soprano.
Author:  Claudio Zappi
Author URI:  https://www.webdesignerancona.it/
Template:  storefront
Version:  1.0
License:  GNU General Public License v2 or later
License URI: https://www.gnu.org/licenses/gpl-2.0.html
*/


/*

GENERALE E UTILITY
-- 
-- Form contatti

HEADER
-- 

FOOTER
--

HOME PAGE
--
-- Presentazione

PAGINA CONTATTI
--

PAGINA STAMPA
--

PAGINA GALLERIA
---

SHOP
-- 

*/

:root {
    --main-color-1: #243247; /* blu */ 
    --main-color-2: #4972A2; /* blu chiaro */ 
    --main-color-3: #E3C265; /* oro */
    --main-color-4: #111; /* nero */
    --main-color-5: #FFF; 
    
    --main-background: var( --main-color-1 ); 
    --header-footer--background: var( --main-color-1 ); 
    --header-footer--text-color: var( --main-color-5 ); 
    --form-field-background: var( --main-color-5 ); 
}

/* ######################################## */
/* GENERALE E UTILITY */
/* ######################################## */

.edit-link { display: none; }

html{ overflow-x: hidden;}
body{ 
    font-family: "Lato", sans-serif; 
    font-weight: 400; 
    font-style: normal; }

body{ background-color: var(--main-background)!important;}
.site{ background-color: #FFF;}

a, a:visited, a:focus{ color: inherit; outline: none;}
a:hover{ color: inherit;}

h1, h2, h3, h4, h5, time{ 
    font-family: "Playfair Display", serif; 
    font-optical-sizing: auto; 
    font-weight: 600; 
    font-style: normal; 
    color: var( --main-color-4 ); 
    line-height: 1.2;
}

h2{ }

div.logo{ 
    height: 0;
    background-image: url(img/logo-01.svg);
    padding-bottom: 35%;
}

.d-none{ display: none;}
img{ border-radius: 0;}
button, input[type="button"], input[type="reset"], input[type="submit"], .button, .widget a.button{ text-transform: uppercase; min-width: 8em; text-align: center;}

.mr-15{ margin-right: 15px;}

.row{ margin: 0 -1.41575em; display: flex; flex-direction: column;}
.col, .col-12, .col-4{ padding: 0 1.41575em; width: 100%;}
.col-full.col-50 > div{ width: 100%; padding: 0 0 1.41575em 0;}
@media screen and (min-width: 768px) {
    .col-full { max-width: 80em;}
    .row{ flex-direction: row; flex-wrap: wrap;}
    .col, .col-4{ float: left;}
    .col-4{ width: 33.33333%;}
    .col-8ga{ width: 61.8034%;}
    .col-4ga{ width: 38.1966%;}
}

.site-main, .hentry{ margin-bottom: 0;}

ul.menu, ul.nav-menu{ margin: 0;}
ul.menu a, ul.nav-menu a{ text-decoration: none; text-transform: uppercase;}
ul.menu li, ul.nav-menu li{ list-style: none;}

.btn{ margin-top: 0; text-transform: uppercase; letter-spacing: 2px; padding: .8em 1.41575em; background-color: var(--main-color-2); font-size: .8em; transition: all ease-out .5s;}
.btn:hover{ background-color: var(--main-color-1);}
a.btn{  color: var( --main-color-3 );}

    /* Form contatti */
    fieldset{ background-color: #EEE; line-height: 2em;}
    fieldset.transparent{ background-color: transparent; padding-left: 0; padding-right: 0; padding-bottom: 0; margin-bottom: 0; }
    fieldset.transparent label{ color: #BFBFBF;}
    span.required{ color: #BC1928;}
    body, button, input, textarea, .select2-container .select2-selection--single .select2-selection__rendered{ line-height: 1.6em;}
    input[type=text], input[type=number], input[type=email], input[type=tel], input[type=url], input[type=password], input[type=search], textarea, .input-text{ width: 100%; box-shadow: none; padding: .6em; background-color: var(--form-field-background);}
    .select2-container .select2-selection--single .select2-selection__rendered{ padding-top: .6em; padding-bottom: .6em;}
    .select2-container--classic .select2-selection--single, .select2-container--classic.select2-container--open.select2-container--above .select2-selection--single{ height: auto; border-width: 0px; border-radius: 0px; background: none; background-color: var(--form-field-background);}
    .select2-container--classic.select2-container--open .select2-selection--single, .select2-container--classic.select2-container--open .select2-dropdown, .select2-container--classic .select2-selection--single:focus{ border-width: 0px;}
    .select2-container--classic .select2-results__option--highlighted.select2-results__option--selectable{ background-color: var(--main-color-1);}
    .select2-container .select2-selection--single .select2-selection__rendered{ padding-right: 40px;}
    .select2-container--classic .select2-selection--single .select2-selection__arrow{ top: 0; right: 0; padding: .6em; height: 100%; width: 40px; background: none; background-color: rgba(0,0,0,.15); border-radius: 0px; border-left-width: 0px;}
    .select2-container--classic .select2-selection--single .select2-selection__arrow b{ border-color: #000 transparent transparent transparent;}
    .select2-container--classic .select2-dropdown--above {}
    input[type="date"]{ background-color: var(--form-field-background); border-width: 0px; font-size: 1em; line-height: 1.6em; padding: .3em; width: 100%; }
    span.wpcf7-form-control-wrap:has(input[type="date"]){ display: block; overflow: hidden;}
    ::-webkit-calendar-picker-indicator{ background-color: var(--form-field-background); padding: .6em; cursor: pointer;border-radius: 0px;}

    fieldset .wpcf7-radio{ display: flex; flex-direction: column; align-items: flex-start; justify-content: flex-start; align-content: flex-start; flex-wrap: nowrap;}
    fieldset .wpcf7-radio .wpcf7-list-item { margin: 1.2em 0 .6em;}
    @media screen and (min-width: 768px) {
    fieldset .wpcf7-radio{flex-direction: row; align-items: flex-start; justify-content: space-around;}
    }
    
    fieldset .wpcf7-acceptance label{ line-height: 1.4em;}
    fieldset .wpcf7-acceptance .wpcf7-list-item{ margin: 0;}
    fieldset .wpcf7-acceptance a{ text-decoration: underline;}
    .wpcf7 input[type="file"]{ }
    
    fieldset .row{ margin-left: -10px; margin-right: -10px; display: flex; flex-wrap: wrap; justify-content: flex-start; flex-direction: row; align-items: center;}
    fieldset .row > div[class^='col-']{ padding: 0 10px; width: 100%;}
    @media screen and (min-width: 768px) {
        fieldset .row{ flex-wrap: nowrap;}
        fieldset .row .col-12{ width: 100%;}
        fieldset .row .col-8{ width: 66.666666%;}
        fieldset .row .col-4{ width: 33.333333%;}
        fieldset .row .col-3{ width: 25%}
    }
    
    input[type=text].wpcf7-not-valid, input[type=number].wpcf7-not-valid, input[type=email].wpcf7-not-valid, input[type=tel].wpcf7-not-valid, input[type=url].wpcf7-not-valid, input[type=password].wpcf7-not-valid, input[type=search].wpcf7-not-valid, textarea.wpcf7-not-valid, .input-text.wpcf7-not-valid{ box-shadow: 0px -2px #dc3232 inset;}
    .wpcf7-not-valid-tip{ position: absolute; margin-top: -2px;}
    span.specifiche{ display: block; font-size: .8em; margin-bottom: 0.6em;}
    span.specifiche + br{ display: none;}

    .wpcf7 form .check-demo-msg { color:#dc3232;}
    .wpcf7 form .wpcf7-response-output, body.page-template-template-premio #invio_txt{ margin: 0; padding: 1em; font-size: 1.2em; border-radius: 0;}
    .wpcf7 form.sent .wpcf7-response-output, body.page-template-template-premio #invio_txt{ background: #46b450; color: #FFF;}
    .wpcf7 form.invalid .wpcf7-response-output{ background: #ffb900; color: #FFF;}
    #invio_txt{ display: none; padding-top: 0;} .wpcf7 form.sent #invio_txt{ display: block;}

    #mappa{ position: relative; overflow-x: visible; overflow-y: clip;}
    .mappa-container{ position: absolute; height: 100%; top: 0; width: 300vw; left: -100vw; filter: saturate(0) contrast(1) blur(0px);}
    #contattaci.con-mappa{ padding-top: 500px; position: relative; overflow-x: visible; overflow-y: clip; padding-bottom: 100px;}
    #contattaci.con-mappa .mappa-container{ height: 200%; top: -85%; }
    @media screen and (min-width: 1200px) {
        .mappa-container{ margin-left: calc(-1*(100vw - 80em)/2);}
    }

    span.recaptcha{ display: block; margin-bottom: 1.5em;}

/* ######################################## */
/* HEADER */
/* ######################################## */

.site-header{ background-color: var(--header-footer--background); color: var(--header-footer--text-color); border-width: 0;}
.main-navigation ul li a, .site-title a, ul.menu li a, .site-branding h1 a, button.menu-toggle, button.menu-toggle:hover, .handheld-navigation .dropdown-toggle{ color: color: var(--header-footer--text-color); font-weight: 700;}
.main-navigation ul li a:hover, .main-navigation ul li:hover > a, .site-title a:hover, .site-header ul.menu li.current-menu-item > a{ color: color: var(--header-footer--text-color);}
.main-navigation ul li:hover > a, .site-header ul.menu li.current-menu-item > a{  position: relative;}
.main-navigation ul li:hover > a:after, .site-header ul.menu li.current-menu-item > a:after{ content: ""; display: block; position: absolute; bottom: 0; left: 0; height: 3px; width: 100%; background-color: var(--header-footer--text-color);}
.main-navigation ul.menu > li > a, .main-navigation ul.nav-menu > li > a { padding: 0;}
.main-navigation ul.menu > li, .main-navigation ul.nav-menu > li, .footer-menu ul.menu > li, .footer-menu ul.nav-menu > li{ padding: .8em 1.2em;}

/* ######################################## */
/* FOOTER */
/* ######################################## */
    footer.site-footer{ background-color: var(--header-footer--background); color: var(--header-footer--text-color); padding: 3em 0;}
    .site-footer a:not(.button):not(.components-button){ color: var(--header-footer--text-color);}
    footer.site-footer .footer-widgets.row-1{display: flex; flex-direction: row; flex-wrap: nowrap; justify-content: center; align-items: flex-start;}
    footer.site-footer .footer-logo{ width: 90%; max-width: 20em; margin: 0 auto; margin-bottom: 3em;}
    footer.site-footer .widget{ text-align: center;}
    footer.site-footer .widget.widget_media_image{ margin-bottom: .6em;}
    footer.site-footer .footer-widgets.col-3 .block.footer-widget-3{ flex-grow: 1; filter: saturate(0) contrast(.5);}
    
    footer.site-footer .whatsapp-link{ display: flex; flex-direction: row; flex-wrap: nowrap; align-items: center; justify-content: center; transform: scale(2); text-decoration: none;}
    footer.site-footer .whatsapp-link img{ width: 25px; margin-right: .6em;}

    footer .footer-iubenda-policies-links{ display: flex; flex-direction: row; justify-content: center;}
    footer .footer-iubenda-policies-links div{ padding: 0 1em;}
    footer .footer-menu ul{ display: flex; justify-content: center; max-width: 100%; flex-direction: column; flex-wrap: nowrap; text-align: center;}
    footer .footer-menu ul li a span{ width: 100%;}

    .site-footer-credits{ display: flex; padding: 1.41575em; padding-bottom: 0; background-color: var(--main-color-4); color: var(--main-color-5);}
    .site-footer-credits .widget{ margin: 0;}

/* ######################################## */
/* HOME */
/* ######################################## */
.slide-container, .slide-content{ position: relative;}
.slide-container{ overflow: hidden;}
.slide-content .col-full{ height: 100%;}
.slide-content .col-full > div{ width: auto;}
.slide-content .promo-visual{ display: flex; flex-direction: row; justify-content: center; align-items: center; height: 100%; padding: 0!important;}
.slide-content .promo-txt{ padding: 35px; position: absolute; top: 0; bottom: 0; left: 0; right: 0; display: flex; flex-direction: column; justify-content: center; text-align: center; opacity: 0; z-index: 5;}
.slide-content .no-img .promo-txt{ padding: 0; position: relative; }
.slide-content .promo-txt .btn.call-to-action{ display: inline-block; background-color: #D94845; color: #FFF; font-weight: bold; padding: 5px 35px; line-height: 35px; text-transform: uppercase;}
.slide-content .promo-visual > a{ z-index: 100;}
.slide-content .promo-visual img{ max-height: 100%; padding: 0px;}
.slide-wrapper{ position: absolute; top: 0; width: 100%; height: 100%;}
.slide-background{ position: absolute; background-size: cover; background-repeat: no-repeat; background-position:  center center;  top: -20px; bottom: -20px; left: -20px; right: -20px;}
.home-section-slider{ width: 100vw; /* margin-bottom: 1.41575em; */}
.home-section-slider article .slide-content::before{ content: ''; position: relative; display: block; width: 100%; height: 100vw; padding-bottom: 0;}

.home.page-template #copertina article .slide-content::before{ padding-bottom: 0;}

.slide-content .slide-logo-position{ width: 60%; margin-left: 6%; margin-top: 33%;}

article.homeslider{display: ; }
article.promozioni{display: ; }

.home.page-template section.home-section{ padding: 3em 1.41575em;}

/* VIEW ALL */
.view_all{ padding-top: 2em;}
.view_all > div{ display: flex; flex-direction: row; justify-content: flex-end;}
.view_all > div div:first-child{ flex-grow: 1; position: relative; display: flex; flex-direction: column; align-items: flex-end; justify-content: center;}
.view_all > div div:first-child:before{ content: ""; height: 1px; width: 100%; /* position: absolute; bottom: 0; right: 0; */ background-color: #000;}
.view_all a{ text-transform: uppercase; padding-left: 1.41575em; font-weight: 600; color: var(--main-color-4); letter-spacing: 1px;}

    /* CALENDARIO - sezione in Home */
    article.calendario-item{ width: 100%; display: flex; flex-direction: column; align-items: center;margin-bottom: 3em;}
    article.calendario-item > .calendario-date{ position: relative; display: flex; flex-direction: column; align-items: center; padding-bottom: .5em;}
    article.calendario-item > .calendario-date:after{ content: ""; display: block; height: 1px; width: 2em; /* position: absolute; bottom: 0; right: 0; */ background-color: #000;}
    article.calendario-item > .calendario-date time{ font-size: 1.6em; margin-bottom: .5em;}
    article.calendario-item > .calendario-evento{ }
    article.calendario-item > .calendario-evento h3{ margin-bottom: .2em; font-size: 2.7em; text-align: center; }
    article.calendario-item > .calendario-evento h4{ font-family: "Lato", sans-serif; font-weight: 400; font-style: normal; font-size: 1.3em; text-transform: uppercase; letter-spacing: 1px; text-align: center;}
    article.calendario-item > .calendario-link{ /* display: flex; align-items: center; justify-content: center; */ padding-top: 0.61575em;}

    /* STAMPA - sezione in Home */
    #stampa{ padding-left: 0; padding-right: 0;}
    .stampa-item{ }
    .stampa-item-wrap{ }
    .stampa-item div.citazione{ display: flex; flex-direction: column; padding-left: 4em; align-items: flex-start; justify-content: center; min-height: 20vw;}
    .stampa-item blockquote{ padding: 0; margin: 0; border-left-width: 0px; font-family: "Playfair Display", serif; font-size: 2.7em; line-height: 1em;}
    .stampa-item h4{ font-family: "Lato", sans-serif; font-weight: 600; font-style: normal; font-size: 1.7em; text-transform: uppercase; letter-spacing: 1px; text-align: left; margin-bottom: 0;}
    .stampa-item time{ font-family: "Lato", sans-serif; font-weight: 400; font-style: normal; font-size: 1.3em; text-transform: uppercase; letter-spacing: 1px; text-align: left; margin-bottom: 0.61575em;}
    .stampa-item div.citazione > div{ margin-top: 1.41575em;}
    .home.page-template #stampa article .row div[class^='col-']:first-child img{ padding: 4em;}

/* ######################################## */
/* PAGINA: STAMPA */
/* ######################################## */

.page-template-template-stampa .stampa-item{ padding-bottom: 3em;}
.page-template-template-stampa .stampa-item article img{ margin-bottom: 1.41575em;}

/* ######################################## */
/* PAGINA: GALLERIA */
/* ######################################## */

.galleria-content{ margin-top: -1.41575em; margin-bottom: -1.41575em;}
.galleria-item{ padding-top: 1.41575em; padding-bottom: 1.41575em;}
.galleria-item article .img-wrap{ position: relative; overflow: hidden; padding-bottom: 100%;}
.galleria-item article .img-wrap img{ position: absolute; top: 0; left: 0; width: 100%; height: 100%; object-fit: cover; /* >>>> link disattivato >>>> */ pointer-events: none; cursor: default; text-decoration: none; color: black;}

@media screen and (min-width: 400px) {

}

@media screen and (min-width: 600px) {
    
    footer .footer-menu ul{ flex-direction: row; flex-wrap: wrap;}
}

@media screen and (min-width: 768px) {

    .slide-content .col-full > div{ width: 100%;}
    .col-12{ width: 100%;}
    
    /* ######################################## */
    /* 768 HEADER */
    /* ######################################## */
    
    .site-header{ padding: 1em 0;}
    .site-branding, .site-search, .site-header-cart, .site-logo-anchor, .site-logo-link, .custom-logo-link{ margin-bottom: 0;}
    .site-header .site-branding{ width: auto;}
    
    .primary-navigation{ display: none;}
    .menu-toggle, .handheld-navigation, .main-navigation.toggled .handheld-navigation, .main-navigation.toggled div.menu{ display: block;}
    
     /* ######################################## */
    /* 768 HOME */
    /* ######################################## */

    .slide-content .col-full{ display: flex; flex-direction: row; align-items: center; justify-content: center;}
    .slide-content .promo-txt{ position: relative; text-align: left; opacity: 1;}
    .slide-content .promo-visual > a{ max-height: 100%; display: contents;}
    .slide-content .promo-visual img{ padding: 20px;}
    
    .home.page-template #copertina article .slide-content::before{ height: 0;  /* ratio */ padding-bottom: 42.857142857142854%;}
    .home.page-template #stampa article .slide-content::before{ height: 0;  /* ratio */ padding-bottom: 42.857142857142854%;}
    .slide-content .slide-logo-position{ width: 33%; margin-left: 16%; margin-top: 9%;}
    
    .home.page-template section.home-section{ padding-top: 6em; padding-bottom: 6em;}
    
    .home.page-template #stampa article .row{ padding-top: 4em; padding-bottom: 4em;}
    .home.page-template #stampa article .row div[class^='col-']:first-child img{ padding: 0; height: calc(100% + 8em); width: 100%; min-width: 100%; object-fit: contain; object-position: center; float: right; margin-top: -4em; max-width: 100%;} 
    .home.page-template #stampa article .row div[class^='col-']:first-child .stampa-img-container{ padding: 0; height: 100%; width: 100%; min-width: 100%; float: right; margin-top: 0; max-width: 100%; background-size: cover; background-position: center center;}
/*
    article.calendario-item{ flex-direction: row; justify-content: center; min-height: 6em;}
    article.calendario-item > .calendario-date{ width: 29%; text-align: right; min-height: 3em; margin-bottom: 3em;}
    article.calendario-item > .calendario-evento{ width: 47%; padding-left: 1em; min-height: 6em;}
    article.calendario-item > .calendario-evento h3, article.calendario-item > .calendario-evento h4{ min-height: 50%; text-align: left;}
    article.calendario-item > .calendario-link{ width: 24%; min-height: 6em; }
*/
    
}

@media screen and (min-width: 900px) {
    
    .view_all{ }
    .view_all > div{ }
    .view_all > div div:first-child{ max-width: 12%;}
    .view_all > div div:first-child:before{ }
    .view_all a{ font-size: 1.3em;}
    
    /* ######################################## */
    /* 900 PAGINA: STAMPA */
    /* ######################################## */

    .page-template-template-stampa .stampa-item{ width: 33.33333%;}

}

@media screen and (min-width: 1200px) {
    
     .home.page-template section.home-section, .home.page-template section.home-section-slider{ font-size: 1vw;}
    
    /* ######################################## */
    /* 1200 HEADER */
    /* ######################################## */

    .site-header{ padding-top: 1em; padding-bottom: 1em;}
    .site-header > div{ display: flex; flex-direction: row; align-items: center;}
    .primary-navigation{ display: block;}
    .menu-toggle, .handheld-navigation, .main-navigation.toggled .handheld-navigation, .main-navigation.toggled div.menu{ display: none;}
    .main-navigation ul.menu, .main-navigation ul.nav-menu, .footer-menu ul.menu, .footer-menu ul.nav-menu{ width: auto; margin: 0; display: flex; flex-direction: row; flex-wrap: nowrap; justify-content: space-between; align-items: center; }
    footer.site-footer{ display: flex; flex-direction: row; align-items: center;}
    .footer-menu ul li{ width: auto; position: relative; display: inline-block; text-align: left;}
    

}

@media screen and (min-width: 1600px) {
    

}
