/* 
Theme Name: Italian Pavilion - Studio MA - Elementor Child
Theme URI: https://github.com/elementor/hello-theme/
Description: Hello Elementor Child is a child theme of Hello Elementor, created by Studio MA team
Author: Studio MA
Author URI: https://manlioma.it/
Template: hello-elementor
Version: 1.0.1
Text Domain: studio-ma
License: GNU General Public License v3 or later.
License URI: https://www.gnu.org/licenses/gpl-3.0.html
Tags: flexible-header, custom-colors, custom-menu, custom-logo, editor-style, featured-images, rtl-language-support, threaded-comments, translation-ready
*/

/*
    Add your custom styles here
*/

/* helpers */
.fl{float: left;}
.fr{float: right;}
.no_display{display:none!important;}
.hidden{width: 0px;height: 0px;visibility: hidden;opacity: 0;overflow: hidden;}
.muto{line-height: 0px;margin: 0px;padding: 0px;text-indent: -999px;font-size: 0px;}
.clear{clear: both;}
a.active{border: none;outline:0;}
*:focus {
    outline: none!important;borde_r: none!important;outline:0!important;outline-style: none!important;
}
.top40{margin-top: 40px;}
.top90{margin-top: 90px;}
.spacer-200{
	height: 200px;
	display: block;
}
.spacer-100{
	height: 100px;
	display: block;
}
.wow {
   visibility: hidden;
}
.vh-50{
	height: 50vh;
}
.min-vh-50{
	min-height: 50vh;
}

body.blocked{overflow: hidden!important;padding-right: 20px;}
@media all and (min-width: 768px){ 
	.align_right{text-align: right;}
	.align_left{text-align: left;}
}
.align_center{
	text-align: center
}
.flex-center{
	display: flex;
	align-items: center;
	justify-content: center;
}
body, html{
	-webkit-font-smoothing: antialiased; 
	width: 100%;
	max-width: 100vw
}
html, body {
    max-width: 100%;
    overflow-x: hidden;
}
.trans{  
  -webkit-transition: all 0.3s ease 0s;
  -moz-transition: all 0.3s ease 0s;
  -ms-transition: all 0.3s ease 0s;
  -o-transition: all 0.3s ease 0s;
  transition: all 0.3s ease 0s; 
}

.hyphens_text{
    -webkit-hyphens: auto;
    -moz-hyphens: auto;
    -ms-hyphens: auto;
    hyphens: auto;
}

.text_big{
	font-size: 1.2em;
}
.big-title{
    font-size: 4.2em!important;
    letter-spacing: -2.5px;
    line-height: .96;
}
.full-width{
	width: 100%;
	max-width: 100%;
}

body.logged-in .no-log-only{
	display: none;
}
body:not(.logged-in) .log-only{
	display: none;
}

img{
	backface-visibility: hidden;
	max-width: 100%;
	height: auto;
}
table{
	width: 100%;
}
iframe{
	width: 100%
}
a:focus, button:focus{
	outline: none!important;
}

@media (min-width: 768px){
	.picsout_right{
		margin-right: -30px;
	}
	.picsout_left{
		margin-left: -30px;
	}
	.picsout_right_big{
		margin-right: -25%;
	}
	.picsout_left_big{
		margin-left: -25%;
	}
}

.black_overlay:before{
	content: '';
	height: 100%;
	width: 100%;
	position: absolute;
	background: #000;
	opacity: .33;
}
.white_overlay:before{
	content: '';
	height: 100%;
	width: 100%;
	position: absolute;
	background: #FFF;
	opacity: .33;
}
.icon-reverse{
	transform: rotate(180deg);
}
.blend-multiply{
	mix-blend-mode:multiply;
}
.blend-difference{
	mix-blend-mode:difference;
}
.blend-exclusion{
	mix-blend-mode:exclusion;
}

/* typography */

html {font-size: 112.5%;} /*18px*/

