/*
Theme Name: Macerata Opera Festival 2025
Template: mof-parent 
Version: 6.78
*/
/*COLOR PALETTE
orange #e87e27 -> red #CC2727
*/
/*@import url("fonts/fonts.css");*/
@import url("fonts/new_fonts.css");
@import url('https://fonts.googleapis.com/css?family=PT+Sans:400,400i,700,700i|Kanit:300,400,600,700');


/*CUSTOM VISUAL COMPOSER*/
.mycontainer > .vc_row { padding-bottom: 0; padding-top: 50px; }
.vc_btn3.vc_btn3-color-warning, .vc_btn3.vc_btn3-color-warning.vc_btn3-style-flat { background-color: #CC2727 !important;}
/*GENERAL*/

body, html { margin: 0; padding: 0; }
strong { font-weight: 700 }
#wrapper { max-width: 2140px; display: block; margin: 0 auto; }
section, .myrow { float: left; width: 100%; box-sizing: border-box; -webkit-box-sizing: border-box; -moz-box-sizing: border-box; -ms-box-sizing: border-box; -o-box-sizing: border-box; position: relative }
.mycover { height: 100%; width: 100%; position: absolute; left: 0; top: 0; background-size: cover; background-position: center center; background-repeat: no-repeat; box-sizing: border-box; -webkit-box-sizing: border-box; -moz-box-sizing: border-box; -o-box-sizing: border-box; }
.mycontainer { display: block; margin: 0 auto; max-width: 94%; width: 1520px; }
.img-responsive { max-width: 100%; height: auto; }
figure { margin: 0; padding: 0; }
h1, h2, h3, h4, h5, h6, h7 { margin: 0 0 15px; padding: 0; /*color: #252450;*/ color: #111; width: 100%; display: inline-block; font-weight: 900; letter-spacing: 0;}
h1 { text-transform: uppercase }
h2, h3 { text-transform: none; }
.titolo_h1 {
	text-align: center;
	margin: 40px 0 80px;
	display: block;
}
.mainpage { margin-top:40px}
ul, li { margin: 0; padding: 0; list-style: none }
a { color: inherit }
/** 
h1.vc_custom_heading, h2.vc_custom_heading, h3.vc_custom_heading {  font-weight: 900 !important; }
h1 > a, h2 > a, h3 > a, h4 > a, h5 > a, h6 > a, h7 > a { color: #111; }
h1 > a:hover, h2 > a:hover, h3 > a:hover, h4 > a:hover, h5 > a:hover, h6 > a:hover, h > a:hover { color: #476786; }
h1 { font-size: 42px; line-height: 48px }
h2 { font-size: 32px; line-height: 36px }
h3 { font-size: 22px; line-height: 25px }
p { display: inline-block; margin: 0 0 15px !important; font-size: 16px; line-height: 25px; }
.vc_row div > p { display: inline-block; width: 100%; }
.mybgcolor { background-color: #d9d9d9 }
.mytesto { display: inline-block; width: 100%; font-size: 18px; line-height: 25px; color: #333333; text-align: justify; margin-bottom: 20px; }
.mybutton { background-color: transparent; border: 1px solid #333; box-sizing: border-box; -webkit-box-sizing: border-box; -moz-box-sizing: border-box; -ms-box-sizing: border-box; -o-box-sizing: border-box; color: #333; display: inline-block; font-size: 14px; font-weight: 400; line-height: 19px; margin-top: 20px; max-width: 80%; overflow-wrap: break-word; padding: 30px 15px; text-transform: uppercase; box-sizing: border-box; -webkit-box-sizing: border-box; -moz-box-sizing: border-box; -ms-box-sizing: border-box; -o-box-sizing: border-box; }
.mybutton > span { width: 100%; display: inline-block }
.mybutton.negative { border-color: #fff; color: #fff; }
.mybutton:hover { border-color: #CC2727; color: #CC2727 }
.mybutton.negative:hover { background-color: transparent; color: #CC2727; }
.mymore { color: #CC2727; font-style: italic; }
.mymore:hover { color: #555; }
*/
.myaligncenter { text-align: center; }
.myaligncenter.toleft { text-align: left; }
.myaligncenter.toright { text-align: right; }
.mysep { /*background-color: #CC2727;*/ display: inline-block; height:45px; margin: 15px 0; width: 7px; background-image: url("images/MOF_separatore-verticale.png"); background-size: contain; background-repeat: no-repeat; background-position: center center; }
.mysep{
  background-image: none;
  background-color: var(--color-testo);
  width: 1px;
}
.for_sep.myrow { float: none; display: inline-block }
.subtitle-mof { letter-spacing:0;  font-weight: 400;  }
h2.subtitle-mof { font-size: 32px; line-height: 36px }
h3.subtitle-mof { font-size: 28px; line-height: 32px }
h4.subtitle-mof { font-size: 24px; line-height: 28px }
h5.subtitle-mof { font-size: 20px; line-height: 24px }

.subtitle-mof.myalignleft { text-align: left; }
.subtitle-mof.myaligncenter { text-align: center; }
.subtitle-mof.myalignright { text-align: right; }
.mydark { background-color: #333 }
.mycolored { background-color: #CC2727 }
.myrow.principale { padding-bottom: 80px }
.lightgrey-mof { background-color: #dc8e32 /*#444*/; background-image: url("images/bg-row-logo.png"); background-repeat: no-repeat; background-position: center center; min-height: 210px; background-size: cover; padding: 40px 0; margin-top: 110px; }
.lightgrey-mof.news-cover { background-image: url("images/news-cover.jpg"); background-color: #fff /*#444*/; min-height: 300px; }
.divLeft { float: left; position: relative }
.divRight { float: right; position: relative }
/*REGOLE BLOCCHI*/
.fourthwidth { width: 23.33%; padding: 15px; }
.thirdwidth, .vc_row.blocco-mof .vc_col-sm-4 { width: 33%; padding: 15px; }
.vc_row.blocco-mof .vc_col-sm-4:last-child { margin-right: 0; }
.vc_row.blocco-mof .vc_col-sm-4 .vc_column-inner { padding-left: 0; padding-right: 0; padding-top: 0; }
.halfwidth { margin-right: 1.50%; width: 48%; }
.allwidth { width: 100%; }
/*HEADER*/
header { box-sizing: border-box; -webkit-box-sizing: border-box; -moz-box-sizing: border-box; -ms-box-sizing: border-box; -o-box-sizing: border-box; width: 100% ; position: relative; background-color: #ffffff; }
#theheadermof.myheader { background-color: #ffffff; /* z-index: 9999 !important; position:fixed; width:100%; left:0; top:0; */ }
.topheader { box-sizing: border-box; -webkit-box-sizing: border-box; -moz-box-sizing: border-box; -ms-box-sizing: border-box; -o-box-sizing: border-box;  float: left; width: 100%; position: relative; padding: 0 30px; height: 90px; letter-spacing: 0; font-weight:900 }
.topheader > .divLeft > button { background-color: transparent; border: 1px solid #000; color: #000; display: none; float: left; padding: 5px 10px; text-transform: uppercase; width: 130px; cursor: pointer; position: absolute; top: 10px; left: 0; z-index: 3; opacity: 0.7; -webkit-transition: all 0.4s ease-in-out; -moz-transition: all 0.4s ease-in-out; -o-transition: all 0.4s ease-in-out; transition: all 0.4s ease-in-out; color:#111 !important;
}
.topheader > .divLeft > button > .fa { font-size: 14px; }
.topheader > .divLeft > button:hover { background-color: #000; border: 1px solid #000; color: #fff !important; opacity: 1.0; -webkit-transition: all 0.4s ease-in-out; -moz-transition: all 0.4s ease-in-out; -o-transition: all 0.4s ease-in-out; transition: all 0.4s ease-in-out; }
.nohomepage#wrapper > .sticky-wrapper { position: fixed; width: 100%; z-index: 999; top: 0; left: 0; }
/*MENU MOBILE*/

nav.cbp-spmenu > nav > ul li ul.sub-menu > span.toback { position: absolute; top: 20px; left: 20px; }
nav.cbp-spmenu > nav > ul li ul.sub-menu > span.toback > a.backmenu { padding: 0; line-height: 21px; }
nav.cbp-spmenu > nav > ul li ul.sub-menu > span.toback > a.backmenu > .fa { float: left; font-size: 21px; margin-right: 10px; position: relative; top: -1px; }
#header_language_list, .smallmenu { box-sizing: border-box; -webkit-box-sizing: border-box; -moz-box-sizing: border-box; -ms-box-sizing: border-box; -o-box-sizing: border-box;   float: left; font-size: 10px; margin-top: 60px; position: relative; text-transform: uppercase; z-index: 3; }
.smallmenu { float: right; }
#header_language_list { clear: left; }
#header_language_list li { display: inline-block; margin-right: 20px; }
.smallmenu li { display: inline-block; margin-left: 20px; }
.formobile-icon { display: none; float: right; font-size: 21px; margin-top: 17px; position: relative; z-index: 4; opacity: 0.5; }
button.formobile-icon { padding: 0; background-color: transparent; border: 0; cursor: pointer }
.topheader .smallmenu li button { background-color: transparent; border: 0; padding: 0; color: #333 !important; cursor: pointer; font-size: 10px; text-transform: uppercase; font-weight: 300 !important }
.topheader button:hover { color: #111; }
.boxsign button { background-color: transparent; border: 0; padding: 0; cursor: pointer }
.boxsign button img { width: 25px; }
.boxsign h5 { color: #fff; font-size: 12px; width: 100%; text-align: center; text-transform: uppercase; }
#header_language_list a, .smallmenu a { color: #333; }
#header_language_list a:hover, .smallmenu a:hover { color: #111; }
.logoweb { position: absolute; top: 0; left: 0; width: 100%; text-align: center; z-index: 2; }
.logoweb img {
	margin: 10px 0;
	width: auto;
	max-width: 30%;
	height: auto;
	max-height: 60px;
}
.menuweb { float: left; width: 100%; text-align: center;
	border-top: 1px solid #CC2727;
	height: 39px;
	position: relative;
	z-index: 3;
}
.menuweb ul li a {
	text-transform: uppercase;
	font-size: 14px;
	letter-spacing: 0;
	font-weight: 900;
}
.menuweb ul, .menuweb li { display: inline-block; }
.menuweb > ul > li { float: left; position: relative; left: -1px; }
.menuweb > ul > li.onlymobile { display: none; }
.menuweb ul ul { display: none; position: absolute; top: 100%; width: 240px; z-index: 99 }
.menuweb > ul > li:hover > ul { display: block; }
.menuweb > ul > li:hover > ul > li:hover > ul { display: inline-block; }
.menuweb > ul > li > ul > li { width: 100%; display: inline-block; text-align: left; position: relative }
.menuweb > ul > li > ul > li.menu-item-has-children::after { position: absolute; right: 8px; content: "\f054"; color: #fff; top: 8px; font-size: 14px; display: block }
.menuweb > ul > li > ul > li a { background-color: #222; box-sizing: border-box; -webkit-box-sizing: border-box; -moz-box-sizing: border-box; -ms-box-sizing: border-box; -o-box-sizing: border-box; display: inline-block; padding: 10px 20px; text-transform: uppercase; width: 100%; font-size: 12px; position: relative }
.menuweb > ul > li > ul > li a:hover { background-color: #000 }
/*menu terzo livello*/
.menuweb > ul > li > ul > li > ul { position: absolute; width: 240px; left: 100%; display: none; top: 0 !important }
.menuweb > ul > li > ul > li > ul > li { width: 100%; text-align: left; float: left; position: relative }
.menuweb > ul > li > ul > li > ul > li a { border-left: 1px solid #fff; border-right: none; border-top: none; border-bottom: 1px solid #fff; float: left; width: 100%; }
.menuweb > ul ul ul > li:last-child a { border-bottom: none; }
.menuweb > ul > li > a { color: #000; padding: 10px 15px; border-left: 1px solid #fff; border-right: 1px solid #fff; border-bottom: 1px solid #fff; float: left; }
.menuweb > ul > li:hover > a, .menuweb > ul > li.current-menu-item > a { border-left: 1px solid #CC2727; border-right: 1px solid #CC2727; border-bottom: 1px solid #CC2727; }
.menuweb li a { color: #fff; }
.mycontainer > .vc_row.thecoverheader { min-height: 700px; background-size: cover !important; background-position: center center !important; background-attachment: fixed !important }
.mycontainer > .vc_row.thecoverheader h1 { color: #fff; display: block; margin-left: auto; margin-right: auto; max-width: 65%; position: relative; text-align: center !important; margin-top: 120px; }
#langs_for_mobile { box-sizing: border-box; -moz-box-sizing: border-box; -webkit-box-sizing: border-box; -o-box-sizing: border-box; -ms-box-sizing: border-box; display: inline-block; padding: 20px 20px 50px; text-align: left; width: 100%; }
#langs_for_mobile li { display: inline-block; width: auto; border: 0; }
.cbp-spmenu #langs_for_mobile li a { display: inline-block; width: auto; }
.cbp-spmenu #langs_for_mobile li.attivo a, .cbp-spmenu #langs_for_mobile li a:hover { background-color: #222; }
/*COVER PAGE*/
.thecover-mof {  float: left; max-height: 580px/*720*/; position: relative; width: 100%; overflow: hidden; margin-top: 120px; }
.thecover-mof > img { max-width: 100%; display: block; width: 100%; }
.thecover-mof > img.fixed { position: fixed; z-index: 2; }
.thecover-mof > img.normal { position: relative; z-index: -1; visibility: collapse; }
.thecover-mof > .mycover { background-attachment: fixed; background-repeat: no-repeat; background-position: center center }
.thetitle-mof { left: 50%; margin-left: -30%; max-width: 60%; width: 60%; position: absolute; top: 35%; z-index: 12; text-align: center }
.thetitle-mof h1, .thetitle-mof .title_cover { background-color: rgba(0, 0, 0, 0.5); color: #fff; padding: 20px 0; }
.thetitle-mof .title_cover { font-size: 42px; line-height: 45px; text-transform: uppercase; }
/*.thetitle-mof .mysep {background-color: #fff; }*/
.whitebg { background-color: #fff; z-index: 5 }
.overlay-black { height: 100%; width: 100%; position: absolute; left: 0; top: 0; background-color: rgba(0,0,0,0.5); z-index: 4 }
/*.thetitle-mof h1 > mark {
  background-color: rgba(0, 0, 0, 0.4);
  color: #fff;
  padding: 20px;
}*/
/*HOMEPAGE*/
body.home, html.home { height: 100%; width: 100%; min-height: 100% }
.thecover-home { height: 100%; position: relative; width: 100%; overflow: hidden; }
.thecover-home .welcome-home { position: absolute; text-align: center; top: 5%; width: 100%; left: 0; z-index: 2 }
.thecover-home img.coverhome { position: absolute; left: 50%; top: 50%; min-height: 105%; min-width: 105%; transform: translate(-50%, -50%); -webkit-transform: translate(-50%, -50%); -moz-transform: translate(-50%, -50%); -o-transform: translate(-50%, -50%); z-index: 1; }
.graphic_cover { position: absolute; bottom: 0; left: 0; z-index: 3; width: auto; max-height: 300px; max-width: 90%; }
.welcome-home > img { max-width: 80%; }
.thecover-home h1 { text-shadow: 0px 2px 3px rgba(0, 0, 0, 0.5); color: #fff; font-size: 55px; margin: 0; padding: 0; width: 100%; }
/*.thecover-home .mycover::after { background-image: url(images/white-cover-row.png); position: absolute; width: 100%; height: 300px; z-index: 12; bottom: 0; left: 0; background-size: 95% auto; background-position: bottom left; display: block; content: ""; background-repeat: no-repeat; }*/
.intro-arrow { bottom: 30px; position: absolute; text-align: center; width: 100%; z-index: 15 }
.intro-arrow > span { color: #FFF; display: inline-block; font-size: 9px; text-transform: uppercase; width: 100%; font-weight:900; }
@keyframes imgintro { 0% {
top: 0;
}
50% {
top: -10px;
}
100% {
top: 0;
}
}
@-moz-keyframes imgintro { 0% {
top: 0;
}
50% {
top: -10px;
}
100% {
top: 0;
}
}
@-webkit-keyframes imgintro { 0% {
top: 0;
}
50% {
top: -10px;
}
100% {
top: 0;
}
}
@-o-keyframes imgintro { 0% {
top: 0;
}
50% {
top: -10px;
}
100% {
top: 0;
}
}
.intro-arrow a { display: inline-block; margin-top: 20px; }
.intro-arrow img { animation: imgintro 1s infinite; -moz-animation: imgintro 1s infinite; -webkit-animation: imgintro 1s infinite; position: relative; }
/*General Block -  Grid view*/
.preview-blocco { text-align: center; box-sizing: border-box; -webkit-box-sizing: border-box; -moz-box-sizing: border-box; -ms-box-sizing: border-box; -o-box-sizing: border-box; /*float: left;*/ position: relative; margin-bottom: 50px;  display: inline-grid; float: none; }
.preview-blocco.thelast { float: right; margin-right: 0; }
.the-img-bg { position: relative; width: 100%; overflow: hidden; }
/*img.cover_custom_box { position: absolute; left: 50%; top: 50%; transform: translate(-50%, -50%); -webkit-transform: translate(-50%, -50%); -moz-transform: translate(-50%, -50%); -o-transform: translate(-50%, -50%); max-height: 100%; max-width: 100%; width: auto; height: auto; }*/
img.cover_custom_box { 
	max-height: 100%;
	max-width: 100%;
	width: auto;
	height: auto;
	object-fit: cover;
	object-position: center;
	width: 100%;
	height: 100%;
}

/*.the-img-bg::after { padding-top: 100%; display: block; content: "" }*/
.preview-testo { box-sizing: border-box; -webkit-box-sizing: border-box; -moz-box-sizing: border-box; -ms-box-sizing: border-box; -o-box-sizing: border-box; display: inline-block; margin-top: 20px; padding: 35px 20px 20px; width: 100%; }
.preview-testo .mytesto { height: 120px; overflow: hidden; text-align: center; margin-top: 10px; }
.preview-blocco h3 { font-weight: 400; margin-bottom: 10px; text-transform: uppercase; text-align: center; width: 100%; }
.preview-blocco .mytesto > a { display: none; }
.preview-blocco .mytesto > a.mymore { display: inline-block; }
.preview-blocco .infopost, .preview-blocco .infopost > li { display: inline-block; width: 100%; margin-bottom: 20px; }
.preview-blocco .infopost > li { margin-bottom: 0; font-size: 18px; font-weight: 400; line-height: 14px; }
.preview-azioni {
	display: table;
	min-height: 50px;
	max-height: 75px;
	margin: 0 auto;
	vertical-align: middle;
	max-width: 100%;
	margin-top: 15px;
}
.preview-azioni .mybutton { display: table-cell; padding: 0 15px; vertical-align: middle; letter-spacing: 0; }
.myspace-button { display: table-cell; width: 20px; }
.preview-azioni .mybutton.todetail { max-width: 80%; width: 290px; }
.preview-azioni .mybutton.tocart { font-size: 29px; margin-left: 0; max-width: 60px; }
.mybutton.tocart { background-color: #CC2727; border: 1px solid #CC2727; color: #fff; -webkit-transition: all 0.4s ease-in-out; -moz-transition: all 0.4s ease-in-out; -o-transition: all 0.4s ease-in-out; transition: all 0.4s ease-in-out; }
.mybutton.tocart:hover { background-color: #333; border: 1px solid #333; -webkit-transition: all 0.4s ease-in-out; -moz-transition: all 0.4s ease-in-out; -o-transition: all 0.4s ease-in-out; transition: all 0.4s ease-in-out; }
/*List view*/
.listview .the-img-bg, .listview .preview-testo { width: 50%; float: left; margin-top: 0; }
.listview .the-img-bg::after { padding-top: 90%; }
/*ANIMATION HOVER view*/

.flipper { -webkit-transition: 0.6s; -webkit-transform-style: preserve-3d; -moz-transition: 0.6s; -moz-transform-style: preserve-3d; -o-transition: 0.6s; -o-transform-style: preserve-3d; transition: 0.6s; transform-style: preserve-3d; position: relative; }

.flipper::after {
	padding-top: 100%;
	display: block;
	content: "";
}


.hoverview .preview-testo { border: 1px solid #333; margin: 0; overflow: hidden }
.hoverview .spacetop { margin-top: 20px; }
.hoverview .preview-testo .mytesto { height: auto; }
.flip-container { -webkit-perspective: 1000; -moz-perspective: 1000; -o-perspective: 1000; perspective: 1000; }
.flip-container:hover .flipper, .flip-container.hover .flipper { -webkit-transform: rotateY(180deg); -moz-transform: rotateY(180deg); -o-transform: rotateY(180deg); transform: rotateY(180deg); }
.flip-container, .flip-container .preview-testo, .flip-container .the-img-bg { width: 100%; /*height: 420px*/ }
.flip-container .preview-testo {
	height: 100%;
}



.flip-container .preview-testo, .flip-container .the-img-bg { -webkit-backface-visibility: hidden; -moz-backface-visibility: hidden; -o-backface-visibility: hidden; backface-visibility: hidden; position: absolute; top: 0; left: 0; }
.flip-container .the-img-bg { z-index: 2; -webkit-transform: rotateY(0deg); -moz-transform: rotateY(0deg); -o-transform: rotateY(0deg); transform: rotateY(0deg); }
.flip-container .the-img-bg .mycover { background-size: contain !important; }
.flip-container .preview-testo { -webkit-transform: rotateY(180deg); -moz-transform: rotateY(180deg); -o-transform: rotateY(180deg); transform: rotateY(180deg); }
/*CTA ROW*/
.ctarow { margin-top: 30px; padding: 50px 0; text-align: center; }
.ctarow.mydark .mycontainer > * { color: #fff }
.ctarow.mydark { padding: 10px 0 20px; }
.ctarow.mydark h2 { margin-top: 15px; }
.ctarow.mydark .mycontainer .subtitle-mof { font-size: 18px; }
.ctarow.mydark .mybutton { margin-top: 50px; background-color: #CC2727; border: 1px solid #CC2727; color: #fff }
.ctarow.mydark .mybutton:hover { color: #fff; background-color: transparent; border: 1px solid #fff; } /*color: #CC2727;*/
.ctarow h2 { display: block; margin: 30px auto 0; max-width: 80%; }
.ctarow h2 { text-align: center !important; color: #fff; }
.ctarow .item h2, .ctarow .item h2 a { color: #fff; }
.ctarow .owl-next, .ctarow .owl-prev { font-size: 52px; margin-top: -25px; position: absolute; top: 50%; }
.ctarow .owl-prev { left: 0; }
.ctarow .owl-next { right: 0 }
.ctarow .vc_btn3-container.vc_btn3-inline, .ctarow .vc_btn3-container.vc_btn3-inline > a { border-radius: 0 !important; box-shadow: none; -webkit-box-shadow: none; -moz-box-shadow: none; -o-box-shadow: none; color: #fff !important; background-color: transparent !important; text-transform: uppercase; background-image: none !important; }
.ctarow .vc_btn3-container.vc_btn3-inline > a { padding: 30px 15px !important; }
.ctarow .vc_btn3-container.vc_btn3-inline > a:hover { border-color: #CC2727 !important; background-color: #CC2727 !important }
.ctarow .vc_btn3-container.vc_btn3-inline { margin: 30px 0 !important; }
/*festival off home*/
.blocco-img-off .wpb_single_image { float: left; max-width: 20%; }
.blocco-img-off .wpb_single_image figure img { max-width: 80%; -webkit-transform: scale(1); -moz-transform: scale(1); -ms-transform: scale(1); transform: scale(1); -webkit-transition: all 0.4s ease-in-out; -moz-transition: all 0.4s ease-in-out; -o-transition: all 0.4s ease-in-out; transition: all 0.4s ease-in-out; }
.blocco-img-off .wpb_single_image:hover figure img { -webkit-transform: scale(0.7); -moz-transform: scale(0.7); -ms-transform: scale(0.7); transform: scale(0.7); -webkit-transition: all 0.4s ease-in-out; -moz-transition: all 0.4s ease-in-out; -o-transition: all 0.4s ease-in-out; transition: all 0.4s ease-in-out; }
/*newsletter*/
.the_icon { display: inline-block; margin-bottom: 20px; width: 100%; }
.the_icon.email > img { margin-top: 30px; width: 50px; }
/*.ctarow.forsignup form { display: inline-block; margin-top: 40px; width: 100%; }
.ctarow.forsignup input { color: #777777; display: inline-block;  font-size: 16px; padding: 15px 10px; vertical-align: top; }
.ctarow.forsignup input[type="email"] { border:1px solid #50a0b4 }
.ctarow.forsignup input[type="submit"] {
  background-color: transparent;
  border: 1px solid #fff;
  color: #fff;
  cursor: pointer;
  
  font-size: 23px;
  font-weight: 400;
  margin-left: 30px;
  margin-top: 0;
  padding: 12px 50px;
  text-transform: uppercase;
}*/
.ctarow.forsignup .myformget { display: inline-block; margin-top: 30px; position: relative; z-index: 1; }
.boxsign { background-color: #333; box-shadow: 0 3px 6px 0 rgba(50, 50, 50, 0.63); box-sizing: border-box; -webkit-box-sizing: border-box; -moz-box-sizing: border-box; -ms-box-sizing: border-box; -o-box-sizing: border-box; max-width: 100%; padding: 20px 20px 40px; position: fixed; right: 0; top: -550px; width: 420px; max-width: 100%; z-index: 999999; }
/*GRID GALLERY*/
.grid-gallery { width: 25%; float: left; height: 400px; padding: 20px; box-sizing: border-box; -webkit-box-sizing: border-box; -moz-box-sizing: border-box; -ms-box-sizing: border-box; -o-box-sizing: border-box; }
.grid-gallery > img { width: 100%; max-width: 100%; }
/*NEWS FEATURED*/
.owl-carousel { float: left }
.featured-news { width: 100%; margin-top: 80px }
.owl-carousel .owl-controls .owl-dots { display: inline-block; width: 100%; text-align: center; margin-top: 40px; }
.owl-carousel .owl-controls .owl-dots > .owl-dot { cursor: pointer; display: inline-block; width: 18px; height: 18px; border: 1px solid #000; margin: 0 3px; position: relative }
.owl-carousel .owl-controls .owl-dots .owl-dot.active > span, .owl-carousel.slidenews .owl-controls .owl-dots .owl-dot:hover > span { background-color: #CC2727; content: ""; position: absolute; display: block; height: 12px; top: 3px; left: 3px; width: 12px; }
.item-new h3, .item-new .txt-featured { margin-bottom: 10px; min-height: 60px; }
.item-new .infotime {
	color: #CC2727;
	letter-spacing: 0px;
	font-size: 16px;
}
.item-new .txt-featured, .item-new .infotime { display: inline-block; width: 100% }
ul.mof_archive { margin-top: 40px; }
ul.mof_archive .mof_preview { display: inline-block; width: 100% }
ul.mof_archive.post .mof_preview { float: right; width: 70% }
ul.mof_archive figure { display: none; }
ul.mof_archive.post figure {  float: left; width: 28%; margin-bottom: 20px; }
ul.mof_archive li { width: 100%; border-bottom: 1px solid #ccc; display: inline-block; margin-bottom: 30px; padding-bottom: 30px; }
ul.mof_archive li .infotime { color: #CC2727; font-size: 14px; letter-spacing: 0; }
ul.mof_archive li .txt-featured { font-size: 16px; line-height: 23px; margin-bottom: 30px; }
/*FOLLOW US*/
.ctarow.followus::before, .ctarow.followus::after { display: block; content: ""; width: 1px; height: 40px; background-color: #fff; position: absolute; left: 50%; }
.ctarow.followus::before { top: 0; }
.ctarow.followus::after { bottom: 0 }
.ctarow.followus * { --color-primario: var(--color-sfondo); color: #fff }
.myicons-social { display: inline-block; margin: 40px 0; width: 100%; }
.myicons-social li {
	display: inline-block;
	margin: 0 30px;
	text-align: center;
	vertical-align: middle;
}
.myicons-social li img { width: 32px; opacity: 1; -webkit-transform: scale(1); -moz-transform: scale(1); -ms-transform: scale(1); transform: scale(1); -webkit-transition: all 0.4s ease-in-out; -moz-transition: all 0.4s ease-in-out; -o-transition: all 0.4s ease-in-out; transition: all 0.4s ease-in-out; }
.myicons-social li img:hover { opacity: 0.6; -webkit-transform: scale(0.7); -moz-transform: scale(0.7); -ms-transform: scale(0.7); transform: scale(0.7); -webkit-transition: all 0.4s ease-in-out; -moz-transition: all 0.4s ease-in-out; -o-transition: all 0.4s ease-in-out; transition: all 0.4s ease-in-out; }
/*.myicons-social li a {border:1px solid #fff; line-height:50px; font-size:26px; box-sizing:border-box; width:50px; height:50px; display: inline-block; }
.ctarow.followus .myicons-social li a:hover { background-color:#fff; color:#CC2727 !important }
.ctarow.followus .myicons-social li a:hover > .fa {   color:#CC2727 !important }*/

/*FOOTER*/
footer { border-top: 1px solid #CC2727; padding-top: 20px;   width: 100%; background-color: #fff; position: relative; z-index: 4; float: left; }
footer.withmargintop { margin-top: 350px; }
.logo-footer { float: left; margin-right:15px; }
.logo-footer img { width: 120px; }
#footer_language_list { float: right; }
#footer_language_list li { display: inline-block; margin-left: 60px; }
#footer_language_list li a { text-transform: lowercase; color: #333; }
#footer_language_list li a:hover, #footer_language_list li span.icl_lang_sel_current { color: #CC2727; }
/*menu foooter*/
.block-menu { padding-right: 20px; padding-left: 20px; border-right: 1px solid #333; float: left;  margin-top: 30px; min-height: 120px; width: 20%;
	box-sizing: border-box; -webkit-box-sizing: border-box; -moz-box-sizing: border-box;  }
.block-menu:last-child { border-right: none;  }
.myfooter .block-menu { min-height: 200px; }
.block-menu h7 { font-size: 16px; letter-spacing: 0; text-transform: uppercase; }
.block-menu h7 > span { display: none; float: right; }
.block-menu h7 > span > a { padding: 20px; cursor: pointer }
footer .navigation .block-menu.last { border-right: 0; margin-right: 0; padding-right: 0; }
.block-menu ul, .block-menu li { display: inline-block; font-size: 15px; letter-spacing: 0; margin-bottom: 5px; width: 100%; }
aside .block-menu li { border-bottom: 1px solid #eee; box-sizing: border-box; -webkit-box-sizing: border-box; -moz-box-sizing: border-box; -ms-box-sizing: border-box; -o-box-sizing: border-box; margin-bottom: 15px; padding-bottom: 15px; padding-left: 10px; }
aside .block-menu ul { border-bottom: none; }
.mof_archive .mof_preview .mybutton, aside .block-menu .mybutton { margin-bottom: 30px; padding: 10px; }
.slidebandi .item-new h3 { font-size: 21px; line-height: 23px; text-transform: none; }
aside .block-menu li { position: relative; padding-left: 15px; }
aside .block-menu li::before { content: "\f105"; display: inline-block; color: #333; font-family: FontAwesome; position: absolute; left: 0; top: 1px; font-size: 16px; }
.block-menu li a { color: #333; text-transform: uppercase; font-size: 14px; }
.block-menu li a:hover { color: #CC2727 }
.thebottom-footer { margin-top: 40px; margin-bottom: 40px; border-top: 1px solid #CC2727; padding-top: 20px; display: inline-block; width: 100%; }
.infocorporate { float: left; font-size: 14px; line-height: 19px; max-width: 60%; letter-spacing: 0; }
.infocorporate > span { display: inline-block; width: 100% }
.infocorporate > span.name { font-size: 16px; line-height: 24px }
.infocorporate span a { color: #CC2727 }
.infocorporate span a:hover { text-decoration: underline }
.thecopy { float: right; font-size: 14px; max-width: 39%; }
.thecopy > span { display: inline-block; text-align: right; width: 100%; }
.thecopy a { color: #333 }
.thecopy a:hover { text-decoration: underline }
/*VC elements OVERRIDE*/
/*generale*/

.wpb_content_element { margin-bottom: 15px !important; }
.wpb_wrapper .vc_btn3-container .vc_general { text-transform: uppercase; background-image: none !important; letter-spacing: 0; }
/*tab*/
html body .mycontainer .vc_row .vc_tta-panels-container .vc_tta-panels { background-color: #ffffff !important; border-color: #fff !important; border-radius: 0 !important; -webkit-border-radius: 0 !important; -moz-border-radius: 0 !important; font-size: 13px; margin: 0 !important }
html body .mycontainer .vc_row .vc_tta-panels-container .vc_tta-panels .vc_tta-panel-body, html body .mycontainer .vc_row .vc_tta-panels-container .vc_tta-panels .vc_tta-panel-body p { font-size: 13px; }
html body .mycontainer .vc_row .vc_tta-panels-container .vc_tta-panels .vc_tta-panel-body { /*min-height:250px */ border-color: #999 !important; border-radius: 0 !important; -webkit-border-radius: 0 !important; -moz-border-radius: 0 !important; }
html body .mycontainer .vc_row .vc_tta-tab { margin-bottom: 5px !important; margin-right: 0 !important; }
html body .mycontainer .vc_row .vc_tta-tab > a { background-color: #ffffff !important; border-color: #999999 !important; color: #474747 !important; border-radius: 0 !important; -webkit-border-radius: 0 !important; -moz-border-radius: 0 !important; padding-left: 10px !important; color: #333; text-transform: uppercase; font-size: 14px; }
html body .mycontainer .vc_row .vc_tta-tabs-list > .vc_tta-tab.vc_active a { border-bottom-color: #CC2727 !important; border-left-color: #CC2727 !important; border-right-color: #CC2727 !important; border-top-color: #CC2727 !important; border-radius: 0 !important; -webkit-border-radius: 0 !important; -moz-border-radius: 0 !important; }
html body .mycontainer .vc_row .vc_tta-tabs-position-left .vc_tta-tabs-list > .vc_tta-tab.vc_active a { border-right-color: transparent!important; }
html body .mycontainer .vc_row .vc_tta-tabs-position-top .vc_tta-tabs-list > .vc_tta-tab.vc_active a { border-bottom-color: transparent!important; }
html body .mycontainer .vc_row .vc_tta-tabs-position-top .vc_tta-tabs-list { margin-top: 0 }
html body .mycontainer .vc_row .vc_tta-tabs-list *::after, html body .mycontainer .vc_row .vc_tta-tabs-list *::before { border-color: #999 !important }
html body .mycontainer .vc_row .vc_tta-tabs-list > .vc_tta-tab.vc_active a span { color: #CC2727 }
.vc_tta-panel-body p b, .vc_tta-panel-body p strong { font-weight: 700; }
html body.wpb-js-composer .mycontainer .vc_tta-tabs-container ul.vc_tta-tabs-list li.vc_tta-tab { margin-bottom: 0 !important; }
/*accordion*/
html body .mycontainer .vc_row .vc_tta-color-grey.vc_tta-style-classic .vc_tta-panel .vc_tta-panel-body { background-color: #fff !important; }
html body.wpb-js-composer .mycontainer .vc_row .vc_tta-panel-heading { background-color: transparent !important; border: 1px solid #333; border-radius: 0; }
html body.wpb-js-composer .mycontainer .vc_row .vc_tta-panel.vc_active .vc_tta-panel-heading { border-color: #CC2727; }
html body.wpb-js-composer .mycontainer .vc_row .vc_tta-panel-heading h4 { font-size: 14px; letter-spacing: 0; text-transform: uppercase; border-radius: 0; }
html body .mycontainer .vc_row .vc_tta-panel-heading h4 a { background-color: transparent !important }
.vc_tta-panels-container .vc_tta-panels .vc_tta-panel a.vc_general { background-color: #CC2727; border: 1px solid #CC2727; background-image: none; border-radius: 0; color: #fff; font-size: 12px; text-transform: uppercase; }
.vc_tta-panels-container .vc_tta-panels .vc_tta-panel a.vc_general:hover { background-color: transparent; border: 1px solid #333; color: #333; }
.vc_tta-panels-container .vc_tta-panels .vc_tta-panel.allestimento div > strong { display: inline-block; padding: 15px 0; width: 200px; }
/*FLEXSLIDER*/
body .wpb_gallery_slides.flexslider {
 height:auto !important; background-color: transparent !important; border: 0 none !important; border-radius: 0 !important; box-shadow: none !important; margin: 0 0 60px; padding: 0 !important; position: relative; height: auto !important }
body .wpb_gallery_slides.flexslider .slides img { height: auto; }
/*info opera evento*/
.cast-opera, .cast-opera li { display: inline-block; width: 100%; line-height: 16px; font-size: 16px !important }
.cast-opera li > div { padding: 10px 0 0; float: left; /*width: 33.33%;*/ margin-right: 10px; text-transform: uppercase; }
.cast-opera li > div.ruolocast {  text-transform: uppercase; }
/*date*/
.blockscroll { overflow: hidden; }
.date-datail-opera ul.appuntamenti-opera { max-height: 620px; overflow: auto; position: relative; top: 0; box-sizing: border-box; -webkit-box-sizing: border-box; -moz-box-sizing: border-box; -ms-box-sizing: border-box; -o-box-sizing: border-box; }
.appuntamenti-opera li, .date-datail-opera h3 { display: inline-block; margin-bottom: 20px; padding-bottom: 20px; width: 100%; }
.date-datail-opera h3, aside h3.fordate {  font-weight: 900 !important; }
.appuntamenti-opera li { border-bottom: 1px solid #d8d8d8; }
.thedata-opera { float: left; }
.time-opera { float: left; border: 1px solid #333; box-sizing: border-box; -webkit-box-sizing: border-box; -moz-box-sizing: border-box; -ms-box-sizing: border-box; -o-box-sizing: border-box;   height: 110px; padding: 10px; text-align: center; width: 110px; }
.thedata-opera .mybutton.tocart { float: left; font-size: 29px; height: 110px; line-height: 50px; margin-top: 0; }
.thedata-opera .mybutton.tocart img { max-width: 30px; }
.time-opera > span { float: left; width: 100%; text-transform: uppercase }
.time-opera > span.dayweek, .time-opera > span.clocktime {  font-size: 12px; line-height: 15px; }
.time-opera > span.nroday { font-weight: 900; font-size: 35px; line-height: 35px; }
.time-opera > span.meseabbr { font-size: 21px; line-height: 21px; }
.time-opera > span.clocktime { margin-top: 5px; }
.info-opera { box-sizing: border-box; -webkit-box-sizing: border-box; -moz-box-sizing: border-box; -ms-box-sizing: border-box; -o-box-sizing: border-box; float: left; font-size: 14px; line-height: 19px; max-width: 100%; width: 60%; padding-left: 10px; }
.info-opera p { font-size: 14px; line-height: 19px; }
/*header opera
.post-mof-template-default #theheadermof-sticky-wrapper {
  top:-125px !important; position:absolute !important;
}
.post-mof-template-default #theheadermof-sticky-wrapper.is-sticky {
 top:0 !important;
}*/

/*single corporate*/
.mycontent { float: left; width: 70%; margin-top: 80px; }
aside { float: right; width: 25%; margin-top: 80px; }
aside::before { border-left: 1px solid #999; content: ""; display: block; height: calc(100% - 80px); margin-left: -20px; position: absolute; }
aside .block-menu { border-right: none; float: left; width: 100%; margin: 0 0 30px }
.myrow button.vc_general.vc_btn3 { background-color: transparent !important; border-color: #333 !important; color: #333 !important; border-radius: 0 !important;  }
/*pagina lavora con noi*/
.slidebandi { margin-top: 120px; }
/*SINGLE*/
/*default*/
.mysingledefault h1 { font-size: 21px; line-height: 25px; text-transform: none; }
#nohome #theheadermof.myheader { position: fixed; z-index: 999; top: 0; left: 0; width: 100%; }
.infodatepost {
	font-size: 16px;
	line-height: 24px;
}
/*.single-post-mof #theheadermof {
  position:absolute !important;  opacity:0;
  -webkit-transition: all 0.1s ease-in-out;
  -moz-transition: all 0.1s ease-in-out;
  -o-transition: all 0.1s ease-in-out;
  transition: all 0.1s ease-in-out; 
  }
.single-post-mof #theheadermof { opacity:1; 
     position:fixed !important;  
  -webkit-transition: all 0.8s ease-in-out;
  -moz-transition: all 0.8s ease-in-out;
  -o-transition: all 0.8s ease-in-out;
  transition: all 0.8s ease-in-out;
} */

/*scroll logo partner*/
.logoscroll.owl-carousel { margin-top: 50px; vertical-align: middle }
.logoscroll.owl-carousel * { vertical-align: middle }
.logoscroll .item { text-align: center }
.logoscroll.owl-carousel .owl-item .item img { display: inline-block; height: auto; max-height: 50px; max-width: 90%; width: auto; }
iframe { max-width: 100%; }
/*TABLEPRESS*/
.single-post-infopoint table.tablepress thead tr th { background-color: #444; color: #fff; font-weight: 400; text-align: center; text-transform: uppercase; }
.single-post-infopoint table.tablepress tbody tr td { text-align: center; vertical-align: middle }
.single-post-infopoint .tablepress img { max-width: 40px; }
/*GALLERY*/
/*CAROUSEL*/
.myrow.gallery-mof { margin-bottom: 40px; }
.myrow.gallery-mof.owl-carousel { padding: 0 50px; }
.gallery-mof .item { position: relative; z-index: 1; overflow: hidden; }
.gallery-mof.owl-carousel .item { height: 350px; background-position: center center; background-size: cover }
.gallery-mof .item a.fancybox { position: absolute; position: absolute; top: 0; left: 0; width: 100%; height: 100%; }
.gallery-mof .item a.fancybox.black { background-color: rgba(0,0,0,0.0); z-index: 5; -webkit-transition: all 0.4s ease-in-out; -moz-transition: all 0.4s ease-in-out; -o-transition: all 0.4s ease-in-out; transition: all 0.4s ease-in-out; }
.gallery-mof .item:hover a.fancybox.black { background-color: rgba(0,0,0,0.5); -webkit-transition: all 0.4s ease-in-out; -moz-transition: all 0.4s ease-in-out; -o-transition: all 0.4s ease-in-out; transition: all 0.4s ease-in-out; }
.gallery-mof .item a.fancybox.black > span { top: -120px; left: 50%; width: 30px; height: 30px; position: absolute; z-index: 10; transform: translate(-50%, -50%); -webkit-transform: translate(-50%, -50%); -moz-transform: translate(-50%, -50%); -o-transform: translate(-50%, -50%); -ms-transform: translate(-50%, -50%); -webkit-transition: all 0.6s ease-in-out; -moz-transition: all 0.6s ease-in-out; -o-transition: all 0.6s ease-in-out; transition: all 0.6s ease-in-out; }
.gallery-mof .item a.fancybox.black > span::after { content: "\f002"; display: block; color: #fff; font-family: FontAwesome; font-size: 19px; }
.gallery-mof .item:hover a.fancybox.black > span { top: 50%; -webkit-transition: all 0.6s ease-in-out; -moz-transition: all 0.6s ease-in-out; -o-transition: all 0.6s ease-in-out; transition: all 0.6s ease-in-out; }
.gallery-mof .owl-prev, .gallery-mof .owl-next { margin-top: -12px; position: absolute; top: 50%; }
.gallery-mof .owl-prev { left: -10px }
.gallery-mof .owl-next { right: -10px; }
/*GRID*/
.gallery-mof.mygrid .item { box-sizing: border-box; -webkit-box-sizing: border-box; -moz-box-sizing: border-box; -ms-box-sizing: border-box; -o-box-sizing: border-box; float: left; padding: 10px; width: 33.33%; }
.gallery-mof.mygrid .item img { max-width: 100%; height: auto; display: block; width: 100%; }
.item.clearleft { clear: left; }
/*BOX SHARING SOCIAL*/

button#open_share, button#close_share { background-color: #989898; border: 0 none; -webkit-border-top-left-radius: 5px; -webkit-border-bottom-left-radius: 5px; -moz-border-radius-topleft: 5px; -moz-border-radius-bottomleft: 5px; border-top-left-radius: 5px; border-bottom-left-radius: 5px; cursor: pointer; height: 45px; right: 0; width: 45px; z-index: 99; }
button#close_share { right: unset; position: relative; float: left; }
button#open_share img, button#close_share img { width: auto; max-width: 80%; }
.box_social, button#open_share { position: fixed; top: 210px; z-index: 999; }
.box_social { width: 110px; right: -120px; }
.panel_share { text-align: center; padding: 15px 0; width: calc(100% - 45px); float: right; min-height: 110px; background-color: #333; -webkit-border-bottom-left-radius: 5px; -moz-border-radius-bottomleft: 5px; -o-border-radius-bottomleft: 5px; border-bottom-left-radius: 5px; }
.panel_share img { max-height: 30px; max-width: 28px; margin-bottom: 10px; }
.panel_share > div > a { display: inline-block; margin: 5px auto; width: 100%; }
button#open_share.for_mobile { background-color: transparent; display: none; float: right; height: auto; margin: 20px 0 0 15px; opacity: 0.5; padding: 0; position: relative; right: unset; top: unset; width: auto; }
button#open_share.for_mobile img { width: 25px; }
.share_mof { text-align: center; vertical-align: middle; margin-top: 40px; }
.share_mof > span { display: inline-block; margin-left: 10px; margin-right: 10px; }
/*.share_mof a { display: inline-block; width: 40px !important; height: 40px !important; line-height: 37px !important; background-color: #999; margin-left: 5px; margin-right: 5px; border-radius: 90px; -moz-border-radius: 90px; -o-border-radius: 90px; -webkit-border-radius: 90px; padding: 0 !important; }*/
.share_mof a { display: inline-block; margin-left: 5px; margin-right: 5px; padding: 0 !important; }
.share_mof img { display: inline-block; max-height: 35px; vertical-align: middle !important; }
.share_mof .sharelabel {
	display: inline-block;
	text-transform: uppercase;
	font-size: 14px;
	font-weight: 900;
	color: #000;
	background-color: #cc2727;
	padding: 20px;
	color: #FFF;
}
.fancybox-overlay { z-index: 999999 !important; }
/*fixed_banner_adw*/ 
.fixed_banner_adw { position: fixed; bottom: 0; left: 0; background-color: #fff; width: 100%; text-align: center; z-index: 999 }
.fixed_banner_adw img { display: inline-block; max-width: 100%; }
.fixed_banner_adw.only_mobi { display: none; }
/*legend figure caption */
body .wpb_single_image .vc_figure-caption { font-size: 14px; text-align: left; }
/*ORGANIGRAMMA*/
.schedapage-sferisterio#organigramma .vc_tta-panel-body .wpb_wrapper,
.schedapage-sferisterio#organizationboard .vc_tta-panel-body .wpb_wrapper { }

.schedapage-sferisterio#organigramma .vc_tta-panel-body .wpb_wrapper em,
.schedapage-sferisterio#organizationboard .vc_tta-panel-body .wpb_wrapper em {  font-style: normal !important }

.schedapage-sferisterio#organigramma .vc_tta-panel-body .wpb_wrapper a,
.schedapage-sferisterio#organizationboard .vc_tta-panel-body .wpb_wrapper a { margin-top: 20px; display: block; }


.schedapage-sferisterio#cda .vc_tta-panel-body .wpb_wrapper p,
.schedapage-sferisterio#board .vc_tta-panel-body .wpb_wrapper p 
{ }


.schedapage-sferisterio#cda .vc_tta-panel-body .wpb_wrapper,
.schedapage-sferisterio#board .vc_tta-panel-body .wpb_wrapper
{ }
.schedapage-sferisterio#cda .vc_tta-panel-body .wpb_wrapper strong, .schedapage-sferisterio#cda .vc_tta-panel-body .wpb_wrapper i,
.schedapage-sferisterio#board .vc_tta-panel-body .wpb_wrapper strong, .schedapage-sferisterio#board .vc_tta-panel-body .wpb_wrapper i
 {  font-style: normal !important }

.schedapage-sferisterio#cda .vc_tta-panel-body .wpb_wrapper a,
.schedapage-sferisterio#board .vc_tta-panel-body .wpb_wrapper a 
 { margin-top: 20px; display: block; }
body #snippet-box { display:none !important; opacity:0 !important; visibility: hidden !important; }

/* custom_SCROLLBAR */

/* width */
::-webkit-scrollbar {
  width: 5px;
}
/* Track */
::-webkit-scrollbar-track {
  background: #f5f5f5; 
}
/* Handle */
::-webkit-scrollbar-thumb {
  background: #000; 
}
/* Handle on hover */
::-webkit-scrollbar-thumb:hover {
  background: #808080;
}
html{
  scrollbar-color: #000 #f5f5f5;
  scrollbar-width: thin;
}


/*PARTNER*/
body.page-id-26485 .vc_single_image-wrapper img,
body.page-id-56439 .vc_single_image-wrapper img
{
	max-width: 180px;
	max-height: 60px;
	width: auto;
	height: auto;
}


body:not(.home) .ctarow
{
	position: relative;
	z-index: 3;
	margin-top: 0;
}

/* pagina i-cento-mecenati video*/
/* div#embed-cento-mecenati {
    max-width: 33.4em;
} */



/* MODIFICHE TADAO AGENCY */

/* Variabili */
:root {
	--color-primario: #CC2727;
	--color-testo: #111;
	--color-sfondo: #FFF;
	--tablet-width: 740;
	--desktop-width: 1080;
	--max-content-width: 1440;
	--vfluid: 430;
	--font-family: 'Source Sans 3', system-ui, -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Oxygen, Ubuntu, Cantarell, 'Helvetica Neue', sans-serif;
}
* {
	box-sizing: border-box;
}
body { 
	overflow-x: hidden; 
	overflow-y: auto;
	min-height: 100%;
	min-height: 100dvh;
	display: flex;
	flex-direction: column;
}
html,body {
	--font-base: clamp(16px, calc( 16 / var(--vfluid, 430) * 100) * 1vw, 20px);
	font-family: var(--font-family);
	font-size: var(--font-base);
}
/* La tipografia fluida cambia base se l'orientamento è orizzontale */
@media screen and (orientation: landscape){
	html,body {
		--font-base: min(18px, calc( 18 / var(--max-content-width, 1440) * 100) * 1vw);
	}
}

.hb-day.hb-day-name{
  color: var(--color-primario) !important;
}
h1, h2, h3, h4, h5, h6, h7 {
  font-family: var(--font-family) !important;
  font-weight: 700 !important;
}
button,
[type="button"],
[type="reset"],
[type="submit"] {
  appearance: button;
  -webkit-appearance: button;
  background: transparent;
  border: none;
  padding: 0;
  margin: 0;
  cursor: pointer;
}

.skip-link {
  position: absolute;
  top: -100px;
  left: 0;
  background: var(--color-sfondo);
  color: var(--color-testo);
  padding: 0.5em 1em;
  z-index: 10000;
  text-decoration: none;
}
.skip-link:focus {
  top: 0;
}
.current_page_item > a{
  font-weight: 700;
}
.mybutton{
  background: var(--color-primario);
  color: var(--color-sfondo);
  border: 1px solid var(--color-primario);
  text-transform: uppercase;
  text-decoration: none;
}

/* ===============================
   Gestione outline accessibile
   =============================== */

/* Stile generale per tutti gli elementi interattivi */
a, button, input, textarea, select, summary, .logo a .svg-include,
[tabindex]:not([tabindex="-1"]),
.navigabile,
.vc_do_btn a {
  outline: none; /* Rimuove outline di default (lo ridefiniamo sotto) */
  transition: outline-color 0.2s ease, outline-offset 0.2s ease;
}

/* Focus visibile e coerente su tutti i componenti */
a:focus-visible,
button:focus-visible,
input:focus-visible,
textarea:focus-visible,
select:focus-visible,
.logo a:focus-visible .svg-include,
summary:focus-visible,
[tabindex]:not([tabindex="-1"]):focus-visible,
.navigabile:focus-visible,
.vc_do_btn a:focus,
.vc_do_btn a:focus-visible {
  outline: 2px dotted var(--color-primario) !important;
  outline-offset: 4px; /* crea "aria visiva" intorno all’elemento */
}

/* Aggiunge una sensazione di padding extra visivo */
.navigabile, .vc_do_btn a,
a, button, input, textarea, select, summary {
  padding: 0.25rem; /* evita che l’outline tagli i bordi stretti */
}

/* Disattiva temporaneamente l’outline con il mouse (migliora estetica) */
a:focus:not(:focus-visible),
button:focus:not(:focus-visible),
input:focus:not(:focus-visible),
textarea:focus:not(:focus-visible),
select:focus:not(:focus-visible),
summary:focus:not(:focus-visible),
.navigabile:focus:not(:focus-visible),
.vc_do_btn a:focus:not(:focus-visible) {
  outline: none;
}
.site__main{
  margin-bottom: 4rem;
}
/* SVG */
.svg-include{
  display: block;
}
svg{
  max-width: 100%;
  height: auto;
  display: block;
}

/** CONTENITORE A GRIGLIA CON CLASSI BREAKOUT E FULL */
.contenitore {
  --content-max-width: var(--d-limit, 1440px);
  --padding-inline: 1rem;
  --breakout-span: 1rem;
  
  width: 100%;
  display: grid;
  grid-template-columns: 
  [full-start] minmax(var(--padding-inline), 1fr )
  [breakout-start] minmax(0,var(--breakout-span)) 
  [content-start] min(100% - var(--padding-inline) * 2, var(--content-max-width)) [content-end] 
  minmax(0,var(--breakout-span)) [breakout-end] 
  minmax(var(--padding-inline), 1fr ) [full-end];
  align-content: start;
}
.contenitore > * {
  grid-column: breakout;
}
.contenitore > .full {
  grid-column: full;
}
.contenitore > .breakout {
  grid-column: breakout;
}
.contenitore > .full--padding {
  padding-inline: var(--padding-inline);
}

@media screen and (min-width: 1080px){
  .contenitore > * {
    grid-column: content;
  }
}


/* HEADER */
.site__header{
  --header-bg: var(--color-sfondo);
  --header-padding-block: 1rem;
  --nav-text-color: var(--color-testo);
  --nav-link-hover-color: var(--color-primario);
  --nav-z-index: 1000;
	--mobile-logo-width: 7rem;
  --mobile-nav-overlay-bg: var(--color-sfondo);
  --mobile-nav-overlay-padding: 6rem 2rem 2rem;
  --mobile-nav-transition-duration: 0.4s;
  --mobile-nav-icon-size: 2rem;
  --mobile-nav-item-font-size: 1.4rem;
  --mobile-nav-item-padding: 0.75rem 0;
  --mobile-nav-item-gap: 0.5rem;
  --mobile-submenu-indent: 1.5rem;
  --mobile-submenu-bg: var(--color-sfondo);
  --mobile-submenu-font-size: 1.2rem;
  --mobile-submenu-icon-size: 1.4rem;
  --desktop-submenu-min-width: 220px;
  --desktop-nav-item-font-size: 1.2rem;
  --desktop-nav-item-gap: 0.5rem;
  --desktop-submenu-bg: var(--color-sfondo);
  --desktop-submenu-min-width: 320px;
  --desktop-submenu-font-size: 1.2rem;
  --desktop-submenu-shadow: 0 8px 16px rgba(0, 0, 0, 0.1);
	--desktop-logo-width: 10rem;
	--desktop-logo-height: 8rem;
	--desktop-menu-margin: .5rem;
  background-color: var(--header-bg);
  color: var(--nav-text-color);
  padding-block: var(--header-padding-block);
  position: sticky;
  top: 0;
  z-index: var(--nav-z-index);
  width: 100%;
  transition: padding-block 0.3s ease-out, box-shadow 0.3s ease-out;
}
body.ombra .site__header{
  box-shadow: 0 12px 8px -2px rgba(0, 0, 0, 0.3);
}
.header__wrapper {
  display: grid;
  align-items: center;
  gap: 2rem;
  grid-template-columns: 1fr auto;
  grid-template-areas: "logo menu";
  position: relative;
}

.logo { grid-area: logo; justify-self: start; }
.primary-navigation-wrapper { grid-area: menu; }

.logo a {
	padding: 0;
}
.header__wrapper .svg-logo {
	width: var(--mobile-logo-width);
	height: auto;
}

.logo a:focus-visible .svg-include{
  outline-offset: 4px;
}

/* Lingue su header */
.language-switcher {
  display: none;
  position: absolute;
  top: 2rem;
  left: 2rem;
}
body.mobile-menu-is-open .language-switcher{
  display: inline-block;
}
.language-switcher__list {
  display: flex;
  flex-direction: row;
  flex-wrap: wrap;
  gap: 0.5rem;
  font-size: var(--mobile-nav-item-font-size);
}
.language-switcher .is-active{
  font-weight: 300;
}
a.language-switcher__link{
  font-weight: 700;
}


@media screen and (min-width: 1080px){
  .site__header {
    padding-block: 0;
    transition: transform .3s ease-out;
  }
  .header--piccolo .site__header {
    transform: translateY(calc(-1 * (var(--desktop-logo-height) - var(--desktop-menu-margin))));
  }
  .header__wrapper {
    grid-template-columns: 1fr;
    grid-template-areas: "logo"
    "menu";
    gap: 0;
    margin-bottom: var(--desktop-menu-margin);
	}
  .header__wrapper .logo{
    width:100%;
    display: grid;
    place-items: center;
    height: var(--desktop-logo-height);
	}
	.header__wrapper .svg-logo {
		width: var(--desktop-logo-width);
	}
  .language-switcher{
    top: 0;
    display: inline-block;
    position: relative;
    height: var(--desktop-logo-height);
    display: grid;
  }
  .language-switcher__list{
    align-items: center;
  }
}

/**
 * ========================================================================
 * Stili Navigazione Primaria (Mobile First)
 * ========================================================================
 */

.primary-navigation-wrapper {
  display: contents;
}

/* --- 1. Pulsanti di controllo Mobile --- */

.mobile-menu-toggle {
  justify-self: start;
  color: var(--nav-text-color);
}

.mobile-menu-close {
  position: absolute;
  top: 2rem;
  right: 1rem;
  color: var(--nav-text-color);
  z-index: calc(var(--nav-z-index) + 1);
}

.hamburger-icon,
.close-icon {
  width: var(--mobile-nav-icon-size);
  height: var(--mobile-nav-icon-size);
}
.hamburger-icon__line,
.close-icon__line {
	fill: none;
	stroke: currentColor;
	stroke-width: 2;
	stroke-linecap: round;
}

/* --- Reset Stile Pulsanti Navigazione --- */

.primary-navigation button {
  /* Resetta l'aspetto del pulsante per farlo sembrare testo normale */
  background: none;
  border: none;
  margin: 0;
  padding: 0;
  /* Eredita le proprietà del font dal genitore */
  font-family: inherit;
  font-size: inherit;
  font-weight: inherit;
  line-height: inherit;
  color: inherit;
  text-align: left;
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
}

/* --- 2. Contenitore Menu Mobile (Overlay) --- */

.primary-navigation {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-color: var(--mobile-nav-overlay-bg);
  z-index: var(--nav-z-index);
  padding: var(--mobile-nav-overlay-padding);
  overflow-y: auto;
  clip-path: circle(var(--mobile-nav-icon-size) at calc(100% - 2rem) 2rem);
  transition: clip-path var(--mobile-nav-transition-duration) ease-in-out, opacity var(--mobile-nav-transition-duration);
  opacity: 0;
  pointer-events: none;

}
.primary-navigation.is-open {
	clip-path: circle(150% at calc(100% - 2rem) 2rem);
	opacity: 1;
	pointer-events: auto;
}
.primary-navigation.mobile-closed {
	display: none;
}

/* --- 3. Lista Voci di Menu --- */

.primary-menu-list {
	display: flex;
  flex-direction: column;
  gap: var(--mobile-nav-item-gap);
}
.primary-menu-list > li {
	border-bottom: 1px solid var(--nav-text-color);
}

.menu-item.menu-item-has-children {  
	display: flex;
	flex-wrap: wrap;
	align-items: center;
}
.menu-item > a {
	padding: var(--mobile-nav-item-padding);
	flex-grow: 1;
	font-size: var(--mobile-nav-item-font-size);
	text-decoration: none;
	display: inline-block;
	color: var(--nav-text-color);
}
.menu-item > a:hover, .menu-item > a:focus {
	color: var(--nav-link-hover-color);
	text-decoration: underline;
}

/* --- 4. Sottomenu Mobile --- */

.submenu-toggle {
  padding: 0.75rem;
  margin-left: auto;
  color: var(--nav-text-color);
}

.submenu-icon {
  width: var(--mobile-submenu-icon-size);
  height: var(--mobile-submenu-icon-size);
}
.submenu-icon__line {
	fill: none;
	stroke: currentColor;
	stroke-width: 2;
	stroke-linecap: round;
	transition: transform 0.3s ease;
	transform-origin: center;
}

.submenu-toggle[aria-expanded="true"] .submenu-icon__line--vertical {
  transform: scaleY(0);
}

.sub-menu {
  display: flex;
  flex-direction: column;
  width: 100%;
  padding-left: var(--mobile-submenu-indent);
  background-color: var(--mobile-submenu-bg);
  border-radius: 4px;
  gap: 0.25rem;
  display: none;

}
.sub-menu.is-open { display: flex; }
.sub-menu .menu-item a {
	font-size: var(--mobile-submenu-font-size);
	padding: 0.5rem;
}

/* --- 5. Stili per voci di menu speciali --- */

/* Stile per l'elemento che è solo un toggle (senza link) */
.is-toggle-only {
  /* Assicura che il pulsante interno possa occupare tutto lo spazio */
  padding: 0;
}

.is-toggle-only > .submenu-toggle {
  /* Rendi il pulsante largo come l'intera riga */
  width: 100%;
  /* Allinea il contenuto come un link normale */
  display: flex;
  justify-content: flex-start;
  align-items: center;
  /* Applica lo stesso stile dei link */
  padding: var(--mobile-nav-item-padding);
  font-size: var(--mobile-nav-item-font-size);
  text-align: left;
}

/* Sposta l'icona del toggle alla fine della riga */
.is-toggle-only > .submenu-toggle .submenu-toggle-icon {
  margin-left: auto;
}


/**
  BREADCRUMB
  */
.breadcrumb__list {
  margin: 1rem 0 2rem;
  padding: 0;
  display: flex;
  gap: 1rem;
  font-size: 1rem;
}
.breadcrumb__item a {
  text-decoration: underline;
}
.breadcrumb__item a:hover{
  color: var(--color-primario);
}
.breadcrumb__item.is-current {
  font-weight: 700;
}

/**
  PAGINE
  */
.main__cover {
  width: 100%;
}
.main__cover img{
  width: 100%;
  height: auto;
}
.vc_tta-container{
  max-width: 1080px;
  margin-inline: auto;
}
.wpb_wrapper p,
.wpb_wrapper h2,
.wpb_wrapper h3,
.wpb_wrapper h4,
.wpb_wrapper h5,
.wpb_wrapper h6,
.wpb_wrapper .vc_sep_line
{
  /**
  max-width: 80ch;
  margin-inline: auto;
  */
}

aside .block-menu a.mybutton {
  display: inline-block;
}

/**
  FOOTER
  */

.site__footer{
  --color-sfondo: var(--color-primario);
  --color-testo: #FFF;
  background: var(--color-sfondo);
  color: var(--color-testo);
}
.site__footer a {
  color: var(--color-testo);
}

.footer__navigation {
  --color-primario: var(--color-testo);
  display: grid;
  grid-template-columns: 1fr;
  gap: 1rem;
  text-transform: uppercase;

}
.footer__menu {
  display: grid;
  grid-template-columns: 1fr;
  font-weight: 300;
  font-size: 1.4rem;
  margin-bottom: 2rem;
  align-content: start;
}
.footer__menu-header {
  font-weight: 700;
  font-size: 1.6rem;
  margin-bottom: 0.5rem;
  border-top: 1px solid var(--color-testo);
  padding-top: .5rem;
}
.footer__menu a {
  padding-block: .5rem;
}
.owl-carousel.owl-loaded{
  background: var(--color-testo);
}
.owl-carousel .owl-item {
  padding-block: 4rem;
}
.footer__corporate span a {
  color: var(--color-testo);
}
.footer__bottom{
  --color-primario: var(--color-testo);
  display: grid;
  row-gap: 4rem;
  font-size: 1.2rem;
  margin-block: 2rem;
  padding-block: 2rem;
  text-align: center;
}
.footer__logo {
  width: 100%;
  min-width: 12rem;
  margin-inline: auto;
}
.footer__logo path {
  fill: var(--color-primario);
}

/* HOMEPAGE */
.thecover-home{
  height: 100dvh !important;
}
.thecover-home .svg-logo-mof {
  position: relative;
  z-index: 2;
  max-width: 70dvw;
  margin-inline: auto; 
  margin-top: 10rem;
  animation: logoComparsa;
  animation-duration: 1.5s;
  animation-timing-function: ease-out;
  animation-fill-mode: forwards;
  animation-delay: 2s;
  opacity:0;
  transform: scale(1) translateY(0);
  clip-path: polygon(50% 0, 50% 0, 50% 100%, 50% 100%);
}
@keyframes logoComparsa {
  to {
    clip-path: polygon(100% 0, 0 0, 0 100%, 100% 100%);
    opacity:1;
    transform: scale(1.2) translateY(1rem);
  }

}
.intro-arrow > span{
  font-size: 1rem !important;
  text-shadow: 0px 2px 4px var(--color-testo);
}


/**
 * ========================================================================
 * Stili News in Evidenza
 * ========================================================================
 */

.news-featured-grid {
  display: grid;
  gap: 2rem;
  margin-block: 4rem;
}

.news-card {
  display: flex;
  flex-direction: column;
  border: 1px solid rgba(0, 0, 0, 0.1);
  border-radius: 4px;
  overflow: hidden;
  background-color: var(--color-sfondo);
  position: relative; /* Necessario per il link esteso */
  box-shadow: 0 4px 8px rgba(0, 0, 0, 0.05);
}

.news-card__header {
  padding: 1rem 1.5rem;
  border-bottom: 1px solid rgba(0, 0, 0, 0.1);
}

.news-card__title {
  font-size: 1.5rem;
  margin-bottom: 0.5rem;
}

.news-card__title a {
  color: inherit;
  text-decoration: none;
}


.news-card__title a:hover {
  text-decoration: underline;
  color: var(--color-primario);
}

.news-card__date {
  font-size: 0.9rem;
  color: #666;
  display: block;
}

.news-card__content {
  padding: 1.5rem;
  flex-grow: 1; /* Fa in modo che il contenuto occupi lo spazio disponibile */
}

.news-card__footer {
  padding: 0 1.5rem 1.5rem;
}
.wp-pagenavi {
  margin-block: 2rem 4rem;
  display: flex;
  flex-wrap: wrap;
}
@media screen and (min-width: 740px) {
  .news-featured-grid {
    grid-template-columns: 1fr 1fr;
  }
}


/**
 * ========================================================================
 * Stili Desktop (da 1080px in su)
 * ========================================================================
 */
@media screen and (min-width: 1080px) {
  .mobile-menu-toggle,
  .submenu-toggle-icon, 
  .mobile-menu-close {
    display: none;
  }

  .primary-navigation {
    display: flex;
    position: static;
    width: 100%;
    height: auto;
    padding: 0;
    background-color: transparent;
    overflow: visible; 
    clip-path: initial; 
    opacity: 1; 
    pointer-events: auto;
    transform: none;
    transition: none;
    visibility: visible !important;
    border-top: 1px solid var(--color-primario);
    border-bottom: 1px solid var(--color-primario);
    padding: 0.5rem 0;
  }
  .primary-navigation.mobile-closed{
    display: block !important;
  }
  .primary-menu-list {
    flex-direction: row;
    align-items: center;
    gap: var(--desktop-nav-item-gap);
    width: 100%;
    justify-content: space-between;
  }
	.primary-menu-list > li {
		border-bottom: none;
	}
  .language-switcher {
    position: absolute;
    left: auto;
    right: 0;
  }
  .language-switcher__list {
    font-size: var(--desktop-nav-item-font-size);
  }
  .menu-item {
    position: relative;
  }
	.menu-item > a {
		font-size: var(--desktop-nav-item-font-size);
	}

  .submenu-toggle {
    display: none;
  }

  .sub-menu {
    position: absolute;
    top: 100%;
    left: 0;
    z-index: var(--nav-z-index);
    background-color: var(--desktop-submenu-bg);
    padding: 0.5rem;
    min-width: var(--desktop-submenu-min-width);
    border-radius: 4px;
    box-shadow: var(--desktop-submenu-shadow);
    border: 1px solid rgba(0,0,0,0.05);
    opacity: 0;
    transform: translateY(10px);
    transition: opacity 0.2s ease, transform 0.2s ease;
    pointer-events: none;
  }

  .menu-item-has-children:hover > .sub-menu,
  .menu-item-has-children:focus-within > .sub-menu {
    opacity: 1;
    transform: translateY(0);
    pointer-events: auto;
    display: flex;
  }

  /* Allinea a destra il sottomenu dell'ultimo elemento per non farlo uscire dallo schermo */
  .primary-menu-list > .menu-item-has-children:last-child > .sub-menu {
    left: auto;
    right: 0;
  }

  .is-toggle-only > .submenu-toggle {
    padding: 0;
    font-size: var(--desktop-nav-item-font-size);
  }
  .sub-menu .menu-item a {
    font-size: var(--desktop-submenu-font-size);
    padding: 0.5rem;
  }


  .footer__navigation {
    --color-primario: var(--color-testo);
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));

  }
  .footer__menu {
    display: grid;
    grid-template-columns: 1fr;
    font-size: 1.2rem;
    margin-bottom: 2rem;
    border-right: 1px solid var(--color-testo);
  }
  .footer__menu:last-of-type{
    border-right: 0;
    padding-right: 0;
  }
  .footer__menu-header {
    font-size: 1.4rem;
    margin-bottom: 0.5rem;
    padding-top: 0;
    border-top: 0;
  }
  .footer__menu a {
    padding-block: .25rem;
  }

  .footer__bottom{
    font-size: 1rem;
    text-align: left;
    grid-template-columns: 2fr 7fr 3fr;
    align-items: end;
    column-gap: 2rem;
  }

  .thecover-home .svg-logo-mof {
    max-width: min(900px,60dvw);
    margin-top: 4rem;
  }
}

body.mobile-menu-is-open {
  overflow: hidden;
}


