/*
	Theme Name: otticap
	Version: 1.0
	Author: RDM
	Author URI: https://webdesignseo.it
	Description: Designed for Ottica Pallavicini 2026 restyling
*/

body { line-height: 1.5; font-size: 18px; font-family: "TASA Orbiter", sans-serif; position: relative;
font-weight: 400;
  font-style: normal;
  color: var(--gray);
  font-optical-sizing: auto;
}

a,.btn,
.carousel-contr,
.wrap-single{-webkit-transition:all .2s ease-in-out;-moz-transition:all .2s ease-in-out;-o-transition:all .2s ease-in-out;-ms-transition:all .2s ease-in-out;transition:all .2s ease-in-out}

.btn{ letter-spacing:.04rem; color:#fff; border-radius: 50px; padding: .375rem 1.3rem;}
.btn:hover{ color:#fff; }
.btn-sm{ font-size: 12px; padding: .25rem .7rem;}
.btn-green, .btn-light-green:hover {background-color: var(--green); color:#fff}
.btn-light-green {background-color: var(--light-green);}
.btn-light {background-color: #fff;color: var(--green)}
.btn-light:hover {background-color: var(--light-green);}
.btn-outline-green{ border: 1px solid var(--light-green); color: var(--light-green)}
.btn-outline-green:hover,.btn-outline-green.active{ color: #fff; background-color: var(--light-green);}
.btn-outline-light{ border: 1px solid #fff;}
.btn-outline-light:hover{ background-color: var(--green); }

.arrow-btn{padding-right: .9rem;  min-width: 165px;}
.arrow-btn .arrow {
  display: block;
  width: 29px;
  height: 20px;
  position: relative;
  margin-left: 5px;
}
.arrow-btn .arrow span, .arrow-btn .arrow:before, .arrow-btn .arrow:after {
  background: #fff;
  content: "";
  display: block;
  width: 11px;
  height: 1px;
  position: absolute;
  top: calc(50% - (2px / 2));
}
.btn-light .arrow span, .btn-light .arrow:before, .btn-light .arrow:after {background-color: var(--green); }


.arrow-btn .arrow:before {
  transform: rotate(-45deg);
}
.arrow-btn .arrow:after {
  transform: rotate(45deg);
}
.arrow-btn .arrow span {
  width:26px;
}

.arrow-btn .arrow.arrow--right span, .arrow-btn .arrow.arrow--right:before, .arrow-btn .arrow.arrow--right:after {
  right: 0;
  transform-origin: right 50%;
}
.arrow-btn .arrow.arrow--right:before, .arrow-btn .arrow.arrow--right:after {
  transition: right 0.3s 0.06s;
}
.arrow-btn .arrow.arrow--right span {
  transition: width 0.3s, right 0.3s 0.06s;
}
.arrow-btn:hover .arrow.arrow--right span, .arrow-btn:hover .arrow.arrow--right:before, .arrow-btn:hover .arrow.arrow--right:after,
a:hover .arrow-btn .arrow.arrow--right span, a:hover .arrow-btn .arrow.arrow--right:before, a:hover .arrow-btn .arrow.arrow--right:after {
  right: -4px;
}

.arrow-btn .arrow.arrow--left span, .arrow-btn .arrow.arrow--left:before, .arrow-btn .arrow.arrow--left:after {
  left: 0;
  transform-origin: left 50%;
}
.arrow-btn .arrow.arrow--left:before, .arrow-btn .arrow.arrow--left:after {
  transition: left 0.3s 0.06s;
}
.arrow-btn .arrow.arrow--left span {
  transition: width 0.3s, left 0.3s 0.06s;
}
.arrow-btn:hover .arrow.arrow--left span, .arrow-btn:hover .arrow.arrow--left:before, .arrow-btn:hover .arrow.arrow--left:after {
  left: -9px;
}
.btn-sm.btn-light { min-width: auto; padding-left: .9rem;  }
.btn-sm.btn-light  .arrow {
  margin-left: 0; margin-right: 5px;
}

.only-arrow{ padding-left: .7rem; min-width: auto;}
.only-arrow .arrow{ margin-left: 0;}

.btn-group .btn-nav{min-width: 170px;}
.btn-group .btn-nav.active{background-color: var(--green);}

.btn-group-bis .btn-nav,.btn-group-bis .btn-nav .arrow--right, .btn-group-bis .border-bottom, .btn-group-bis .btn-nav::before{
  cursor: pointer;
  -webkit-transition:all .2s ease-in-out;-moz-transition:all .2s ease-in-out;-o-transition:all .2s ease-in-out;-ms-transition:all .2s ease-in-out;transition:all .2s ease-in-out;
}
.btn-group-bis .btn-nav{line-height: 1.2; position: relative;}
.btn-group-bis .btn-nav::before{float:left; width: 12px; height: 12px; border-radius: 12px; background-color: var(--light-green); content: ''; margin: 5px 14px; opacity: 0}
.btn-group-bis .btn-nav .arrow--right{    position: absolute;right: 10px;top: 20px;opacity:0; }
.btn-group-bis .btn-nav:hover .arrow--right, .btn-group-bis .btn-nav.active .arrow--right, .btn-group-bis .btn-nav.active::before{opacity:1;}
.btn-group-bis .arrow--right span, .btn-group-bis .arrow--right:before, .btn-group-bis .arrow--right:after{background-color: var(--green);}


h1, .h1, h2, h3, .h2, .h3, .h4{font-style: normal; font-weight: 400}
h1, .h1 {font-size: 2.6rem; margin-bottom: 25px;}
h1, .h1, .bigh {line-height: 1.1}

.big-font { font-size: 20px;}

.green-text{color: var(--green);}
.bg-green{background-color: var(--green); color:#fff}
.dark-green-text{color: var(--dark-green);}
.bg-dark-green{background-color: var(--dark-green); color:#fff}
.light-green-text{color: var(--light-green);}
.bg-light-green{background-color: var(--light-green);}

.green-text{color: var(--green);}

.bg-light-gray{background-color: var(--light-gray);}

.bg-purple{background-color: #9A80BC;}
.bg-red{background-color: #DD1C24;}
.bg-orange{background-color: #E7831E;}

.badge{color:#fff;
  margin: 3px 7px 10px 0;
      float: left;
      min-width: 44px;}


/* -- ANIMATIONS --------------------------------------- */

.animated {
  -webkit-animation-duration: 1s;
  animation-duration: 1s;
  -webkit-animation-fill-mode: both;
  animation-fill-mode: both;
}
.animated.infinite {
  -webkit-animation-iteration-count: infinite;
  animation-iteration-count: infinite;
}
.animated.delay-02s {
  -webkit-animation-delay: .2s;
  animation-delay: .2s;
}
.animated.delay-04s {
  -webkit-animation-delay: .4s;
  animation-delay: .4s;
}
.animated.delay-05s {
  -webkit-animation-delay: .5s;
  animation-delay: .5s;
}
.animated.delay-1s {
  -webkit-animation-delay: 1s;
  animation-delay: 1s;
}
.animated.delay-2s {
  -webkit-animation-delay: 2s;
  animation-delay: 2s;
}
.animated.delay-6s {
  -webkit-animation-delay: 6s;
  animation-delay: 6s;
}

@-webkit-keyframes fadeIn {
  from {
    opacity: 0;
  }
  to {
    opacity: 1;
  }
}
@keyframes fadeIn {
  from {
    opacity: 0;
  }
  to {
    opacity: 1;
  }
}
.fadeIn {
  -webkit-animation-name: fadeIn;
  animation-name: fadeIn;
}


@-webkit-keyframes fadeInUp {
  from {
    opacity: 0;
    -webkit-transform: translate3d(0, 20%, 0);
    transform: translate3d(0, 20%, 0);
  }
  to {
    opacity: 1;
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
  }
}
@keyframes fadeInUp {
  from {
    opacity: 0;
    -webkit-transform: translate3d(0, 20%, 0);
    transform: translate3d(0, 20%, 0);
  }
  to {
    opacity: 1;
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
  }
}
.fadeInUp {
  -webkit-animation-name: fadeInUp;
  animation-name: fadeInUp;
}


@-webkit-keyframes fadeInRight {
  from {
    opacity: 0;
    -webkit-transform: translate3d(20%, 0, 0);
    transform: translate3d(20%, 0, 0);
  }
  to {
    opacity: 1;
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
  }
}
@keyframes fadeInRight {
  from {
    opacity: 0;
    -webkit-transform: translate3d(20%, 0, 0);
    transform: translate3d(20%, 0, 0);
  }
  to {
    opacity: 1;
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
  }
}
.fadeInRight {
  -webkit-animation-name: fadeInRight;
  animation-name: fadeInRight;
}







/**
 * Owl Carousel v2.3.4
 * Copyright 2013-2018 David Deutsch
 * Licensed under: SEE LICENSE IN https://github.com/OwlCarousel2/OwlCarousel2/blob/master/LICENSE
 */
.owl-carousel,.owl-carousel .owl-item{-webkit-tap-highlight-color:transparent;position:relative}.owl-carousel{display:none;width:100%;z-index:1}.owl-carousel .owl-stage{position:relative;-ms-touch-action:pan-Y;touch-action:manipulation;-moz-backface-visibility:hidden}.owl-carousel .owl-stage:after{content:".";display:block;clear:both;visibility:hidden;line-height:0;height:0}.owl-carousel .owl-stage-outer{position:relative;overflow:hidden;-webkit-transform:translate3d(0,0,0)}.owl-carousel .owl-item,.owl-carousel .owl-wrapper{-webkit-backface-visibility:hidden;-moz-backface-visibility:hidden;-ms-backface-visibility:hidden;-webkit-transform:translate3d(0,0,0);-moz-transform:translate3d(0,0,0);-ms-transform:translate3d(0,0,0)}.owl-carousel .owl-item{min-height:1px;float:left;-webkit-backface-visibility:hidden;-webkit-touch-callout:none}.owl-carousel .owl-item img{display:block;width:100%}.owl-carousel .owl-dots.disabled,.owl-carousel .owl-nav.disabled{display:none}.no-js .owl-carousel,.owl-carousel.owl-loaded{display:block}.owl-carousel .owl-dot,.owl-carousel .owl-nav .owl-next,.owl-carousel .owl-nav .owl-prev{cursor:pointer;-webkit-user-select:none;-khtml-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.owl-carousel .owl-nav button.owl-next,.owl-carousel .owl-nav button.owl-prev,.owl-carousel button.owl-dot{background:0 0;color:inherit;border:none;padding:0!important;font:inherit}.owl-carousel.owl-loading{opacity:0;display:block}.owl-carousel.owl-hidden{opacity:0}.owl-carousel.owl-refresh .owl-item{visibility:hidden}.owl-carousel.owl-drag .owl-item{-ms-touch-action:pan-y;touch-action:pan-y;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.owl-carousel.owl-grab{cursor:move;cursor:grab}.owl-carousel.owl-rtl{direction:rtl}.owl-carousel.owl-rtl .owl-item{float:right}.owl-carousel .animated{animation-duration:1s;animation-fill-mode:both}.owl-carousel .owl-animated-in{z-index:0}.owl-carousel .owl-animated-out{z-index:1}.owl-carousel .fadeOut{animation-name:fadeOut}@keyframes fadeOut{0%{opacity:1}100%{opacity:0}}.owl-height{transition:height .5s ease-in-out}.owl-carousel .owl-item .owl-lazy{opacity:0;transition:opacity .4s ease}.owl-carousel .owl-item .owl-lazy:not([src]),.owl-carousel .owl-item .owl-lazy[src^=""]{max-height:0}.owl-carousel .owl-item img.owl-lazy{transform-style:preserve-3d}.owl-carousel .owl-video-wrapper{position:relative;height:100%;background:#000}.owl-carousel .owl-video-play-icon{position:absolute;height:80px;width:80px;left:50%;top:50%;margin-left:-40px;margin-top:-40px;background:url(owl.video.play.png) no-repeat;cursor:pointer;z-index:1;-webkit-backface-visibility:hidden;transition:transform .1s ease}.owl-carousel .owl-video-play-icon:hover{-ms-transform:scale(1.3,1.3);transform:scale(1.3,1.3)}.owl-carousel .owl-video-playing .owl-video-play-icon,.owl-carousel .owl-video-playing .owl-video-tn{display:none}.owl-carousel .owl-video-tn{opacity:0;height:100%;background-position:center center;background-repeat:no-repeat;background-size:contain;transition:opacity .4s ease}.owl-carousel .owl-video-frame{position:relative;z-index:1;height:100%;width:100%}

.owl-theme .owl-dots,.owl-theme .owl-nav{-webkit-tap-highlight-color:transparent}
.owl-theme .owl-nav{margin-top:10px}
.owl-theme .owl-nav [class*=owl-]{color:#FFF;font-size:14px;margin:5px;padding:4px 7px;background:#D6D6D6;display:inline-block;cursor:pointer;border-radius:3px}
.owl-theme .owl-nav [class*=owl-]:hover{background:#869791;color:#FFF;text-decoration:none}
.owl-theme .owl-nav .disabled{opacity:.5;cursor:default}
.owl-theme .owl-nav.disabled+.owl-dots{margin-top:15px}
.owl-theme .owl-dots .owl-dot{display:inline-block;zoom:1;outline: none;}
.owl-theme .owl-dots .owl-dot span{width:10px;height:10px;margin:5px 7px;background:#D6D6D6;display:block;-webkit-backface-visibility:visible;transition:opacity .2s ease;}
.owl-theme .owl-dots .owl-dot.active span,.owl-theme .owl-dots .owl-dot:hover span{background:var(--green)}


.logo-slider .owl-nav.disabled+.owl-dots{margin-top: 30px; margin-bottom:15px; text-align: center;}






/* -- HEADER --------------------------------------- */

.logo-h1{
  display: inline-block !important; /* Impedisce che vada a capo o occupi tutta la riga */
    margin: 0 !important;
    padding: 0 !important;
    line-height: 0 !important;
    font-size: 0 !important; /* Elimina spaziature residue dovute al font-size */
    border: none !important;
    vertical-align: middle; /* Allinea il logo verticalmente se necessario */
}


.header{
  height: 75px;
  position: fixed;
  width: 100%;
  top: 0;
  z-index: 999;
  color:#fff;
  -webkit-transition:all .2s;-moz-transition:all .2s;-o-transition:all .2s;-ms-transition:all .2s;transition:all .2s;
}
.header.scrolled{background-color:#0C4310;}
.header .container{padding: 10px 0;}
.header .container .btn{margin: 14px 60px 0 0; }
.header-logo{z-index: 2;position: relative; color: #fff;}
.header-logo .navbar-brand {display: block;}

.header-logo::after,
.about-logo::after {
  position: absolute;
  content: 'MILANO - DAL 1966';
  letter-spacing: 0.06em;
  display: block;
}

.header-logo::after{
  right: -100px;
  top: 18px;
  text-align: center;
  font-size: 14px;
}

.about-logo::after{
  left: 120px;
  font-size: 18px;
  top: 12px;
}

.navbar {font-size: 20px; font-weight: 500;}

.social-block a{ width: 24px;height: 24px;background-size: 24px 24px; margin: 2px 4px 0; background-repeat: no-repeat; display: inline-block; float:left;}
.social-block a:hover{ opacity: .7}
.social-block .icon-facebook{background-image: url(img/icons/facebook-icon.svg);}
.social-block .icon-instagram{background-image: url(img/icons/instagram-icon.svg);}
.social-block .icon-pinterest{background-image: url(img/icons/pinterest-icon.svg);}

.social-home a{ float: none; width: 41px; height: 41px; background-size: 41px 41px;}

.menu-opened {overflow: hidden;}

.button_container{position:absolute;top:13px;right:20px;height:28px;width:35px;cursor:pointer;transition:opacity .25s ease; z-index: 999}
.button_container.active .top{transform:translateY(7px) translateX(0) rotate(45deg);}
.button_container.active .middle{opacity:0;}
.button_container.active .bottom{transform:translateY(-7px) translateX(0) rotate(-45deg);}
.button_container span{background-color: #fff;border:none;height:1px;width:100%;position:absolute;top:0;left:0;transition:all .35s ease;cursor:pointer}
.button_container span:nth-of-type(2){top:7px}
.button_container span:nth-of-type(3){top:14px}
.overlay-menu{position:fixed;background-color: var(--dark-green);height: 100%;top:0;bottom:0;left:0;width:100%;opacity:0;visibility:hidden;transition:opacity .3s,visibility .3s,height .3s;overflow:scroll;}
.overlay-menu.open{opacity:1;visibility:visible;}
.overlay-menu nav{padding-top: 100px; text-align: center; float: none;width: 100%;}
.overlay-menu ul{list-style:none; width: 100%; margin:7px 0 0; padding: 0;}
.overlay-menu ul li{display:block;margin-bottom: 30px;font-size: 25px;}
.overlay-menu ul li a{display:block;position:relative;color:#FFF;overflow:hidden;text-decoration:none;line-height:1.2;padding:0 10px 10px}
.overlay-menu ul li a:hover{color: var(--light-green);}

.overlay-menu .social-block {float: none;width: 240px; margin: 20px auto; padding: 25px;}

.header .social-block a {filter: brightness(100); float: none}
.social-block.top-main-social{ float: right; margin: 13px 60px 0 0;}











/* -- SHARED --------------------------------------- */

.top-banner, .top-banner-wide, .top-banner-home{ background-color:#0C4310; color:#fff; }
.top-banner .container, .top-banner .row, .top-banner-wide .container, .top-banner-wide .row{ min-height: 380px;}


.hero-blur, .hero-blur-home {
  position: relative;
  width: 100%;
  overflow: hidden;
}


.hero-blur::before, .hero-blur-home::before {
    content: "";
    position: absolute;
    top: -30px;
    left: -30px;
    right: -30px;
    bottom: -30px;
    background-position: center;
    background-size: cover;
    background-repeat: no-repeat;
    filter: blur(25px);
    transition: filter 1.8s ease, background-image 1.6s ease;
    z-index: 0;
}
.hero-blur::before {background-image: url('img/blur-bg.jpg');}
.hero-blur-home::before{background-image: url('img/vertical-blur-bg.jpg');}

.bg-servizi.hero-blur::before {
    background-position: 68% center !important;
}

.hero-blur.loaded::before, .hero-blur-home.loaded::before {
    filter: blur(0);
    transform: scale(1); /* Torna alla dimensione normale */
    background-image: var(--bg-real);
    /* Riportiamo i bordi a zero per precisione millimetrica dopo il caricamento */
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
}



/* Blocco di testo (Destra) */
.content-scroll {
  flex-grow: 1;
  height: 330px;
  padding-right: 50px;
  overflow-y: auto;
}

.text-content {
    display: none; /* Lo teniamo per non occupare spazio */
    opacity: 0;
    transition: opacity 0.5s ease-in-out; /* Durata dell'effetto fade */
}

/* Stato attivo: visibile e opaco */
.text-content.active {
    display: block;
    animation: fadeIn 0.4s ease-out forwards;
    opacity: 1;
}


/* --- Personalizzazione Scrollbar --- */
.content-scroll::-webkit-scrollbar {
    width: 5px; /* Larghezza della barra (molto fine) */
}

.content-scroll::-webkit-scrollbar-track {
    background: #f1f1f1;
    border-radius: 10px;
}

.content-scroll::-webkit-scrollbar-thumb {
    background: var(--light-green);
    border-radius: 10px;
}

.content-scroll::-webkit-scrollbar-thumb:hover {
    background: var(--green);
}



.arc-decoration{ width: 130px; height: 37px; display: inline-block; background-image: url(img/icons/arc-decoration.svg); }

.animate-block {
  opacity: 0;
  transform: translateY(60px);
  transition: opacity 0.6s ease-out, transform 0.6s ease-out;
}
.animate-block.in-viewport {
  opacity: 1;
  transform: translateY(0);
}


.fade-block {
  opacity: 0;
    filter: blur(10px);
    transform: translateY(20px);
    transition: all 1s ease-out;
    will-change: opacity, filter, transform;
}

.fade-block.in-viewport{
  opacity: 1;
  filter: blur(0);
  transform: translateY(0);
}

.main{ clear: both; min-height: 270px;}


.bg-cover{
  background-size: cover;
  background-position: center center;
  background-repeat: no-repeat;
}


.carousel-fade .carousel-item {background-color: #fff;}

.carousel-indicators li {
  display: inline-block;
  border: 1px solid #fff;
  width: 10px;
  height: 10px;
  margin: 0 7px;
  background-color: transparent;
  opacity: 1;
}
.carousel-indicators li.active {
  background-color: #fff;
}

.carousel-controls .carousel-contr {
	position: absolute;
	filter: grayscale(100%) brightness(180%);
}
.single-negozio .carousel-controls .carousel-contr,
.single-post .carousel-controls .carousel-contr {
	filter: grayscale(100%) brightness(160%);
}
.carousel-controls:hover .carousel-contr{
	filter: grayscale(0%) brightness(100%);
}


.hover-inner { color: #fff; background-color: var(--dark-gray); padding: 15px;}



.card .img-link{position: relative; display: block;}
.card .img-link span{position: absolute; bottom:0; left: 0; padding: 0.4rem 1rem; background-color: #fff; font-weight: 700}
.card .img-link span, .duration{f text-transform: uppercase;}
.card .img-link span{font-size: 13px}

.card .img-link .span-tag-evento{ background-color:#8DB249; color: #fff;}
.card .img-link .span-tag-news{ background-color:#FF0000 color: #fff;}

.pages-full-left-padding {position: relative;}

.cat-name{display: block; text-transform: uppercase; color: var(--light-green);font-size: 11px; font-weight: 700}
.negozio .cat-name{font-size: 14px; line-height: 1.2;  margin-bottom: 0;}
.negozio .cat-name span::before { content:', ';}
.negozio .cat-name span:first-of-type::before {display:none}
.post-type-archive-negozio .cat-name{height: 40px;}
.single-negozio .cat-name{letter-spacing: 0.03em}

.hr{ width: 12px; height: 1px; background-color: #fff; margin: 25px auto 10px;}

.py-90{ padding-top: 90px; padding-bottom: 90px;}

.spacer {height: 1px;}

.bot-banner{ height: 450px}
.bot-wide-banner{ border-radius: 30px; background-image: url(img/bg-bot-wide-banner.jpg);}


.double-image, .triple-image  { clear: both; width: 100%; overflow: hidden; margin: 0 auto;}
.double-image img, .triple-image img{ width: calc(100% - 14px); margin: 7px;}



.negative-margin{ margin-top: 200px;}
.negative-margin .row{ margin-top: -270px;}
.negative-margin img{ border-radius: 25px;}








/* -- HOME --------------------------------------- */

.top-banner-home { height: 600px; max-height: 100vh; text-align: center;}

.bot-banner-home{ background-image: url(img/bot-banner-home.jpg);}



.main-carousel .carousel-caption{bottom: 26%;}
.main-carousel .carousel-caption-header { line-height: 1; margin-bottom: 20px}
.main-carousel .carousel-indicators {bottom: 2%;}

.gotocontacts{border-radius: 30px}

.home-store-text { margin: -40px auto 130px auto;}

.full-left-padding {position: relative; overflow: hidden;}
.full-left-padding h2 { margin: 30px 0 20px}

.full-left-padding .services-slider{ width: 175%}
.full-left-padding .history-slider{ width: calc(100% + 1rem);}

#services_carousel .service {height: 390px; display: block; position: relative;border-radius: 35px;}
#services_carousel .item:hover .service {border-bottom-right-radius:0 ;}
#services_carousel .service-title { font-size: 19px; line-height: 1.1; width: 60%;}

#services_carousel .owl-nav { text-align: center; margin-top: 30px}
#services_carousel .owl-nav .btn-arrow { width: 65px; padding: 0}


.lab-slider{ width: 140%}


.pagination{clear: both; max-width: 280px;
text-align: center;
margin: 90px auto; position:relative;}
.page-numbers { display: inline-block; padding: 10px}
.page-numbers.current { font-weight: 700;}
.pagination .next, .pagination .prev {
  width: 46px;
  height: 46px;
  position: relative;
  display: block;
  padding: 0;
}
.pagination .prev {float: left; margin-right: 10px; }
.pagination .next  {float: right; margin-left: 10px; }












/* -- ALTRE PAGINE --------------------------------------- */

.text-page  {margin-top: 40px}
.text-page h2, .text-page .h2 {font-size: 1.8rem; line-height: 1.1; margin-bottom: 35px;}
.text-page h3, .text-page .h3 {margin-top: 30px}

#parent-container {
    transition: opacity 0.4s ease-in-out;
    opacity: 1;
}
#parent-container.is-switching {
    opacity: 0;
}
.filter-item.d-none {
    display: none !important;
}

.bot-banner-about{ background-image: url(img/bot-banner-about.jpg);}
.bot-banner-servizi{ background-image: url(img/bot-banner-servizi.jpg);}

.services-grid .big-font { line-height: 1.3; min-height: 52px}

.map-btn{ position: absolute; bottom: 30px; right: 30px;}

/* timeline */
.dot-container {
    position: relative;
    display: flex;
    justify-content: center;
    align-items: center;
    padding: 10px 0;
    width: 100%;
}
.dot {
    width: 16px;
    height: 16px;
    background-color: var(--green);
    border-radius: 50%;
    z-index: 2;
    position: relative;
}
.dot-container::after {
    content: "";
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    left: 50%;
    width: 100%;
    height: 2px;
    background-color: var(--light-green);
    z-index: 1;
}
.owl-item:last-child .dot-container::after {
    display: none;
}


.icon{
  content: ''; display: inline-block; width: 50px; height: 50px;
  background-repeat: no-repeat; background-position: center center; background-size: cover;
}
.right-icon, .next-icon {
  -moz-transform: rotate(-90deg);
  -webkit-transform: rotate(-90deg);
  transform: rotate(-90deg);
}
.left-icon, .prev-icon {
  -moz-transform: rotate(90deg);
  -webkit-transform: rotate(90deg);
  transform: rotate(90deg);
}

.right-icon, .left-icon {
  width: 50px; height: 50px;
  background-size: 26px; border: 1px solid #fff; border-radius: 50%;
}
.arrow-icon{background-image: url('img/icons/arrow-down.svg');}
.close-icon{background-image: url('img/icons/plus.svg'); background-size: 26px;
-moz-transform: rotate(45deg);
-webkit-transform: rotate(45deg);
transform: rotate(45deg);}








/* Gallery */

body.hidden-scroll {
  overflow: hidden;
}

.sl-overlay {
  position: fixed;
  left: 0;
  right: 0;
  top: 0;
  bottom: 0;
  background: #04281B;
  display: none;
  z-index: 1035;
}

.sl-wrapper {
  z-index: 1040;
  width: 100%;
  height: 100%;
  left: 0;
  top: 0;
  position: fixed;
}
.sl-wrapper * {
  box-sizing: border-box;
}
.sl-wrapper button {
  border: 0 none;
  background: transparent;
  font-size: 28px;
  padding: 0;
  cursor: pointer;
}
.sl-wrapper button:hover {
  opacity: 0.7;
}
.sl-wrapper .sl-close {
  display: none;
  position: fixed;
  right: 30px;
  top: 30px;
  z-index: 10060;
  margin-top: -14px;
  margin-right: -14px;
  height: 44px;
  width: 44px;
  line-height: 44px;
  font-size: 3rem;
}
.sl-wrapper .sl-counter {
  display: none;
  position: fixed;
  top: 30px;
  left: 30px;
  z-index: 10060;
  color: var(--light_green);
  font-size: 1rem;
}
.sl-wrapper .sl-download {
  display: none;
  position: fixed;
  bottom: 5px;
  width: 100%;
  text-align: center;
  z-index: 10060;
  color: #fff;
  font-size: 1rem;
}
.sl-wrapper .sl-download a {
  color: #fff;
}
.sl-wrapper .sl-navigation {
  width: 100%;
  display: none;
}
.sl-wrapper .sl-navigation button {
  position: fixed;
  top: 50%;
  margin-top: -22px;
  height: 44px;
  width: 22px;
  line-height: 44px;
  text-align: center;
  display: block;
  z-index: 10060;
  color: #fff;
}
.sl-wrapper .sl-navigation button.sl-next {
  right: 30px;
  font-size: 2rem;
}
.sl-wrapper .sl-navigation button.sl-prev {
  left: 0;
  font-size: 2rem;
}
@media (min-width: 35.5em) {
  .sl-wrapper .sl-navigation button {
    width: 44px;
  }
  .sl-wrapper .sl-navigation button.sl-next {
    right: 15px;
    font-size: 3rem;
  }
  .sl-wrapper .sl-navigation button.sl-prev {
    left: 10px;
    font-size: 3rem;
  }
}
@media (min-width: 50em) {
  .sl-wrapper .sl-navigation button {
    width: 44px;
  }
  .sl-wrapper .sl-navigation button.sl-next {
    right: 30px;
    font-size: 3rem;
  }
  .sl-wrapper .sl-navigation button.sl-prev {
    left: 20px;
    font-size: 3rem;
  }
}
.sl-wrapper.sl-dir-rtl .sl-navigation {
  direction: ltr;
}
.sl-wrapper .sl-image {
  position: fixed;
  -ms-touch-action: none;
  touch-action: none;
  z-index: 10000;
}
.sl-wrapper .sl-image img {
  margin: 0;
  padding: 0;
  display: block;
  border: 0 none;
  width: 100%;
  height: auto;
}
@media (min-width: 35.5em) {
  .sl-wrapper .sl-image img {
    border: 0 none;
  }
}
@media (min-width: 50em) {
  .sl-wrapper .sl-image img {
    border: 0 none;
  }
}
.sl-wrapper .sl-image iframe {
  background: #000;
  border: 0 none;
}
@media (min-width: 35.5em) {
  .sl-wrapper .sl-image iframe {
    border: 0 none;
  }
}
@media (min-width: 50em) {
  .sl-wrapper .sl-image iframe {
    border: 0 none;
  }
}
.sl-wrapper .sl-image .sl-caption {
  display: none;
  padding: 15px 10px;
  color: #fff;
  background: rgba(12,67, 16, 0.4);
  font-size: 1rem;
  position: absolute;
  bottom: 0;
  left: 0;
  right: 0;
  text-align: center;
}
.sl-wrapper .sl-image .sl-caption.pos-top {
  bottom: auto;
  top: 0;
}
.sl-wrapper .sl-image .sl-caption.pos-outside {
  bottom: auto;
}

.sl-spinner {
  display: none;
  border: 2px solid #fff;
  border-radius: 40px;
  height: 40px;
  left: 50%;
  margin: -20px 0 0 -20px;
  opacity: 0;
  position: fixed;
  top: 50%;
  width: 40px;
  z-index: 1007;
  -webkit-animation: pulsate 1s ease-out infinite;
  -moz-animation: pulsate 1s ease-out infinite;
  -ms-animation: pulsate 1s ease-out infinite;
  -o-animation: pulsate 1s ease-out infinite;
  animation: pulsate 1s ease-out infinite;
}

.sl-scrollbar-measure {
  position: absolute;
  top: -9999px;
  width: 50px;
  height: 50px;
  overflow: scroll;
}

.sl-transition {
  transition: -moz-transform ease 200ms;
  transition: -ms-transform ease 200ms;
  transition: -o-transform ease 200ms;
  transition: -webkit-transform ease 200ms;
  transition: transform ease 200ms;
}

@-webkit-keyframes pulsate {
  0% {
    transform: scale(0.1);
    opacity: 0;
  }
  50% {
    opacity: 1;
  }
  100% {
    transform: scale(1.2);
    opacity: 0;
  }
}
@keyframes pulsate {
  0% {
    transform: scale(0.1);
    opacity: 0;
  }
  50% {
    opacity: 1;
  }
  100% {
    transform: scale(1.2);
    opacity: 0;
  }
}
@-moz-keyframes pulsate {
  0% {
    transform: scale(0.1);
    opacity: 0;
  }
  50% {
    opacity: 1;
  }
  100% {
    transform: scale(1.2);
    opacity: 0;
  }
}
@-o-keyframes pulsate {
  0% {
    transform: scale(0.1);
    opacity: 0;
  }
  50% {
    opacity: 1;
  }
  100% {
    transform: scale(1.2);
    opacity: 0;
  }
}
@-ms-keyframes pulsate {
  0% {
    transform: scale(0.1);
    opacity: 0;
  }
  50% {
    opacity: 1;
  }
  100% {
    transform: scale(1.2);
    opacity: 0;
  }
}




.lightbox a{
  position: relative;
  overflow: hidden;
  width: 100%;
  display: grid;
  height: 250px;
  border-radius: 25px;
  background-color: #EFEFEF;
}
.lightbox a span, .history-image span {
    display: block;
    width: 100%;
    opacity: 0;
    padding: 5px;
    position: absolute;
    bottom: 25%;
    z-index: 4;
    font-size: 14px;
    -webkit-transition: all .3s ease-out;
    transition: all .3s ease-out;
    color:#fff; text-align: center;
}
.lightbox a:hover span {
  opacity: 1
}

.lightbox a img {
  grid-area: 1 / 1;
  width: 100%;
  height: 120%;
  object-fit: cover;
  object-position: 10% center;
  mix-blend-mode: multiply;
}

.lightbox a::before {
  content: '';
  position: absolute;
  top: calc(50% - 25px);
  left: calc(50% - 25px);
  z-index: 3;
  width: 50px; height: 50px;
  background-size: 26px; border: 1px solid #fff; border-radius: 50%;
  background-image: url(img/icons/plus.svg);
  background-repeat: no-repeat;
  background-position: center;
}
.lightbox a::after  {
  content: '';
  position: absolute;
  top:0; left: 0;
  z-index: 2;
  width: 100%; height: 100%;
  background-color: rgba(0,0,0,0);
  -webkit-transition:all .2s ease-in-out;transition:all .2s ease-in-out;
}

.lightbox a:hover::after {
  background-color: rgba(0,0,0,.5);
}






/* -- FOOTER --------------------------------------- */

.footer {position: relative; background-color: #D4DAD8; color: #0C4310; font-size: 15px;}
.footer h5{font-size: 18px; margin-top: 18px;}
.footer a{ color: #0C4310;}

.footer .social-block a {float: none;}

.menu-footer {list-style-type: none; padding-left: 0;}
.menu-footer li{margin-bottom: 7px;}

.copy { color: #fff; background-color:#062808;  margin: 0 5px;}







/* -- M QUERIES --------------------------------------- */

@media (max-width: 599px) {
  .header{height: 60px;}
  .header .container{padding: 10px 15px;}
  .header-logo img{ width: 66px;}
  .header-logo::after {display: none;}
  .header .container .btn{ margin: 6px 60px 0 0;}

  .full-left-padding .history-slider{ width: calc(100% + .5rem);}
  .btn-group .btn-nav {min-width: 45%;font-size: 12px;}
}

@media (min-width: 600px) {
  .overlay-menu ul li{margin-bottom: 50px; font-size: 52px;}
  .full-left-padding .services-slider{ width: 120%}
  .button_container{top:21px;}
}




@media (max-width: 767px) {
  .main-carousel .carousel-caption-text{margin: 5px auto}
  .main-carousel .carousel-caption-header {text-transform: uppercase;}

  .owl-theme .owl-dots,.owl-theme .owl-nav{text-align:center;}

  .sf-field-taxonomy-tag_promo ul li label,
  .search-filter-style--choice-select .search-filter-label, .search-filter-field--input-type-checkbox .search-filter-label {padding: 15px 0 6px 10px;}
  .top-filters .sf-field-taxonomy-tag_promo ul li:nth-child(2) { margin-left: 9px;}

  .search-filter-style--choice-select .search-filter-field__input { padding: 10px 12px;}
}


@media (min-width: 768px) {
  .top-banner-home { height: 700px;}
  h2, .h2 { font-size: 27px;}
  .header {top: 15px;}
  .header.scrolled {top: 0;}
  .header .container .btn {margin: 13px 24px 0 0;}
  .overlay-menu nav{padding-top: 170px;}
  .main{ min-height: 430px;}
  .main-carousel .carousel-caption{
    text-align: left;
    right: 0;
    left: 0;
  }
  .main-carousel .carousel-indicators {bottom: 8%;}

	.container {padding: 0;}
  .pages {min-height: 390px;}
  .half-full-blocks{ width: 50%; float: left;}
  .top-banner .container, .top-banner .row{ min-height: 600px}

  .lightbox a{height: 300px;}

  .bot-banner{ height: 630px}

  .double-image img{ width: calc(50% - 14px); float: left;}
  .triple-image img{ width: calc(33.3333% - 14px); float: left;}

  .hover-inner {
    position: absolute;
    top: 9%;
    left: 9%;
    z-index: 10;
    text-align: center;
    padding: 3% 5% 10px;
    width: 82%;
    height: 83%;
    opacity: 0;
    -webkit-transition: .3s opacity;
    -moz-transition: .3s opacity;
    -ms-transition: .3s opacity;
    -o-transition: .3s opacity;
    transition: .3s opacity;
    display: -ms-flexbox;
    display: flex;
    flex-direction: column;
    justify-content: center;
    background-color: transparent;
  }
  .hover-inner::before {
    position: absolute;
    content: "";
    z-index: -1;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    -webkit-transform: rotate(-2deg);
    -moz-transform: rotate(-2deg);
    -ms-transform: rotate(-2deg);
    -o-transform: rotate(-2deg);
    transform: rotate(-2deg);
    background-color: var(--yellow);
  }
  .hover-wrap:hover .hover-inner {
      opacity: 1;
  }

  .rotate-90 {
    -webkit-transform: rotate(-90deg) !important;
    -moz-transform: rotate(-90deg) !important;
    -ms-transform: rotate(-90deg) !important;
    -o-transform: rotate(-90deg) !important;
    transform: rotate(-90deg) !important;
    white-space: nowrap;
    position:absolute;
    transform-origin: 0 0;
  }
  #home_selected_carousel .next-refresh { top: 105px; right: 10px}
  #promo_carousel .next-refresh { top: 30px; right: -9%;}

  .selected-carousel .carousel-caption {
    bottom: auto;
    left: auto;
    top: 58%;
    width: 33%;
  }

  .home-store-text p{ margin-top: 10px;}
  #services_carousel .service{height: 550px;}
  #services_carousel .owl-nav { text-align: left; width: 150px;margin-left: -32%;margin-top: -100px;}
  .home-logos .side-title {margin-top: -55px !important;}


  .search-filter-style--choice-select {flex-direction: row;}
  .search-filter-component-combobox .search-filter-component-combobox__actions .search-filter-component-combobox__actions-input{height: 63px}
  .search-filter-style--choice-select .search-filter-label {float: left; width: 33%; justify-content: center; padding: 22px; margin-bottom: 0; background-color: var(--light-gray); height: 63px;}

  .search-filter-field--input-type-checkbox.search-filter-field {flex-direction: row; align-items: center;}
  .search-filter-field--input-type-checkbox .search-filter-label {width: 120px; position: relative}
  .search-filter-field--input-type-checkbox .search-filter-label::after{
    height: 40px;
    width: 1px;
    background-color: #fff;
    position: absolute;
    right: 10px;
    content: '';
    top: 10px;
}

  .search-filter-style--choice-select .search-filter-field__input {float: left;width: 67%; padding: 13px 0 12px 47px;}

  .block-img-espositive{ margin-top: 100px;}

}


@media (max-width: 991px) {
  .header-logo{ max-width: 167px;}

  .full-left-padding{padding-left: calc(50vw - 375px);}
  #brands_carousel { padding: 50px 0;}
  .icons-menu li{ text-align: center; height: 90px;}
  .icons-menu li a::before{ width: 50px; height: 50px;  margin: auto; float: none}
  .home-store-text { background-color: var(--light-gray); max-width: 100%; margin-top: 0; padding-bottom: 50px;}
  .sf-field-taxonomy-tag_promo .sf-option-active label, .sf-field-taxonomy-tag_scelti .sf-option-active label{ border: 1px solid #000}
  .post-type-archive-negozio .cat-name { font-size: 12px}
  .category h1, .archive h1, .promozioni h1{color: #fff;}

  .search-filter-field--input-type-checkbox.search-filter-field{background-color: var(--yellow); align-items: center; padding-bottom: 10px;}

}


@media (min-width: 992px) {
  h1, .h1 {font-size: 59px;}
  h2, .h2 { font-size: 37px;}
  .header-logo::after {right: -50px;}

  .full-left-padding{padding-left: calc(50vw - 495px);}
  .full-left-padding h2 { margin: 60px 0 40px}
}


@media (min-width: 1200px) {
  .container {max-width: 1120px;}
  .outed-container{ max-width: 1170px;}
  .full-left-padding {padding-left: calc(50vw - 610px);}
  .header-logo::after {right: 15px !important;}

  .wrap-arrows {width: 130px}
  .main-carousel .wrap-arrows {margin: 80px 0 0 146px;}
  .main-carousel .carousel-caption-header{ min-height: 72px; font-size: 57px;}
  .main-carousel .carousel-caption-text { margin-bottom: .5rem; max-width: 390px; font-size: 18px;}
  .section-vertical-name { bottom: 30%;}

  #services_carousel .owl-nav { margin-left: -49%;}

}




@media (min-width: 1360px) {
  .boxed-container{ max-width: 1060px;}
  .header .container, .outed-container{ max-width: 1280px;}
  .header-logo::after {right: 40px !important;}
  .full-left-padding {padding-left: calc(50vw - 655px);}
  .bigh {font-size: 75px;}
}


@media (min-width: 1680px) {
  .top-banner-home { height: 750px;}
  .main-carousel .carousel-caption{bottom: 35%;}
  .top-banner .container, .top-banner .row{ min-height: 600px}
  .lab-slider{ width: 170%}
}

@media (min-width: 1920px) {
  .top-banner-home { height: 800px;}
  .top-banner .container, .top-banner .row{ min-height: 680px}
}
