/*
Theme Name: MFZ Child
Description: This is a child theme for Flatsome Theme
Author: UX Themes
Template: flatsome
Version: 3.0
*/

/*************** ADD CUSTOM CSS HERE.   ***************/
:root {
  --blu: #1F2E51;
  --verde: #79BC66;
  --verdechiaro: #DBE38E;
  --azzurro: #88ABB7;
  --grigiochiaro: #EEEDED;
  --grigio: #545A6A;
  --bianco: #fff;
  --bgverdeop6:rgba(121, 188, 102, 0.6);
  --title1: 3.375rem;
  --title2: 3rem;
  --title3: 2rem;
  --textmedium: 1.5rem;
  --textregular: 18px;
  --text: 20px;
}
/* Setting FONT */
@font-face {
  font-family: 'Source Sans 3';
  src: url('/wp-content/themes/mfz-child/fonts/SourceSans3-VariableFont_wght.ttf') format('truetype');
  font-weight: 200 900;
  font-style: normal;
  font-display: swap;
}
/* @font-face {
  font-family: 'Source Sans 3';
  src: url('/wp-content/themes/mfz-child/fonts/SourceSans3Italic.woff2') format('woff2');
  font-weight: 400;
  font-style: italic;
  font-display: swap;
} */
@font-face {
  font-family: 'Lora';
  src: url('/wp-content/themes/mfz-child/fonts/Lora-VariableFont_wght.ttf') format('truetype');
  font-weight: 200 900;
  font-display: swap;
}
html {
  font-size: 16px;
}
body {
    line-height: 1.25;
}
h1, .banner h1,
h2, .title-h2,
.numeri, .row-numeri .text-small,
.nome-responsabile,
.intro-header, .lora,
.text-medium, .count-up, .track-home-box h4, a.accordion-title, u{
  font-family: 'Lora', sans-serif;
  margin-bottom: 0 !important;
}
.button, p, .text-footer,
.posizione-team, .header-nav-main .nav-top-link,
.scrolling-text, .track-home-box p, .data-track-home,
.header-nav ul.sub-menu a,
#main-menu .sidebar-menu ul li a,
.etichette, .p-h3, li.bullet-star,
.lista-quadrati li{
  font-family: 'Source Sans 3', sans-serif;
}
/* CAMBIO HEADER PAGINE PROFESSIONISTI */
.page-id-802 #masthead .header_logo,
.page-id-796 #masthead .header_logo,
.page-id-800 #masthead .header_logo,
.page-id-802 #masthead .header_logo,
.page-id-806 #masthead .header_logo,
.page-id-810 #masthead .header_logo,
.page-id-814 #masthead .header_logo,
.page-id-816 #masthead .header_logo,
.page-id-812 #masthead .header_logo,
.page-id-808 #masthead .header_logo{
  display: none !important;
}
.page-id-802 #masthead .header-logo-dark,
.page-id-796 #masthead .header-logo-dark,
.page-id-800 #masthead .header-logo-dark,
.page-id-804 #masthead .header-logo-dark,
.page-id-806 #masthead .header-logo-dark,
.page-id-810 #masthead .header-logo-dark,
.page-id-814 #masthead .header-logo-dark,
.page-id-816 #masthead .header-logo-dark,
.page-id-812 #masthead .header-logo-dark,
.page-id-808 #masthead .header-logo-dark{
  display: block !important;
}
.page-id-802 #masthead,
.page-id-796 #masthead,
.page-id-800 #masthead,
.page-id-804 #masthead,
.page-id-806 #masthead,
.page-id-810 #masthead,
.page-id-814 #masthead,
.page-id-816 #masthead,
.page-id-812 #masthead,
.page-id-808 #masthead{
  background-color: var(--blu);
}
.page-id-802 .header:not(.transparent) .header-nav-main.nav > li > a,
.page-id-796 .header:not(.transparent) .header-nav-main.nav > li > a,
.page-id-800 .header:not(.transparent) .header-nav-main.nav > li > a,
.page-id-804 .header:not(.transparent) .header-nav-main.nav > li > a,
.page-id-806 .header:not(.transparent) .header-nav-main.nav > li > a,
.page-id-810 .header:not(.transparent) .header-nav-main.nav > li > a,
.page-id-814 .header:not(.transparent) .header-nav-main.nav > li > a,
.page-id-816 .header:not(.transparent) .header-nav-main.nav > li > a,
.page-id-812 .header:not(.transparent) .header-nav-main.nav > li > a,
.page-id-808 .header:not(.transparent) .header-nav-main.nav > li > a{
  color: var(--bianco);
}
.page-id-802 .header-button .primary,
.page-id-796 .header-button .primary,
.page-id-800 .header-button .primary,
.page-id-804 .header-button .primary,
.page-id-806 .header-button .primary,
.page-id-810 .header-button .primary,
.page-id-814 .header-button .primary,
.page-id-816 .header-button .primary,
.page-id-812 .header-button .primary,
.page-id-808 .header-button .primary{
  background-color: var(--bianco);
  color: var(--blu);
}
/* */
h1{
  font-size: var(--title1);
  font-weight: 500;
  line-height: 1;
}
.banner h1, .count-up, .title-h1{
  font-size: var(--title1);
  font-weight: 400;
}
.banner h1{
  line-height: 1.2;
}
h2, .title-h2{
  font-size: var(--title2);
}
.p-h3{
  font-size: var(--title3) !important;
  color: var(--blu);
  margin-bottom: 25px;
}
.lora-bold,
.accordion-title.active{
  font-weight: 700;
}
p{
  font-size:  var(--textmedium);
  font-style: normal;
  font-weight: 400;
  margin-bottom: 0;
  color: var(--grigio);
}
.etichette{
  font-size: var(--textregular);
  font-weight: 900;
}
.Source-SB{
  font-weight: 600;
}
.b900,
.header-nav .current_page_item a,
.header-nav li.active>a{
  font-weight: 900 !important;
}
.text-footer,
.posizione-team,
.accordion-inner p,
.desc-profess p{
  font-size: var(--textregular);
  font-weight: 400;
}
.nome-responsabile,
.intro-header,
.text-medium,.accordion-title span,
li.bullet-star,
.lista-quadrati{
  font-size: var(--textmedium);
}
.header-nav-main .nav-top-link,
.header-nav ul.sub-menu a{
  font-size: var(--text);
}
.header-nav-main .nav-top-link,
.nome-responsabile,
h2, .title-h2, .intro-header, .numeri,
.header-button span,
a.accordion-title{
  font-weight: 500;
}
.nome-profess h1{
  font-size: 50px !important;
  font-weight: 600;
}
.b400{
  font-weight: 400;
}
/* Fine setting FONT */

