/*
Theme name: Qtheme - Restyling
Theme url: http://www.craqdesignstudio.it
Version: 9.0
Author: <a href="http://www.craqdesignstudio.it" title="Craq Design Studio">Craq Design Studio</a>
Author url: http://www.craqdesignstudio.it
*/

/* Visually hide elements while keeping them available to screen readers (WCAG) */
.screen-reader-text {
    border: 0;
    clip: rect(1px, 1px, 1px, 1px);
    clip-path: inset(50%);
    height: 1px;
    width: 1px;
    margin: -1px;
    padding: 0;
    overflow: hidden;
    position: absolute !important;
    word-wrap: normal !important;
}

/* Skip link: stays visually hidden like .screen-reader-text, but becomes visible on keyboard focus */
.skip-link:focus {
    clip: auto !important;
    clip-path: none !important;
    height: auto !important;
    width: auto !important;
    margin: 0 !important;
    overflow: visible !important;
    top: 0;
    left: 0;
    z-index: 100000;
    display: block;
    padding: 1rem 1.5rem;
    background: var(--color-main, #00588f);
    color: #fff !important;
    text-decoration: none;
}

/* Reset native button chrome so search controls keep the original inline-icon look */
.searchForm button {
    background: none;
    border: 0;
    padding: 0;
    margin: 0;
    cursor: pointer;
    display: inline-flex;
    align-items: center;
    -webkit-appearance: none;
    appearance: none;
}

/* Reset native button chrome: il cuore "preferiti" resta un'icona inline anche da <button> — niente "padding: 0",
   lo spazio lo dà già la classe .contentWrap presente sullo stesso elemento */
button.preferito {
    background: none;
    border: 0;
    margin: 0;
    cursor: pointer;
    -webkit-appearance: none;
    appearance: none;
}
/* Cuore "preferiti" nascosto (non rimosso dal markup): sostituito dal tasto "salva in agenda"
su richiesta di Leandro. Se lo rivuole, basta togliere questa regola.
!important necessario: la classe far/fas di Font Awesome (stessa specificità, caricata dopo)
forza "display: inline-block" sullo stesso elemento */
.preferito {
    display: none !important;
}

/*--------------------------------------------------------------
TABLE OF CONTENTS:
----------------------------------------------------------------
1.0  Global
    1.1 Main Rules
    1.2 Font Size
    1.3 Global Classes
    1.4 Loading Wrap
    1.5 Entry Content
2.0  Forms
    2.1 Input
    2.2 Select
    2.3 Checkbox & Radio
    2.4 Date Picker
    2.5 Submit
    2.6 CF7
3.0  Cookies Banner
4.0  Header
    4.1 Social Links
    4.2 Language Switch
    4.3 Search Form
    4.4 Mobile Icon
    4.5 Mobile Menu
    4.6 Wide Menu
5.0 Buttons
    5.1 Regular
    5.2 Raised & Conversion
    5.3 Material
6.0 Gallery
    6.1 Slider
    6.2 Gallery
7.0 Pages
    7.1 Header
    7.2 Page #404
8.0 Archive
    8.1 Filters
    8.2 Archive Navigation
9.0 Footer
10.0 Responsive
--------------------------------------------------------------*/
@font-face {
    font-family: Circular Std;  
    src: url(fonts/CircularStd-Book.ttf);  
    font-weight: normal;  
}
@font-face {
    font-family: Circular Std;  
    src: url(fonts/CircularStd-BookItalic.ttf);  
    font-weight: normal;  
    font-style: italic;
}
@font-face {
    font-family: Circular Std;  
    src: url(fonts/CircularStd-Medium.ttf);  
    font-weight: bold;  
}
/* 0. Normalize
----------------------*/
*:focus { outline: 0; }
/* Visible keyboard focus indicator (Monica voce 3 / WCAG 2.4.7) */
*:focus-visible { outline: 2px solid var(--color-highlight); outline-offset: 2px; }
ul, ul ul {padding-left: 0; list-style-type: none;}
button {cursor: pointer}

/* 0. Responsive
----------------------*/
.onlyMobile, .onlyMobile.flex {display: none;}
.onlyPad, .onlyPad.flex {display: none;}
.only1024, .only1024.flex{display: none;}
.blend {
    background-blend-mode: multiply;
}
/*
.elementBlended {
    background-image: url(image.png); 
    background-color: color; 
}
*/
.absoluteCentered {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
}
/* 0. Flexbox
----------------------*/
.flex{
    display: -ms-flexbox;
    display: -webkit-flex;
    display: flex;
}
.flex.space-between {
    justify-content: space-between;
}

.flex.space-around {
    justify-content: space-around;
}
.flex.center {
    align-items: center;
}
.flex.wrap{
    flex-wrap: wrap;
}
.flex.column {
    flex-direction: column;
}
.flex.grow {
    flex-grow: 1;
}
.flex.end {
    justify-content: flex-end;
}
.flex.start{
    justify-content: flex-start;
}
/*--------------------------------------------------------------
1.0 Global
--------------------------------------------------------------*/
/* Fallback values for IDE static analysis — overridden at runtime by qtheme-core.php */
:root {
    --color-main:      #00588f;
    --color-highlight: #D04A02;
    --color-deep:      #042c45;
    --color-darkblue:  #022134;
    --color-off:       #b0bfc7;
    --color-font:      #999999;
}
body{position: relative; font-family: 'Circular Std'; color: #0f0f0f; font-size: 1.6rem; line-height: 2rem;}
h1,h2,h3,h4,h5,h6 {clear: both; margin: 0 0 2rem; padding: 3rem 0 0; line-height: 1em; color: #000000;}


h1:first-child,h2:first-child,h3:first-child,h4:first-child,h5:first-child,h6:first-child {padding-top: 0;}
b, strong{font-weight: bold;}
em{font-style: italic;}
sup{vertical-align: text-top; font-size: 0.6rem;}
sub{font-size: 0.6rem;}
p{margin: 1.5rem 0 0;}
a, button{text-decoration: none; transition: 0.5s ease;}
::placeholder {
    color: black!important;
}
/* ! DEBUG ! */
/* Non sentite il bisogno di avere queste due righe!?! */
/**
*, *:before, *:after {
	box-sizing: border-box;
}
/**/


/* 1.1 Font Size
----------------------*/
html{font-size: 62.5%;}
/* ! DEBUG ! */
/* Uncomment following lines, starting from the lower one, to keep enlarging fonts after 1440px breakpoint (i.e. standard mainWrap max-width) */
/**
@media only screen and (max-width: 3840px) {html {font-size: 38.4px; }}
/**
@media only screen and (max-width: 2560px) {html {font-size: 25.6px; }}
/**
@media only screen and (max-width: 1920px) {html {font-size: 19.2px; }}
/**
@media only screen and (max-width: 1600px) {html {font-size: 16px; }}
/**/
/*@media only screen and (max-width: 3840px) {html {font-size: 26.6px; }}
@media only screen and (max-width: 2560px) {html {font-size: 17.7px; }}*/
/*@media only screen and (min-width: 1920px) {html {font-size: 13.3px; }}*/
@media only screen and (max-width: 1600px) {html {font-size: 11.1px; }}
@media only screen and (max-width: 1440px) {html {font-size: 10px; }}
/*@media only screen and (max-width: 1366px) {html {font-size: 10px; }}
@media only screen and (max-width: 1280px) {html {font-size: 10px; }}
@media only screen and (max-width: 1152px) {html {font-size: 10px; }}
@media only screen and (max-width: 1024px) {html {font-size: 10px; }}*/

h1, .fs70{font-size: 7.0rem; line-height: 1.2;} /*diviso 4 per 5*/
.fs60{font-size: 6.0rem; line-height: 1.2;}
h2, .fs56{font-size: 5.6rem; line-height: 1.2;}
h3, .fs36{font-size: 3.6rem; line-height: 1.2;}
h4, .fs21{font-size: 2.1rem; line-height: 1.2;}
h5, .fs18{font-size: 1.8rem; line-height: 1.2;}
h6, .fs16{font-size: 1.6rem; line-height: 1.2;}
.fs30{font-size: 3.0rem; line-height: 3.0rem;}
.fs24 {font-size: 2.4rem; line-height: 2.4rem}
.fs15{font-size: 1.5rem;}
.fs14{font-size: 1.4rem;}
.fs12{font-size: 1.2rem;}

/*font-weight*/
.fwBlack {font-weight: 800}
.bold {font-weight: 800}
.light {font-weight: 300;}
.italic {font-style: italic}
.uppercase {text-transform: uppercase}
.capitalize {text-transform: capitalize}
.regular {font-weight: 400}
.pointer {cursor: pointer;}
svg {transition: 0.5s ease}


/* 1.2 Main Rules
----------------------*/
.mainWrap, .mainWrapAbsolute{
    display: block;
    width: 100%;
    box-sizing: border-box;
    padding: 0 8rem;
    max-width: 1600px;
    margin: auto;
}
.mainWrapAbsolute {
    left: 50%;
    transform: translate(-50%, 0);
    position: absolute;
}
.centralWrap{
    display: block;
    margin: auto;
    width: 70%;
    padding-right: 5rem;
    padding-left: 5rem;
}
.colsWrap{
    display: flex;
    justify-content: space-between;
}
.leftCol{
    width: 65%;
}
.rightCol{
    width: 30%;
}
.contentWrap{
    padding: 0 1.5rem;
    
}
.paddingWrap{
    padding-top: 3rem;
    padding-bottom: 3rem;
}
.material-icons, .svgIcon {
    margin-right: 1rem;
}
.svgIcon {
    height: 24px;
    width: auto;
}

i.fas, i.far {font-size: 2rem}
i.big {
    font-size: 5rem;
}
/*colors*/
a.white, .entryContent a.white {
    color: white;
}
.highlightColorOver, .mainColorOver, .highlightColorOver i {
    transition: 0.5s ease all;
}
.white {
    color: white;
}
.bgGrigio {
    background-color: #F2F2F2;
}
.darkblueColorBG {
    background-color: var(--color-darkblue);
}
.black {color: black;}
/* Variante di .offColor con contrasto sufficiente per testo interattivo (WCAG 1.4.3, 4.5:1+):
.offColor (#b0bfc7, ~1.9:1) va bene solo per elementi davvero inattivi/esentati (es. giorni fuori mese nel calendario) */
.offColorDark {color: #767676;} /* ~4.54:1 su bianco: il grigio più chiaro possibile restando sopra la soglia AA 4.5:1 per testo normale */
a:hover .offColor {
    transition: 0.5s ease;
}
/*padding, margin and borders*/
.borderTop {
    border-top: 1px solid;
}
.borderBottom {
    border-bottom: 1px solid;
}
.bordered { border: 1px solid; }
.boundaryLine {
    border-top: 1px solid #707070;
    height: 2px;
}
.noMargin {margin:0!important;}
/*display and position*/
.borderBox {box-sizing: border-box;}
.block {display: block;}
.inline {display: inline}
.relative {position: relative;}
.absolute {position: absolute;}
.fixed {position: fixed;}

.transition {transition: 0.5s ease;}


/*zoom*/
.zoomWrap{
    position: relative;
    overflow: hidden;
}
.zoom {
    transition: 0.5s ease;
}
.zoom:hover {
    transform: scale(1.5);
}
.horizontalAlign {
    position: relative;
    
        left:50%;
        -webkit-transform: translate(-50%, -0%);
        -moz-transform: translate(-50%, -0%);
        -ms-transform: translate(-50%, -0%);
        -o-transform: translate(-50%, -0%);
        transform: translate(-50%, 0%);
    }
    

/* 1.3 Global Classes
----------------------*/
.flexContainer{
    display: flex;
    align-items: center;
}
.backgroundCover{
    background-position: center center;
    background-size: cover;
    background-repeat: no-repeat;
}
.fitCover{
    width:100%;
    height: 100%;
    object-fit: cover;
}
.fitContain{
    width:100%;
    height: 100%;
    object-fit: contain;
}
.absoluteInRelative{
    position: absolute;
    left: 0;
    top: 0;
    width: 100%;
    height: 100%;
}
.mainColorOverlay {
    position: absolute;
    left: 0;
    top: 0;
    width: 100%;
    height: 100%;
    background-color: rgba(0,88,143,0.5)
}
.hidden {
    display:none;
}
.invisible {
    opacity: 0;
}
.shadow, .shadowOver:hover {
    box-shadow: 0px 3px 6px 0px rgba(0,0,0,0.2);
}
.borderRadius {
    border-radius: 2px;
}
.borderBox {box-sizing: border-box;}
/* 1.4 Loading Wrap
----------------------*/
#loadingWrap{
    position: fixed;
    display: none;
    align-items: center;
    justify-content: center;
    width: 100%;
    height: 100%;
    left: 0;
    top: 0;
    background: rgba(255,255,255,0.9);
    z-index: 9999;
}
#loadingWrap img{
    max-width: 65px;
    max-height: 65px;
}
.qthemeSpinner {
    width: 50px;
    height: 50px;
    border-radius: 50%;
    border: 5px solid rgba(0,88,143,0.15);
    border-top-color: #00588f;
    animation: qthemeSpin 0.8s linear infinite;
}
.qthemeSpinner.small {
    width: 28px;
    height: 28px;
    border-width: 3px;
}
@keyframes qthemeSpin {
    to { transform: rotate(360deg); }
}
@media (prefers-reduced-motion: reduce) {
    .qthemeSpinner {
        animation-duration: 2.5s; /* rallenta invece di rimuovere: resta un indicatore di caricamento */
    }
}

/* 1.4 Entry Content
----------------------*/
.entryContent p:first-child{
    margin-top: 0;
}
/* Interlinea testo redazionale 1.5 (Monica voce 11 / WCAG leggibilità) */
.entryContent, .stripeSubtitle, .slideContent {
    line-height: 1.5;
}
.entryContent a, .stripeSubtitle a, .slideContent a {
    text-decoration: underline;
}
/* Evita che la regola editoriale ".entryContent a" sottolinei l'interfaccia WooCommerce dell'area utente (nav laterale, card replica, bottoni) — l'underline resta solo per i link nei testi editoriali veri */
.entryContent .woocommerce a {
    text-decoration: none;
}
/* Stesso problema per i bottoni ".button" dentro contenuti editoriali (es. "Leggi tutto" nei risultati di ricerca):
la sottolineatura nativa si sommava al border-bottom di .button.regular .buttonText, creando una doppia riga */
.entryContent a.button, .stripeSubtitle a.button, .slideContent a.button {
    text-decoration: none;
}
.woocommerce .replicaLoop a.button.regular {
    color: var(--color-main);
}
.woocommerce .replicaLoop a.button.regular:hover {
    color: var(--color-highlight);
}
.entryContent img{
    max-width: 100%;
    height: auto;
    display: block;
    margin: 10px 0;
}
.entryContent img.qgalleryItem {
    margin-right: 30px;
    height: 300px;
    width: auto;
    max-width: none;
}
.entryContent img.aligncenter{
    margin: 10px auto;
}
.entryContent img.alignleft{
    float: left;
    margin-right: 20px;
}
.entryContent img.alignright{
    float: right;
    margin-left: 20px;
}
.entryContent ol, .entryContent ul{
    margin-left: 20px;
}
.entryContent ul li{
    list-style: disc;
}
.entryContent ol li{
    list-style: decimal;
}
.entryContent .buttonsContainer{
    margin: 2rem 0;
}

/*--------------------------------------------------------------
2.0 Forms
--------------------------------------------------------------*/
.qformField:not(.settings){
    margin: 2rem 0!important;
    padding: 0!important;
    border: none!important;
}
.qformField input:not([type=button]):not([type=submit]), .qformField textarea, .qformField select{
    width: 100%;
    box-sizing: border-box;
}
.qformField label {
    margin-bottom: 0.5rem;
    display: block;
    font-weight: normal!important;
}
.qformMessage{
    font-size: 1.1rem;
    line-height: 1.2rem;
    color: red;
    margin: 1rem 0;
}
.qformMessage br{
    line-height: 2rem;
}
.qformMessage.success{
    color: green;
}
.qformIndication{
    opacity: 0.5;
    font-size: 1rem;
    line-height: 1rem;
}
.qthemePwdIndicator{
    color: red;
    margin-bottom: 1rem;
    font-size: 1rem;
    line-height: 1rem;
}
.qthemePwdIndicator.strong,.qthemePwdIndicator.good{
    color: green;
}

/* 2.1 Input
----------------------*/
input:not([type=button]):not([type=submit]):not([type=image]), textarea, select {
    background: #f7f7f7;
    border: none;/**/
    border-radius: 2px;
    box-shadow: none;
    transition: all .5s;
    padding: 1rem 1.2rem;
    font-size: 1.6rem;
    width: 100% ;
    box-sizing: border-box;
    height: auto;
    position: relative;
}
input:not([type=button]):not([type=submit]):focus, textarea:focus, select:focus {
    background: #ffffff;
    border-color: #000000;
    transition: all .5s;
}
input.required:not([type=button]):not([type=submit]), textarea.required, select.required{
    border-right: 1px solid red;
}

/* 2.2 Select
----------------------*/
.qthemeSelectWrap {
    position: relative;
    flex-grow: 1;
}
.qthemeSelectWrap select {
    display: none;
}
.qthemeSelectWrap .select-selected {
/*    background: #f7f7f7;*/
/*    padding: 1rem 2.5rem 1rem 1.2rem;*/
    cursor: pointer;
    font-weight: bold;
/*    border: 1px solid #c4c4c4;*/
    color: var(--color-main);
}
.qthemeSelectWrap .select-selected:after, .qthemeDatePicker .selectedDate:after {
    content: "";
    position: absolute;
    top: 0.5rem;
    right: 1rem;
    width: 0;
    height: 0;
    border: 0.45rem solid transparent;
    border-color: #000000 transparent transparent transparent;
    display: none;
}
.qthemeSelectWrap .select-selected.select-arrow-active:after, .qthemeDatePicker .selectedDate.select-arrow-active:after {
    border-color: transparent transparent #000000 transparent;
    top: 0
}
.qthemeSelectWrap .select-items {
    position: absolute;
    background-color: white;
    top: 2.5rem;
    left: 0;
    right: 0;
    z-index: 99;
    min-width: 15rem;
}
.qthemeSelectWrap .select-items div {
    padding: 0.6rem 1.2rem;
    cursor: pointer;
    border: 1px solid #c4c4c4;
/*    border-top: 0;*/
    font-size: 1.3rem;
}
.qthemeSelectWrap .select-hide {
    display: none;
}
.qthemeSelectWrap .select-items div:hover,
.qthemeSelectWrap .same-as-selected,
.qthemeSelectWrap .active-option {
    background-color: rgba(0, 0, 0, 0.1);
}

/* 2.3 Checkbox & Radio
----------------------*/
input[type=checkbox],
input[type=radio]{
    display: inline!important;
    width:auto!important;
}
input[type=radio] {
    opacity: 0;
}
input[type=checkbox] + label, input[type=radio] + label{
    position: relative;
    padding-left: 2.8rem;
    cursor: pointer;
    display: inline-block;
    margin-left: 0;
}
input[type=checkbox] + label::before,
input[type=radio] + label::before{
    position: absolute;
    top: 0;
    left: 0;
    content: "";
    display: inline-block;
    width: 1.4rem;
    height: 1.4rem;
    background: #f7f7f7;
    border: 1px solid #c4c4c4;
}
input[type=radio] + label::before{
    border-radius: 100%;
}
input[type=checkbox] + label::after{
    content: '';
    position: absolute;
    left: 0.3rem;
    top: 0.3rem;
    display: inline-block;
    height: 0.4rem;
    width: 0.9rem;
    border-left: 2px solid #000000;
    border-bottom: 2px solid #000000;
    transform: rotate(-45deg);
    opacity: 0;
    transition: all 0.3s ease;
}
input[type=radio] + label::after{
    content: '';
    position: absolute;
    left: 0.3rem;
    top: 0.3rem;
    width: 1rem;
    height: 1rem;
    background: #000000;
    border-radius: 100%;
    opacity: 0;
    transform: scale(0);
    transition: all 0.3s ease;
}
input[type=checkbox]:checked + label::after{
    opacity: 1;
}
input[type=radio]:checked + label::after{
    opacity: 1;
    transform: scale(1);
}

/* 2.4 Date Picker
----------------------*/
.dateField{
    cursor: pointer;
}
.ui-datepicker {
    background: #ffffff;
    width: 25rem;
    padding: 0; 
    z-index: 999!important;
    border: 1px solid #000000;
    margin: 0.5rem 0;
}
.ui-datepicker-header{
    display: flex;
    align-items: center;
    justify-content: space-between;
    position: relative;
    background: #000000;
    color: #ffffff;
    padding: 1rem 0;
}
.ui-datepicker-prev {
    cursor: pointer;
    width: 4rem;
}
.ui-datepicker-next{
    cursor: pointer;
    width: 4rem;
}
.ui-datepicker-prev:before {
    font-family: "Material Icons", sans-serif;
    content: "\e314";
    font-size: 2rem;
    display: grid;
}
.ui-datepicker-next:before{
    font-family: "Material Icons", sans-serif;
    content: "\e315";
    font-size: 2rem;
    display: grid;
}
.ui-datepicker-prev span, .ui-datepicker-next span{
    display: none;
}
.ui-datepicker-title{
    text-align: center;
    padding: 1rem 0;
    text-transform: uppercase;
    flex-basis: 100%;
    display: flex;
    align-items: center;
}
.ui-datepicker-title select{
    background: none;
    padding: 0 0.5rem;
    color: #ffffff;
    border: none;
    text-transform: uppercase;
}
.ui-datepicker-calendar{
    width: 100%;
}
.ui-datepicker-calendar th{
    text-align: center;
    padding: 0.5rem 0;
}
.ui-datepicker-calendar td{
    text-align: center;
    padding: 0.5rem;
    border: 1px solid #cccccc;
    transition: all 0.5s;
    cursor: pointer;
}
.ui-datepicker-calendar a{
    color: #000000;
}
.ui-datepicker-calendar td:hover{
    background: #000000;
}
.ui-datepicker-calendar td:hover a{
    color: #ffffff;
}

/* 2.5 Submit
----------------------*/
input[type=button], input[type=submit]{
    transition: 0.5s ease;
    cursor: pointer;
/*    background: #000000;
    border: 1px solid #c4c4c4;
    color: #ffffff;
    padding: 1rem 3rem;
    cursor: pointer;
    transition: ease .5s;
    opacity: 1;*/
}
input[type=button]:hover, input[type=submit]:hover{
/*    background: #f7f7f7;
    color: #000000;
    border: 1px solid #c4c4c4;
    opacity: 1;*/
}
input[type=button]:disabled, input[type=submit]:disabled{
    opacity: 0.5;
}

/* 2.6 CF7
----------------------*/
/*.wpcf7-acceptance span.wpcf7-list-item {
    margin: 0;

}*/
/*.wpcf7-acceptance span.wpcf7-list-item label, .wpcf7-form-control.wpcf7-checkbox span.wpcf7-list-item label{
    display: flex;
    align-items: flex-start;
    position: relative;

}*/
input[type=checkbox]{
    cursor: pointer;
    display: block;
    width: 1.4rem;
    margin-right: 1rem;
}
input[type=checkbox]:before{
    position: absolute;
    top: 0;
    left: 0;
    content: "";
    display: inline-block;
    width: 1.4rem;
    height: 1.4rem;
    background: #f7f7f7;
    border: 1px solid #c4c4c4;
}
input[type=checkbox]:after{
    content: '';
    position: absolute;
    left: 0.3rem;
    top: 0.3rem;
    display: inline-block;
    height: 0.4rem;
    width: 0.9rem;
    border-left: 2px solid #000000;
    border-bottom: 2px solid #000000;
    transform: rotate(-45deg);
    opacity: 0;
    transition: all 0.3s ease;
}
input[type=checkbox]:checked:after{
    opacity: 1;
}

div.wpcf7 .ajax-loader{
    background-image: url('img/loading.gif');
    background-size: cover;
    width: 2rem;
    height: 2rem;
    margin-left: 2rem;
}
span.wpcf7-not-valid-tip{
    font-weight: 100;
    margin-top: 1rem;
    font-size: 1rem;
}
div.wpcf7-response-output{
    padding: 0;
    font-size: 1rem;
    font-weight: 100;
}
div.wpcf7-validation-errors{
    border: none;
    color: red;
    margin: 2rem 0;
    font-weight: 100;
    font-size: 1rem;
}
div.wpcf7-mail-sent-ok{
    border: none;
    color: #398f14;
    font-weight: 100;
    font-size: 1rem;
}
/*.wpcf7-list-item.first label{
    margin: 0 1rem;
    font-weight: 100;
    font-size: 1rem;
}*/

/*--------------------------------------------------------------
3.0 Cookies Banner
--------------------------------------------------------------*/
#qthemeCookieBanner{
    background: #000000;
    color: #ffffff;
    text-align: center;
    padding: 2rem 0;
    position: fixed;
    bottom: 0;
    width: 100%;
    z-index: 9999;
    font-size: 1rem;
    line-height: 1.2rem;
}
#qthemeCookieBanner .text{
    padding: 0 10%;
}
#qthemeCookieBanner .actionsButton{
    margin-top: 1rem;
}
#qthemeCookieBanner .actionsButton a{
    text-transform: uppercase;
    margin: 0 1.5rem;
    color: #ffffff;
}

