/* 
Theme Name: Hello Elementor Child
Theme URI: https://github.com/elementor/hello-theme-child/
Description: Hello Elementor Child is a child theme of Hello Elementor, created by Elementor team
Author: Elementor Team
Author URI: https://elementor.com/
Template: hello-elementor
Version: 2.0.0
Text Domain: hello-elementor-child
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 */

/*voci di menu attive in grassetto*/
.elementor-item.elementor-item-active{
	font-weight:800;
}
/*sistemo le frasi in slider home*/
.sopratitolo{
	font-size: 30px;
	font-family: var(--e-global-typography-secondary-font-family ), Sans-serif;
	    font-weight: normal;
   /* color: var(--e-global-color-primary);*/
	
}
#sliderhome .elementor-slides .swiper-slide-inner .elementor-slide-heading:not(:last-child){
	margin-bottom:0px;
}
#sliderhome h1{
	line-height: 1;
	font-size: 110px;
	font-weight:600;
}
.titoletti{
	font-size: 16px;
	font-family: var(--e-global-typography-secondary-font-family ), Sans-serif;
	    font-weight: normal;
    /*color: var(--e-global-color-primary);*/
	display:inline-block;
	vertical-align: top;
	width:195px;
	
}
@media(max-width: 1024px){
#sliderhome h1{
	font-size: 80px;
}
}
@media(max-width: 767px){
#sliderhome h1{
	font-size: 40px;
}
.sopratitolo{
	font-size: 20px;
}
	.titoletti{
		display:block;
		margin-bottom:10px;
	}
}

/* stili per il toggle in home page*/
#toggleHome .e-n-tab-title{
	border-bottom-style: dotted;
	border-bottom-color: var(--e-global-color-3d70a16 );
	border-bottom-width:2px;
	
}
#toggleHome .e-n-tab-title[aria-selected=true]{
	/*background-color:#ffffff;*/
	background-image: url(https://cmm-meccanica.com/wp-content/uploads/2023/07/check.webp);
	background-repeat:no-repeat;
	background-position: right;
	background-size:20px;
}


/*rotazione icone on hover*/
.iconrotate .elementor-animation-grow-rotate:hover {
    transform: scale(1.1) rotate(45deg);
}
/*bordo icona che ruota puntinato*/
.iconrotate .elementor-widget-icon-box.elementor-view-framed .elementor-icon, .iconrotate  .elementor-widget-icon-box.elementor-view-default .elementor-icon{
	border-style: dotted!important;
	border-width: 2px!important;
}
.iconrotate .elementor-icon-box-icon a.elementor-icon{
	border-style: dotted!important;
	border-width: 2px!important;
}

/*riga verticale che scorre*/

.rigavert{
position: fixed;
    top: 110px;
   margin-left: -2px;
}
/*freccina a destra bottoni servizi*/
.bottoniservizi .fa-arrow-right{
	position:absolute;
	right:0px;
	
}
.bottoniservizi .elementor-button{
	width:100%;
	text-align:left;
}
/*breadcrumbs*/
#breadcrumbs{
	font-weight:normal;
}
.breadcrumb_last{
	font-weight:bold;
}
#breadcrumbs a{
	color:#333333;
}
/*faccio in modo che su mobile non vada a capo lo scopri di piu accanto all'icona*/
@media (max-width: 767px){
	.elementor-widget-icon-box.elementor-mobile-position-top .elementor-icon-box-wrapper {
		display: flex!important;
	   /* text-align: center;
		flex-direction: unset;*/
	}
	.elementor-widget-icon-box.elementor-position-left .elementor-icon-box-icon, .elementor-widget-icon-box.elementor-position-right .elementor-icon-box-icon{
		margin-right: var(--icon-box-icon-margin,15px)!important;
    margin-left: 0!important;
    margin-bottom: unset!important;
	}
}

/*forzo lo stile dei bottoni su sfondo scuro se serve*/
.bottoniscuri a:hover{
	border-style: dotted!important;
	border-width: 2px!important;
	color:#3C3C3B;
	border-color:#ffffff!important
}
/*schede contatti e progetti */
.formcontatti .e-n-tab-title[aria-selected="true"]{
	text-decoration: underline;
	font-weight:800!important;
}
.formcontatti .e-n-tab-title:hover{
	text-decoration: underline;
}


