/*
Theme Name: Mesmerize PRO Child
Theme URI: https://extendthemes.com/go/mesmerize-home/
Template: mesmerize-pro
Author: Horea Radu
Author URI: https://extendthemes.com/
Description: Mesmerize is an incredibly flexible, multipurpose WordPress theme that can help you create an amazing website easier than ever, by drag and drop. It comes with a predesigned home page, 5 header designs and over 30 ready to use content sections that you can easily customize. It also has lots of customization options (video background, slideshow background, header content types, gradient overlays, etc) that will help you create a beautiful, unique website in no time. Mesmerize is responsive so it works on mobile devices out of the box and it is also WooCommerce ready. DEMO: https://extendthemes.com/go/mesmerize-demos/
Tags: entertainment,food-and-drink,portfolio,one-column,two-columns,right-sidebar,grid-layout,custom-header,custom-menu,custom-logo,full-width-template,theme-options,translation-ready,featured-images,threaded-comments
Version: 1.6.129.1622332905
Updated: 2021-05-30 00:01:45

*/

/* STILE GENERALE */

:root {
	--red: #EF3340;
	--dark-blue: #2a4e82;
	--light-blue: #e3f0ff;
	--orange: #ffad33;
	--white: #fff;
}
   
html {
  scroll-behavior: smooth;
}

/* STILE FORM */
input {
	border: 1px solid #aaa;
}

.required {
   color: var(--red);
}

.wpcf7-list-item {
	margin: 0;
}

.wpcf7-list-item-label {
	display: none;
}


/*
 * BANNER COOKIE CONSENT
 */
.iubenda-pp-button {
    margin-top: 32px;
}
.iubenda-cp-button {
    margin-top: 8px;
}


/*
 * HEADER E MENU DI NAVIGAZIONE
 */

/** MENU DESKTOP **/

/* Centro verticalmente gli elementi del menu */
#main_menu {
	align-items: center;
}

/* Riduco il padding tra le singole voci */
#main_menu.dropdown-menu li {
	padding: .6rem;
}

/* Gestisco la visualizzazione delle icone della lingua */
#main_menu .lang-item:nth-child(1),
#main_menu .lang-item:nth-child(2) {
    display: none;
}

/** MENU MOBILE **/

/* Nascondo il cerchietto che circonda l'icona hamburger del menu mobile */
.main_menu_col [data-component="offcanvas"] .bubble {
	display: none;
 }
 
 /* Aumento la dimensione dell'icona hamburger del menu mobile */
 .main_menu_col [data-component="offcanvas"] i.fa {
	 font-size: 32px;
 }

/* Nascondo il logo dark che occupa spazio inutile nel menu offcanvas */
#offcanvas-wrapper .offcanvas-top .logo-holder .logo-link {
    display: none;    
}

/* Imposta l'allineamento a sinistra per allineare meglio le icone delle lingue */
#offcanvas_menu {
	text-align: left;
}

/* Sistema le icone della lingua sulla stessa linea */
#offcanvas_menu .lang-item {
	display: inline-block;
}

/* Gestisco la visualizzazione delle icone della lingua */
#offcanvas-menu ul .lang-item:nth-last-child(1),
#offcanvas-menu ul .lang-item:nth-last-child(2) {
    display: none;
}

/*
#menu-main-menu-english .lang-item,
#menu-main-menu-italiano .lang-item,
#menu-main-menu-francais .lang-item {
	display: none;
}
*/

.footer-content [id^="menu-main-menu"] .lang-item {
	display: none;
}

/* Impostazioni per le icone standard di polylang */
.lang-item img {
    width: 24px;
    height: 16.5px;
}

/* Impostazioni per le nuove icone */
.lang-item img {    
	height: 48px;
	width: auto;
}

/* Imposto il livello di opacità dell'overlay nell'header della homepage e delle pagine interne*/
.header-homepage:not(.header-slide).color-overlay::before,
.header.color-overlay::before {
	opacity: .3;    
}

/* Centro orizzontalmente gli elementi della sezione testimonial in home */
body.home #testimonials-5 .row.spaced-cols.content-center-sm {
   display: flex;
   justify-content: center;
}


