/* ==========================================================================
      CSS Reset & Global Settings
   ========================================================================== */
/*-------------- Variabili CSS --------------------*/
:root {
  /* Colori principali */
  --rosso-mattone: #B4463C;
  --rosso-scuro: #732D37;
  --nero: #020202;
  --fondino: #E0DBD5;
  
    
  /* Font */
  --font-primary: 'Raleway', sans-serif;
  --font-secondary: 'Bitter', serif;
}


* { margin: 0; padding: 0;  }

*, *::before, *::after {
  box-sizing: border-box;
}

body { 
    background: #FFF; 
    font-family: var(--font-primary); 
    font-size: 20px; 
    font-weight: 400; 
    color: var(--nero); 
}

.container { max-width: 1320px; }
.container.articoli-container { max-width: 1164px; }

/*-------------- Utility Classes --------------------*/
.divContainer1600 { 
    max-width: 1600px; 
    margin: auto; 
}
/* Titoli  */
.h1Titolo { 
    color: #FFFFFF; 
    font-family: var(--font-secondary);
    font-weight: 400; 
    font-size: 50px; 
}

.h2PageTitle { 
    color: var(--rosso-mattone); 
    font-family: var(--font-secondary);
    font-weight: 700;
    font-size: 38px;
    line-height: 58px; 
    padding-bottom: 20px;
    padding-top: 20px; 
}
.h3PageTitle {
    color: var(--rosso-mattone); 
    font-family: var(--font-secondary); 
    font-weight: 400; font-size: 24px; 
    padding-bottom: 15px; }

.h3Title {
    color: var(--rosso-mattone);
    font-family: var(--font-secondary);
    font-weight: 300; 
    font-size: 50px; 
    line-height: 70px;
    background: url(../Images/trattino.png) no-repeat bottom center; 
    padding-bottom: 20px; 
    text-align: center; }
    
.h3Title.noTrattino { background: none; }

.h3Title2 { 
    color: var(--rosso-mattone); 
    font-family: var(--font-secondary); 
    font-weight: 400; 
    font-size: 32px; 
}

.h4Title { 
    color: var(--rosso-mattone); 
    font-family: var(--font-secondary); 
    font-weight: 600;
    line-height: 1.3em; 
    font-size: 24px; 
}
.h4-title-trattino { 
    color: var(--rosso-mattone); 
    font-family: var(--font-secondary); 
    font-weight: 300; 
    font-size: 32px;  
    background: url(../Images/trattino.png) no-repeat bottom center; 
    padding-bottom: 20px; 
}
.pTrattino { 
    background: url(../Images/trattino.png) no-repeat bottom center; 
    padding-bottom: 30px; 
    text-align: center; 
}
/* PULSANTE ROSSO MATTONE*/   
.aBlock {
    display: inline-block; 
    background-color: var(--rosso-mattone); 
    color: #FFFFFF; font-family: 
    var(--font-secondary); 
    font-weight: 300; 
    font-size: 18px; 
    text-decoration: none; 
    padding: 11px 35px; 
}
.aBlock:hover { 
    background-color: var(--rosso-scuro);  
    color: #FFFFFF; 
}

/* --- PULSANTE CONTATTI --- */
.aBlock2 { padding: 11px 50px; }

/* BACKGROUND */
.bg-fondino { background-color: var(--fondino); }


/********* TOP / MENU **********/
/*.navbar { padding: 0; }
.navbar-brand { padding: 0; }*/

.navbar-toggler { border-color: var(--rosso-mattone); border-width: 1px; padding: 0.25rem 0.5rem;}
.navbar-toggler:hover { border:none; background-color: var(--rosso-mattone);  }
.navbar-toggler-icon { background-image: url("data:image/svg+xml;charset=utf8,%3Csvg viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath stroke='rgba(180, 70, 60, 1)' stroke-width='2' stroke-linecap='round' stroke-miterlimit='10' d='M4 8h24M4 16h24M4 24h24'/%3E%3C/svg%3E"); }
.navbar-toggler:hover .navbar-toggler-icon { background-image: url("data:image/svg+xml;charset=utf8,%3Csvg viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath stroke='rgba(255,255,255, 1)' stroke-width='2' stroke-linecap='round' stroke-miterlimit='10' d='M4 8h24M4 16h24M4 24h24'/%3E%3C/svg%3E"); }

