html, body {
scroll-behavior: smooth;
font-family: "Instrument Sans", sans-serif;
font-optical-sizing: auto;
font-weight: 300;
font-style: normal;
color:#555;
}

h1,h2,h3,h4,h5,h6, .name {
font-family: "Noto Serif Display", serif;
line-height:1;
}

@font-face {
    font-family: 'Material Symbols Outlined';
    src: url('../fonts/MaterialSymbolsOutlined.ttf') format('truetype');
    font-weight: 100 700;
    font-style: normal;
    font-display: swap;
}

.material-symbols-outlined {
    font-family: 'Material Symbols Outlined';
    font-weight: 400;
    font-style: normal;
    font-size: 2rem;
    line-height: 1;
    letter-spacing: normal;
    text-transform: none;
    display: inline-block;
    white-space: nowrap;
    word-wrap: normal;
    direction: ltr;
    font-feature-settings: 'liga';
    -webkit-font-smoothing: antialiased;
}

.grecaptcha-badge { 
visibility: hidden; 
}

hr {
margin-top:2rem;
padding-top:2rem;
border-top:1px solid rgba(160,0,65,1);
}

hr.bianco {
margin-top:1rem;
padding-top:1rem;
border-top:1px solid #fff;
}

hr.biancomini {
margin-top:1rem;
padding-top:1rem;
border-top:1px solid #fff;
}

.mini {
margin-top:2rem;
padding-top:2rem;
border-top:2px solid rgba(160,0,65,.5);
}

.icon {
color:rgba(160,0,65,1);
margin-right:.5rem;
}

a, a:hover {
color:inherit;
text-decoration:none;
}

.contenuto a {
color:rgba(160,0,65,1);
text-decoration:none;
}

.contenuto :is(h1, h2, h3, h4, h5, h6) {
  margin-bottom: 2rem;
}


img {
width:100%;
height:auto;
}

b, strong, .bold {
font-weight: 600;
}

/* TIPOGRAFIA */

.bar {
font-family: "Instrument Sans", sans-serif!important;
}

.grande {
font-size:1.5rem;
}

.medio {
font-size:1.25rem;
}

.break {
word-spacing: 100vw;
}

/* PESI */

.lite {
font-weight:300;
}

.medium {
font-weight:500;
}

.heavy {
font-weight:600;
}

.indice {
font-size:5rem;
font-weight:700;
line-height:.8;
}

.claimhome {
font-size:2.5rem;
line-height:1;
}

.legenda {
font-size:.8rem;
font-weight:500;
}

@media only screen and (max-width: 768px) {
h1 {font-size:3rem}
h2 {font-size:2.5rem}
h3 {font-size:2rem}
.imgback {height:50vh;padding:20vh 0}
.grande {font-size:1rem}
}

/* COLORI */

.begum {
color:rgba(160,0,65,1);
}
.begumbg {
background-color:rgba(160,0,65,1);
}

.bianco {
color:#fff;
}
.biancobg {
background-color:#fff;
}

.chiaro {
color:#eee;
}
.chiarobg {
background-color:#fafafa;
}

.scuro {
color:#333;
}
.scurobg {
background-color:#333;
}

/* NAVIGATION */

nav.navbar {
padding-top: 1rem !important;
padding-bottom: 1rem !important;
transition: all 0.1s linear !important;
background-color:transparent;
}
nav.navbar .logo img {
height: 2rem !important;
width: auto;
transition: height 0.4s ease-in-out !important;
}
nav.navbar .name {
opacity: 1;
font-size:2rem;
font-weight:600;
letter-spacing: -1px;
text-transform: lowercase;
transition: all 0.4s ease-in-out !important;
}
@media (min-width: 992px) {
nav.navbar {
padding-top: 1rem !important;
padding-bottom: 1rem !important;
}
nav.navbar .logo img {
height: 3.5rem !important;
}
nav.navbar .name {
font-size:2rem;
}
nav.navbar .mega-menu-wrap #mega-menu-main-menu {
display: flex !important;
align-items: center !important;
}
nav.navbar .mega-menu-wrap #mega-menu-main-menu > li.mega-menu-item > a.mega-menu-link {
font-size: 1rem !important;
font-weight: normal;
line-height: 1rem !important;
padding-top: 0 !important;
padding-bottom: 0 !important;
display: flex !important;
align-items: center !important;
transition: font-size 0.4s ease-in-out, font-weight 0.4s ease-in-out, line-height 0.4s ease-in-out !important;
}
nav.navbar .mega-menu-wrap #mega-menu-main-menu > li.mega-menu-item > a.mega-menu-link .mega-indicator {
display: inline-flex !important;
align-items: center !important;
height: 100% !important;
top: 0 !important;
margin-top: 0 !important;
vertical-align: middle !important;
}
nav.navbar.scrolled {
padding-top: 0.15rem !important;
padding-bottom: 0.15rem !important;
background-color: #eee;
}
nav.navbar.scrolled .logo img {
height: 2rem !important;
}
nav.navbar.scrolled .name {
opacity: 0;
}
nav.navbar.scrolled .mega-menu-wrap #mega-menu-main-menu > li.mega-menu-item > a.mega-menu-link {
line-height: 1rem !important;
font-size: 0.8rem !important;
font-weight: 600 !important;
padding-left:0;
padding-right:0;
}
}
@media (max-width: 991px) {
nav.navbar {
background-color: #ffffff !important;
box-shadow: 0 0.25rem 0.75rem rgba(0, 0, 0, 0.08) !important;
}
/* Forza lo sfondo bianco anche sulla barra mobile di Max Mega Menu */
nav.navbar .mega-menu-wrap,
nav.navbar .mega-menu-wrap #mega-menu-main-menu {
background: #ffffff !important;
}
}


