



/* SECTION HEADING

 * ------------------------------------------------------------ */

.section-heading{    

    position: relative;

    margin: 0 0 80px;

    padding: 25px;

    text-align: center;

    color: #333;

    border-bottom: 3px solid #EEE;

    background-color: #f9f9f9;

}

.section-heading p {

    margin: 0;

    font-size: 16px;

}





/* OVERLAY

 * ------------------------------------------------------------ */

.overlay-wrap {

    position: relative;

    overflow: hidden;

}

.overlay-wrap .overlay {

    position: absolute;

    top: 0;

    left: 0;

    width: 100%;

    height: 100%;

}





/* TABLE BOX

 * ------------------------------------------------------------ */

.table-box {

    display: table !important;

    width: 100% !important;

    height: 100% !important;

    table-layout: fixed; 

}

.table-box .table-cell {

    display: table-cell;

    float: none;

}

.table-box .table-cell.v-middle {

    vertical-align: middle;

}





/* SERVICE BOX

 * ------------------------------------------------------------ */

.service-box {

    display: block;

    position: relative;

    text-align: center;

    color: #666 !important;

}



/* icon */

.service-box .icon{

    display: block;

    width: 106px;
    height: 106px;

    margin: 40px auto 23px;

    font-size: 60px;

    line-height: 105px;

    text-align: center;

    vertical-align: middle;

    border: 1px solid #e3e3e3;

    border-radius: 50%;

    transition: color .3s ease, background-color .3s ease, border-color .3s ease;

}

html.no-touch .service-box:hover .icon {

    color:#FFF;

    background-color:#eb212e;

    border-color: #eb212e;

}

.service-box .icon i {

}



/* title */

.service-box h5{

    margin: 0 0 18px;

    color: #000;

    font-size: 15px;

    font-weight: bold;

    text-transform: uppercase;

    transition: color .3s ease;

}

html.no-touch .service-box:hover h5 {

    color: #eb212e;

}



/* description */

.service-box p{

    margin: 0;

}





/* DETAIL BOX

 * ------------------------------------------------------------ */

.detail-box{

    margin: 40px 0 0px;

}

.detail-box p{

    margin: 0;
    margin-bottom: 10px;

}





/* AJAX BOX

 * ------------------------------------------------------------ */

.ajax-box-wrapper{

    max-width: 1000px;

}





/* SLIDESHOW

 * ------------------------------------------------------------ */

.slideshow-wrap,

.slideshow-wrap .slideshow,

.slideshow-wrap .slideshow .slide {

    position: relative;

    margin: auto;

}



/* wrap */

.slideshow-wrap{

}



/* slideshow */

.slideshow-wrap .slideshow{

    z-index: 10;

}

.slideshow-wrap .slideshow.slideshow-desktop{

    background: #000;

}



/* slide */

.slideshow-wrap .slideshow .slide{

    text-align:center;

}

.slideshow-wrap .slideshow.slideshow-desktop .slide{

    display: none;

    /* aspect-ratio: 4/3; */
    height: 100%;

    background-position: center center;

    background-repeat: no-repeat;

    background-size: cover;

}

.slideshow-wrap .slideshow.slideshow-desktop .slide:first-child{

    display: block;

}

.slideshow-wrap .slideshow.slideshow-desktop .slide iframe{

    display: block;

    position: absolute;

    top: 0;right:0;bottom:0;left: 0;

    width: 100%;

    height: 100%;

    border: none;

    z-index: 10;

}

.slideshow-wrap .slideshow.slideshow-desktop .slide .table-box {

    position: relative;

    z-index: 20;

}

html.is-touch .slideshow-wrap .slideshow.slideshow-desktop .slide.video .table-box{

    display: none;

}

html.no-touch .slideshow-wrap .slideshow.slideshow-desktop .slide.video.playing .table-box,

html.no-touch .slideshow-wrap .slideshow.slideshow-desktop .slide.video:hover .table-box{

    z-index: 5;

}

/* Image Slide */
.slideshow-wrap .slideshow.slideshow-mobile .slide .img-responsive{
    height: 100%;
    object-fit: cover;
}

/* title */

.slideshow-wrap .slideshow .slide h2{

    color: #FFF;
    /* color: #000; */

    font-size: 80px;

    font-weight: bold;

    line-height: 80px;

    margin: 0 auto 20px;

    text-shadow:  3px 3px 8px #00000029;
    /* transition: all .6s ease; */

}

.slideshow-wrap .slideshow.slideshow-desktop.md .slide h2{

    font-size: 60px;

    line-height: 60px;

    margin-bottom: 15px;

}