/*link nel footer bianchi*/
.footer a, .footer a:link, .footer a:visited{
	color:#ffffff;
}
/*nascondo risultati ricerca ufficiali*/
.archivioarticoli .elementor-grid{
	display:none;
}
/* ==================================================
   HEADER DUAL BRAND - CMM / SEVEN
================================================== */

/* Container principale header */
.header-dual-brand {
    width: 100% !important;
    min-height: 92px !important;
    display: flex !important;
    flex-direction: row !important;
    flex-wrap: nowrap !important;
    align-items: center !important;
    justify-content: space-between !important;
    gap: 32px !important;
    padding: 0 56px !important;
    background: #ffffff;
    border-bottom: 1px solid #e6e6e6;
    position: relative;
    z-index: 50;
}

/* Colonna logo CMM */
.header-logo-left {
    flex: 0 0 180px !important;
    width: 180px !important;
    max-width: 180px !important;
    display: flex !important;
    align-items: center !important;
    justify-content: flex-start !important;
}

/* Colonna menu centrale */
.header-menu-center {
    flex: 1 1 auto !important;
    width: auto !important;
    min-width: 0 !important;
    max-width: none !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
}

/* Colonna logo Seven */
.header-logo-right {
    flex: 0 0 180px !important;
    width: 180px !important;
    max-width: 180px !important;
    display: flex !important;
    align-items: center !important;
    justify-content: flex-end !important;
}

/* Evita widget Elementor full width sui loghi */
.header-logo-left .elementor-widget-html,
.header-logo-right .elementor-widget-html {
    width: auto !important;
    max-width: none !important;
}

/* ==================================================
   LOGHI SVG INLINE
================================================== */

.brand-logo {
    display: inline-flex !important;
    align-items: center !important;
    color: #242424;
    transition: opacity .25s ease, transform .25s ease, color .25s ease;
}

.brand-logo svg {
    height: 52px !important;
    width: auto !important;
    display: block !important;
}

/* CMM default antracite */
.brand-logo-cmm svg .st7 {
    stroke: #242424 !important;
}

.brand-logo-cmm svg .st10,
.brand-logo-cmm svg rect:not([class]),
.brand-logo-cmm svg path:not([class]) {
    fill: #242424 !important;
}

.brand-logo-cmm svg .st11 {
    stroke: #242424 !important;
}

/* Parti chiare CMM */
.brand-logo-cmm svg .st1,
.brand-logo-cmm svg .st2,
.brand-logo-cmm svg .st3,
.brand-logo-cmm svg .st8,
.brand-logo-cmm svg .st9 {
    fill: #ffffff !important;
}

/* Seven default antracite soft */
.brand-logo-seven {
    opacity: .65;
}

.brand-logo-seven svg path,
.brand-logo-seven svg rect,
.brand-logo-seven svg polygon,
.brand-logo-seven svg circle {
    fill: #242424 !important;
    stroke: #242424 !important;
}

/* Hover loghi */
.brand-logo:hover {
    opacity: 1 !important;
    transform: scale(1.045);
}

/* Stato Seven attivo */
body.is-seven-brand .brand-logo-cmm {
    opacity: .55;
}

body.is-seven-brand .brand-logo-seven {
    opacity: 1;
    transform: scale(1.04);
}

body.is-seven-brand .brand-logo-seven svg path,
body.is-seven-brand .brand-logo-seven svg rect,
body.is-seven-brand .brand-logo-seven svg polygon,
body.is-seven-brand .brand-logo-seven svg circle {
    fill: #007DBD !important;
    stroke: #007DBD !important;
}

/* Evita flash tra menu CMM e Seven */
html:not(.brand-ready) .menu-cmm,
html:not(.brand-ready) .menu-seven {
    visibility: hidden !important;
}

/* Stato early CMM */
html.is-cmm-brand-early .menu-cmm {
    display: block !important;
}

html.is-cmm-brand-early .menu-seven {
    display: none !important;
}

/* Stato early Seven */
html.is-seven-brand-early .menu-cmm {
    display: none !important;
}

html.is-seven-brand-early .menu-seven {
    display: block !important;
}

html.is-seven-brand-early .brand-logo-cmm {
    opacity: .55 !important;
}

html.is-seven-brand-early .brand-logo-seven {
    opacity: 1 !important;
    transform: scale(1.04);
}

html.is-seven-brand-early .menu-seven .elementor-nav-menu > li > a {
    color: #007DBD !important;
}