/*
 * Form per la richiesta dell'ebook
 */
.cta-invio-ebook-container {
    margin: 4rem 0 0;
    /*! padding: 2rem .5rem; */
	  border: .5rem solid #2a4e82;
    box-shadow: 5px 5px 20px rgba(10,10,10,.2)
}

.cta-invio-ebook-form form {
    margin: 0;
}

.cta-invio-ebook-form .wpforms-field.cta-invio-ebook-form-nome,
.cta-invio-ebook-form .wpforms-field.cta-invio-ebook-form-email {
	width: 100%;
}

@media screen and (min-width: 1025px) {
    
    .cta-invio-ebook-form .wpforms-field.cta-invio-ebook-form-nome,
    .cta-invio-ebook-form .wpforms-field.cta-invio-ebook-form-email {
        display: inline-block;
        width: 45%;
    }
    .wpforms-field.wpforms-field-email.cta-invio-ebook-form-nome {
        margin-left: 8%;
    }
}

/*
 *  ARTICOLO SINGOLO
 */

/* Didascalie delle immagini inline */
figcaption {
    padding: .5rem 0 0;
    font-size: 1rem;
    font-style: italic;
    text-align: center;
}

/* DIMESIONE MASSIMA IMMAGINI ONLINE */
.wp-block-image img {
    width: 100%;
	 max-width: 512px;
}
/*****/

/* DIDASCALIE FEATURED IMAGE */
.featured-image-container {
    position: relative;
}

.wp-post-image {
    margin-bottom: 0;   
}

.featured_image_caption {
    position: absolute;    
    display: inline-block;
    padding: .3rem 1rem;    
    text-shadow: 3px 3px 5px rgba(10,10,10,.8);
    bottom: 0;
    right: 0;    
    margin-bottom: .4rem;
    color: var(--white);
}

.featured_image_caption a {
    color: var(--white);
}

.featured_image_caption a:hover {
    text-decoration: none;
    color: var(--white);
}
/*****/



/**
 * FORM RICHIESTA EBOOK
 */
 
.cta-invio-ebook-container {
	display: flex; 
	flex-direction: column;
	margin:4rem 0 0;
	/*! padding:2rem 1rem; */
	border:.5rem solid var(--dark-blue);
	box-shadow:5px 5px 20px rgba(10,10,10,.2);
	position: relative;
	overflow: hidden;
}
 
.cta-invio-ebook-container > *,
.cta-invio-ebook-container .left-column > *,
.cta-invio-ebook-container .right-column > * {
	position: relative;	
}

.cta-invio-ebook-container .left-column label,
.cta-invio-ebook-container .right-column label,
.cta-invio-ebook-container .left-column > * {
    color: white;
}

.cta-invio-ebook-container .left-column {
    order: 1;
	padding: 1rem;
}

.cta-invio-ebook-container .right-column {
	display: flex;		
	position: relative;
	flex-direction: row;
	justify-content: center;
	align-items: center;
	padding: 3rem 1rem 0 1rem;
	margin-left: -20%;
	margin-bottom: 32px;
	overflow: hidden;
}

.cta-invio-ebook-container .left-column:before {
	content: '';
	position: absolute;
	width: 110%;
	height: 115%;
	top: -5%;
	right: -3%;		
	background-color: var(--dark-blue);
	transform: skewY(-4deg)
}

/*
.cta-invio-ebook-container:before {
    content: '';
    position: absolute;
	width: 100%;
	height: 50%;
	top: -10%;
	right: 0;			
	background-color: #e3f0ff;
	background: linear-gradient(to bottom, #e3f0ff 70%, rgba(256,256,256,0) 100%);
	transform: skewY(-3deg);
}
*/

.cta-invio-ebook-container .right-column img {
   max-width: 320px;
}    

:not(.wpforms-container).cta-invio-ebook-form {
	display: flex;
	flex-direction: row;
	flex-wrap: wrap;
	justify-content: center;
	/*align-items: center;*/
	text-align: left;
}

.cta-invio-ebook-form label {
	flex: 1 1 100%;
	margin-bottom: 1.5rem;
	position: relative;
}