section{
  padding-top: 104px !important;
  padding-bottom: 104px !important;
}
.section-pt-64{
  padding-top: 64px !important;
}
.row-sticky{
  padding-top: 96px;
  padding-bottom: 40px;
}
h1 + p{
 margin-top: 80px; 
}
h2 + p,
p + p,
p + h2,
.track-home-box h4 + p{
  margin-top: 30px;
}
.row + .row{
  margin-top: 60px;
}
.page-servizi .row + .row{
  margin-top: 80px !important;
}
.bg-blu,
.page-id-196 .spazio-top,
.partner2 .col-inner,
.page-id-837 .spazio-top{
  background-color: var(--blu);
}
.bg-grey{
  background-color: var(--grigiochiaro);
}
.bg-grey-scuro,
.associate2 .col-inner{
  background-color: var(--grigio);
}
.bg-azzurro,
.analyst2 .col-inner{
  background-color: var(--azzurro);
}
.blu, .intro-header, .numeri,
.header-nav ul.sub-menu a,
#main-menu .sidebar-menu ul li a{
  color: var(--blu);
}
.bianco,
.acc-2, .acc-3, .acc-4,
.acc-2 p, .acc-3 p, .acc-4 p,
.acc-2 .active, .acc-3 .active, .acc-4 .active{
  color: var(--bianco);
}
.verdechiaro{
  color: var(--verdechiaro);
}
.acc-1{
  background-color: var(--verdechiaro);
}
.acc-2{
  background-color: var(--blu);
}
.acc-3{
  background-color: var(--grigio);
}
.acc-4{
  background-color: var(--azzurro);
}
.acc-5{
  background-color: var(--grigiochiaro);
}
a.accordion-title:hover{
  color:inherit;
}
.acc-2 .acc-button-cta{
  border: 1px solid white;
}
/* CONTENITORE PRELOADER */
#preloader {
  position: fixed;
  inset: 0;
  background: var(--blu); /* colore sfondo */
  z-index: 999999;
  display: flex;
  justify-content: center;
  align-items: center;
  overflow: hidden;
}
/* CONTENITORE INTERNO */
.preloader-inner {
  position: relative;
  width: 100%;
  height: 100%;
}
/* LOGHI SOVRAPPOSTI */
.logo-round,
.logo-full {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%) scale(0.2); /* scala iniziale */
  opacity: 0; /* logo-full invisibile all'inizio */
  will-change: transform, opacity;
}
/* Logo rotondo visibile all'inizio */
.logo-round,
.acc-item .toggle{
  opacity: 1;
}
body.preloading {
  overflow: hidden !important; /* blocca scroll verticale e orizzontale */
  height: 100vh !important;     /* garantisce che body occupi tutto lo schermo */
}
/* NASCONDI PRELOADER IN UX BUILDER */
body.ux-builder #preloader {
  display: none;
}

#custom-cursor {
    position: fixed;
    width: 60px;
    height: 60px;
    pointer-events: none;
    transform: translate(-50%, -50%);
    z-index: 9999;
    display: none; /* nascosto di default */
}
.button{
  margin-bottom: 0;
  margin-top: 30px;
  font-size: var(--textregular);
  font-weight: 900;
}
.button:hover{
  background-color: var(--verdechiaro);
  border: 1px solid var(--blu);
  color: var(--blu);
  box-shadow: none;
}
.button .icon-angle-right,
.button .icon-angle-left {
  transition: transform .3s ease;
}
.button:hover .icon-angle-right {
  transform: translateX(4px);
}
.button:hover .icon-angle-left {
  transform: translateX(-4px);
}
.button .icon-angle-right {
  width: 1em;
  height: 1em;
  background-color: currentColor;

  -webkit-mask-image: url("/wp-content/uploads/freccia.svg");
  -webkit-mask-repeat: no-repeat;
  -webkit-mask-position: center;
  -webkit-mask-size: contain;

  mask-image: url("/wp-content/uploads/freccia.svg");
  mask-repeat: no-repeat;
  mask-position: center;
  mask-size: contain;
}

.button .icon-angle-left {
    width: 1em;
    height: 1em;
    background-color: currentColor;
    -webkit-mask-image: url(/wp-content/uploads/freccia-sx.svg);
    -webkit-mask-repeat: no-repeat;
    -webkit-mask-position: center;
    -webkit-mask-size: contain;
    mask-image: url(/wp-content/uploads/freccia-sx.svg);
    mask-repeat: no-repeat;
    mask-position: center;
    mask-size: contain;
}