body {
  font-family: 'Archivo', sans-serif;
  font-weight: 400;
  line-height: 1.75;
}

p {margin-bottom: 1rem;}

h1, h2, h3, h4, h5 {
  margin: 3rem 0 1.38rem;
  font-family: 'Archivo', sans-serif;
  font-weight: 700;
  line-height: 1.3;
  
}

h1 {
  margin-top: 0;
  font-size: 3.052rem;
  text-transform: uppercase
}

h2 {font-size: 2.441rem;}

h3 {font-size: 1.953rem;}

h4 {font-size: 1.563rem;}

h5 {font-size: 1.25rem;}

small, .text_small {font-size: 0.8rem;}



/* colors */

body{
	--color-ip: var(--e-global-color-primary);
    --color-ip-magenta: var(--e-global-color-secondary);
    --color-ip-black: var(--e-global-color-text);
    --color-ip-2: var(--e-global-color-accent);
    --color-ip-3: var(--e-global-color-80c4099);
    --color-ip-4: var(--e-global-color-534b19c);
    --color-ip-grey: var(--e-global-color-d1fcea3);
    --color-ip-violet: var(--e-global-color-a54b724);
    --color-ip-white: var(--e-global-color-2ba79ab);
}


/* header */
#logo img, #logo{
    transition:all .3s linear;
}
#logo {
    text-align: center;
    padding: 0px;
    background: var(--e-global-color-primary);
    position: relative;
    display: flex;
    align-items: center;
    justify-content: center;
    margin-bottom: -125px;
    overflow: hidden;
    width: 215px;
    height: 250px;
    padding: 10px;
}
#logo img {
    position: absolute;
    left: 50%;
    top: 0;
    z-index: 0;
    padding: 10px;
    transform: translateX(-50%);
    height: 100%;
}

#logo img.logo_def {
    z-index: 1;
}
#logo:hover{
    background: var(--e-global-color-a54b724);
}
#logo:hover img.logo_def {
    opacity: 0;
}
.firstScroll #logo:hover {
    background: var(--color-ip-violet);
}
.firstScroll #header{
	background: var(--e-global-color-primary);
}
.firstScroll #header a{
	color: #fff;
}


.firstScroll #logo {
    margin: 0;
    height: 125px;
/*     background: white; */
}

.firstScroll #logo .logo_def {
    opacity: 1;
}
#logo .logo_wow{
/* 	display: none */
}
.firstScroll #logo img {
    height: 190px;
}

#header .menu-item a{
    line-height: 125px;
    padding: 0;
}
#header .menu-item a:after{
	height: 7px;
    bottom: -3px;
}
.firstScroll #header .menu-item a:after{
/* 	background-color: var(--color-ip-violet); */
}
.wpml-ls-legacy-list-horizontal .wpml-ls-current-language {
    display: none;
}

.elementor-search-form__toggle i {
    background: url(inc/img/search-icon-white.svg) no-repeat center;
    background-size: contain;
    margin-left: 30px;
    background-color: #0000!important
}
.firstScroll .elementor-search-form__toggle i {
    background: url(inc/img/search-icon-white.svg) no-repeat center;
    background-size: contain;
}
.elementor-search-form__toggle i:before {
    content: '';
}

/* mobile menu */
#menuPanel .elementor-search-form__toggle i {
    background-image: url(inc/img/search-icon.svg)!important;
}
#menuPanel {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    z-index: 900;
    padding-top: 100px;
    transform: translateY(-100%);
    transition: transform .5s ease-out;
}
#menuPanel.open {
	transform: translateY(0%);
}
#menuToggle.open rect:nth-child(1) {
    transform: rotate(-45deg) translateY(20px);
	transform-origin:center;
}
#menuToggle.open rect:nth-child(2) {
    transform: rotate(45deg) translateY(1px);
	transform-origin:center;
}