/*--------------------------------------------------------------
4.0 Header
--------------------------------------------------------------*/
#main {overflow: hidden; width: 100%; margin-top: 3rem;}
#main.mainStickToTop {margin-top:0;}
.siteHeader{
    border-bottom: 1px solid var(--color-off);
    width: 100%;
    top: 0;
    z-index: 9;
    background-color: #ffffff;
    transition: all 0.5s ease-in-out;
    position: relative;
}
.siteHeader.transparentHeader {
    background-color: transparent;
    border: 0;
}
.siteHeader.normalHeight .slide {
    height: 39rem;
    position: relative;
}
.siteHeader.tallHeight .slide {
    height: 75rem;
    position: relative;
}
.siteHeader.normalHeight .qsliderDots {
    bottom: -2rem;
}
.siteHeader.mediumHeight .slide {
    height: 65rem;
    position: relative;
}
.siteHeader.navUp{
    top: -105px;
}
.siteHeader.marginBottom {
    margin-bottom: 3rem;
}

/*.headerInside.mainWrap {
    max-width: none;
}*/
.siteHeader .headerLogo, .siteHeader .stripeHeaderContent {
    position: absolute;
}
.headerLogoInside > a {
    min-width: 85px;
}
/*spazio tra logo e minisiteWrap/logoTxt: prima era un margin-right inline sul link del logo,
ora un gap sul contenitore flex (override mobile in responsive.css)*/
.headerLogoInside {
    gap: 3rem;
}
/*nell'header desktop il minisiteWrap "vuoto" (nessuna minisite, quindi solo lo switch lingua)
va nascosto: lì lo switch è già mostrato in .navWrapper. Nel pannello mobile (.mobNav) resta
sempre visibile, unico posto dove lo switch lingua è disponibile su mobile*/
.headerLogo .minisiteWrap.noMinisite {
    display: none;
}
.headerLogo {
    padding-top: 1.5rem;
    padding-bottom: 1.5rem;
    top: 0;
}
 .headerLogoInside img{
    max-width: 100%;
}
 .headerLogoInside svg{
     max-width: 100%;
}
/*padding e border-left del blocco switch+titolo minisite: sul parent minisiteWrap,
non più sul singolo figlio .minisite (stesso criterio applicato nel pannello mobile, vedi responsive.css)*/
.headerLogoInside .minisiteWrap {
    padding: 3rem;
    border-left: 1px solid white;
}
.siteHeader .stripeHeaderContent{
    bottom: 0;
    margin-bottom: 5rem;
}
.siteHeader.tallHeight .stripeHeaderContent {
    bottom: 5rem;
    transform: translate(-50%, 0%);
    left: 50%;
}
.siteHeader.mediumHeight .stripeHeaderContent {
/*    bottom: 0;*/
}