.btn-grey{
  background-color: var(--grigiochiaro);
  color: var(--blu);
}
.stack-btn{
  margin-top: 30px;
}
.stack-btn-animate {
  opacity: 0;
  transform: translateX(80px);
  transition: all 0.9s ease;
}
.stack-btn-animate.active {
  opacity: 1;
  transform: translateX(0);
}
.section-aree,
.bg-horiz-grad{
  background: linear-gradient(90deg, rgba(136, 171, 183, 0.80) 0%, rgba(147, 178, 178, 0.80) 44.71%, rgba(177, 199, 163, 0.80) 73.08%, rgba(219, 227, 142, 0.80) 100%);
}
.items-center{
  align-items: center;
}
/* PRE-FOOTER  */
.page-id-184 .pre-footer,
.page-id-196 .pre-footer{
  background-color: var(--azzurro);
}
.page-id-198 .pre-footer,
.page-id-198 .spazio-top,
.page-id-853 .spazio-top,
.page-id-855 .spazio-top,
.page-id-857 .spazio-top,
.page-id-859 .spazio-top,
.page-id-861 .spazio-top,
.page-id-796 .pre-footer, .page-id-796 .spazio-top,
.page-id-800 .pre-footer, .page-id-800 .spazio-top,
.page-id-804 .pre-footer, .page-id-804 .spazio-top,
.page-id-802 .pre-footer, .page-id-802 .spazio-top,
.page-id-816 .pre-footer, .page-id-816 .spazio-top,
.page-id-814 .pre-footer, .page-id-814 .spazio-top,
.page-id-812 .pre-footer, .page-id-812 .spazio-top,
.page-id-806 .pre-footer, .page-id-806 .spazio-top,
.page-id-810 .pre-footer, .page-id-810 .spazio-top,
.page-id-808 .pre-footer, .page-id-808 .spazio-top,
.bg-verdechiaro{
  background-color: var(--verdechiaro);
}
/* */
/* card team */
.card-team .box{
    position: relative;
    overflow: visible;
}
.card-team img{
  border-radius: 20px 20px 200px 200px;
}
.card-team .box-text {
    position: relative;
    z-index: 1;
    padding: 30px 0 40px;
}
  /* forma blu */
.card-team .col-inner::before {
  content: "";
  position: absolute;
  left: 0;
  bottom: 0;
  width: 100%;
  background: var(--blu);
  height: 90%;
  border-radius: 0 0 220px 220px;
  z-index: -1;
  transform: rotate(-180deg);
}
.associate .col-inner::before{
  background: var(--grigio);
}
.analyst .col-inner::before{
  background: var(--azzurro);
}

/* CERCHIO LINK */
.card-team-plus {
  font-size: 0;
  display: flex;
  align-items: center;
  justify-content: center;  
  position: absolute;
  left: 50%;
  bottom: 0;
  transform: translate(-50%, 50%);
  width: 40px;
  height: 40px;
  background: var(--verdechiaro);
  color: var(--blu);
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  text-decoration: none;
  z-index: 20;
  transition: 0.3s;
}
.card-team-plus::before {
    content: "+";
    font-size: 36px;
    line-height: 1;
}
@supports (-webkit-touch-callout: none) {
  .card-team-plus::before {
    transform: translateY(-2px);
  }
}
/* hover */
.card-team-plus:hover {
    transform: translate(-50%, 50%) scale(1.1);
}
/* fine card */

.sfondo-logo {
    position: relative;
    overflow: hidden; /* sicurezza */
}