#divTopMenu { font-family: var(--font-secondary); font-weight: 600; font-size: 16px; text-transform: uppercase; color: #646464; padding-bottom: 15px; }
.navbar #ulMenu a { color: var(--rosso-mattone); padding: 20px 17px !important; }
.navbar #ulMenu a:hover { color: var(--rosso-scuro); }
.navbar #ulMenu a.sel { color: var(--rosso-scuro); }

.navbar #ulMenu > li:last-of-type a { padding: 20px 0 20px 17px !important; }

.dropdown-toggle::after { content: none; }
.dropdown:hover .dropdown-menu { display: block; margin-top: 0; }  /* per aver le voci di menu direttamente a comparsa all'hover */
.dropdown-menu { padding: 0; left: 20px; }
.dropdown-menu a { font-family: var(--font-secondary); font-weight: 600; font-size: 16px; text-transform: uppercase; color: #646464; }
.dropdown-menu a:hover { background: var(--rosso-mattone); color: #FFF !important; }
.navbar #ulMenu .dropdown-menu a { padding: 13px 25px 12px 15px !important; }


@media (max-width: 1199.98px) {    
    .navbar-collapse { border-top: 1px solid var(--rosso-mattone); margin-top: 15px; }
    .navbar-collapse #ulMenu a { background: var(--rosso-mattone); margin-top: 5px; color: #FFF; font-weight: 300; padding: 10px 5px !important; text-align: center; font-size: 15px; }
    .navbar-collapse  #ulMenu a:hover { background: var(--rosso-scuro); }
    .navbar-collapse #ulMenu a.sel { color: #FFF; }
    .navbar-collapse #ulMenu > li:last-of-type a { padding: 10px 5px !important; }
    .navbar-collapse .dropdown-menu { display: block; }
}


/* --------------------- HOME  --------------- */
#divHome3Columns { padding-bottom: 90px; }
.homeColumn { text-align: center; }
.homeColumn img { max-width: 100%; }
/*RIMUOVERE .homeColumn strong { color: var(--rosso-mattone); font-family: var(--font-secondary); font-weight: 300; font-size: 32px; padding: 40px 0 10px 0; display: block; } */
/* .titolo30 { 
    color: var(--rosso-mattone); 
    font-family: var(--font-secondary); 
    font-weight: 600; 
    font-size: 30px; 
    padding: 40px 0 10px 0; 
    display: block; 
} */
.homeColumn p { font-family: var(--font-primary); font-size: 20px; padding: 0 20px 20px 20px; }
.homeColumn a{ display: inline-block; background-color: var(--rosso-mattone); color: #FFFFFF; font-family: var(--font-secondary); font-weight: 300; font-size: 18px; text-decoration: none; padding: 10px 60px; }
.homeColumn a:hover{ background-color: var(--rosso-scuro);  color: #FFFFFF; }



#divTestimonianze { background-color: #E2DED5; padding: 60px 0 40px 0; }
#divHomeNews { background-color: #E2DED5; padding: 80px 0 40px 0; }
.pTestimonianza { font-size: 20px; padding: 30px 0 20px 0; max-width: 500px; margin: auto; }
.pTestimone { color: var(--rosso-mattone); font-family: var(--font-secondary), sans-serif; font-weight: 300; font-size: 24px; }

.pText { font-size: 20px; }

.newListImg { border-radius: 20px; max-width: 100%; }
.listNewsData { font-size: 14px; }
strong.listNewsTitle { color: var(--rosso-mattone); font-family: var(--font-secondary), sans-serif; font-weight: 300; font-size: 18px; }
.listNewsText { font-size: 15px;  }
.listNewsLink { color: var(--rosso-mattone); font-family: var(--font-secondary), sans-serif; font-weight: 300; font-size: 18px; text-decoration: none; }
.listNewsLink:hover { color: var(--rosso-scuro); text-decoration: underline; }

/* ------------------ FOOTER ------------------- */
#divFooterTop { 
    background: url(../Images/footer-1-2.jpg) no-repeat center center; 
    background-size: cover; 
    min-height: 340px; }
#divFooterTop1 { padding-top: 70px; }
#divFooterTop2 { padding-top: 70px; }
.h4Footer {  color: #FFF; font-family: var(--font-secondary), sans-serif; font-weight: 100; font-size: 32px; line-height: 45px; }

#divFooterBottom { font-size: 14px; }
.h5Footer { color: var(--rosso-mattone); font-family: var(--font-secondary), sans-serif; font-weight: 300; font-size: 16px;  }
.ulFooter { padding: 5px 0 0 0; margin-block: 0; list-style-type: none; }
.ulFooter li { padding: 0 0 4px 0;} 
.ulFooter a { color: var(--nero); text-decoration: none;  }
.ulFooter a:hover { color: var(--rosso-mattone); }
.ulFooterSocial { padding: 5px 0 30px 0; margin-block: 0; list-style-type: none; }
.ulFooterSocial a, .ulFooterSocial li { display: inline-block; }
#divFooterLastRow { border-top: 1px solid var(--nero); font-size:12px; }
/* ------------------------- CHI-SIAMO ---------------------- */
.rounded-box {
    background-color: #FFF;
    height: 100%;
    display: flex;
    border-radius: 30px;
    /* padding: 50px 15px 40px 50px; */
    padding: 50px 35px 40px 50px;
    box-shadow:rgba(115, 45, 55, 0.3) 4px 4px 18px;
}

/* --------------- RISTORAZIONE PER PRIVATI -------------- */
.pallino-rosso li {
    list-style: none;
    position: relative;
    padding-left: 25px;
    margin-bottom: 8px;
}
.pallino-rosso li::before {
    content: '';
    position: absolute;
    left: 0;
    top: 9px;
    width: 10px;
    height: 10px;
    border-radius: 50%;
    background-color: var(--rosso-mattone);
    display: inline-block;
}
.divFricchio { text-align: center; padding-bottom:80px; }
.divFricchio img { max-width: 100%; }
.divFricchio strong {
    color: var(--rosso-mattone); 
    font-family: var(--font-secondary); 
    font-weight: 300; font-size: 24px; 
    display: inline-block; 
    padding: 45px 0 0 0;  }
    
.divFricchio span { font-size: 20px; }
.divRistorazione { text-align: center; padding-bottom: 50px; }
.divRistorazione p { color: var(--rosso-mattone); font-family: var(--font-secondary), sans-serif; font-weight: 300; font-size: 24px; padding-top: 30px; line-height: 32px; }

.divRistorazioneImg { padding-bottom: 30px; text-align: center; }
.divRistorazioneImg img { max-width: 100%; border-radius: 25px; }

/* -------------------- TESTATE ------------------- */
.divTopImage { 
    height: 380px;
    padding-top: 140px;
}

.home-hero-image{
    height: 600px;
    padding-top: 170px; 
}
.divTopHome {
    background: url(../Images/home-top-1.jpg) no-repeat center center;
    background-size: cover;
}
.divTopChiSiamo { 
    background: url(../Images/chi-siamo.jpg) no-repeat center center; 
    background-size: cover; }
.divTopPrivati {
    background: url(../Images/asporto.jpg) no-repeat center center;
    background-size: cover;
}
.divTopImprese {
    background: url(../Images/catering.jpg) no-repeat center center;
    background-size: cover;
}
.divTopNewsEventi { 
    background: url(../Images/news-eventi.jpg) no-repeat center center; 
    background-size: cover; 
}

.hero-testo {
    padding-top: 48px;
    padding-bottom: 60px;
}

/* -------------------- CONDIVISI TRA LE PAGINE ------------------- */
/* .divHalfColumn { background: #DFDBD3; padding-left: 0; padding-right: 0; } */
.divHalfColumn {
    padding-left: 0; 
    padding-right: 0; }
/* .divHalfColumn>img { width: 100%; } */
.imgHalfColumnCover {
    display: block;
    width: 100%;
    height: 500px;
    object-fit: cover;
    object-position: center center;
}

.divHalfColumn1 { border-right: 2px solid #FFF; }
.divHalfColumn2 { border-left: 2px solid #FFF; }
.divHalfColumnBox {
    padding: 60px 0;
    text-align: center; 
}
.img-cover {
    width: 100%;
    height: 600px;
    object-fit: cover;
    object-position: center center;
    border-radius: 30px;
}

/* -------------------- SISTEMARE ------------------- */
.divTopIlProgetto { background: url(../Images/il-progetto.jpg) no-repeat center center; background-size: cover; }
.divTopRistorazioneSolidale { background: url(../Images/ristorazione-solidale.jpg) no-repeat center center; background-size: cover; }
.divTopAsporto { background: url(../Images/asporto.jpg) no-repeat center center; background-size: cover; }
.divTopCatering { background: url(../Images/catering.jpg) no-repeat center center; background-size: cover; }
.divTopAziende { background: url(../Images/eventi-aziendali.jpg) no-repeat center center; background-size: cover; }

.divTopSaleMeeting { background: url(../Images/sale-meeting.jpg) no-repeat center center; background-size: cover; }
.divTopPranziCeneInSala { background: url(../Images/pranzi-cene-in-sala.jpg) no-repeat center center; background-size: cover; }
.divPersona { text-align: center; padding-bottom:80px; }
.divPersona img { max-width: 100%; border-radius: 50%; }
.divPersona strong { color: var(--rosso-mattone); font-family: var(--font-secondary), sans-serif; font-weight: 300; font-size: 32px; display: inline-block; padding: 45px 0 8px 0;  }
.divPersona span { font-size: 20px; }
.divPersona { padding-bottom:50px; }  /*introdotto quando ho tolto le immagini */


.divBoxLeft { padding: 0; }
.divBoxRight { background: var(--fondino); padding: 65px 15% 20px 100px; }

.divSeparatore { background: url(../Images/separatore.png) no-repeat center center; padding: 100px 0 100px 0; }





.divRedText { 
    color: var(--rosso-mattone); 
    font-family: var(--font-secondary), sans-serif; 
    font-weight: 300; 
    font-size: 24px; 
}

.ulMainList { padding: 25px 0 0 20px; list-style: none; }
.ulMainList li { font-weight: bold; text-transform: uppercase; float: left; width: 50%; padding-bottom: 10px; }
.ulMainList li::before { color: var(--rosso-mattone); content: "\2022"; font-weight: bold;  display: inline-block; width: 1em; margin-left: -1em; font-size: 24px; }

/* .divBigBrown { background-color: #E2DED5; } */

#divMap { height: 500px; }

#divFooterContatti { background: url(../Images/footer-contatti.jpg) no-repeat center center; background-size: cover; min-height: 296px; margin: 20px 0 30px 0; text-align: center; padding-top: 60px; }

.aFiltro { display: inline-block; padding: 12px 55px; color: var(--rosso-mattone); font-family: var(--font-secondary), sans-serif; font-weight: 200; font-size: 32px; text-align: center; text-decoration: none; border: 1px solid var(--rosso-mattone); }
.aFiltro:hover, .aFiltro.sel { background: var(--rosso-mattone); color: #FFF;  }
#divNewsFiltri { border-bottom: 1px solid var(--rosso-mattone); }

.pagination-area { text-align: center; width: 100%;}
.pagination-area .pagination { display: inline-block; list-style: none; padding: 20px 0 30px 0; }
.pagination-area .pagination li { display: inline; }
.pagination-area .pagination li a, .pagination-area .pagination li a.active { display: inline-block; margin-right: 20px; width: 40px; height: 40px; padding-top: 5px; margin-bottom: 10px; text-decoration: none; color: var(--rosso-mattone); border: 1px solid var(--rosso-mattone);  font-family: var(--font-secondary), sans-serif; font-weight: 300; }
.pagination-area .pagination li a:hover, .pagination-area .pagination li.active a { color: #FFF; background : var(--rosso-mattone); }

.imgNewsMain { max-width: 100%; border-radius: 30px; }
.divNewsTypeDate { border-bottom: 1px solid var(--rosso-mattone); font-size: 18px; } 
.h1NewsTitle { color: var(--rosso-mattone); font-family: var(--font-secondary), sans-serif; font-weight: 400; font-size: 32px;  }
.divNewsDetails .po_text img { max-width: 100%; }
.ulDocs { padding: 30px 0 0 0; list-style-type: none; }
.ulDocs li { padding-bottom: 10px; }


/* ------------ MODULO CONTATTI ------------ */
.divContactForm input { border: 1px solid #BBB; font-family:var(--font-primary), sans-serif; font-size: 17px; padding: 6px 10px; box-sizing: border-box; color: #212529; width: 100%; }
.divContactForm textarea { border: 1px solid #BBB; font-family: var(--font-primary), sans-serif; font-size: 17px; padding: 5px 10px; box-sizing: border-box; width: 100%;  }
#pPrivacy { display: inline; font-size: 18px; }
#pPrivacy a { color: var(--nero); font-weight: 700; text-decoration: none; }
#pPrivacy a:hover { color: var(--rosso-mattone); }
#cbContactPrivacy { transform: scale(1.3); margin-right: 10px; margin-left: 4px; }
#divContactPrivacy #btnSubmit { float: right; background-color: var(--rosso-mattone); color: #FFFFFF; font-family: var(--font-secondary), sans-serif; font-weight: 300; font-size: 18px; text-decoration: none; padding: 10px 40px; cursor: pointer; }
#divContactPrivacy #btnSubmit:hover { background-color: var(--rosso-scuro);  color: #FFFFFF; }
.divContactForm input,
.divContactForm select,
.divContactForm textarea {
    font-size: 1rem;
    font-family: inherit;
    line-height: 1.5;
}
input#tbDataEvento {
    color: grey;
}
.divContactForm #tbTipologia.form-select {
    color: grey;
}
.campi_richiesti{
    color: grey;
    font-size: 10px;
}
.privacy{
  font-size: .8rem;
  color: grey;  
  line-height: 1.5;
  margin: .25rem 0 0;
}

/* ------------ MODULO NEWSLETTER ------------ */
#tbNameNewsletter {border: none; font-family: var(--font-primary), sans-serif; font-size: 14px; padding: 6px 10px; box-sizing: border-box; color: var(--nero); display: block; margin: auto; min-width: 389px; }
.divContactFormNewsletter { display: inline-block; background: #FFF; }
#tbEmailNewsletter { border: none; height: 27px; padding: 11px 5px 10px 10px; box-sizing: content-box; font-family: var(--font-primary), sans-serif; font-size: 14px; min-width: 220px; margin: 0; }
#btnSubmitNewsletter { margin: 0; cursor: pointer; }
#pPrivacyNewsletter { padding-top: 15px; color: #FFF;  font-size: 14px; }
#pPrivacyNewsletter a { color: #FFF; font-weight: 700; text-decoration: none; }
#pPrivacyNewsletter a:hover { color: var(--rosso-mattone); }
#spanContactPrivacyNewsletter { display: inline-block; }
#cbContactPrivacyNewsletter { transform: scale(1.5); margin-right: 10px; }
#lblContactBoxFeedbackNewsletter { color: #FFF; }
#divContactBoxLoaderNewsletter { color: #FFF; }
.divContactBoxLoaderNewsletter {
    color: #fff;
}

/* ------------ OWL-CAROUSEL ------------ */
/*  HOME SLIDER INCLUSIONE viene utilizzato da altre pagine perché hanno 
    la stessa impostazione - se vuoi utilizzare in altre pagine con impostazioni diverse, 
    crea una nuova inizializzazione personalizzata in carousel.js */
.owl-slider-home {
    width: 100%;
    height: 600px;
}

.owl-slider-home .owl-stage-outer {
    height: 100%;
    border-radius: 30px;
}

.owl-slider-home .owl-stage,
.owl-slider-home .owl-item,
.owl-slider-home .owl-item > div {
    height: 100%;
}

.owl-slider-home .owl-item img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center;
    border-radius: 30px;
}

.owl-slider-home .owl-dots {
    margin-top: 18px;
    text-align: center;
}

.owl-slider-home.owl-theme .owl-dots .owl-dot span {
    width: 20px;
    height: 20px;
    margin: 0 6px;
    background: #d7cfc7;
}

.owl-slider-home.owl-theme .owl-dots .owl-dot.active span,
.owl-slider-home.owl-theme .owl-dots .owl-dot:hover span {
    background: var(--rosso-mattone);
}

.owl-images .owl-prev { width: auto; height: 100px; position: absolute; top: 40%; left: 30px; display: block !important; border: none; }
.owl-images .owl-next { width: auto; height: 100px; position: absolute; top: 40%; right: 30px; display: block !important; border: none; background: none; }

/* Ristorazione per imprese - slider clienti */
.owl-slider-clienti {
    width: 100%;
    height: 150px;
}

.owl-slider-clienti .owl-stage-outer {
    height: 100%;
    border-radius: 30px;
}

.owl-slider-clienti .owl-stage,
.owl-slider-clienti .owl-item,
.owl-slider-clienti .owl-item > div {
    height: 100%;
}

.owl-slider-clienti .owl-item img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center;
    border-radius: 30px;
}

/* SISTEMARE*/
/* @media (min-width: 767.98px) { 
    .owl-testimonianze .owl-prev { width: auto; height: 100px; position: absolute; top: 20%; left: -10px; display: block !important; border: none; }
    .owl-testimonianze .owl-next { width: auto; height: 100px; position: absolute; top: 20%; right: -10px; display: block !important; border: none; background: none; }
} */



/* .owl-images .owl-item img { border-radius: 30px; } RIMUOVERE*/



.owl-theme .owl-nav [class*=owl-]:hover { background: none !important; }


/* .owl-progetto { height: 100%; background: linear-gradient(90deg, #FFFFFF 50%, #E0DBD5 50%); } */
/* .owl-progetto > div, .owl-progetto > div > div, .owl-progetto .owl-item, .owl-progetto .owl-item > div { height: 100%; } */

/* .owl-carousel .owl-item .imgTestimone {  width: 200px; height: 200px; margin: auto; } */


/********* RIUSABILI **********/
.box-inner-left {
    padding-top: 40px;
    padding-right: 15%;
}
.none { display: none; }
.clearer { clear: both; height: 1px; overflow: hidden; }
.p-absolute { position: absolute; top: 0; left: 0; }
.p-relative { position: relative; }
.pointer { cursor: pointer; }
.max-w-100 { max-width: 100%; }
.max-h-100 { max-height: 100%; }
.max-d-100 { max-height: 100%; max-width: 100%; }
.centered_parent { position:  absolute; top: 0; left: 0; width: 100%; height: 100%; }  /* il suo contenitore deve avere position: relative */ 
.centered {  margin: 0; position: absolute; top: 50%; left: 50%; transform: translate(-50%, -50%); }  /* centratura orizzontale e verticale in .centered_parent */ 
.centered-vertical {  margin-top: 0; position: relative; top: 50%; -ms-transform: translateY(-50%); transform: translateY(-50%); } 
.centered_img { width: 100%; height: 100%;  object-fit: cover; } /* applicare questa clase ad una immagine per farla estendere in modalità cover centrata */
.imgScaled { max-width: 100%; height: auto; } /* l'altezza si ridimensiona con l'altezza */
.divRatio16-9 {  position: relative; padding-top: 56.25%; /* 16:9 Aspect Ratio */ }
.divRatio1-1 { width: 100%; height: 0; padding-top: 100%; /* Aspect Ratio come un quadrato */ }
.rwd-video { height: 0; overflow: hidden; padding-bottom: 56.25%; padding-top: 30px; position: relative; }
.rwd-video iframe, .rwd-video object, .rwd-video embed {height: 100%; left: 0; position: absolute; top: 0; width: 100%; }
.roundedImg { border-radius: 20px; }
.roundedImg2 { border-radius: 25px; }

.w-80-centered {
    width: 80%;
    margin-left: auto;
    margin-right: auto;
}


/********* GENERICO **********/
.pT5 { padding-top: 5px; }
.pT10 { padding-top: 10px; }
.pT20 { padding-top: 20px; }
.pT30 { padding-top: 30px; }
.pT40 { padding-top: 40px; }
.pT50 { padding-top: 50px; }
.pT60 { padding-top: 60px; }
.pT70 { padding-top: 70px; }
.pT100 { padding-top: 100px; }
.pB0 { padding-bottom: 0; }
.pB10 { padding-bottom: 10px; }
.pB15 { padding-bottom: 15px; }
.pB20 { padding-bottom: 20px; }
.pB50 { padding-bottom: 50px; }
.pB60 { padding-bottom: 60px; }
.pB70 { padding-bottom: 70px; }
.pB100 { padding-bottom: 100px; }
.pB120 { padding-bottom: 120px; }
.pB140 { padding-bottom: 140px; }
.pB160 { padding-bottom: 160px; }

.ffBitter { font-family: 'Bitter', sans-serif; }
.fs18 { font-size: 18px; } 
.fs20 { font-size: 20px; } 
.fs24 { font-size: 24px; } 
.clFFF { color: #FFF; }
.clColore { color: var(--rosso-mattone); }
.clColore2 { color:var(--rosso-scuro); }
.fw100 { font-weight: 100; }
.fw200 { font-weight: 200; }
.fw300 { font-weight: 300; }
.fw400 { font-weight: 400; }
.fw500 { font-weight: 500; }
.fw600 { font-weight: 600; }
.fw700 { font-weight: 700; }
.lh45 { line-height: 45px; }
.aNoLink { color: #202020; text-decoration: none; }
.aNoLink:hover {  color: var(--rosso-mattone); text-decoration: none; }
.aLinkRed { color: var(--rosso-mattone); text-decoration: none; }
.aLinkRed:hover {  color: var(--rosso-mattone); text-decoration: underline; }
.aLink { color: var(--nero); text-decoration: none; }
.aLink:hover {  color: var(--rosso-mattone); text-decoration: underline; }
.aLink2 { color: #202020; text-decoration: underline; }
.aLink2:hover {  color: var(--rosso-mattone); text-decoration: underline; }

/* -------------- ANIMAZIONI  -------------- */
.text-slide-down {
    opacity: 0;
    transform: translateY(-200px);
    animation: textSlideDown 0.8s ease-out forwards;
}
 
.text-slide-down.delay-1 {
    animation-delay: 0.25s;
} /* se vuoi aggiungere un delay an un'animazione, puoi creare altre classi come .delay-2, .delay-3, ecc. */

@keyframes textSlideDown {
    from {
        opacity: 0;
        transform: translateY(-200px);
    }
    to {
        opacity: 1;
        transform: translateY(0);
    }
}


/********* RESPONSIVE **********/
/* 576 - 768 - 992 - 1200 */
@media (max-width: 1199.98px) { 
    .container {padding-left: 20px; padding-right: 20px; }
    

    .homeColumn2, .homeColumn3 { padding-top: 120px; }
    .hero-testo {
        padding: 30px;
    }
    .divTopImage {
        height: 280px;
        padding-top: 100px;
    }
    .home-hero-image {
        height: 500px;
        padding-top: 140px; 
    }
    .owl-slider-home { height: 500px; }

    .h1Title { font-size: 50px; padding-top: 110px; }
    

    .divBoxRight { padding: 65px 10% 50px 80px; }

    #pPrivacy { display: block; }
    #divContactPrivacy #btnSubmit { float: none; display: inline-block; }

    .pB120 { padding-bottom: 80px; }
    .pB140 { padding-bottom: 120px; }

    .rounded-box {
    padding: 50px 30px 40px 40px;
    }
}

/* ---------- SOTTO 991.98 px --------- */
@media (max-width: 991.98px) {
    .h3Title {
        font-size: 42px;
        line-height: 60px; 
    }
    .box-inner-left {
        padding:0 30px 30px 30px;
    }
    .homeColumn2, .homeColumn3 { padding-top: 100px; }
    /* .homeColumn strong { padding: 25px 0 10px 0; } RIMUOVERE*/
    .homeColumn p { padding: 0 20px 10px 20px; }

    #divFooterTop { background: none; }
    #divFooterTop1 { background: url(../Images/footer-1.jpg) no-repeat center center; background-size: cover; padding-bottom: 70px; }
    #divFooterTop2 { background: url(../Images/footer-2.jpg) no-repeat center center; background-size: cover; padding-bottom: 50px;}

    .divHalfColumn1 {
        border-right: none; 
        padding-bottom: 60px; 
    }
    .divHalfColumn2 {
        border-left: none;
        padding-bottom: 30px;
    }

    .ulMainList { padding: 25px 0 0 25px; list-style: none; }
    .ulMainList li { float: none; width: auto; }

    .aLinkShort { font-size: 18px; }
    
    .owl-progetto { height: 100%; background: linear-gradient(180deg, #FFFFFF 50%, #E0DBD5 50%); }

    .divBoxInner {
        padding: 0 20px;
    }
    .rounded-box {
    padding: 40px 50px 35px 50px;
    align-items: center;
    justify-content: center;
    text-align: center;
    }
}

/* ---------- SOTTO 767.98 px --------- */
@media (max-width: 767.98px) { 
    .fs24 { font-size: 22px; } 
    .h4-title-trattino {
        font-size: 30px;
    }
    .h1Titolo { font-size: 44px; }
    
    .h2PageTitle {
        font-size: 32px;
        line-height: 48px;
        padding-bottom: 5px;
        padding-top: 5px; 
    }
    .divFricchio img {
    max-width: 180px;
    }

    .homeColumn2, .homeColumn3 { padding-top: 120px; }
     .hero-testo {
        padding: 30px;
    } 
    /* PULSANTE ROSSO MATTONE*/    
    .aBlock { 
        font-size: 14px; 
        padding: 10px 40px; 
    }
    
    /*carousel inclusione home*/
    .owl-slider-home {
        height: 300px;
        margin-top:20px;
        margin-bottom: 20px;
    }
    .owl-images .owl-prev { top: 35%; left: 20px; }
    .owl-images .owl-next { top: 35%; right: 20px; }
    
    .aLinkShort { font-size: 20px; }
    
    .aFiltro { display: block;  padding: 10px 0; font-size: 26px; }
    .imgHalfColumnCover {
        height: 300px;
    }
    .divHalfColumnBox {
        padding: 40px 0;
    }

    .w-80-centered {
        width: 90%;
    }
    .pT100 { padding-top: 80px; }
    .pB120 { padding-bottom: 60px; }
    .pB140 { padding-bottom: 100px; }
}

/* ---------- SOTTO 575.98 px --------- */
@media (max-width: 575.98px) { 
    .fs24 { font-size: 20px; } 
    .h1Titolo { font-size: 36px; }

    .h3Title {
        font-size: 36px;
        line-height: 50px; 
    }
    .h4-title-trattino {
        font-size: 26px;
    }
    .pB50 { padding-bottom: 30px; }

    .homeColumn2, .homeColumn3 { padding-top: 100px; }

    .pTestimonianza { font-size: 19px; }

    .owl-slider-home .owl-dots { margin-top: 14px; }

    .divTopImage {
        height: 200px;
        padding-top: 60px;}
        
    .home-hero-image {
        height: 400px;
        padding-top: 80px;
    }
    .divFricchio img {
        max-width: 150px;
    }
    
    .owl-images .owl-prev { top: 27%; left: 0; }
    .owl-images .owl-next { top: 27%; right: 0; }

    .divBoxRight { padding: 55px 8% 50px 40px; }
    .aBlock-responsive { padding: 11px 20px; }

    .divRedText a { font-size: 20px; }

    .pagination-area .pagination li a, .pagination-area .pagination li a.active { margin-right: 10px; }
}


@media (max-width: 400px) {  
    .divTopRistorazioneSolidale .h1Title { padding-top: 60px; }
}