.stripeHeaderContent .postTitle {
    margin-bottom: 0;
    width: 800px;
    padding-top: 0;
    margin-top: 1rem;
    max-width: 90%;
}

.siteHeader.mediumHeight .stripeHeaderContent .postTitle {
    font-size: 4.8rem;
    line-height: 4.8rem;
}

.stripeHeaderContent .content {
    border-top: 1px solid white;
    padding-top: 2.5rem;
    margin-top: 4rem;
    max-width: 480px;
}
.siteHeader.mediumHeight .stripeHeaderContent .content {
    font-size: 2.1rem;
    border-top: none;
    margin-top: 0;
}
/* .salaLink ha classe .black in markup: senza override resterebbe nero sull'overlay scuro della cover (WCAG 1.4.3) */
.stripeHeaderContent .salaLink {
    color: #ffffff;
    text-decoration: underline;
}

.stripeHeaderContent .buttonsContainer .button{
    margin-top: 3rem;
    
}

.siteHeader.sliderHeader .qsliderDots ul {
    justify-content: flex-start;
    margin-left: 1.5rem;
}

.mobMenuOpen {
    transition: 0.5s ease;
    font-size: 3rem;
    cursor: pointer;
    margin-right: 0!important;
}
.mobMenuIcon {
    cursor: pointer;
    position: fixed;
    z-index: 10;
    right: 0;
    background: white;
    display: flex;
    justify-content: space-around;
    align-items: center;
    height: 8rem;
    width: 8rem;
    top: 35rem;
    box-shadow: 0px 3px 6px 0px rgba(0,0,0,0.2);
}