/* Logo animato */
.sfondo-logo::before {
    content: "";
    position: absolute;
    right: -100px; /* regola posizione */
    width: 520px;
    height: 520px;
    background-image: url(https://www.mfz.sviluppo.host/wp-content/uploads/logo-sfondo-bg.png);
    background-repeat: no-repeat;
    background-size: contain;
    background-position: center;
    animation: rotazioneLogo 40s linear infinite;
    opacity: 0.10; /* opzionale effetto watermark */
    z-index: 1;
    bottom: -40px;
}

/* Mantiene il contenuto sopra il logo */
.sfondo-logo .section-content {
    position: relative;
    z-index: 1;
}

@keyframes rotazioneLogo {
    from {
        transform: rotate(0deg);
    }
    to {
        transform: rotate(360deg);
    }
}

.header-nav-main>li{
  margin: 0 20px;
}
.row-box-text-video-dx{
  transform: translate(0%, -50%);
}
.box-text-video{
  position: absolute;
  transform: translate(0%, -50%);
  background: var(--verdechiaro);
  z-index: 20;
  border-radius: 0 50px 50px 0;
  padding-left: calc((100vw - 1280px) / 2);
  width: 70%;
}

.box-text-video::after {
  content: "";
  position: absolute;
  right: -100px; /* distanza dal box */
  top: 50%;
  transform: translateY(-50%);
  width: 80px;
  height: 80px;
  background: var(--verdechiaro);
  border-radius: 50%;
}
.box-text-video p{
  padding: 15px 80px 15px 0;
}
/* BOX VIDEO DX */
.box-text-video-dx{
  position: relative;
  margin-left: 25%;
  width: 75%;
  background: var(--blu);
  padding: 15px 0px 15px 80px;
  border-radius: 50px 0 0 50px;
  z-index: 10;
  padding-right: calc((100vw - 1280px) / 2);
}

/* pallino dx */
.box-text-video-dx:before{
  content:"";
  position: absolute;
  left: -100px;
  top: 50%;
  transform: translateY(-50%);
  width: 80px;
  height: 80px;
  background: var(--blu);
  border-radius: 50%;
}
.box-text-video-dx .intro-header{
  color: var(--bianco);
}
/* FINE BOX VIDEO DX */

.spazio-verticale .col-inner{
  display: flex;
  flex-direction: column;
  justify-content: space-between;
}
.ptb-60{
  padding: 60px 0 !important;
}
.pb-40{
  padding-bottom: 40px !important;
}
.pt-40{
  padding-top: 40px !important;
}
.mt-110{
  margin-top: 110px !important;
}
.mt-80{
  margin-top: 80px !important;
}
.flickity-slider .row .col:first-child{
  padding-left: 0;
}
.slide-aree .flickity-page-dots{
  width: 80%;
  position: inherit;
  left: 10%;
  right: 10%;
  margin-top: 100px;
	gap: 60px;
  display: flex;
  border: 1px solid var(--blu);
  border-radius: 99px;
  padding: 5px;
  justify-content: space-between;	
  background: rgba(238, 237, 237, 1);
}
.slide-aree .flickity-page-dots .dot{
	width:18px;
	height:18px;
	opacity: 1;
	border: 2px dotted black;
}
.slider-nav-light .flickity-page-dots .dot.is-selected{
	background: var(--blu);
	border: var(--blu);
}
.track-home-col .col-inner{
  border-radius: 16px;
  padding:30px;
  box-shadow: 3px 3px #1F2E51B2;
}
.track-home-box p{
  font-size: 16px;
}
.data-track-home{
  font-size: 14px;
}
.accordion-inner{
  padding: 1em 3.3em 4em;
}
.accordion-title{
  padding: 1em 2.3em 1em 3.3em;
}
.accordion-item{
  border-radius: 16px 16px 0 0;
}
.acc-5{
  border-radius: 16px;
}
.accordion-title.active,
.accordion-title{
  border-color: transparent !important;
}
.acc-2, .acc-3, .acc-4, .acc-5, .acc-6{
  margin-top: -10px;
}
.accordion-title .toggle i {
    display: none;
}
.accordion-title .toggle::before {
    content: "";
    display: inline-block;
    width: 25px;
    height: 24px;
    background-size: contain;
    background-repeat: no-repeat;
    transition: all 0.3s ease;
    margin-left: 20px;
}
.acc-2 .accordion-title.active .toggle::before,
.acc-3 .accordion-title.active .toggle::before,
.acc-4 .accordion-title.active .toggle::before{
    background-image: url('/wp-content/uploads/vector-open.svg') !important;
}
.acc-1 .accordion-title .toggle::before,
.acc-5 .accordion-title .toggle::before{
  background-image: url('/wp-content/uploads/Vector-cartella-blu.svg');
}
.acc-1 .accordion-title.active .toggle::before,
.acc-5 .accordion-title.active .toggle::before{
  background-image: url('/wp-content/uploads/vector-cartel-blu-close.svg') !important;
}
.acc-2 .accordion-title .toggle::before,
.acc-3 .accordion-title .toggle::before,
.acc-4 .accordion-title .toggle::before{
  background-image: url('/wp-content/uploads/vector-close.svg');
}
.bg-accordion-section .active>.toggle{
  transform: none;
}
.accordion-title.active{
  background: none;
}

/* ACCORDION SEZIONE SETTORI IN HOME  */
.accordion-cta .cta-button {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 12px 18px;
    border: 2px solid var(--blu);
    border-radius: 40px;
    color: var(--blu);
    background-color: var(--verdechiaro);
    text-decoration: none;
    transition: all 0.35s cubic-bezier(.4,0,.2,1);
    position: relative;
    overflow: hidden;
    min-width: 48px;
}
/* wrapper icona */
.accordion-cta .cta-button .cta-icon {
    display: flex;
    align-items: center;
    transition: transform 0.35s cubic-bezier(.4,0,.2,1);
}
/* SVG */
.accordion-cta .cta-button svg {
    width: 16px;
    height: 16px;
}
/* + inizialmente invisibile */
.accordion-cta .cta-button::before {
    content: "+";
    font-size: 18px;
    font-weight: 500;
    color: currentColor;
    opacity: 0;
    width: 0;
    display: inline-block;
    overflow: hidden;
    transition: all 0.35s cubic-bezier(.4,0,.2,1);
    margin-right: 0;
}
/* hover + */
.accordion-cta .cta-button:hover::before {
    opacity: 1;
    width: 18px;
    margin-right: 8px;
}
.accordion-cta .cta-button:hover {
    padding-right: 30px;
}
.accordion-cta .cta-button:hover .cta-icon {
    transform: translateX(8px);
}
.acc-item .toggle{
  height: 3.2em;
}
/* FINE ACCORDION SEZIONE HOME */

.header-nav .nav-dropdown{
  min-width: 365px;
}
.plr-0{
  padding-left: 0 !important;
  padding-right: 0 !important;
}
.page-id-853 #content,
.page-id-855 #content,
.page-id-857 #content,
.page-id-859 #content,
.page-id-861 #content{
  background-image: url("/wp-content/uploads/bg-header-page-mfz.png");
  background-repeat: no-repeat;
}