/* Rimuove definitivamente il pallino e resetta i margini */
.site-navigation, 
.site-navigation ul, 
.site-navigation li {
    list-style: none !important;
    list-style-type: none !important;
    margin: 0;
    padding: 0;
}

/* Allinea la Cookie Policy in linea con i contatti */
.site-navigation li {
    display: inline-block;
    vertical-align: middle;
}


/* Header */

.main {
position: relative;
background-image: url(../media/hero.jpg);
background-size: cover;
background-repeat: no-repeat;
overflow: hidden;
}
header {
  height: calc(100vh - 15vh);
  position: relative;
  width: 100%;
  margin-top: 15vh;
  overflow: hidden !important;
}

/* Su MOBILE e TABLET (fino a 1199px) */
.claim {
  /* Questo sostituisce il pt-5 di Bootstrap (3rem corrispondono a 48px) */
  padding-top: 3rem; 
}

/* Su DESKTOP (da 1200px in su, ovvero lo scatto di col-xl-4) */
@media (min-width: 1200px) {
  .claim {
    padding-top: 15vh;
  }
}


.bread {
font-size:.9rem;
border-bottom:1px solid #fff;
margin-bottom:2rem;
padding-bottom:1rem;
}

/* Heroes */

.herohome {
position:relative;
height:70vh;
border-radius:1rem;
width:100%;
}

/* custom-thumb */

.custom-thumb-50 {
    height: auto;
    width: 100%;
    object-fit: cover; /* Taglia l'immagine senza distorcerla */
    object-position: center; /* Centra l'inquadratura del taglio */
}

@media (max-width: 768px) {
    .custom-thumb-30 {
        height: 200px; /* Altezza fissa più leggibile su smartphone */
    }
}

/* CONTENT */

.sezione {
position:relative;
padding: 10vh 0;
}

/* Liste senza punti con linea di separazione */
.sezione ul {
list-style: none;
padding-left: 0;
margin: 2rem 0;
}

.sezione ul li {
padding: 1rem 0;
border-bottom: 1px solid #eeeeee;
margin: 0;
}

.sezione ul li:first-child {
margin-top:-2rem;
padding-top:0;
}

.sezione ul li:last-child {
border-bottom: none;
}

.bar :is(h1, h2, h3, h4, h5, h6) {
font-family: "Instrument Sans", sans-serif;
margin-bottom:2rem;
color:rgba(160,0,65,1);
}

.centrale p {
margin-bottom:2rem;
}

.laterale h3 {
font-family: "Instrument Sans", sans-serif;
font-size:1.5rem;
line-height:1.2;
width:80%;
}

.centrale img {
margin:2rem 0;
}

.elenco {
padding-right:10%;
}

/* MORE BIANCO */

.morebianco, .morebianco:hover {
padding:.5rem 1rem;
transition: 0.25s;
color:#fff;
font-weight:400;
font-size:1rem;
border:1px solid #fff;
border-radius:0;
}

.morebianco span {
cursor: pointer;
display: inline-block;
position: relative;
transition: 0.25s;
}

.morebianco span:after {
font-family: 'Material Symbols Outlined';
content: '\e5c8';
position: absolute;
opacity: 0;
top: 0;
right: 0;
transition: 0.25s;
}

.morebianco:hover span {
left:0;
padding-right: 2rem;
color:#fff;
}

.morebianco:hover span:after {
opacity: 1;
right: 0;
color:#fff;
}

.morebianco:hover span:before {
opacity: 0;
right: 0;
color:#fff;
}

/* MORE Rosso */

del {
display:inline-block;
padding:.5rem 1rem;
transition: 0.25s;
color:rgba(160,0,65,1);
font-weight:400;
font-size:1rem;
border:1px solid rgba(160,0,65,1);
border-radius:0;
text-decoration:none;
margin-top:2rem;
}

.morerosso, .morerosso:hover {
padding:.5rem 1rem;
transition: 0.25s;
color:rgba(160,0,65,1);
font-weight:400;
font-size:1rem;
border:1px solid rgba(160,0,65,1);
border-radius:0;
}

.morerosso span {
cursor: pointer;
display: inline-block;
position: relative;
transition: 0.25s;
}

.morerosso span:after {
font-family: 'Material Symbols Outlined';
content: '\e5c8';
position: absolute;
opacity: 0;
top: 0;
right: 0;
transition: 0.25s;
}

.morerosso:hover span {
left:0;
padding-right: 2rem;
color:rgba(160,0,65,1);
}

.morerosso:hover span:after {
opacity: 1;
right: 0;
color:rgba(160,0,65,1);
}

.morerosso:hover span:before {
opacity: 0;
right: 0;
color:rgba(160,0,65,1);
}

/* FOOT */

footer {
background-color:rgba(160,0,65,1);
padding:10vh 0;
position:relative;
color:#fff;
line-height:1.2;
}

footer .logo img {
width:50%;
}