.mobMenuIcon i {
    font-size: 4rem;
}
/* Etichetta testuale sotto le icone cerca/menu (UX cognitiva) */
.iconWithLabel {
    display: flex;
    flex-direction: column;
    align-items: center;
}
.iconLabel {
    font-size: 1rem;
    line-height: 1;
    text-transform: uppercase;
    margin-top: 0.2rem;
}
.mobMenuIcon.iconWithLabel {
    flex-direction: column;
    justify-content: center;
}
.mobMenuIcon.iconWithLabel i {
    font-size: 3.4rem;
}
.siteHeader .navWrapper {
    position: absolute;
    right: 3rem;
    /* Sotto a .mobNav (z-index:9) così l'icona di ricerca resta coperta quando il menu mobile è aperto;
       sopra al contenuto normale (z-index:auto). Prima era 10 = sopra al menu per errore. */
    z-index: 5;
    top: 1rem;
}

.minisiteMenu {
    display: flex;
    justify-content: flex-end;
    flex-wrap: wrap;
}
.minisiteMenu ul {
    display: flex;
}
.minisiteMenu li {
    margin: 0.4rem 0;
}
.minisiteMenu li:not(:last-of-type):after {
    content: "-";
    margin: 0 0.5rem;
}
.minisiteMenu li > a{
    text-transform: uppercase;
}
.minisiteMenu .current_page_item > a,
.minisiteMenu .current-menu-item > a {
    text-decoration: underline;
}