.label-title .etichette,
.label-title-dx .etichette {
  position: relative;
  display: inline-block;
  background-color: var(--verdechiaro);
  z-index: 1;
}
.label-title .etichette{
  padding: 6px 80px 6px 0;
  border-radius: 0 16px 16px 0;  
}
.label-title .etichette::before {
  content: "";
  position: absolute;
  top: 0;
  bottom: 0;
  left: -100vw;
  width: 100vw;
  background-color: var(--verdechiaro);
  z-index: 1;
}
.previus-next-settori a{
  font-size: 16px !important;
}
.divider-after::after {
    content: "";
    display: block;
    height: 8px;
    margin: 40px 0 0;
    background-image: url(https://www.mfz.sviluppo.host/wp-content/uploads/divider.svg);
    background-repeat: no-repeat;
    background-position: left;
    background-size: 98% 100%;
}
h1.divider-after + p,
h2.divider-after + p,
p.divider-after::after{
  margin-top: 25px !important;
}
.mtmeno50{
  margin-top: -50px;
}
.spazio-verticale h2{
  line-height: 1 !important;
  font-weight: 400;
}
.pl-0{
  padding-left: 0 !important;
}
.pr-0{
  padding-right: 0 !important;
}
.col-desc-profess .col-inner{
  padding: 32px !important;
  border-radius: 20px;
}
.col-desc-profess p{
  color: var(--bianco);
}
.pos-profess p{
  font-size: 2.25rem;
  writing-mode: vertical-rl;
  transform: rotate(180deg); 
  font-weight: 300; 
}
.section-principi{
  background: linear-gradient(180deg, rgba(31, 46, 81, 0.80) 0%, rgba(147, 178, 178, 0.80) 50%, rgba(219, 227, 142, 0.80) 100%);
}
.img-settori-header img,
.row-professionista img{
  border-radius: 20px;
}
.row-sticky{
  position: sticky;
  z-index: 50;
  background: rgb(219, 227, 142);
  top:-40px;
}
.row-sticky .col{
  max-width: 1310px;
  margin-left: auto;
  margin-right: auto;
}
/* Fasi Operative */
.ops-wrapper {
  height: 100vh;
  display: flex;
  flex-direction: column;
  overflow: visible;
}
.ops-slider {
  flex: 1;
  overflow: visible;
  position: relative;
  margin-top: 32px;
}
.ops-track {
  display: flex;
  height: auto;
}
.ops-slide {
  flex: 0 0 auto;
  width: 100%;
  height: auto;
  display: flex;
  align-items: center;
  justify-content: center;
}
.ops-content {
  display: grid;
  width: 100%;
  align-items: stretch;
  background: var(--verdechiaro);
  border-radius: 30px;
  margin-right: 32px;
  overflow: hidden;
}
.ops-img-wrap {
  position: relative;
  min-height: 560px;
}
.ops-img-wrap img {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}
.ops-text {
  padding: 32px 88px;
}
.ops-text h2{
  font-weight: 400;
  line-height: 1.2;
}
/* Fine Fasi Operative */

.lista-quadrati {
  list-style: none;
  padding: 0;
  margin: 0;
}

.lista-quadrati li {
  display: flex;
  align-items: flex-start;
  gap: 16px;
  margin: 0 0 16px !important;
}

.lista-quadrati li::before {
  content: "";
  display: block;
  width: 24px;
  height: 24px;
  background-color: var(--verde);
  flex-shrink: 0;
}
.elenco::before {
  content: '';
  position: absolute;
  left: 50%;
  top: 0;
  bottom: 0;
  transform: translateX(-50%);
  width: 20px;
  background-image: url('https://www.mfz.sviluppo.host/wp-content/uploads/Line-vertical.png');
  background-repeat: no-repeat;
  background-position: center;
  background-size: contain;
  z-index: 10;
}
.elenco .p-h3{
  margin-bottom: 40px;
}

@media only screen and (max-width: 48em) {
/*************** ADD MOBILE ONLY CSS HERE  ***************/
  :root {
    --title1: 2.7rem;
    --title2: 2.25rem;
    --textmedium: 1.25rem;
  }
  .banner h1{
    font-size: 40px;
  }
  .banner-video-home .banner-layers {
    z-index: 10;
  }
  .text-left-mobile{
    text-align: left;
  }  
  .mt-110 {
      margin-top: 80px !important;
  } 
	.mt-80{
		margin-top: 40px !important;
	}
	.flickity-slider .row .col:first-child{
		padding-right: 0;
	}
	.slide-aree .flickity-page-dots{
		width: 95%;
		left: 0;
		right: 0;
		gap: 30px;
    margin-top: 60px !important;
    margin-left: auto;
    margin-right: auto;
    position: relative;
    z-index: 1000;
	}
  .slide-aree .flickity-page-dots .dot{
    pointer-events: auto;
    cursor: pointer; 
  }  
	section{
	  padding-top: 72px !important;
	  padding-bottom: 72px !important;
	}
	.section.bg-grey.sfondo-logo{
	  padding-top: 124px !important;
	}
  .row-sticky{
    padding-top: 72px;
    padding-bottom: 32px;
  }  
  .text-aree{
    display: grid;
  }
  .text-aree .title-h1{
    order: -1;
    margin-bottom: 20px !important;
    margin-top: 20px !important;
  }
  #main-menu .sidebar-menu ul li a{
    font-size: 20px;
    font-weight: 500;
    padding-top: 15px;
  }
  .acc-button-cta i{
    margin: 0 !important;
  }
  .acc-button-cta{
    display: block;
    width: fit-content;
    margin-left: auto;
    margin-right: 0;
  }
  .page-id-853 #content,
  .page-id-855 #content,
  .page-id-857 #content,
  .page-id-859 #content,
  .page-id-861 #content{
    background-size: auto;
    background-position-x: -260px;
  }
  .page-id-853 #content{
    background-position-y: 360px;
  }
  .page-id-855 #content,
  .page-id-861 #content{
    background-position-y: 300px;
  }
  .page-id-859 #content{
    background-position-y: 90px;
  }  
  .page-id-857 #content{
    background-position-y: 40px;
  }
  .ptm-0{
    padding-top: 0 !important;
  }
  .ptm-40{
    padding-top: 40px !important;
  }
  .pbm-0{
    padding-bottom: 0 !important;
  }
  .icona-col-who-is{
    width: 70% !important;
    margin-bottom: 30px;
  }

  .ops-content img {
    border-radius: 30px 30px 0 0; /* angoli in alto, non a sinistra */
  }
  .ops-img-wrap{
    min-height: 250px !important;
  }    
  .ops-text {
      padding: 32px 16px;
  }
  .ops-text .title-h1{
    font-size: 36px !important;
  }
  .ops-text h2{
    font-size: 24px !important;
    margin-top: 16px;
  }
  .ops-text p{
    font-size: 16px !important;
  }    
  .ops-track {
    display: flex;
    height: auto;
    align-items: stretch; 
  }
  .ops-slide {
    flex: 0 0 auto;
    width: 100%;
    display: flex;
    align-items: stretch;
  }
  .ops-content {
    width: 100%;
    align-items: stretch;
    grid-template-columns: 1fr;
  }
  h1 + p{
    margin-top: 48px;
  }
}