.slideshow-wrap .slideshow.slideshow-desktop.sm .slide h2{

    font-size: 40px;

    line-height: 40px;

    margin-bottom: 10px;

}

.slideshow-wrap .slideshow.slideshow-mobile  .slide h2{

    /* color: #000; */
    color: #FFF;

    font-size: 40px;

    line-height: 40px;

    margin-bottom: 10px;

}



/* text */

.slideshow-wrap .slideshow .slide p{

    color: #FFF;

    font-size: 20px;

    line-height: 20px;

    margin: 0 auto 40px;

    transition: all .6s ease;

    text-shadow:  3px 3px 8px #00000029;
}

.slideshow-wrap .slideshow.slideshow-desktop.md .slide p{

    margin-bottom: 15px;

}

.slideshow-wrap .slideshow.slideshow-desktop.sm .slide p{

    margin-bottom: 10px;

}

.slideshow-wrap .slideshow.slideshow-mobile  .slide p{

    /* color: #666; */
    color: #FFF

    

}



/* caption */

.slideshow-wrap .slideshow.slideshow-mobile .slide .caption{

    /* position: relative; */
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    z-index: 10;

    width: 100%;

    padding: 15px 15px 30px;

    /* background-color: #FFF; */
    background-color: transparent;

}



/* controls */

.slideshow-wrap .control{

    display: block;

    position: absolute;

    width: 40px;

    height: 40px;

    

    top: 50%;

    margin-top: -20px;

    

    color: #FFF;

    font-size: 24px;

    background: rgba(0,0,0,0.6);

    opacity: 0.4;

    z-index: 20;

    

    transition: opacity .3s ease;

}

html.no-touch .slideshow-wrap:hover .control{

    opacity: 1;

}

.slideshow-wrap .control.control-prev{left: 0;}

.slideshow-wrap .control.control-next{right: 0;}



/* owl */

.slideshow-wrap .slideshow.slideshow-desktop.owl-carousel .owl-stage-outer,

.slideshow-wrap .slideshow.slideshow-desktop.owl-carousel .owl-stage,

.slideshow-wrap .slideshow.slideshow-desktop.owl-carousel .owl-item{

    height: 100%;

}




/* SHOWCASE

 * ------------------------------------------------------------ */

.showcase {

    position: relative;   

}

.showcase .showcase-item {

    display: block;

    float:left;

    width: 50%;

    height: auto;

    padding: 10px;

    margin-bottom: 40px;

}



html.no-touch .showcase .showcase-item .image{

    transition: transform .6s ease;

}

html.no-touch .showcase .showcase-item:hover .image {

    /*transform: scale(1.3) rotate(15deg);*/

    transform: scale(1.3);

}



/* overlay */

.showcase .showcase-item .overlay {

    padding: 5px;

    text-align: center;

    

    top: inherit;

    bottom: 0;

    height: auto;

    background: rgba(0,0,0,0.4);

    opacity: 0;

    margin-bottom: -100%;

    transition: opacity .6s ease, margin-bottom .4s ease;

}

html.no-touch .showcase .showcase-item:hover .overlay,

html.is-touch .showcase .showcase-item.active .overlay {

    opacity: 1;

    margin-bottom: 0;

}



/* title */

.showcase .showcase-item .overlay h5 {

    margin: 0;

    /*color: #eb212e;*/

    color: #FFF;

    font-size: 12px;

    line-height: 16px;

    font-weight: 600;

}



/* description */

.showcase .showcase-item .overlay  p {

    margin: 0;

    color: #FFF;

    font-size: 10px;

    line-height: 16px;

    font-weight: normal;

}



/* button */

.showcase .showcase-item .overlay .btn{

    display: none;

}



/* showcase 3 */

.showcase.showcase-3 .showcase-item {

    width: 33.333333%;

}

.showcase.showcase-3 .showcase-item:nth-child(3n+1){

    clear: both;

}



/* showcase 4 */

.showcase.showcase-4 .showcase-item {

    width: 25%;

}

.showcase.showcase-4 .showcase-item:nth-child(4n+1){

    clear: both;

}



/* showcase 5 */

.showcase.showcase-5 .showcase-item {

    width: 20%;
    padding: 7px;
}

.showcase.showcase-5 .showcase-item:nth-child(5n+1){

    clear: both;

}





/* SHOWCASE

 * ------------------------------------------------------------ */

