@charset "UTF-8";
/* @import "gallery.css"; */

:root {
  --rosso: #B80F21;
  --testi: #0B0700;
  --grigio-chiaro: #F8F8F8;
  --grigio-medio: #8a8b8a;
}


a { color: var(--rosso); }

rosso {color: var(--rosso); padding: 0px; background: none;}

/* breadcrumbs */

.layout-blog .sp-module.container {padding-left: 0px !important; padding-right: 0px !important;}



/* RIVENDITORI  MARCHI */

.imm-marchi .sppb-addon-single-image-container { margin-bottom: 30px !important;}

/* .marchi .sppb-form-builder-field-0 { width: 100% !important;}

.marchi .sppb-form-builder-field-1 { width: 100% !important;} */

.loghi .sppb-img-responsive { width: 150px !important; }

.sppb-form-group .sppb-form-control {font-size: 16px !important;}


/* 1. Forza l'altezza e il comportamento dell'immagine per riempire il box senza distorcersi */
.sppb-dynamic-content-gallery.realizzazioni .bx-viewport,
.sppb-dynamic-content-gallery.realizzazioni .sppb-dc-bxslider li,
.sppb-dynamic-content-gallery.realizzazioni .sppb-gallery-btn {
    height: 350px !important; /* Modifica questo valore per decidere l'altezza desktop desiderata */
}

.sppb-dynamic-content-gallery.realizzazioni .sppb-gallery-btn img {
    width: 100% !important;
    height: 100% !important;
    object-fit: cover !important;
    object-position: center center !important; /* Centra l'immagine sia in verticale che in orizzontale */
}

/* 2. Ottimizzazione Responsive per Tablet (2 colonne) */
@media (max-width: 991px) and (min-width: 768px) {
    .sppb-dynamic-content-gallery.realizzazioni .bx-viewport,
    .sppb-dynamic-content-gallery.realizzazioni .sppb-dc-bxslider li,
    .sppb-dynamic-content-gallery.realizzazioni .sppb-gallery-btn {
        height: 250px !important; /* Altezza ridotta per tablet */
    }
}

/* 3. Ottimizzazione Responsive per Smartphone (1 colonna) */
@media (max-width: 767px) {
    .sppb-dynamic-content-gallery.realizzazioni .bx-viewport,
    .sppb-dynamic-content-gallery.realizzazioni .sppb-dc-bxslider li,
    .sppb-dynamic-content-gallery.realizzazioni .sppb-gallery-btn {
        height: 200px !important; /* Altezza ridotta per smartphone */
    }
}

@media (max-width: 768px) {
#sp-header > .container::after {
  display: none !important;
}
}

@media (max-width: 1220px) {
	 .sp-megamenu-parent > li > a {padding: 0 8px !important;}
}


/* ARTICOLI */
.sp-pagebuilder-section-inner-wrap {
  margin-top: 150px;
}


.leading-article-top-title-wrap { display: none;}
.intro-article-top-title-wrap   { display: none;}     
.article-list .article .readmore a {
  color: var(--rosso);
  font-weight: 500;
  text-transform: uppercase;
  letter-spacing: 3px;
  font-size: 11px;
}

.article-details .article-header h1{
  max-width: 100%;
  font-weight: 400;
  text-transform: uppercase;
  font-size: 25px;
  line-height: 35px;
  border-bottom: none;
  letter-spacing: 1px;
  text-align: center;
}

.article-details .header-info-wrap {
  max-width: 100%;
  bottom: 170px;
  background: none;
  position: relative;
  margin: 0 auto;
  padding: 187px 0px 0px 0px;
}

/* STAMPA */
.stampa .article-list .article .article-intro-image img {
  width: auto;
  border-radius: 0px;
  height: 545px;
}

/* FINE STAMPA */

.article-list .article .article-header h2 a {
  font-weight: 400;
  text-transform: uppercase;
  font-size: 25px;
  line-height: 35px;
  letter-spacing: 1px;
}