.cta-invio-ebook-form .form-mail-label {	
	margin-bottom: 2rem;
}

.cta-invio-ebook-form .form-gdpr-label {	
	flex: 1 1 100%;
	margin-left: 0;
	font-weight: 400;
}

.cta-invio-ebook-form .form-submit {
	text-align: center;
}

.form-submit-container {
	display:flex;
	justify-content:center;
	align-items: center;
	position:relative;
	margin-top:32px;	
	padding: .5rem 4rem;
	background-color: var(--orange);
	color: var(--white);
	border: 2px solid var(--orange);
	cursor: pointer;
	transition: all 200ms linear;
	max-width: 100%;
}

.cta-invio-ebook-form label {
   font-weight: 700;        
}

.form-submit-container .form-submit {
	height: 1.5rem;
	background-color:initial;
	border: none;	
	color: var(--white);
	font-size: 1.2rem;
}

/* Animazione di invio */
.wpcf7 .ajax-loader {
	background-color: var(--orange);
	opacity: 1;
	position: absolute;
	transform: scale(1.2)
}
/***/

/* Comportamento in hover del pulsante di invio */
.form-submit-container:hover {	
	background-color: var(--white);
	border: 2px solid var(--orange);
}

.form-submit-container:hover .form-submit {			
	color: var(--orange);
}
/***/

/* Comportamento durante l'invio del pulsante di invio */
.wpcf7-form.submitting .form-submit {
	color: transparent;
}

.wpcf7-form.submitting .form-submit-container {
	background-color: var(--white);
	border: 2px solid var(--orange);
}
/***/

.wpcf7-form-control-wrap {
	position: static;
}

/* Messaggi di errore relativi ai singoli campi */
.wpcf7-not-valid-tip {
	position: absolute;
	left: 0;
	top: 100%;
	background-color: var(--red);
	line-height: 1.6;
	color: var(--white);
}

/* Messaggio di errore generale in calce al form */
.wpcf7 form .wpcf7-response-output {
	padding: .5rem;
	font-size: 1rem;
	font-weight: 700;
	text-align: center;
	background-color: var(--red);
	color: var(--white);
	border: none;
}
/***/

@media all and (min-width: 1200px) {	
	.cta-invio-ebook-container {
		flex-direction: row;
		/*! padding: 2rem; */
		overflow: hidden;
   }
	
	.cta-invio-ebook-container * {
		flex: 1 1 50%;
	}
   
  .cta-invio-ebook-container .left-column {
		order: 0;		
		background: var(--dark-blue);
		/*! box-shadow: 10px 10px 40px rgba(10,10,10,.3); */
		z-index: 1;
	}
	
	:not(.wpforms-container).cta-invio-ebook-form {
		flex-direction: column;
	}
	
  .cta-invio-ebook-container .right-column {
		display: flex;
		flex-direction: row;
		justify-content: center;
		align-items: center;
		margin-left: 0;
		margin-bottom: 0;		
		z-index: 0;
	}
	.cta-invio-ebook-container .right-column:before {
		content: '';
		position: absolute;
		width: 100%;
		height: 100%;
		top: 0;
		right: 0;		
		background-color: var(--light-blue);
    }
	.cta-invio-ebook-container .right-column img {
		max-width: 480px;
		left: -20%;
		position: relative;
		z-index: 0;
	} 
	
	.cta-invio-ebook-title {
		text-align: left;
		color: var(--white);
	}	

	.cta-invio-ebook-form label {
		flex: 1 1;		
		color: var(--white);
	}

	.form-submit-container {
		max-width: 100%;
	}
}

.perfectum-box-image img {    
    max-width: 100%;
}


/**
 * 2022-08-25 / CORREZIONE DI UN BUG DEL TEMA MESMERIZE
 * Nella visualizzazione mobile è stata usata una flexbox per gestire l'incolonnamento degli elementi nel footer
 * e la loro centratura. Non è stato però rimossa la strategia usata in precedenza, ovvero l'uso di margini 
 * negativi inline nel figlio diretto del container.
 */
 .footer-content .flexbox > .row {
	margin-inline: 0;
 }