.share-box {

    display: block;

    position: relative;

    

    padding: 15px;

    border-top: 1px solid #EEE;

    

    background-color: #f9f9f9;

}

.share-box li{

    display: inline-block;

    position: relative;

    

    margin-right: 15px;

    

    font-size: 12px;

    line-height: 40px;

}

.share-box li a{

    color: #666 !important;

    font-size: 20px;

}

/* Pers 15052025 */

/*
    COLOURS:
    main-red: #eb212e
    gray: #f9f9f9
    dark-gray: #343434
*/

.overlay{
    position: absolute;
    inset: 0;
    z-index: 1;
    background: rgba(0, 0, 0, 0.3);
    transition: all .5s ease;
    opacity: 0;
    overflow: hidden;
}

.slideshow .overlay{
    opacity: 1;
}

.macro-categories{
    padding-top: 55px;
    padding-bottom: 100px;
}

.row-header .title{
    font-size: 25px;
    font-weight: 700;
    color: rgb(0, 0, 0);
    margin-top: 0px;
    margin-bottom: 14px;
    text-align: center;
    text-transform: uppercase;
}

.row-header .section-head{
    margin-bottom: 45px;
}

.content-container{
    display: flex;
    /* align-items: center; */
    align-items: flex-start;
    position: relative;
}

.main-red{
    color: #eb212e;
}

.text-gray{
    color: #f9f9f9;
}

.dark-gray{
    color: #343434;
}

.content-container.main-red{
    background-color: #e4e4e4;
    color: #000;
}

.content-container.accent-beige{
    background-color: #f5e6dc;
    color: #000;
}

.content-container.dark-gray{
    background-color: #e4e4e4;
    color: #000;
}

.content-container.cloud-blue{
    background-color: #cde7f0;
    color: #343434;
}

.content-container.dark-gray .content-link .custom-link{
    color: #eb212e;
}

.content-container.dark-gray .content-link .custom-link:hover{
    color: #FFF;
}

.content-container.main-red .content-link .custom-link{
    color: #343434;
}

.content-container.main-red .content-link .custom-link:hover{
    color: #FFF;
}

.content-container.cloud-blue .content-link .custom-link{
    color: #343434;
}

.content-container.cloud-blue .content-link .custom-link:hover{
    color: #000;
}

.content-container.accent-beige .content-link .custom-link{
    color: #343434;
    font-weight: 600;
}

.content-container.accent-beige .content-link .custom-link:hover{
    color: #eb212e;
}

.macro-categories .content-container{
    height: 585px;
}

/* Left */
.macro-categories .content-container.left .image-link{
    order: 0;
}

.macro-categories .content-container.left .content-block,
.macro-categories .content-container.left .content-link{
    order: 1;
}

/* Right */
.macro-categories .content-container.right .image-link{
    order: 1;
}

.macro-categories .content-container.right .content-block,
.macro-categories .content-container.right .content-link{
    order: 0;
}

.macro-categories .content-container.right .content-link{
    left: 0;
}

.content-container .image-link{
    width: 50%;
    user-select: none;
    transition: width .3s ease-in-out;
}
.content-container .content-block,
.content-container .content-link{
    width: 50%;
    transition: width .3s ease-in-out;
}

.image-link{
    display: block;
    background-color: #666;
    height: 100%;
    background-position: center;
    background-size: cover;
    background-repeat: no-repeat;
}

.content-block{
    padding-top: 40px;
    padding-left: 60px;
    padding-right: 60px;
    padding-bottom: 20px;
    font-weight: 300;
    font-size: 16px;
    line-height: 30px;
    /* height: calc(100% - 100px); */
    display: flex;
    flex-direction: column;
    max-height: 100%;
    overflow: hidden;
}

.content-block .title{
    margin-bottom: 35px;
    text-transform: uppercase;
    font-size: 25px;
    text-align: left;
    color: inherit;
    line-height: 1.2;
}

.content-block .text{
    color: inherit;
    margin-bottom: 80px;
    padding-left: 2px;
    text-align: left;
    flex: 1;
    overflow: auto;
}

.content-link {
    position: absolute;
    right: 0;
    text-align: center;
    bottom: 30px;
    letter-spacing: 6px;
}

.img-placeholder{
    background-color: #FFF;
}

/* Servizio clienti > Widget
------------------------------------------------------------ */