/* VARIE */
body { background: #fff;}
body .sppb-btn.sppb-btn-secondary, body .sppb-btn.btn-secondary, body .btn.sppb-btn-secondary, body .btn.btn-secondary, .spbooking-btn.sppb-btn-secondary, .spbooking-btn.btn-secondary { color: #212822; background-color: var(--testi);}
.btn.btn-primary {color: white !important; background-color: var(--rosso) !important;}
.sppb-btn.sppb-btn-default {color: white !important; background-color: var(--rosso) !important;}


/* MENU E HEADER */

#sp-top-bar {
  background: var(--rosso) !important;
  color: #fff !important;
}

#modal-menu .modal-menu-inner > .container { display: inherit; align-items: center; height: 100%;}
#modal-menu ul.sp-megamenu-parent > li > a { font-size: 26px; font-weight: 400; line-height: 1.4;}
#modal-menu.has-bg {
  background-image: none;
  background-repeat: no-repeat;
  background-size: cover;
  background-position: center center;
}

#sp-header { background: rgb(255, 255, 255, 0.7);  height: 73px;}

@media (max-width: 767px){ 
.logo-image {
  height: 28px !important;
  display: inline;
}}
	
@media (max-width: 767px){ 
#sp-header { height: 53px;}}

@media (max-width: 910px){ 
.logo-image { margin-top: 23px;}
	
#sp-header { height: 53px;}}

#sp-header.header-with-modal-menu.classic-layout .modal-menu-inner > div .social-icons {
  margin-top: auto;
  margin-bottom: 0px;
  width: 100%;
  border-top: 2px solid rgba(32, 31, 31, 0.1);
  padding-top: 20px;
  font-size: 22px;
  text-align: center;
}

#sp-header.header-with-modal-menu.classic-layout .modal-menu-inner > div .sp-megamenu-wrapper {
  height: 100%;
  align-items: center;
  margin: 0 auto 0px auto;
}

.sp-megamenu-parent {
  list-style: none;
  padding: 0;
  margin: 0 -15px;
  z-index: 99;
  display: block;
  float: right;
  position: relative;
}

#sp-header.header-with-modal-menu a:hover {
  color: var(--rosso);
}

#modal-menu .sp-megamenu-parent > li.active > a{color: var(--testi);}

.sp-megamenu-parent > li::after { background: var(--rosso);}
.sp-megamenu-parent > li > a {  text-transform: uppercase !important; /* padding: 0 18px !important; */}
.sp-megamenu-parent > li > a:hover { color: var(--rosso);}
.sp-megamenu-parent > li.active > a {color: var(--grigio-medio); text-transform: uppercase;}
.sp-megamenu-parent > li.active > a:hover {color: var(--rosso);}


/* FOOTER e BOTTOM */
#sp-footer { margin-top: 20px; background: white; color: var(--grigio-medio);}
#sp-footer a { color: var(--grigio-medio);}
#sp-footer a:hover { color: var(--rosso);}
#sp-footer .container-inner { padding: 0px 0px 50px 0px;}

/* TITOLI */




.titolo  h2 {  
  font-weight: 400 !important;
  text-transform: uppercase !important;
  font-size: 25px !important;
  line-height: 35px !important;
  margin-bottom: 20px !important;
  text-align: center !important;
}

.sopratitolo h4 {  
  font-weight: 700 !important;
  text-transform: uppercase;
  font-size: 14px !important;
  line-height: 24px !important;
  letter-spacing: 4px !important;
}

.sp-page-title {
  padding: 56px 0px 55px 0px;
  background-color: var(--rosso);
  margin-top: 68px;
  margin-bottom: 50px;
} 
	.sp-page-title .sp-page-title-heading {
  font-size: 25px !important;
  line-height: 35px !important;
  text-transform: uppercase;
}



#sp-main-body .home {
 margin-top: -60px !important;
}
#sp-main-body  {
  padding: 133px 0 50px 0 !important;
}

/* SERVIZI*/