/* 4.1 Social Link
----------------------*/
.siteHeader .socialLinks{
    position: absolute;
    right: 0.9rem;
    z-index: 9;
    top: 7.2rem;
}
.siteHeader.tallHeight .socialLinks {
    top: 45rem;
}
.siteHeader .socialLinksWrapper{
    display: flex;
    flex-direction: column;
    align-items: center;

}
.socialLinksWrapper .item{
    padding-bottom: 2rem;
}
.socialLinksWrapper .item:first-child{
    margin-left: 0;
}
.socialLinksWrapper svg, .socialLinksWrapper path {
    font-size: 2rem;
    height: 2rem;
}
.socialLinksWrapper path {
    fill: currentcolor;
}
.socialLinksWrapper img{
    max-height: 1.6rem;
}

/* 4.2 Social Share
----------------------*/
.socialShareButton {
    cursor: pointer;
    font-size: 2rem;
}
.shareItems {
        right: 100%;
    position: absolute; 
    bottom: 0;
    padding: 2rem 1.5rem;
    margin-right: 2rem;
}

/* 4.2b Add to Calendar
----------------------*/
.addToCalendar {
    position: relative;
}
.addToCalendarMenu {
    position: absolute;
    left: 0;
    top: 100%;
    z-index: 5;
    background: white;
    box-shadow: 0px 3px 6px 0px rgba(0,0,0,0.2);
    min-width: 18rem;
}
.addToCalendarMenuTitle {
    padding: 1rem 1.5rem;
    border-bottom: 1px solid var(--color-off);
}
.addToCalendarMenu ul {
    padding: 1rem 0;
    margin: 0;
    list-style: none;
}
.addToCalendarMenu a {
    display: flex;
    align-items: center;
    gap: 1rem;
    white-space: nowrap;
    padding: 0.8rem 1.5rem;
}
.addToCalendarMenu a:hover {
    background: var(--color-off);
}
.addToCalendarMenu a .fab {
    width: 1.6rem;
    text-align: center;
}
/* 4.2 Language Switch
----------------------*/
.minisiteWrap .languageSwitch {
    display: none;
}
.languageSwitch .langLink a{
    text-transform: uppercase;
}
.languageSwitch .langLink .active {
    text-decoration: underline;
}
.languageSwitch .separator {
    margin: 0 0.3rem;
}


.reservedArea {
    display: none;
    color: white;
    justify-content: flex-end;
    font-size: 2.5rem;
    margin-bottom: 1.5rem;
}
.logged-in .reservedArea {
    display: block;
}
.reservedArea i {
    margin-right: 0.5rem;
}
    /* 4.3 Search Form
    ----------------------*/