html.is-seven-brand-early .brand-logo-seven svg path,
html.is-seven-brand-early .brand-logo-seven svg rect,
html.is-seven-brand-early .brand-logo-seven svg polygon,
html.is-seven-brand-early .brand-logo-seven svg circle {
    fill: #007DBD !important;
    stroke: #007DBD !important;
}
/* ==================================================
   MENU PRINCIPALE
================================================== */

.header-menu-center .elementor-widget-nav-menu,
.header-menu-center .elementor-widget-container,
.header-menu-center nav,
.header-menu-center .elementor-nav-menu--main,
.header-menu-center .elementor-nav-menu {
    width: 100% !important;
    max-width: none !important;
}

/* Default: menu CMM visibile */
.menu-cmm {
    display: block !important;
    width: 100% !important;
}

.menu-seven {
    display: none !important;
    width: 100% !important;
}

/* Pagine Seven: menu Seven visibile */
body.is-seven-brand .menu-cmm {
    display: none !important;
}

body.is-seven-brand .menu-seven {
    display: block !important;
}

/* Lista menu distesa */
.header-menu-center .elementor-nav-menu {
    display: flex !important;
    flex-direction: row !important;
    flex-wrap: nowrap !important;
    align-items: center !important;
    justify-content: center !important;
    gap: clamp(20px, 2vw, 25px) !important;
}

.header-menu-center .elementor-nav-menu > li {
    flex: 0 0 auto !important;
    white-space: nowrap !important;
}

/* Voci menu principale */
.header-menu-center .elementor-nav-menu > li > a {
    position: relative;
    font-size: 15.5px !important;
    font-weight: 500 !important;
    line-height: 1 !important;
    letter-spacing: .01em !important;
    text-transform: none !important;
    color: #242424 !important;
    padding: 34px 0 !important;
    white-space: nowrap !important;
    transition: color .25s ease, opacity .25s ease, background-color .25s ease;
}

/* Seven blu */
body.is-seven-brand .menu-seven .elementor-nav-menu > li > a {
    color: #007DBD !important;
}

/* Hover menu principale */
.header-menu-center .elementor-nav-menu > li > a:hover {
    color: #000000 !important;
}

body.is-seven-brand .menu-seven .elementor-nav-menu > li > a:hover {
    color: #005f91 !important;
}

/* Linea hover sotto menu principale */
.header-menu-center .elementor-nav-menu > li > a::after {
    content: "";
    position: absolute;
    left: 0;
    right: 0;
    bottom: 25px;
    height: 2px;
    background: currentColor;
    transform: scaleX(0);
    transform-origin: center;
    transition: transform .28s ease;
}

.header-menu-center .elementor-nav-menu > li > a:hover::after,
.header-menu-center .elementor-nav-menu > li.current-menu-item > a::after {
    transform: scaleX(1);
}

/* ==================================================
   SOTTOMENU - BASE
================================================== */

/* Fondo bianco per tutti i sottomenu */
.header-menu-center .elementor-nav-menu--dropdown,
.header-menu-center .elementor-nav-menu .sub-menu {
    background: #ffffff !important;
    border: 1px solid #e6e6e6 !important;
    box-shadow: 0 18px 40px rgba(0, 0, 0, .08) !important;
    padding: 8px 0 !important;
    min-width: 230px !important;
}

/* Voci sottomenu: stessa grandezza del menu principale */
.header-menu-center .elementor-nav-menu--dropdown a,
.header-menu-center .elementor-nav-menu .sub-menu a {
    font-size: 15.5px !important;
    font-weight: 500 !important;
    line-height: 1.25 !important;
    letter-spacing: .01em !important;
    text-transform: none !important;
    color: #242424 !important;
    background: #ffffff !important;
    padding: 13px 18px !important;
    border: 0 !important;
    transition: color .22s ease, background-color .22s ease;
}

/* Rimuove la linea ::after dai link dei sottomenu */
.header-menu-center .elementor-nav-menu--dropdown a::after,
.header-menu-center .elementor-nav-menu .sub-menu a::after {
    display: none !important;
}

/* ==================================================
   SOTTOMENU CMM
================================================== */

/* Hover sottomenu CMM: fondo nero, testo bianco */
.menu-cmm .elementor-nav-menu--dropdown a:hover,
.menu-cmm .elementor-nav-menu .sub-menu a:hover,
.menu-cmm .elementor-nav-menu--dropdown .elementor-item-active,
.menu-cmm .elementor-nav-menu .sub-menu .elementor-item-active {
    background: #242424 !important;
    color: #ffffff !important;
}

/* ==================================================
   SOTTOMENU SEVEN
================================================== */