/***** MEDIA SCREEN DESKTOP *****/
@media only screen and (min-width: 850px){
  .col{
    padding-bottom: 0 !important;
  }
  .elenco .col:first-child{
    padding-left: 40px;
    padding-right: 104px;
  }
  .elenco .col:last-child{
    padding-left: 104px;
    padding-right: 40px;
  }  
  /* SEZIONE NUMERI */
  .sezione-numeri::before {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    width: 0;
    height: 100%;
    background: var(--azzurro);
    z-index: 0;
    transition: width 1.5s ease;
  }
  /* quando entra viewport */
  .sezione-numeri.active::before {
    width: 50%; /* si ferma a metà */
  }
  /* contenuto sopra lo sfondo */
  .sezione-numeri .section-content {
    position: relative;
    z-index: 1;
  }
  .col-numeri-dx{
    padding-left: 30px !important;
  }
  .column {
    display: flex;
    flex-direction: column;
    justify-content: space-around;
  }
  .text-column {
    height: 50%;
  }
  .numbers {
    height: 100%;
    display: flex;
    flex-direction: column;
    justify-content: space-around;
    align-items: center;
    gap:80px;
  }
  .row-numeri {
    display: flex;
    align-items: center;
    color: #22225d;
    gap: 30px;
    line-height: 1 !important;
  }
  .row-numeri:nth-child(1),
  .row-numeri:nth-child(2),
  .row-numeri:nth-child(3),
  .row-numeri:nth-child(4),
  .row-numeri:nth-child(5){
    gap: 20px;
  }
  .row-numeri:nth-child(1) {
    justify-content: end;
    width: 50%;
  }
  .row-numeri:nth-child(2) {
    justify-content: start;
    width: 100%;
  }
  .row-numeri:nth-child(2) .text-small {
    width: min-content;
  }
  .row-numeri:nth-child(3) {
    justify-content: end;
    width: 50%;
  }
  .row-numeri:nth-child(3) .text-small {
    width: min-content;
  }
  .row-numeri:nth-child(4) {
    justify-content: start;
    width: 100%;
  }
  .row-numeri:nth-child(4) .text-small {
    width: 32%;
  }
  .row-numeri:nth-child(5) {
    justify-content: start;
    width: 70%;
  }
  .text-small {
    font-size:  var(--textmedium);
    font-weight: 500;
  }
  .row-animate {
    opacity: 0;
    transform: translateX(-300px);
    transition: all 2s ease;
  }
  /* stato attivo */
  .row-animate.active {
    opacity: 1;
    transform: translateX(0);
  }  
  /*FINE SEZIONE NUMERI */ 
  .card-team:nth-child(n+5){
    margin-top: 100px;
  }
  .page-id-853 #content,
  .page-id-855 #content{
    background-size: 100% 1370px;
  } 
 .page-id-857 #content,
 .page-id-859 #content,
 .page-id-861 #content{
    background-size: 100% 1200px;
  }  
  .label-title-dx .etichette{
    padding: 6px 0;  
  }
  .label-title-dx .etichette::before {
    border-radius: 16px 0 0 16px;
  } 
  .label-title-dx .etichette::before {
    content: "";
    position: absolute;
    top: 0;
    bottom: 0;
    right: -85vw;
    width: 100vw;
    background-color: var(--verdechiaro);
    z-index: -1;
  } 
  .section-img-sx::after{
    content: "";
    position: absolute;
    left: 0;
    top: 50px; /* fa uscire l'immagine sotto */
    width: 276px;
    height: 600px;
    background-image: url("https://www.mfz.sviluppo.host/wp-content/uploads/sfondo-section-2.jpg");
    background-size: cover;
    background-repeat: no-repeat;
    z-index: 0; /* ora funziona */
    pointer-events: none;
    border-radius: 0 30px 30px 0;
    background-position: 90% 100%;
  }
  .section-img-dx::after{
    content: "";
    position: absolute;
    right: 0;
    bottom: -200px; /* fa uscire l'immagine sotto */
    width: 276px;
    height: 600px;
    background-image: url("https://www.mfz.sviluppo.host/wp-content/uploads/sfondo-1.jpg");
    background-size: cover;
    background-repeat: no-repeat;
    z-index: 0; /* ora funziona */
    pointer-events: none;
    border-radius: 30px 0 0 30px;   
  }
  .appr-corporate::after{
    background-image: url("https://www.mfz.sviluppo.host/wp-content/uploads/bg-corporate-approdo.jpg") !important;
  }
  .appr-real-estate::after{
    background-image: url("https://www.mfz.sviluppo.host/wp-content/uploads/bg-real-estate-approdo.jpg") !important;
  }
  .appr-modelling::after{
    background-image: url("https://www.mfz.sviluppo.host/wp-content/uploads/financial-modelling-mfz-bg-left.jpg") !important;
  }
  .appr-private::after{
    background-image: url("https://www.mfz.sviluppo.host/wp-content/uploads/private-equity-MFZ-bg-left.jpg") !important;
  }
  .page-id-855 #content .section-img-dx::after{
    bottom: -260px !important;
  }
  .sfondo-logo-laterale::before {
    content: "";
    position: absolute;
    left: -140px;
    width: 520px;
    height: 520px;
    background-image: url(https://www.mfz.sviluppo.host/wp-content/uploads/logo-sfondo-bg-azzurro.png);
    background-repeat: no-repeat;
    background-size: contain;
    background-position: center;
    animation: rotazioneLogo 40s linear infinite;
    opacity: 0.3;
    z-index: 1;
  }
  .section-principi .align-equal{
    margin-bottom: 104px !important;
    margin-top: 0 !important;
  }
  .section-principi .pr-0 img{
    border-radius: 20px 0 0 20px;
  }
  .section-principi .pl-0 img{
    border-radius: 0 20px 20px 0;
  }

  .ops-content {
    grid-template-columns: 5fr 7fr;
  }  
}