.searchFormWrap{
    display: flex;
    align-items: center;
    position: absolute;
    right: 0;
}
.siteHeader .searchFormWrap {
    position: absolute;
    top: 28rem;
}
.searchFormWrap form{
    display: none;
    position: absolute;
    right: -1.5rem;
    top: -0.5rem;
    width: 40rem;
}

.searchFormWrap .searchIcon{
    cursor: pointer;
    font-size: 2.5rem;
}
.searchInputWrap {
    background: white;
    padding: 1rem 2rem;
    border-radius: 3rem;
}
.searchFormWrap input{
    padding: 0!important;
    border: none!important;
    
}

/* clears the 'X' from Internet Explorer */
input[type=search]::-ms-clear {  display: none; width : 0; height: 0; }
input[type=search]::-ms-reveal {  display: none; width : 0; height: 0; }

/* clears the 'X' from Chrome */
input[type="search"]::-webkit-search-decoration,
input[type="search"]::-webkit-search-cancel-button,
input[type="search"]::-webkit-search-results-button,
input[type="search"]::-webkit-search-results-decoration { display: none; }

.headerNav {
    position: absolute;
    right: 3rem;
}
.headerNav .searchFormWrap .searchIcon{

}
/*.mobMenuIcon {
    margin-right: 0!important;
}*/
/* 4.5 Wide Menu
----------------------*/
.wideNav ul{
    padding-left: 0;
}
.wideNav li{
    list-style: none;
    display: inline-block;
    margin-right: 1rem;
}
.right .wideNav{
    text-align: right;
}
.right .wideNav li{
    margin-right: 0;
    margin-left: 1rem;
}

/* 4.6 Mobile Icon
----------------------*/
.mobNav{
    position: fixed;
    top: 0;
    background: #ffffff;
    z-index: 9;
    width: 100%;
    box-sizing: border-box;
    display: none;
    background-color: black;
    min-height: 100vh;
}
.mobNav.right {
    right: 0;
    -webkit-box-shadow: -3px 0px 5px 0px rgba(0,0,0,0.3);
    -moz-box-shadow: -3px 0px 5px 0px rgba(0,0,0,0.3);
    box-shadow: -3px 0px 5px 0px rgba(0,0,0,0.3);
    overflow-y: scroll;
}
.mobNav.left {
    left: 0;
    -webkit-box-shadow: 3px 0px 5px 0px rgba(0,0,0,0.3);
    -moz-box-shadow: 3px 0px 5px 0px rgba(0,0,0,0.3);
    box-shadow: 3px 0px 5px 0px rgba(0,0,0,0.3);
}
.mobNav .inside{
    padding-top: 1.5rem;
}

.mobNav .languageSwitch{
    display: none;
}
/*.mobNav.right .inside,
.mobNav.left .inside{
    padding: 1.5rem 0;
}*/
.mobMenuIcon .close{
    
    cursor: pointer;
/*    transition: 0.5s ease;
      font-size: 4rem;
*/
    margin-right: 0;
}
.mobNav .headerLogoInside {
    margin-bottom: 3rem;
}
.mobNav .close:hover {
    color: white;
}
.mobNav .navWrapper {
    position: initial;
}
.mobNav .socialLinks {
    position: initial;
}
.mobNav .headerTitle {
    margin: 0 3rem;
}
.mobNav .socialLinksWrapper,  .newsletterStripe .socialLinksWrapper{
    flex-direction: row;
}
.mobNav .socialLinksWrapper .item, .newsletterStripe .socialLinksWrapper .item {
    padding-left: 2rem;
    padding-bottom: 0;
}
.qmenu a{
    color: white;
}
.qmenu{
    display: flex;
    flex-wrap: wrap;
    margin: 0;
    padding-left: 0;
/*    margin-bottom: 18rem;*/
}


.qmenu > li {
    width: 22%;
    min-width: 120px;
    display: block;
    
    margin-right: 4%;
    font-size: 2.7rem;
    margin-bottom: 3rem;
}
.qmenu > li:nth-child(4n){
    margin-right: 0;
}
.qmenu > li > a {
    margin-bottom: 2.5rem;
    display: block;
    line-height: 3rem;
    cursor: initial;
}
.qmenu > li > a:hover {color: white;}

.qmenu .sub-menu > li {
    font-size: 1.6rem;
    margin-bottom: 1rem;
}
.mobNav .bottomStripe {
    padding: 4rem 0;
}
.mobNav .bottomStripe > * {
    box-sizing: border-box;
}
/*.mobNav .bottomStripe .title {
    width: 55rem;
}
.mobNav .bottomStripe .content {
    width: 45rem;
}*/
.mobNav .bottomStripe .button.raised {
    border-color: white;
    color: white;
}
.mobNav .bottomStripe .button.raised:hover {
    background: white;
}
/*--------------------------------------------------------------
5.0 Buttons
--------------------------------------------------------------*/
.buttonsContainer{
    display: flex;
    align-items: center;
    flex-wrap: wrap;
}
.buttonsContainer .button:first-child{
    margin-left: 0;
}
.button:not(:last-of-type){
    margin-right: 2rem;
    
}
.button.iconWrap .icon.customSVG svg path,
.button.iconWrap .icon.customSVG svg polygon{
    transition: 0.5s ease;
}
.button {
    font-weight: bold;
}

.button.disabled {
    opacity: 0.4;
}
/* 5.1 Regular
----------------------*/
.button:hover{
}
.button:hover .icon.customSVG svg path,
.button:hover .icon.customSVG svg polygon{
    fill: red;
}
.button .buttonText{
    font-size: 1.6rem;
}
.smallButton.button .buttonText{
    font-size: 1.3rem;
}
.button.regular .buttonText{
    border-bottom: 2px solid;
    padding-bottom: 1px;
}
.button.regular .icon {
    margin-right: 0;
    padding-right: 0.5rem;
    border-bottom: 2px solid;
    padding-bottom: 1px;
}
/* 5.2 Raised & Conversion
----------------------*/
.button.raised, .button.conversion, input[type=button], input[type=submit], .woocommerce button[type=submit]{
    background: transparent;
    padding: 1.1rem 4.5rem;
    border: 0.5rem solid;
    padding: 0.8rem 3rem;
    border: 0.3rem solid;
}