/* Hover sottomenu Seven: fondo blu, testo bianco */
body.is-seven-brand .menu-seven .elementor-nav-menu--dropdown a:hover,
body.is-seven-brand .menu-seven .elementor-nav-menu .sub-menu a:hover,
body.is-seven-brand .menu-seven .elementor-nav-menu--dropdown .elementor-item-active,
body.is-seven-brand .menu-seven .elementor-nav-menu .sub-menu .elementor-item-active {
    background: #007DBD !important;
    color: #ffffff !important;
}

/* Colore base sottomenu Seven sempre blu */
body.is-seven-brand .menu-seven .elementor-nav-menu--dropdown a,
body.is-seven-brand .menu-seven .elementor-nav-menu .sub-menu a {
    color: #007DBD !important;
}

/* Mantiene hover blu su bianco */
body.is-seven-brand .menu-seven .elementor-nav-menu--dropdown a:hover,
body.is-seven-brand .menu-seven .elementor-nav-menu .sub-menu a:hover,
body.is-seven-brand .menu-seven .elementor-nav-menu--dropdown .elementor-item-active,
body.is-seven-brand .menu-seven .elementor-nav-menu .sub-menu .elementor-item-active {
    background: #007DBD !important;
    color: #ffffff !important;
}

/* ==================================================
   RESPONSIVE
================================================== */

@media (max-width: 1024px) {
    .header-dual-brand {
        min-height: 82px !important;
        padding: 0 32px !important;
        gap: 22px !important;
    }

    .header-logo-left,
    .header-logo-right {
        flex-basis: 145px !important;
        width: 145px !important;
        max-width: 145px !important;
    }

    .brand-logo svg {
        height: 44px !important;
    }

    .header-menu-center .elementor-nav-menu {
        gap: 18px !important;
    }

    .header-menu-center .elementor-nav-menu > li > a,
    .header-menu-center .elementor-nav-menu--dropdown a,
    .header-menu-center .elementor-nav-menu .sub-menu a {
        font-size: 14px !important;
    }

    .header-menu-center .elementor-nav-menu > li > a {
        padding: 30px 0 !important;
    }
}

@media (max-width: 767px) {
    .header-dual-brand {
        min-height: 74px !important;
        padding: 0 20px !important;
        gap: 16px !important;
    }

    .header-logo-left {
        flex: 0 0 auto !important;
        width: auto !important;
        max-width: none !important;
    }

    .header-logo-right {
        display: none !important;
    }

    .brand-logo svg {
        height: 42px !important;
    }

    .header-menu-center {
        justify-content: flex-end !important;
    }

    .header-menu-center .elementor-nav-menu > li > a,
    .header-menu-center .elementor-nav-menu--dropdown a,
    .header-menu-center .elementor-nav-menu .sub-menu a {
        font-size: 14px !important;
    }
}

/* MENU LATERALE - voce attiva */
.side-page-menu a.side-menu-active {
    color: #242424 !important;
    font-weight: 700 !important;
    text-decoration: none !important;
}

/* Linea laterale puntinata CMM */
.side-page-menu .side-menu-item-active {
    position: relative;
}

.side-page-menu .side-menu-item-active::before {
    content: "";
    position: absolute;
    left: -22px;
    top: 50%;
    height: 42px;
    border-left: 2px dotted #242424;
    transform: translateY(-50%);
}

/* Seven: testo e puntinato blu */
body.is-seven-brand .side-page-menu a.side-menu-active {
    color: #007DBD !important;
}

body.is-seven-brand .side-page-menu .side-menu-item-active::before {
    border-left-color: #007DBD;
}
/* Evita flash CMM prima del caricamento JS */
html.is-seven-brand-early .menu-cmm {
    display: none !important;
}

html.is-seven-brand-early .menu-seven {
    display: block !important;
}

html.is-seven-brand-early .brand-logo-cmm {
    opacity: .55;
}

html.is-seven-brand-early .brand-logo-seven {
    opacity: 1;
    transform: scale(1.04);
}

html.is-seven-brand-early .menu-seven .elementor-nav-menu > li > a {
    color: #007DBD !important;
}

html.is-seven-brand-early .brand-logo-seven svg path,
html.is-seven-brand-early .brand-logo-seven svg rect,
html.is-seven-brand-early .brand-logo-seven svg polygon,
html.is-seven-brand-early .brand-logo-seven svg circle {
    fill: #007DBD !important;
    stroke: #007DBD !important;
}