#menuToggle.open rect:nth-child(3) {
    width: 0;
}
#menuToggle svg *{
	transition: all .3s ease-out
}
#menuPanel .wpml-ls-legacy-list-horizontal {
    padding-left: 0;
}

/* content & section */

body{
	--container-w: 1140px;
	--container-out: calc( 100vw - var(--container-w) );
	--container-out-half: calc( var(--container-out) / 2);
}

header.page-header h1 {
    display: none;
}

/* boxHome */
.boxHome > div {
	aspect-ratio: 1;
}

@media(max-width:1200px){
	html {font-size: 100%;} /*16px*/
	.boxHome > div {
    	aspect-ratio: 1.1;
    }
    h1{
	    hyphens: auto;
	}
}

@media(min-width: 1201px){
	div:not(.elementor-location-header,.elementor-location-footer) section.elementor-top-section.elementor-section-boxed{
		padding-left: 230px!important;
		padding-right: 30px!important;
	}
	.elementor-section.elementor-section-boxed > .elementor-container {
	    max-width: 100%!important;
	}
}
@media(min-width: 1650px){
	div:not(.elementor-location-header,.elementor-location-footer) section.elementor-top-section.elementor-section-boxed,
	.boxSection {
		padding-left: 230px!important;
		padding-right: 230px!important;
	}
}
	
	

/* buttons */
.btnIP a {
    padding: 0px 0px 0px 15px!important;
}

.btnIP .elementor-button-icon {
    border-left: 1px solid;
    padding: 0px 30px;
    transition: all .3s ease-in-out;
        display: flex;
    align-items: center;
}
.btnIP .elementor-button-icon i{
    font-size: 25px;
}

.btnIP .elementor-button-text {
    padding: 30px 0;
}
.btnIP a:hover{
	color:var(--color-ip);
}
.btnIP.bgDark a:hover{
    border-color: white!important;
}
.btnIP a:hover .elementor-button-icon{
	background: var(--color-ip);
	color:white;
}
.btnIP.btnIp2 a:hover{
	color: var(--color-ip-2);
}
.btnIP.btnIp2 a:hover .elementor-button-icon{
	background: var(--color-ip-2);
}
.btnIP.btnIp3 a:hover{
	color: var(--color-ip-3);
}
.btnIP.btnIp3 a:hover .elementor-button-icon{
	background: var(--color-ip-3);
}
.btnIP.btnIp4 a:hover .elementor-button-icon{
	background: var(--color-ip-4);
}
.btnIP.btnIp4 a:hover{
	color: var(--color-ip-4);
}
.btnIP.btnIpMagenta a:hover{
	color: var(--color-ip-magenta);
}
.btnIP.btnIpMagenta a:hover .elementor-button-icon{
	background: var(--color-ip-magenta);
}
.btnIP.small {
    transform: scale(.8);
    transform-origin: left top;
}

/* swiper buttons */
.elementor-swiper-button i {
    color: var(--e-global-color-primary);
    background: white;
    border: 1px solid var(--color-ip);
    box-shadow: none;
    font-size: 30px;
    padding: 5px;
    transition:all .3s ease-out
}
.elementor-swiper-button:hover i {
    background: var(--e-global-color-primary);
    color: white;
    border: 1px solid #fff;
    box-shadow: none;
    font-size: 30px;
    padding: 5px;
}

.dialog-lightbox-close-button.dialog-close-button {
    color: white;
    font-size: 2em;
}

span.infoButt {
    display: inline-block;
    margin: .5rem 0;
}
span.infoButt a {
    padding: 5px 58px 5px 12px;
    display: inline-flex;
    border: 1px solid;
    font-weight: 500;
    position: relative;
}
span.infoButt a:after {
    content: '';
    width: 40px;
    height: 100%;
    border-left: 1px solid;
    line-height: 1;
    position: absolute;
    right: 0;
    top: 0;
    background: url(inc/img/caret.svg) no-repeat center;
    transition: all .3s ease-out;
}
span.infoButt a:hover {
    color: var(--color-ip-magenta);
}
span.infoButt:hover a:after {
    background-image:url(inc/img/caret-wh.svg);
    background-color:var(--color-ip-magenta)
}