.servizi .sppb-feature-box-title {
  margin-top: 15px;
  font-weight: 700;
  text-transform: uppercase;
  font-size: 18px;
  line-height: 28px;
  letter-spacing: 0px;
}

.servizi .sppb-addon-text {
  font-size: 12px;
  line-height: 24px;
}

.servizi .sppb-icon .sppb-icon-container > i {
  font-size: 76px;
  text-align: center;
  background-color: rgba(255, 255, 255, 0);
  color: rgba(255, 255, 255, 0);
}

.servizi-dx .sppb-icon .sppb-icon-container > i {
  -webkit-text-stroke: 1px #ffffff;
}
  
.servizi-sx .sppb-icon .sppb-icon-container > i {
  -webkit-text-stroke: 1px var(--testi);
}
  
.servizi-dx .sppb-feature-box-title { color: white;}

.servizi-dx .sppb-addon-text { color: white;}

.servizi-sx .sppb-feature-box-title { color: var(--testi) !important;}

.servizi-sx .sppb-addon-text {  color: var(--testi) ;}

 .sppb-icon .sppb-icon-container > i {
  font-size: 76px;
  text-align: center;
  background-color: rgba(255, 255, 255, 0);
  color: rgba(255, 255, 255, 0);
}

.servizi-dx .sppb-icon .sppb-icon-container {
-webkit-text-stroke: 1px #ffffff;
}
.servizi .sppb-img-responsive {
  width: 100px;
} 


/* CONTATTI */

.contatti .sppb-feature-box-title {
  margin-top: 15px;
  font-weight: 700;
  text-transform: uppercase;
  font-size: 18px;
  line-height: 28px;
  letter-spacing: 0px;
}

.contatti .sppb-addon-text {
  contatti-size: 12px;
  line-height: 24px;
}

.contatti .sppb-icon .sppb-icon-container > i {
  font-size: 43px;
  text-align: center;
  margin-top: 14px;
}

.contatti-dx .sppb-icon .sppb-icon-container > i { background-color: rgba(255, 255, 255, 0); color: white;}
.contatti-sx .sppb-icon .sppb-icon-container > i { background-color: rgba(255, 255, 255, 0); color: var(--testi);}

  
.servizi-sx .sppb-icon .sppb-icon-container > i {
  -webkit-text-stroke: 1px var(--testi);
}
  
.contatti-dx .sppb-feature-box-title { color: white;}

.contatti-dx .sppb-addon-text { color: white;}

.contatti-sx .sppb-feature-box-title { color: var(--testi) !important;}

.contatti-sx .sppb-addon-text {  color: var(--testi);}

.contatti-sx a {  color: white;}


/* PAGINA MARCHI */
.marchi .loghi .sppb-img-responsive {
  width: 125px;
}


/* ERROR PAGE */

html.error-page body {background-color: white !important;}
html.error-page .error-code {color: var(--testi) !important;}
html.error-page .error-message {color: var(--testi) !important;}
html.error-page .error-message {color: var(--testi) !important;}

/* iubenda */

#iubenda-cs-banner.iubenda-cs-overlay {visibility: visible;opacity: 1; backdrop-filter: blur(10px);}
#iubenda-cs-banner.iubenda-cs-overlay::before {transition: 0.4s; backdrop-filter: blur(10px);}
#iubenda-iframe {transition: 0.4s; backdrop-filter: blur(10px);background: rgba(0, 0, 0, .5) !important;}

#iub-legalDoc {
  font-size: 1rem !important;
}

.sppb-form-group .sppb-form-control, .form-control, input[type="text"]:not(.form-control), input[type="email"]:not(.form-control), input[type="url"]:not(.form-control), input[type="date"]:not(.form-control), input[type="password"]:not(.form-control), input[type="search"]:not(.form-control), input[type="tel"]:not(.form-control), input[type="number"]:not(.form-control), select:not(.form-select):not(.form-control) {
	font-size: inherit !important;
	padding: 5px 0px 10px 10px !important;
}