/*
Theme Name: Flatsome Child
Description: This is a child theme for Flatsome Theme
Author: UX Themes
Template: flatsome
Version: 3.11
*/

/*************** ADD CUSTOM CSS HERE.   ***************/
/*
@import "fonts/fontawesome/css/solid.min.css";
@import "fonts/fontawesome/css/fontawesome.min.css";
@import "fonts/helvetica_neue/HelveticaNeueLTPro-MdCnO.css";
*/

:root {
	--dark-text-color: #fff;
	--column-divider-color: #ececec2e;
	--green-site: #009703;
}

.res-text { } /*Dimensione base del testo nei banner */

h1, h2, h3, h4, h5, h6, .heading-font, .off-canvas-center .nav-sidebar.nav-vertical > li > a {  }
pre, blockquote, form, figure, p, dl, ul, ol { margin-bottom: 0.6em; }/*Overwrite padding sotto a <p>*/ 
sup { vertical-align: top; }
ul { list-style: none; }
.icon-box .icon-box-img {margin-bottom:0;}
.col, .columns, .gallery-item { padding-bottom: 0px; } 

/*Rimuove padding sotto alle colonne in desktop */ 
/*@media screen and (min-width: 850px){ .row-large>.flickity-viewport>.flickity-slider>.col, .row-large>.col { padding-bottom: 0; } }*/
/************************************************/


/****** SD Utility Classes *****/
.nav-dropdown { min-width: 320px; } /*Dimensione del dropdown menu main*/
.img-radius { border-radius: 20px; overflow: hidden; } /*Aggiunge radius ad immagini */
.margin-none { margin: 0 !important }
strong { /*font-weight: 700*/ }
.blocco_loghi .ux-logo-link { padding: 0 !important; }
.blocco_loghi img { margin: 0 auto !important; width: 65px; height: auto !important; }
/************************************************/

/****** SD Complianz *****/
#cmplz-manage-consent .cmplz-btn.cmplz-manage-consent {font-size: 0.7em !important; padding: 5px 15px !important; height: auto !important; opacity: .5;}
#cmplz-manage-consent .cmplz-btn.cmplz-manage-consent:hover {opacity: 1;}
.cmplz-buttons .cmplz-btn { font-size: 0.7em !important;}
/************************************************/

/****** SD Selettore Lingua *****/
body .nav li.wpml-ls-current-language > a:before {content: ""; width: 16px; background: url(/wp-content/themes/flatsome-child/assets/world.svg)no-repeat; margin-right: 2px; aspect-ratio: 1; opacity: 1; position: relative; background-size: cover; height: 16px; display: inline-block; vertical-align: middle;}
body .nav .wpml-ls-legacy-list-horizontal { padding-top:0; padding-bottom:0; }
body .nav .wpml-ls-legacy-list-horizontal a { padding:0 }
/************************************************/


/****** SD Icon Arrow *****/
[class*='icon-arrow-right']:after,
[class*='icon-arrow-down']:after{
    content: '';
    display: none;
    width: 10px;
    height: 60px;
    position: absolute;
    background: url(/wp-content/uploads/2025/10/arrow-icon.svg);
    background-size: contain;
    background-repeat: no-repeat;
}

@media only screen and (min-width: 850px) {
	.icon-arrow-right-lg:after {display: inline-block; top: 36px; right: -5px;}
	.icon-arrow-down-lg:after {display: inline-block; left: calc(50% - 5px); transform: rotate(90deg); bottom: -20px; }
}

@media only screen and (max-width: 849px) {	
	.icon-arrow-right-md:after {display: inline-block; top: 36px; right: -5px;}
	.icon-arrow-down-md:after {display: inline-block; left: calc(50% - 5px); transform: rotate(90deg); bottom: -20px; }
}
@media only screen and (max-width: 549px) {
	.icon-arrow-right-sm:after {display: inline-block; top: 36px; right: -5px;}
	.icon-arrow-down-sm:after {display: inline-block; left: calc(50% - 5px); transform: rotate(90deg); bottom: -20px; }
}
/************************************************/

body .dark h1, 
body .dark h2, 
body .dark h3,
body .dark h4,
body .dark h5,
body .dark h6 { color: var(--dark-text-color); }