/* faq */
span.itala_mondo:before, span.itala:before, span.mondo:before {
    content: '';
    left: 0;
    top:0;
    width:100%;
    height:100%;
    position:absolute;
    background-size: contain;
    background-image: url(inc/img/icon_italia_mondo.svg);
    background-repeat:no-repeat;
    background-position:left center;
}
span.itala_mondo, span.itala, span.mondo {
	display: block;
	position:relative;
	margin: 0 20px;
	width: 120px;
	height: 60px;
	flex: 0 0 120px;
}
span.itala:before {
    background-image: url(inc/img/icon_italia.svg);
}
span.mondo:before {
    background-image: url(inc/img/icon_mondo.svg);
}

.elementor-toggle-item a {
    display: flex;
    align-items: center;
}
.elementor-toggle-item .elementor-active {
    background: var(--color-ip-violet);
}

.elementor-toggle .elementor-tab-title {
    padding: 50px 70px 50px 0!important;
    position: relative;
    border-bottom: 0px solid #d4d4d4!important;
    border-top: 3px solid var(--color-ip);
}
.elementor-toggle .elementor-tab-content{
	border-bottom: 0px solid!important;
	padding-left: 140px!important;
}
span.elementor-toggle-icon.elementor-toggle-icon-right {
    width: 60px!important;
    height: 60px;
    border: 3px solid var(--color-ip);
    position: absolute;
    top: -3px;
    right: 0;
    display: flex!important;
    align-items: center;
    justify-content: center;
}

.elementor-toggle .elementor-tab-title .elementor-toggle-icon span{
    display: block;
    width: 20px;
    height: 20px;
}

.elementor-tab-title.elementor-active span.elementor-toggle-icon{
    background:var(--color-ip);
}

.imgPartner img{
    width: auto;
    max-height: 125px;
    height: auto;
}

.carouselPics .elementor-main-swiper.swiper-container {
    overflow: visible;
    position:relative;
    height: auto!important;
}
.carouselPics .elementor-main-swiper.swiper-container .swiper-slide{
    aspect-ratio:16/9
}
.carouselPics .elementor-main-swiper.swiper-container:before {
    content: '';
    background:#fff;
    width:100%;
    height:100%;
    position:absolute;
    top: -10px;
    left: -100%;
    z-index: 10;
}

/* pagination */
.dce-pagination.dce-pagination-bottom > * {
    width: 50px;
    height: 50px;
    font-size:1.3em!important
}

.dce-pagination.dce-pagination-bottom a.pagenext,
.dce-pagination.dce-pagination-bottom a.pageprev{
    border: 1px solid var(--color-ip);
}
.dce-pagination.dce-pagination-bottom a.pageprev{
    transform:rotate(180deg)
}

/* nuovo calendar */
#newCal li.stec-layout-month-daycell-event {
    background: var(--color-ip-violet)!important;
}
#newCal td.stec-layout-month-daycell.active li.stec-layout-month-daycell-event,
#newCal td.stec-layout-month-daycell:hover li.stec-layout-month-daycell-event{
    background-color: var(--color-ip-magenta)!important;
}

#newCal .stec-top .stec-top-menu > li:hover,
#newCal .stec-top .stec-top-menu > li.active,
#newCal .stec-top .stec-top-menu-date-control-up,
#newCal .stec-top .stec-top-menu-date ul li,
#newCal .stec-top .stec-top-menu-date-control-down{
    background: var(--color-ip)!important;
    border-radius: 0!important;
}

#newCal table.stec-layout-month tr td {
    border-bottom: 3px solid var(--color-ip);
    border-width: 0px 0 3px 0;
}