@media only screen and (max-width: 860px){
  .box-text-video-dx{
    width: 98%;
    padding-left: 50px;
  }
}

@media screen and (min-width: 786px) and (max-width: 860px) {
  .box-text-video-dx{
    width: 80%;
    margin-left: 20%;
  }
  .box-text-video-dx:before{
    left: -120px;
    width: 100px;
    height: 100px;
  }
}

@media only screen and (max-width: 785px){
  .box-text-video-dx{
    margin-left: 15px;
  }
}

@media screen and (max-width: 1200px) and (min-width: 861px) {
  .box-text-video-dx{
    margin-left: 20%;
    width: 80%;
  }
}

@media screen and (max-width: 1200px) and (min-width: 850px) {
  .row-professionista{
    align-items: flex-start !important;
    align-self: flex-start !important;
    justify-content: flex-start !important;
    vertical-align: bottom !important;
  }
}

@media screen and (max-width: 1140px) and (min-width: 850px) {
  .stack-professione .gap-element{
    padding-top: 0 !important;
  }
  .pos-profess{
    margin-top: 0 !important;
  }
  .stack-professione .img{
    width: 90% !important;
  }
}

@media screen and (max-width: 1180px) and (min-width: 1143px) {
  .box-text-video-dx{
    padding-right: 15px;
  }
}

@media screen and (max-width: 1192px) and (min-width: 1179px) {
  .header-nav-main>li{
    margin: 0 15px;
  }
}

@media only screen and (min-width: 1400px){
  .pl-calc{
    padding-left: calc((100vw - 1280px) / 2);
  }
  .pr-calc{
    padding-right: calc((100vw - 1280px) / 2);
  }
}