.smallButton.raised, .smallButton.conversion{
    padding: 0.8rem 3rem;
    border: 0.3rem solid;
}
.button.raised:hover, .button.conversion:hover{
    color: white;
}
/* Raised buttons on dark backgrounds (already flagged .white): white variant — designer spec / WCAG contrast */
.button.white.raised {
    color: #ffffff;
    border-color: #ffffff;
}
.button.white.raised:hover {
    background-color: #ffffff;
    border-color: #ffffff;
    color: #042c45;
}
/* Link .white su sfondo scuro: niente arancione sull'hover (Monica / WCAG 1.4.3) */
/* :not(.offColorOver) esclude i social, che in hover devono andare a off color */
a.white:hover:not(.offColorOver) {
    color: #ffffff;
}
.button.conversion{
    background-color: #ff0000;
    border: 1px solid #ff0000;
}
.button.conversion:hover{
    border: 1px solid #000000;
}
.button.raised .icon.customSVG svg path,
.button.raised .icon.customSVG svg polygon,
.button.conversion .icon.customSVG svg path,
.button.conversion .icon.customSVG svg polygon{
    fill: #ffffff;
}
.button.raised:hover .icon.customSVG svg path,
.button.raised:hover .icon.customSVG svg polygon,
.button.conversion:hover .icon.customSVG svg path,
.button.conversion:hover .icon.customSVG svg polygon{
    fill: #000000;
}

/* 5.3 Material
----------------------*/
.button.material {
    position: relative;
    background: #ffffff;
    overflow: hidden;
    border-width: 0;
    border-radius: 2px;
    color: #000000;
    transition: ease .5s;
    box-shadow: 0 1px 4px rgba(0, 0, 0, .6);
}
.button.material:hover, .button.material:focus {
    background-color: var(--color-off);
    box-shadow: 0px 2px 10px rgba(0, 0, 0, .6);
}
.button.material > * {
    position: relative;
}
.button.material:before {
    content: "";
    position: absolute;
    top: 50%;
    left: 50%;
    display: block;
    width: 0;
    padding-top: 0;
    border-radius: 100%;
    background-color: rgba(236, 240, 241, .3);
    -webkit-transform: translate(-50%, -50%);
    -moz-transform: translate(-50%, -50%);
    -ms-transform: translate(-50%, -50%);
    -o-transform: translate(-50%, -50%);
    transform: translate(-50%, -50%);
}
.button.material:active:before {
    width: 120%;
    padding-top: 120%;
    transition: width .2s ease-out, padding-top .2s ease-out;
}

/*--------------------------------------------------------------
6.0 Gallery
--------------------------------------------------------------*/
.qsliderWrap .imageWrap,
.qgalleryWrap .imageWrap{
/*    width: 100%;
    height: 100%;
    box-sizing: border-box;
    padding: 1rem;
    text-align: center;
    display: inline-block;
    vertical-align: middle;*/
}
.qsliderWrap .imageWrap img {
    height: 38rem;
    width: auto;
    margin-right: 3rem;
}
.qsliderWrap .lightbox,
.qgalleryWrap .lightbox{
    cursor: pointer;
}
/* 6.1 Slider
----------------------*/
.qslider .slick-track {
    display: flex;
}
.qslider img{
    display: inline-block;
}
.qsliderArrows{
    text-align: right;
}
.qsliderArrows .qsliderArrow:first-child{
    margin: 0;
}
.qsliderArrow{
    cursor: pointer;
    margin-left: 0.5rem;
    transition: 0.5s ease;
    margin-right: 0;
}
.qsliderArrow.slick-disabled, .qsliderArrow.swiper-button-disabled{
    color: var(--color-off);
}

.qsliderArrows i{
    font-size: 4rem;
}
.qsliderDots ul{
    list-style: none;
    padding: 0;
    margin: 0;
    display: flex;
    align-items: center;
}
.qsliderDots li{
    display: inline-block;
    width: 1rem;
    height: 1rem;
    background: white;
    margin-right: 1rem;
    cursor: pointer;
    transition: 0.5s ease;
}

.qsliderDots li.slick-active{
    background: red;
    width: 1.5rem;
    height: 1.5rem;
    
}
.qsliderDots button{
    display: none;
}
.cutSlider .qsliderNext {
    margin-right: 8rem;
}
.cutSlider .qsliderNext.hidden {
    display: none!important;
}
.cutSlider .qsliderArrows {
    position: static;
}

.swiper-container {
    margin-top: -4.2rem;
}
.swiper-container .qsliderArrows {
    margin-right: 3rem;
}
/* 6.2 Gallery
----------------------*/
.qgalleryWrap {
    width: 100%;
    display: flex;
    flex-wrap: wrap;
    align-items: center;
}
.qgalleryWrap .lightbox{
    display: inline-block;
    cursor: pointer;
}
.qgalleryWrap.col2 .imageWrap{width: 50%;}
.qgalleryWrap.col3 .imageWrap{width: 33%;}
.qgalleryWrap.col4 .imageWrap{width: 25%;}

/* 6.2 Lightbox
----------------------*/
.fancybox-close-small svg {
    color: white;
}
.fancybox-caption {
    position: static;
}
/*--------------------------------------------------------------
7.0 Page #404
--------------------------------------------------------------*/
/* 7.1 Header
----------------------*/
.postHeader{
    margin-bottom: 2rem;
}

/* 7.2 Page #404
----------------------*/
#post404{
    text-align: center;
    padding: 3rem 0;
}
#post404 h1{
    font-size: 10rem;
    line-height: 10rem;
    font-weight: bold;
    margin-bottom: 0.5rem;
}
#post404 .pageNotFound{
    font-size: 3rem;
    font-weight: bold;
}
#post404 .disclaimer{
    margin-top: 3rem;
    font-size: 2.2rem;
    line-height: 2.2rem;
}

/* 7.1 Page Archive Concert
----------------------*/
#archiveReplace {
    width: 100%;
}
.archiveConcert .boxReplicaLoop {
        width:30%;
        margin-right: 3%;
    }
/*--------------------------------------------------------------
8.0 Archive
--------------------------------------------------------------*/
/* 8.1 Filters
----------------------*/
.filterWrap{
    margin: 1.5rem 0;
}
.filterWrap label{
/*    margin-bottom: 0.5rem;*/
    display: inline-block;
}
.filterItemWrap {
    display: inline-block;
    margin: 0.5rem 1rem;
}
.filterItemList input[type=radio] + label{
    padding-left: 0!important;
    transition: 0.5s ease;
}

.filterItemList input[type=radio] + label::after,
.filterItemList input[type=radio] + label::before{
    opacity: 0;
}
.filterItemList input[type=radio] + label:hover,
.filterItemList input[type=radio]:checked + label{
    color: red;
}
/* Toggle "In evidenza / Archivio" della ricerca: l'opzione selezionata prende il blu del tema
(stessa specificità della regola generica sopra, vince per ordine di dichiarazione) */
.searchStatoWrap input[type=radio]:checked + label {
    color: var(--color-main, #00588f);
}
.loadMore i {
    font-size: 5rem!important;
    border-radius: 3rem;
    color: white;
}
/* 8.2 Archive Navigation
----------------------*/
#pageArchive .postContent{
    margin-bottom: 2rem;
}
.navLoadMore .loadMore{
    display: inline-block;
    margin-left: 0;
    margin-top: 1rem;
}
.navPagination{
    margin-top: 1rem;
    justify-content: center;

}
.navPagination a{
    color: white;
    padding: 1rem 1.5rem;
    border-radius: 100%;
    margin: 0 0.5rem;
}