#newCal td.stec-layout-month-daycell.active > div:after {
    content: '';
    width: 100%;
    position: absolute;
    bottom: -20px;
    left: 0;
    background: var(--color-ip-magenta);
    height: 20px;
    z-index: 10;
}

#newCal td.stec-layout-month-daycell.active,
#newCal td.stec-layout-month-daycell:hover {
    border-color: var(--color-ip-magenta);
}

#newCal .stec-layout-month-daycell-inactive .stec-layout-month-daycell-wrap {
    background: var(--color-ip-grey);
}

#newCal .stec-layout-month-daycell .stec-layout-month-daycell-wrap {
    background: var(--color-ip-grey);
    display: flex;
    align-items: center;
    justify-content: center;
}
#newCal .stec-layout-month-daycell:not(.stec-layout-month-daycell-today) .stec-layout-month-daycell-wrap .stec-layout-month-daycell-num {
    color: var(--color-ip-magenta);
    text-align: center;
    flex: 0 0 100%;
}
#newCal .stec-layout-month-daycell .stec-layout-month-daycell-wrap .stec-layout-month-daycell-num {
    font-size: 70px;
    font-family: 'Archivo';
}
#newCal .stec-layout-month-daycell.active .stec-layout-month-daycell-wrap,
#newCal .stec-layout-month-daycell:hover .stec-layout-month-daycell-wrap {
    background: var(--color-ip-magenta);
}
#newCal .stec-layout-month-daycell.active:not(.stec-layout-month-daycell-today) .stec-layout-month-daycell-wrap .stec-layout-month-daycell-num,
#newCal .stec-layout-month-daycell:hover .stec-layout-month-daycell-wrap .stec-layout-month-daycell-num {
    color: #ffffff;
}
#newCal .stec-layout-month-daycell .stec-layout-month-daycell-wrap .stec-layout-month-daycell-num {
    position: relative;
    max-width: 100%;
    width: 100%;
    top:0;
    left:0
}
#newCal .stec-layout-month-daycell-events {
    position: absolute;
    bottom: 10px;
    height: 8px;
    width: 100%;
    overflow: hidden;
}
#newCal .stec-event-holder .stec-layout-event-preview.stec-layout-event-preview-animate-complete {
    background: var(--color-ip-violet);
}
#newCal .stec-layout-event-preview-left-text-title {
    font-size: 22px;
    font-weight: 500;
    color: #000;
}
#newCal .stec-layout-event-preview .stec-layout-event-preview-left .stec-layout-event-preview-left-text p {
    color: var(--color-ip);
    font-family: 'Archivo';
}
#newCal .stec-event-holder .stec-layout-event-preview.stec-layout-event-preview-animate-complete:hover p {
    background: inherit;
}
#newCal .stec-event-holder .stec-layout-event-preview.stec-layout-event-preview-animate-complete:hover p,
#newCal .stec-layout-month-daylabel .stec-layout-month-daylabel-today p {
    color: var(--color-ip-magenta);
}
#newCal .stec-layout-month-daycell.stec-layout-month-daycell-today .stec-layout-month-daycell-num:before {
    background-color: var(--color-ip-magenta);
    content: "";
    position: absolute;
    z-index: -1;
    border-radius: 50%;
    top: -35px;
    left: calc(50% - 50px);
    padding: 50px;
}
#newCal .stec-layout-agenda-daycell:hover {
    background: var(--color-ip-violet);
}
#newCal .stec-layout-agenda-daycell.active {
    background: var(--color-ip-magenta);
}
#newCal .stec-layout-agenda-monthstart {
    background: var(--color-ip-grey);
}

.carouselFestival .swiper-pagination {
    left: 0px!important;
    transform: translateX(0%)!important;
    text-align: left;
}
.carouselFestival .swiper-pagination-bullet {
    width: 12px;
    height: 12px;
}