/* FULL SCREEN > 1920px */
@media only screen and (min-width: 1921px){
  .section-img-dx::after,
  .section-img-sx::after{
    width: 360px !important;
  }
  .section-img-sx::after{
    top: inherit !important;
    bottom: 70px !important;
  }
  .col-10-full{
    max-width: 80%;
    flex-basis: 80%;
  }
  .col-1-full{
    max-width: 10%;
    flex-basis: 10%;
  }
  .section-principi .row.align-equal{
    /* max-width: 1310px !important; */
    padding-left: calc((100vw - 1330px) / 2);
    padding-right: calc((100vw - 1330px) / 2);
  }
  .row-sticky .col {
      max-width: 1330px;
  }
  .section-principi .pl-calc{
    padding-left: 0 !important;
  }
  .section-principi .pr-calc{
    padding-right: 0 !important;
  } 
  .section-principi .pl-0 img,
  .section-principi .pr-0 img{
    border-radius: 20px !important;
  }
 /* .section-principi .pl-calc.spazio-verticale{
    background-image: url(https://www.mfz.sviluppo.host/wp-content/uploads/bg-col-valori.png);
    background-repeat: no-repeat;
    background-position: left top;    
  }
  .section-principi .pr-calc.spazio-verticale{
    background-image: url(https://www.mfz.sviluppo.host/wp-content/uploads/bg-col-valori-dx.png);
    background-repeat: no-repeat;
    background-position: right top;    
  } */
  .section-principi .align-equal:nth-child(even){
    background-image: url(https://www.mfz.sviluppo.host/wp-content/uploads/bg-col-valori.png);
    background-repeat: no-repeat;
    background-position: left top;    
  }    
  .section-principi .align-equal:nth-child(odd){
    background-image: url(https://www.mfz.sviluppo.host/wp-content/uploads/bg-col-valori-dx.png);
    background-repeat: no-repeat;
    background-position: right top;   
  }    
}

/* MEDIA QUERY PER MONITOR GRANDI */
@media only screen and (min-width:1650px){
  .video-header-pagine{
    padding-top: 600px !important;
  }
  .ops-slider, .ops-wrapper{
    overflow: visible !important;
  }
  .ops-img-wrap{
    min-height: 680px !important;
  }
}

@media only screen and (max-width: 849px){
  .label-title-dx .etichette {
    position: relative;
    display: inline-block;
    background-color: var(--verdechiaro);
    z-index: 1;
  }
  .label-title-dx .etichette{
    padding: 6px 80px 6px 0;
    border-radius: 0 16px 16px 0;  
  }
  .label-title-dx .etichette::before {
    content: "";
    position: absolute;
    top: 0;
    bottom: 0;
    left: -100vw;
    width: 100vw;
    background-color: var(--verdechiaro);
    z-index: -1;
  }

  .page-servizi .row-collapse + .row  {
    margin-top: 50px !important;
  }
  .section-principi .align-equal {
    margin-bottom: 72px !important;
    margin-top: 0 !important;
  }
  .section-principi .pl-calc,
  .section-principi .pl-0{
    padding-left: 20px !important;
  }
  .section-principi .pr-calc,
  .section-principi .pr-0{
    padding-right: 20px !important;
  }
  .section-principi .pl-calc.spazio-verticale{
    background-image: url(https://www.mfz.sviluppo.host/wp-content/uploads/bg-col-valori.png);
    background-repeat: no-repeat;
    background-position: left top;
    background-size: 100px;
  }
  .section-principi .pr-calc.spazio-verticale{
    background-image: url(https://www.mfz.sviluppo.host/wp-content/uploads/bg-col-valori-dx.png);
    background-repeat: no-repeat;
    background-position: right top;
    background-size: 100px;
  }
  .section-principi .pr-0 img,
  .section-principi .pl-0 img{
    border-radius: 20px;
  }
/*  .col-desc-profess{
    margin-left: 20px;
    margin-right: 20px;
  }  */
  .elenco::before {
    /* da verticale a orizzontale */
    left: 0;
    right: 0;
    top: 50%;
    bottom: auto;
    transform: translateY(-40%) rotate(90deg);
    width: 100%;
    height: 40%;
  }  
  .elenco .col:first-child{
    padding-bottom: 50px;
  }
  .elenco .col:last-of-type{
    padding-top: 50px;
  }
  .ops-wrapper .p-h3{
    margin-bottom: 8px !important;
  }

}

@media only screen and (min-width: 890px) and (max-width: 1920px){
  .section-principi .pl-calc.spazio-verticale{
    background-image: url(https://www.mfz.sviluppo.host/wp-content/uploads/bg-col-valori.png);
    background-repeat: no-repeat;
    background-position: left top;    
  }
  .section-principi .pr-calc.spazio-verticale{
    background-image: url(https://www.mfz.sviluppo.host/wp-content/uploads/bg-col-valori-dx.png);
    background-repeat: no-repeat;
    background-position: right top;    
  }  
}
@media screen and (max-width: 1279px) and (min-width: 998px) {
  .section-principi .pl-calc.spazio-verticale{
    background-size: 120px;
  }
  .section-principi .pr-calc.spazio-verticale{
    background-size: 120px;
  }  
}
@media screen and (max-width: 997px) and (min-width: 890px) {
  .section-principi .pl-calc.spazio-verticale{
    background-size: 80px;
  }
  .section-principi .pr-calc.spazio-verticale{
    background-size: 80px;
  }  
}

@media screen and (max-width: 849px) and (min-width: 550px) {
  .icona-col-who-is{
    width: 55% !important;
    margin-bottom: 40px;
  } 
}

@media screen and (max-width: 1160px) and (min-width: 850px) {
  #logo{
    width: 100px !important;
    margin-right: 15px !important;
  }
  .header-nav-main .nav-top-link,
  .header-button-1 .button{
    font-size: 17px;
  }
  .header-nav-main>li{
    margin: 0 5px;
  }
}
@media screen and (max-width: 1178px) and (min-width: 1161px) {
  .header-nav-main>li{
    margin: 0 15px;
  }
}
@media only screen and (max-width: 1420px){
  .box-text-video p{
    padding: 15px;
  }
}
@media only screen and (max-width: 1017px){
  .row-col-blu .col-blu{
    background-color: var(--blu);
  } 
}
@media screen and (max-width: 1105px) and (min-width: 970px) {
  .box-text-video{
    width: 80% !important;
  }
}

@media screen and (max-width: 969px) and (min-width: 660px) {
  .box-text-video{
    width: 67% !important;
  }
  .box-text-video::after{
    right: -160px;
    width: 120px;
    height: 120px;
  }
}

@media screen and (max-width: 1360px) and (min-width: 851px) {
  .label-title-dx .etichette::before{
    right: -80vw;
  }
}

@media screen and (max-width: 1120px) and (min-width: 850px) {
  .section-img-sx::after,
  .section-img-dx::after{
    width: 230px !important;
  }
  .section-img-sx::after{
    bottom: 0;
    top: inherit !important;
  }
}
@media screen and (max-width: 1160px) and (min-width: 851px) {
  .page-id-857 #content, .page-id-859 #content {
    background-size: auto !important;
    background-position-y: 230px !important;
    background-position-x: -170px !important;
  }
}
@media screen and (max-width: 1017px) and (min-width: 851px) {
  .page-id-861 #content{
    background-size: auto !important;
    background-position-y: 230px !important;
    background-position-x: -170px !important;    
  }
}

@media screen and (max-width: 768px) and (min-width: 550px) {
  .page-id-853 #content,
  .page-id-861 #content{
    background-position-y: 130px;
  }
}
@media screen and (max-width: 850px) and (min-width: 769px) {
  .page-id-853 #content,
  .page-id-855 #content,
  .page-id-857 #content,
  .page-id-859 #content,
  .page-id-861 #content{
    background-size: auto;
    background-position-y: 210px;
    background-position-x: -170px;
  }
}
@media only screen and (max-width: 659px){
  .box-text-video{
    width: 80% !important;
  }
}
@media only screen and (max-width: 500px){
  .box-text-video{
    width: 97% !important;
  }
  .col-1-full{
    display: none !important;
  }
}
/* @media only screen and (max-width: 499px){
  .page-id-859 #content{
        background-position-y: 260px;
  }
} */
@media only screen and (max-width: 550px){
  .page-id-857 #content{
    background-position-y: 280px;
  } 
  .page-id-859 #content{
   background-position-y: 290px !important;
  } 
  .col, #masthead .container{
    padding-left: 20px !important;
    padding-right: 20px !important;
  }
  .slide-aree .flickity-slider .section .row .col{
    padding-left: 0px !important;
    padding-right: 0px !important;    
  }
  .box-text-video-dx .intro-header{
    padding-right: 15px;    
  }
  .button{
    font-size: 16px !important;
  }
  .stack-professione .gap-element{
    padding-top: 0 !important;
  } 
  .pos-profess p{
    font-size: 1.75rem;
  }
  .row-professionista .small-2{
    padding-left: 0 !important;
  }
  .row-professionista{
    margin-top: 32px !important;
  }
}
@media only screen and (max-width: 549px){
  .icona-col-who-is{
    width: 90% !important;
    margin-bottom: 30px !important;
  }
  .row-card-team .card-team:nth-child(n+3){
    padding-top: 30px !important;
  }  
}

@media only screen and (max-width: 400px) {
    .page-id-859 #content {
        background-position-y: 400px !important;
    }
}