.navPagination a:hover,
.navPagination a.active{
    color: white;
}
/*--------------------------------------------------------------
10.0 EXTRA
--------------------------------------------------------------*/
.qthemeCalendar{
    padding: 29px;
    font-size: 12px;
    width: 300px;
    box-sizing: border-box;
    transition: 0.5s ease;
    position: relative; /* ancora lo spinner mostrato durante il cambio mese */
}
.qthemeCalendar .calendarSpinner {
    position: absolute;
    top: 50%;
    left: 50%;
    margin: -14px 0 0 -14px; /* metà della dimensione dello spinner .small, per centrarlo */
    z-index: 20; /* sopra la tendina .monthPicker (z-index:10), altrimenti resta coperto quando si sceglie un mese dalla select */
}
.qthemeCalendar table{
    width: 100%;
    text-align: center;
    border-spacing: 0;
    
}
.qthemeCalendar .calendarHeader{
    padding: 0 2% 1.25rem 2%;
    margin-bottom: 1.25rem;
    position: relative; /* ancora la tendina di selezione rapida del mese */
}
.qthemeCalendar .calendarRefresh{
    margin-right: 0;
    font-size: 2.5rem;
    cursor: pointer;
    transition: 0.5s ease;
}
.qthemeCalendar.loading {
    opacity: 0.5;
    pointer-events: none;
    transition: opacity 0.15s ease;
}
.qthemeCalendar .monthAndYear {
    display: flex;
    align-items: center;
}
.qthemeCalendar .monthAndYearIcon {
    font-size: 2rem;
    margin-left: 0.2rem;
    transition: transform 0.3s ease;
}
.qthemeCalendar .monthAndYear[aria-expanded="true"] .monthAndYearIcon {
    transform: rotate(180deg);
}
.qthemeCalendar .monthPicker {
    position: absolute;
    top: 100%;
    left: 0;
    right: 0;
    z-index: 10;
    max-height: 24rem;
    overflow-y: auto;
    background: #ffffff;
    border: 1px solid #b0bfc7;
    box-shadow: 0 4px 12px rgba(0,0,0,0.15);
    font-weight: normal;
}
.qthemeCalendar .monthOption {
    padding: 0.8rem 1.2rem;
    font-size: 1.4rem;
}
.qthemeCalendar .monthOption:hover {
    background: rgba(0,88,143,0.1);
}
.qthemeCalendar .monthOption.current {
    color: #ffffff;
    font-weight: bold;
}

.qthemeCalendar td, .qthemeCalendar th{
    padding: 7px 0;
    box-sizing: border-box;
    width: 34px;
}


.qthemeDatePicker td.selected {
    text-decoration: underline;
}

.mailUpForm #privacypolicy {
        position: relative;
    display: block!important;
    left: 0;
    width: 1rem;
    opacity: 0;
}
.iframeTO{
    width: 100%;
    height: 1800px;
}

/*--------------------------------------------------------------
audio
--------------------------------------------------------------*/
.mejs-container, .mejs-container .mejs-controls, .mejs-embed, .mejs-embed body {
    background: none;
}

/*--------------------------------------------------------------
autocomplete
--------------------------------------------------------------*/

.ui-autocomplete{
    background-color: white;
    border: 1px solid #cccccc;
    max-height: 200px;
    overflow-y: scroll;
}
.ui-menu-item{
    padding: 5px 10px;
    cursor: pointer;
}
.ui-state-focus{
    color: white;
}
.ui-helper-hidden-accessible{
    display: none;
}

/*--------------------------------------------------------------
9.0 Footer
--------------------------------------------------------------*/

.siteFooter{
    padding-top: 2rem;
}
/*9.0.1
newsletter stripe
*/
.newsletterStripe {
    background-color: var(--color-deep);
    padding: 5.5rem 0;
    margin-top: 5rem;
}

.newsletterStripe .socialLinksWrapper {
    display: flex
}
.newsletterStripe .separator {
    margin: 3.5rem 0 2.5rem 0;
}
/*9.0.2
stripe sponsors
*/

.stripeSponsors .etichettaRiga {
    padding-bottom: 1.5rem; padding-top: 1.5rem
}

.stripeSponsors .sponsor {
    min-width: 160px;
    width: 16rem;
    position: relative;
    margin-bottom: 4rem;
}   

.stripeSponsors .sponsor:not(:last-of-type){
    margin-right: 3rem;
}
.stripeSponsors .sponsor a {
    min-height: 70px;
    display: block;
    top: 1rem;
}
.stripeSponsors .sponsor img {
    max-width: 100%;
    max-height: 100%;
}
.stripeSponsors .sponsor .label {
    position: relative;
    width: 350px;
    height: 2rem
}
.stripeSponsors .cta {
    padding-top: 2rem;
    padding-bottom: 2rem;
}

.footerWrap{
     border-top: 1px solid var(--color-off);
     padding-top: 5rem;
/*    display: flex;
    justify-content: space-between;
    align-items: center;
    line-height: 1.5em;*/
}
.logoFooter {
    margin-right: 10rem;
}
.logoFooter path {
    fill: black;
}
.footerWrap .menuWrap {
    flex-grow: 1;
}
.footerMenu {
    display: flex;
    flex-wrap: wrap;
}
.footerMenu a {
    color: black;
}
.footerMenu > li {
    padding: 1rem 1.5rem 2rem 1.5rem;
    width: 20%;
    min-width: 200px;
    box-sizing: border-box;
    
}
.footerMenu > li > a {
    margin-bottom: 1rem;
    display: block;
    text-transform: uppercase;
}
.footerMenu > li > a:hover {
    color: black;
}
.siteFooter .bottom {
    background: black;
    margin-top: 6rem;
}
.bottomMenu {
    display: flex;
    text-transform: uppercase;
    margin: 1rem 0;
}
.bottomMenu > li > a{
    margin: 1rem 1.5rem;
    color: white;
}
.bottomMenu > li > a:before {
    font-family: 'Material Icons';
    content: "\e315";
    font-size: 2rem;
    top: 0.5rem;
    position: relative;
 
}
.craftedby svg{
    font-family: 'Montserrat', sans-serif;
    width: 180px;
    transition: 0.5s ease;
    fill: white;
    transition: none!important;
    margin-top: 1rem;
}

/* L'overlay scuro sotto la CTA video/media resta invariato: il bianco garantisce contrasto sufficiente (5.6:1),
   l'arancione highlight (colore di hover generico del tema) no — WCAG 1.4.3. Sottolineatura come secondo
   segnale di hover, non solo il colore (WCAG 1.4.1) */
.mediaLoopAction:hover .ctaWrap * {
    color: #fff !important;
}
.mediaLoopAction:hover .ctaWrap .ctaLabel {
    text-decoration: underline;
}


/*RESPONSIVE vedi template.css*/