.contact-widget {
  display: block;
  position: fixed;
  bottom: 65px;
  right: 15px;
  z-index: 100000;
}
.contact-widget .cwt {
  display: block;
  position: absolute;
  right: 0;
  bottom: 0;
  background: none;
  border: none;
  padding: 0;
  margin: 0;
  transition: transform .3s ease, opacity .3s ease;
}
.contact-widget.cwi .cwt {
  transform: translateY(30px);
  opacity: 0;
  z-index: 1;
}
.contact-widget.cwi .cwtl-text {
  opacity: 0;
}
.contact-widget .cwt .cwtl {
    display: block;
    position: absolute;
    right: -24%;
    top: 0;
    padding: 12px 16px;
    font-size: 16px;
    font-weight: 800;
    line-height: 1;
    color: #9a9a9a;
    white-space: nowrap;
    transform: translateY(-90%);
}

.contact-widget .cwt .cwti {
    display: block;
    width: 80px;
    height: 80px;
    line-height: 78px;
    text-align: center;
    background-color: #ccc;
    border-radius: 50%;
}

.contact-widget .cwc {
    display: none;  
    /* position: absolute; */
    position: relative;
    flex-direction: column;
    right: 0;
    bottom: 0;
    width: 360px;
    max-width: 100%;
    overflow: hidden;
    transform: translateY(30px);
    opacity: 0;
    transition: transform .3s ease, opacity .3s ease;
    min-height: 300px;
    max-height: 700px;
    border-radius:40px;
    background: #FFF;
    box-shadow: 0 0 15px rgb(0, 0, 0, 0.1);
}

.contact-widget.cws .cwc {
    display: flex;
}

.contact-widget.cwi .cwc {
  transform: translateY(0);
  opacity: 1;
}

.contact-widget .cwc .cwch {
  flex: 0 0 auto;  
  padding: 25px 25px 15px;
  position: relative;
  text-align: center;
}

.contact-widget .cwc .cwch .cwcht {
    padding-right: 30px;
    text-transform: uppercase;
    margin-bottom: 25px;
    font-size: 23px;
    text-align: center;
    color: #343434;
    font-weight: bold;
    line-height: 1;
}
.contact-widget .cwc .cwch .cwchi {
    margin: 0;
    color: #666;
    padding-bottom: 8px;
    font-size: 14px;
    line-height: 24px;
    text-align: center;
    max-height: 100%;
}
.contact-widget .cwc .cwch .cwchc {
  display: block;
  position: absolute;
  top: 20px;
  right: 20px;
  width: 24px;
  height: 24px;
  padding: 0;
  border:none;
  cursor: pointer;
}
.contact-widget .cwc .cwch .cwchc:before,
.contact-widget .cwc .cwch .cwchc:after{
  content: '';
  display: block;
  position: absolute;
  top: 50%;
  left: 0;
  width: 24px;
  height: 1px;
  background-color: #333;
}
.contact-widget .cwc .cwch .cwchc:before{
  transform: rotate(45deg);
}
.contact-widget .cwc .cwch .cwchc:after{
  transform: rotate(-45deg);
}
.contact-widget .cwc .cwcl {
  flex: 1 1 auto;
  overflow: auto;
  background-color: #FFF;
  padding: 0 0 60px;
}

.contact-widget .cwc .cwcl .cwst {
  display: flex;
  align-items: center;
  padding: 5px 25px;
  font-size: 20px;
  color: #333;
  line-height: 1.42857143;
  font-weight: 300;
}

.contact-widget .cwc .cwcl a .cwcll.cwst {
  padding: 0;
}

.contact-widget .cwc .cwcl a {
  display: flex;
  align-items: center;
  padding: 5px 25px;
  outline: none !important;
  color: #222;
}

html.no-touch .contact-widget .cwc .cwcl a:hover {
    /* background-color: #F9F9F9; */
    text-decoration: none;
}

.contact-widget .cwc .cwcl a:focus {
    text-decoration: none;
}

.contact-widget .cwc .cwcl a:hover {
    background-color: #f1f1f1;
}

.contact-widget .cwc .cwcl a img {
    width: 48px;
    display: inline-block;
    vertical-align: middle;
    margin-right: 10px;
}
.contact-widget .cwc .cwcl a .cwcll {
    color: #999;
    font-weight: 400;
    font-size: 15px;
    line-height: 22px;
}

.contact-widget .cwc .cwcl a .cwcll .cwclli {
  display: block;
  color: #999;
  font-weight: 800;
  font-size: 15px;
  line-height: 22px;
  margin: 3px 0 0;
  text-transform: none !important;
}

.close-text {
  padding-bottom: 20px;
  cursor: pointer;
}

.popup .scroll .scroll_wrap {
  padding-bottom: 10px;
}