.h1,h1,.banner h1, .box-text h1 { font-size: 2.8em; line-height: 1; }
.h2,h2,.banner h2, .box-text h2 { font-size: 2.1em; line-height: 1; }
.h3,h3,.banner h3, .box-text h3 { font-size: 1.5em; line-height: 1.1; }
.h4,h4,.banner h4, .box-text h4 { font-size: 1.125em; line-height: 1.2; }
.h5,h5,.banner h5, .box-text h5 { font-size: 1em; line-height: 1.2; }
.h6,h6,.banner h6, .box-text h6 { font-size: .85em; line-height: 1.2; }

p.lead, a.lead { line-height: 1.2; }

p {font-size: 1.1em; line-height: 1.4; }

/* Main menu */
.header-nav-main.nav>li>a {color: var(--fs-color-primary) !important;  }
/* ********* */

#main ul:not(.nav) li:before { content: "" !important; color: var(--fs-color-primary); font-family: fl-icons; font-size: 16px; left: 0; position: absolute; }
#main ul:not(.nav) li{ list-style: none; margin: 0 !important; padding: 2px 0 2px 20px !important; position: relative; }


/***************FORM CONTATTI********************/
.block-form .col { padding: 0 15px 5px !important; }
.acceptance .wpcf7-form-control-wrap { display: inline !important; }
.wpcf7 span.wpcf7-list-item { margin-right: 0; }
label.acceptance input { margin-bottom: 0; }
/************************************************/

/******** MIGLIORAMENTI A FLATSOME **************/
.row-divided > .col + .col:not(.large-12) { border-left-color: var(--column-divider-color); }
.row-box-shadow-5 .col-inner, .row-box-shadow-5-hover .col-inner:hover, .box-shadow-5, .box-shadow-5-hover:hover {
  -webkit-box-shadow: 0px 30px 40px 0px rgba(205,205,205,.2);
  box-shadow: 0px 30px 40px 0px rgba(205,205,205,.2); 
}

/***** MIGLIORAMENTI A FLATSOME WOOCOMMERCE *****/
.dashboard-links li { width: 33.333%; margin-left: 0!important; }
.woocommerce-columns--2 .woocommerce-column { min-width: 50%; }
address { font-style: normal; line-height: 1.3; }
/************************************************/