/**
 * Cambia caratteristiche del testo scuro dei pulsanti.
 */
 .button.dark-text {
    font-size: 16px;
    color: #212121 !important;
    font-weight: 600;
}

/**
 * Rende sticky le immagini nella sezione delle case history in homepage
 */

 @media screen and (min-width:768px) {
	.page-template .content-2,
	.page-template .content-3 {
			--header-height:200px
	}
	.page-template .content-2 .row.middle-xs,
	.page-template .content-3 .row.middle-xs {
			align-items:start
	}
	.page-template .content-2 .bg-image,
	.page-template .content-3 .bg-image {
			position:sticky;
			top:calc( 50vh - var(--header-height))
	}
}



/* Faccio rientrare leggermente tutte le voci di menu di secondo 
livello nel footer, in modo che sia più chiara la gerarchia */
.footer .sub-menu .menu-item {
    padding-inline-start: 1rem;
}


/* Aumento l'altezza minima della hero nella pagina del post singolo */

@media all and (min-width: 769px) {
	.single-post .header {	
		display: flex;
		flex-direction: column;
		justify-content: center;
		min-height: 550px;
	}
}


/**
 * CTA richiesta ebook gratuito
 */

 :root {
	--main-cta-bg: #2b4f80;
	--main-cta-clr: #ffffff;
}

#content-20 {
	display: none;
}

body #content-20 {
	display: block;
	background-color: var(--main-cta-bg) !important;
}

body .main-ebook-cta {
	text-align: left;
}

body .main-ebook-cta .cta-title {
	font-size: 1.95rem;
	line-height: 1.2;
}


body .main-ebook-cta p { 
	font-size: 1.25rem;
	line-height: 1.4;
}

body :is(.cta-title, .cta-form, .main-ebook-cta :is(label, p), .required) {
	color: var(--main-cta-clr);
}

body .main-ebook-cta .cta-form {
	display: flex;
	flex-direction: row;    
	flex-wrap: wrap;    
}

body .cta-form {
	--_field-inline-gap: var( --field-inline-gap, 0); 
}

body .cta-form > label {
	flex-basis: 100%;
}

@media only screen and (min-width: 768px) {
	body .cta-form :is( .label-nome, .label-cognome ) {
		flex-basis: calc( 50% - 16px);
	}
}

body .cta-form > label + :is(label, .label) {	
	margin-block-start: var( --flow-space, 1em );
}

body .cta-form :is( .label-nome, .label-cognome ) {
	--flow-space: 0;	
}

body .main-ebook-cta .wpcf7-list-item-label {
	display: inline-block;
	margin-block-start: .5rem;
}

body .cta-form .submit-container {
	--flow-space: 2em;
}

body .cta-form :is( .label-cognome ) {	
	margin-inline-start: var( --_field-inline-gap );
}

@media only screen and (min-width: 768px) {
	body .cta-form {
		--field-inline-gap: 32px;
	}
}

#content-20 :is( .wpcf7-form, [data-content-shortcode] ) {
	margin-block-end: 0 !important;
}


body .cta-form .wpcf7-submit {
	width: 100%;
	background-color: #ff9800;
	cursor: pointer;
}

body .cta-form :is(label, .label-gdpr) {
	position: relative;
	margin-block-end: 1rem;
}

body .cta-form .label-gdpr {	
	margin-block-end: 2rem;
}

body .cta-form .label-gdpr .wpcf7-list-item-label {
    margin-block: 0;
}

body .cta-form .wpcf7-not-valid-tip {
	font-size: .8rem;
	padding-inline: 4px;
	padding-block: 2px;
	border-radius: 4px;
	margin-block-start: 4px;
}



/* Modifica stile CTA per il template del post */
body .single-post-cta {	
	--main-cta-bg: #2b4f80;
	--main-cta-clr: #fff;
	padding: 2rem;
	margin-block-start: 3rem;
	background-color: var(--main-cta-bg);
}

@media only screen and (max-width: 767px) {
	body .single-post-cta {	
		margin-block: 3rem;
	}
}

body .single-post-cta form {
	margin-bottom: 0;
}