.phone-icon{
    color: #eb212e;
    font-size: 20px;
    display: inline-block;
    width: 35px;
    vertical-align: middle;
    margin-right: 10px;
}

[data-top].in{
    right: 38px !important;
}

.masonry-container {
  display: flex;
  flex-wrap: wrap;
}

.masonry-item{
    margin-bottom: 20px;
    display: flex;
    flex-direction: column;
}

.item-wrapper{
    background-color: #f9f9f9;
    height: 100%;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    box-shadow: 0 1px 2px rgba(0, 0, 0, 0.1);
}

.img-wrapper{
    position: relative;
    overflow: hidden;
}

.img-wrapper img{
    max-width: 100%;
    object-fit: cover;
    border: 0;
    transition: transform .2s ease-in;
}

.img-wrapper:hover img{
    transform: scale(1.1);
}

.img-wrapper:hover + .info-wrapper h3 a{
    color: #eb212e;
}

.info-wrapper{
    padding: 30px 30px;
    flex-grow: 1;
    display: flex;
    flex-direction: column;
}

.info-wrapper h3{
    font-size: 15px;
    font-weight: 700;
    color: #000;
    margin-top: 0;
    margin-bottom: 15px;
}

.info-wrapper h3 a{
    color: #000;
}

.info-wrapper h3 a:hover {
    color: #eb212e;
}

.info-wrapper p{
    font-size: 13px;
    font-weight: 400;
    color: #999;
    margin-bottom: 0;
}

.btn-dark {
    color: #FFF;
    background-color: #343434 !important;
    border-color: #343434 !important;
}
html.no-touch .btn-dark:hover,
html.no-touch .btn-dark:focus,
.btn-dark:active,
.btn-dark:active:focus{
    color: #343434;
    background-color: #FFF !important;
    border-color: #FFF !important;
}

.beers-offcanvas .beers-offcanvas-bar{
    width: 400px !important;
}

.beers-offcanvas .beers-offcanvas-bar .beers-offcanvas-content ul.nav li a{
    font-size: 24px;
    padding-top: 15px;
    padding-bottom: 20px;
    padding-left: 25px;
}

.beers-offcanvas .beers-offcanvas-bar .beers-offcanvas-content ul.nav-social li a{
    font-size: 18px;
}

.breadcrumb{
    float: right;
    padding-top: 20px;
    white-space: wrap;
}

.breadcrumb li{
    line-height: 1;
}

.view-more{
    margin-right: 40px;
    text-transform: uppercase;
    font-size: 15px;
    line-height: 25px;
}


/* Mantieni il layout table originale per il centraggio verticale */
.slideshow .slide .table-box {
    display: table;
    width: 100%;
    height: 100%;
    position: relative;
}

.slideshow .slide .table-cell.v-middle {
    display: table-cell;
    vertical-align: middle;
    text-align: center;
    position: relative;
}

/* Posiziona solo il bottone in basso assoluto rispetto alla slide */
.slideshow .slide .btn.btn-primary {
    position: absolute;
    bottom: 90px; /* Distanza dal bordo inferiore della slide */
    left: 50%;
    transform: translateX(-50%);
    margin-top: 0;
    z-index: 10;
}

/* Assicurati che la slide abbia position relative per il posizionamento assoluto */
.slideshow .slide {
    position: relative;
}

/* Regole specifiche per mobile */
@media (max-width: 767px) {
    /* Layout mobile con caption */
    .slideshow-mobile .slide {
        position: relative;
        display: flex;
        flex-direction: column;
        justify-content: center;
        align-items: center;
        min-height: 100vh;
    }
    
    .slideshow-mobile .slide .caption {
        position: static; /* Rimuove posizionamento assoluto */
        width: 85%;
        text-align: center;
        padding: 20px;
        margin-bottom: 80px; /* Spazio per il bottone */
    }
    
    .slideshow-mobile .slide .btn.btn-primary {
        position: absolute;
        bottom: -50px; /* Aumenta distanza dal bordo */
        left: 50%;
        transform: translateX(-50%);
        margin-top: 0;
        z-index: 10;
        white-space: nowrap; /* Evita che il testo del bottone vada a capo */
    }
    
    /* Migliora spacing del testo su mobile */
    .slideshow-mobile .slide h2 {
        margin-bottom: 20px;
        font-size: 1.8em; /* Riduce leggermente la dimensione */
        line-height: 1.2;
    }
    
    .slideshow-mobile .slide p {
        margin-bottom: 0;
        font-size: 1em;
        line-height: 1.4;
    }
}