.header-language-dropdown li a { padding: 10px 0 !important; color: #555 !important; margin-top: 0 }

.text-green { color: var(--green-site) !important } 
.bg-green { background-color: var(--green-site) !important }

.img-greyscale .bg-loaded { background-color: #141720; background-blend-mode: luminosity; }
.img-greyscale .banner-bg img { filter: grayscale(1); }
.mfp-iframe-holder .mfp-content, .mfp-inline-holder .ux-mfp-inline-content--video {	max-width: 80%; }

div.tablecontainer { overflow-x: auto; }
.table_sd { border-collapse: collapse; width: 100%; }
.table_sd th { background: #2e86c1; color: #fff; }
.table_sd th, .table_sd tr { text-transform: none; padding: 10px !important; }
.table_sd tr, .table_sd th { font-size: 16px }
.table_sd td { border: 1px solid #f4f4f4; font-size: 16px; padding: 10px; background: #fbfbfb; }

.dark .table_sd td {background: rgba(254, 254, 254, 0.064)}

.timeline h3 { background: var(--primary-color); padding: 0px 11px; display: inline-block; width: auto; position: absolute; top: -16px; color: #fff; border-radius: 10px; }

/* #masthead { background: red !important; } */

.hero-banner-text-icon span img { position: relative; display: block; text-align: center; margin: 0px 0 5px 25px; }
.hero-banner-text-icon span { display: inline-block }

.column-iconbox-list .icon-box-text { padding-left: 35px !important; }
.column-iconbox-list .icon-box-text h3 { margin: 5px 0 0 0; }

.form-newsletter .col:first-child input { border-radius: 50px; margin-bottom: 0; }
.form-newsletter .wpcf7-submit { background-color: var(--fs-btn-secondary-color) !important; }

.footer-menu .nav > li > a { padding: 2px 0px; }



@media screen and (min-width: 850px) { /*Solo Desktop*/
	.section { overflow-x: clip; } /*Inserito per fix colonne con overlay che sbordano*/	
}

@media only screen and (max-width: 849px) { /*Tablet e Mobile*/
	body .is-sticky-section { position: relative !important; } 
	body .sticky-section-helper { display: none; }	
	body .sticky-section { height: auto !important; }
}

@media (min-width: 550px){
	.medium-1 .res-text, .medium-2 .res-text, .medium-3 .res-text, .medium-4 .res-text, .medium-5 .res-text, .medium-6 .res-text, .medium-7 .res-text { font-size: 16px; }
}

@media only screen and (max-width: 549px) {
/*************** ADD MOBILE ONLY CSS HERE  ***************/
	.menu-item a {/* font-size: 17px !important; color: #111 !important;*/}
	.mobile-center * { text-align:center; }

	.h1,h1,.banner h1{ font-size: 1.9em;  }
	.h2,h2,.banner h2{ font-size: 1.7em; line-height: 1.1;  }
	.h3,h3,.banner h3{ font-size: 1.5em; line-height: 1.2;  }
	.h4,h4,.banner h4{ font-size: 1.3em;  }
	.h5,h5,.banner h5{  }
	.h6,h6,.banner h6{  }

	p.lead, a.lead { font-size: 1.2em;  }
}

/******** BRACKPOINT HEADER **************/
@media only screen and (min-width: 1200px) {
	.header-main .logo-left .nav-left { justify-content: flex-end !important; right: 20px; }
	.header-main .logo-left .nav-right { justify-content: end !important; }

	.header-main.show-logo-center .nav-left { justify-content: flex-end !important; }
	.header-main.show-logo-center .nav-right { justify-content: flex-start !important; }
}

@media only screen and (max-width: 1199px) {
    #header .hide-for-medium .header-nav { display: none; }
    #header #top-bar .hide-for-medium{ display: none; }
    #header .show-for-medium, #header .show-for-medium .mobile-nav { display: flex !important; }
}
/******** BRACKPOINT HEADER **************/



/* =========================================================
   MAMBOOM - TABELLA DI CONFRONTO
   ========================================================= */
.mamboom-comparison-wrap { width:100%; max-width:1050px; margin:0 auto; }
.mamboom-comparison-title { margin:0 0 2rem; color:#7db900; font-size:clamp(1.8rem,2vw + 1rem,2.4rem); font-weight:700; line-height:1.2; text-align:center; }
.mamboom-comparison-table { display:grid; grid-template-columns:1.1fr 1fr 1fr; align-items:stretch; filter:drop-shadow(0 4px 12px rgba(0,73,60,.05)); }
.mamboom-comparison-head { display:flex; justify-content:center; align-items:center; min-height:76px; padding:1rem 1.5rem; color:#fff; font-size:1.35rem; font-weight:700; line-height:1.3; text-align:center; }
.mamboom-label-head { background:transparent; }
.traditional-head { margin-right:5px; border-radius:12px 12px 0 0; background:#006253; }
.mamboom-head { margin-left:5px; border-radius:12px 12px 0 0; background:#80c600; }
.mamboom-comparison-cell { display:flex; align-items:center; justify-content:center; min-height:74px; padding:1rem 1.5rem; border-right:1px solid #e4e8e1; border-bottom:1px solid #e4e8e1; background:#fff; color:#4d5552; font-size:1.0625rem; line-height:1.6; text-align:center; }
.mamboom-comparison-cell:nth-child(3n+1) { border-left:1px solid #e4e8e1; }
.comparison-label { justify-content:flex-start; color:#004f43; font-weight:700; }
.mamboom-value { font-weight:600; }
.mamboom-comparison-cell.last-row:nth-last-child(3) { border-radius:0 0 0 14px; }
.mamboom-comparison-cell.last-row:last-child { border-radius:0 0 14px 0; }
@media (max-width:849px){
    .mamboom-comparison-head { min-height:68px; font-size:1.15rem; }
    .mamboom-comparison-cell { min-height:66px; padding:.9rem 1rem; font-size:1rem; }
}
@media (max-width:549px){
    .mamboom-comparison-wrap { overflow-x:auto; padding-bottom:.5rem; }
    .mamboom-comparison-title { text-align:left; }
    .mamboom-comparison-table { min-width:680px; }
    .mamboom-comparison-head { font-size:1.05rem; }
    .mamboom-comparison-cell { font-size:.95rem; }
}