:root {
  --primo: #EE0303;
  --secondo: #005AFF;
  --terzo: #B0DAF1;
  --quarto: #7F9C96;
  --bianco: #FFFFFF;
  --nero: #303633;
  --grigio: #f2f2f2;
  --trasp: rgba(0, 0, 0, 0);
  --bianco-trasp: rgba(255, 255, 255, 0.7);
  --primo-trasp: rgba(238, 3, 3, 0.7);
  --secondo-trasp: rgba(0, 90, 255, 0.7);
}

/*
font-family: "Oswald", sans-serif;
font-family: "Roboto Flex", sans-serif;
*/

html{
  scroll-padding-top:120px;
  scroll-behavior: smooth;
}

body {
  margin: 0;
  font-family: "Roboto Flex", sans-serif;
  font-size: 1rem;
  font-weight: 200;
  line-height: 1.5rem;
  color: var(--nero);
  background-color: var(--bianco);
  -webkit-text-size-adjust: 100%;
  -webkit-tap-highlight-color: rgba(0, 0, 0, 0);
}

h1, .h1, h2, .h2, h3, .h3, h4, .h4, h5, .h5, h6, .h6 {
  margin-top: 0;
  margin-bottom: .5rem;
  font-family: "Oswald", sans-serif;
  line-height: 1.2;
  color: var(--secondo);
  font-weight: 400;
}

a{
  -webkit-transition: all 0.5s ease-out;
  -moz-transition: all 0.5s ease-out;
  -o-transition: all 0.5s ease-out;
  transition: all 0.5s ease-out;
  color: var(--primo);
}

p{
  font-size: 1.2rem;
  line-height: 1.8rem;
  color: var(--nero);
  margin-bottom: 2rem;
  font-weight: 200;
}

p strong{
  color: var(--quarto);
  font-weight: 700;
  font-style: italic;
}






.preheader{
  position: relative;
  padding: 1rem 0;
  background-color: var(--primo);
  color: var(--bianco);
  font-size: 0.9rem;
  line-height: 0.9rem;
  font-weight: 300;
}

.preheader p{
  position: relative;
  margin: 0;
  padding: 0;
  font-size: 1rem;
  line-height: 1rem;
}

.preheader a:link,
.preheader a:visited{
  position: relative;
  color: var(--bianco);
  text-decoration: none;
}

.preheader a:hover{
  color: var(--bianco);
}

.preheader a::before{
  content: "";
  display: block;
  position: absolute;
  bottom: 0;
  left: 0;
  width: 0%;
  height: 1px;
  background-color: var(--bianco);
  -webkit-transition: all 0.5s ease-out;
  -moz-transition: all 0.5s ease-out;
  -o-transition: all 0.5s ease-out;
  transition: all 0.5s ease-out;
}

.preheader a:hover::before{
  width: 100%;
  background-color: var(--bianco);
}

.preheader i{
  color: var(--bianco);
}

.preheader a.social-preheader::before{
  display: none;
}

.preheader a.social-preheader{
  position: relative;
  z-index: auto;
  display: flex;
  width: 1.5rem;
  height: 1.5rem;
  justify-content: center;
  align-items: center;
  margin-left: 1rem;
  border-radius: 50%;
  border: 1px solid var(--trasp);
}

.preheader a.social-preheader:hover{
  color: var(--bianco);
  border: 1px solid var(--bianco);
}

.navbar-brand {
  padding-top: 1.5rem;
  padding-bottom: 1.5rem;
  margin-right: 1rem;
  margin-left: 3rem;
  font-size: 1.25rem;
  white-space: nowrap;
}

.navbar .navbar-brand,
.navbar a.btn {
    height: 8rem;
}


.navbar-brand img{
  position: relative;
  z-index: auto;
  height: 100%;
  width: auto;
  /*filter: brightness(0) invert(1);*/
  -webkit-transition: all 0.5s ease-out;
  -moz-transition: all 0.5s ease-out;
  -o-transition: all 0.5s ease-out;
  transition: all 0.5s ease-out;
}

.scroll-top .navbar-brand img{
  /*filter: brightness(1) invert(0);*/
}

.hero{
  position: relative;
  z-index: auto;
  width: 100%;
  height: calc(100vh - 3.5rem);
  margin-top: -129px;
}

.navbar{
  background-color: var(--trasp);
  border-bottom: 1px solid var(--trasp);
}

.storia-azienda .navbar{
  background-color: var(--bianco);
}

.navbar.scroll-top{
  background-color: var(--bianco-trasp);
  backdrop-filter: blur(10px);
  border-bottom: 1px solid var(--grigio);
}

.navbar .navbar-nav{
  margin-right: 3rem;
}

.navbar .navbar-nav .nav-link {
  margin-left: 1rem;
  margin-right: 1rem;
  padding: 1.5rem 0.5rem;
  color: var(--nero);
  font-size: 1rem;
  line-height: 1rem;
  font-weight: 200;
  text-transform: uppercase;
  outline: none;
  position: relative;
  text-align: center;
}

.nav-item.dropdown .nav-link{
  text-align: center;
}

.navbar .navbar-nav .nav-link:last-child {
  margin-right: 0rem;
}

.navbar.scroll-top .navbar-nav .nav-link{
  position: relative;
  color: var(--nero);
  -webkit-transition: all 0.5s ease-out;
  -moz-transition: all 0.5s ease-out;
  -o-transition: all 0.5s ease-out;
  transition: all 0.5s ease-out;
}

.navbar .navbar-nav .nav-link:hover,
.navbar .navbar-nav .nav-link.active {
  color: var(--bianco);
}

.navbar .navbar-nav .nav-link span{
  position: relative;
  z-index: 2;
  -webkit-transition: all 0.5s ease-out;
  -moz-transition: all 0.5s ease-out;
  -o-transition: all 0.5s ease-out;
  transition: all 0.5s ease-out;
}

.navbar .dropdown-toggle::after{
  position: relative;
  z-index: 2;
}

.navbar .navbar-nav .nav-link::before{
  content: "";
  position: absolute;
  top:0.8rem;
  left: -10%;
  display: block;
  width: 0%;
  height: calc(100% - 1.6rem);
  background-color: var(--primo);
  z-index: 1;
  transform: skewX(-10deg);
  -webkit-transition: all 0.5s ease-out;
  -moz-transition: all 0.5s ease-out;
  -o-transition: all 0.5s ease-out;
  transition: all 0.5s ease-out;
}

.navbar .navbar-nav .nav-link:hover::before,
.navbar .navbar-nav .nav-link.active::before{
  width: 120%;
}

@media (min-width: 992px) {
  .navbar .nav-item .dropdown-menu {
    display: block;
    border: none;
    margin-top: 0;
    top: 150%;
    opacity: 0;
    visibility: hidden;
    overflow: hidden;
    border-radius: 0;
    padding: 0;
    transform: skewX(-10deg);
    border: 1px solid var(--grigio);
    -webkit-transition: all 0.5s ease-out;
    -moz-transition: all 0.5s ease-out;
    -o-transition: all 0.5s ease-out;
    transition: all 0.5s ease-out;
  }
}

.dropdown-item {
  display: block;
  position: relative;
  width: 100%;
  padding: 1rem 1rem;
  clear: both;
  font-size: 0.8rem;
  line-height: 0.8rem;
  font-weight: 300;
  color: var(--nero);
  text-align: inherit;
  white-space: nowrap;
  background-color: transparent;
  border: 0;
  text-transform: uppercase;
  transform: skewX(10deg);
}

.dropdown-item span{
  position: relative;
  z-index: 2;
}

.dropdown-item::before{
  content: "";
  display: block;
  position: absolute;
  top:0;
  left: 0;
  width: 0%;
  height: 100%;
  background-color: var(--primo);
  transform: skewX(-10deg);
  z-index: 1;
  -webkit-transition: all 0.5s ease-out;
  -moz-transition: all 0.5s ease-out;
  -o-transition: all 0.5s ease-out;
  transition: all 0.5s ease-out;
}

.dropdown-item:hover::before{
  width: 100%;
}

.dropdown-item:hover,
.dropdown-item:focus {
    color: var(--bianco);
    background-color: var(--trasp);
}

/* LINGUE */

.flag_it{
  position: relative;
  display: inline-block;
  width: 1rem;
  height: 0.6rem;
  margin-left: 0.5rem;
  transform: skewX(-10deg);
  background-position: center center;
  background-size: cover;
  background-image: url(../img/flag_01_ita.png);
}

.flag_en{
  position: relative;
  display: inline-block;
  width: 1rem;
  height: 0.6rem;
  margin-left: 0.5rem;
  transform: skewX(-10deg);
  background-position: center center;
  background-size: cover;
  background-image: url(../img/flag_02_uk.png);
}

.flag_fr{
  position: relative;
  display: inline-block;
  width: 1rem;
  height: 0.6rem;
  margin-left: 0.5rem;
  transform: skewX(-10deg);
  background-position: center center;
  background-size: cover;
  background-image: url(../img/flag_03_fra.png);
}

.flag_de{
  position: relative;
  display: inline-block;
  width: 1rem;
  height: 0.6rem;
  margin-left: 0.5rem;
  transform: skewX(-10deg);
  background-position: center center;
  background-size: cover;
  background-image: url(../img/flag_04_de.png);
}

.flag_es{
  position: relative;
  display: inline-block;
  width: 1rem;
  height: 0.6rem;
  margin-left: 0.5rem;
  transform: skewX(-10deg);
  background-position: center center;
  background-size: cover;
  background-image: url(../img/flag_05_es.png);
}

.dropdown-menu.dropdown-menu_lang{
  min-width: 5rem;
}

/* FINE LINGUE */

/* VIDEO INTRO */

.section_video {
	position: absolute;
	top: 0;
	left: 0;
	min-height: 100%;
	min-width: 100%;
	overflow: hidden;
	z-index: -1;
}
.section_video video {
	position: absolute;
	top: 0;
	left: 0;
	min-height: 100%;
	min-width: 100%;
	z-index: 1;
  /*filter: grayscale(1);*/
}

.section_video::before{
  position: absolute;
  content: "";
  display: block;
  top:0;
  left: 0;
  background: #ffffff;
  background: -webkit-linear-gradient(0deg, rgba(255, 255, 255, 0) 50%, rgba(255, 255, 255, 0.90) 100%);
  background: -moz-linear-gradient(0deg, rgba(255, 255, 255, 0) 50%, rgba(255, 255, 255, 0.90) 100%);
  background: linear-gradient(0deg, rgba(255, 255, 255, 0) 50%, rgba(255, 255, 255, 0.90) 100%);
  filter: progid:DXImageTransform.Microsoft.gradient(startColorstr="#ffffff", endColorstr="#ffffff", GradientType=0);
  width: 100%;
  height: 100%;
  z-index: 2;
  opacity: 0.8;
}

/* FINE VIDEO INTRO */

.hero .container-fluid{
  height: 100%;
}

.hero .container-fluid .row{
  height: 100%;
}

.hero .container-fluid .row .hero-title{
  display: flex;
  flex-direction: column;
  justify-content: flex-end;
  align-items: flex-start;
  padding-left: 3rem;
  padding-bottom: 3rem;
}

.cornice_hero{
  position: relative;
  padding-left: 3rem!important;
  padding-top: 3rem;
  padding-bottom: 3rem;
  padding-right: 3rem;
  text-align: center;
  width: 100%;
}

.cornice_hero::before{
  content: "";
  position: absolute;
  top:0;
  left: 1rem;
  width: 100%;
  height: 100%;
  border: 1px solid var(--primo);
  background-color: var(--bianco-trasp);
  backdrop-filter: blur(5px);
  transform: skewX(-10deg);
  z-index: 1;
}

.cornice_hero p{
  position: relative;
  margin: 0;
  padding: 0;
  margin-bottom: 1rem;
  color: var(--secondo);
  font-weight: 300;
  text-transform: uppercase;
  font-size: 1.5rem;
  line-height: 1.5rem;
  z-index: 2;
  left: 2rem;
  width: calc(100% - 2rem);
}


.cornice_hero h1{
  position: relative;
  margin: 0;
  padding: 0;
  margin-bottom: 2rem;
  color: var(--bianco);
  font-weight: 300;
  text-transform: uppercase;
  font-size: 8rem;
  line-height: 16rem;
  z-index: 2;
  text-indent: -9999px;
  background-position: center center;
  background-image: url(../img/logo_guidolin-girotto.png);
  background-repeat: no-repeat;
  background-size: contain;
  left: 2rem;
  width: calc(100% - 2rem);
}

/*.cornice_hero h1::before{
  content: "";
  position: absolute;
  width: 10rem;
  height: 1px;
  display: block;
  top:calc(100% + 2rem);
  left: 50%;
  margin-left: -5rem;
  background-color: var(--bianco);
}*/

/*.cornice_hero h1 span{
  letter-spacing: 7px;
}*/

.cornice_hero h2{
  position: relative;
  margin: 0;
  padding: 0;
  margin-bottom: 4rem;
  color: var(--bianco);
  font-weight: 400;
  text-transform: uppercase;
  font-size: 2.9rem;
  line-height: 2.9rem;
  font-style: italic;
  text-indent: -9999px;
  z-index: 2;
  left: 2rem;
  width: calc(100% - 2rem);
  background-position: center center;
  background-image: url(../img/sub-logo_guidolin-girotto.png);
  background-repeat: no-repeat;
  background-size: contain;
}

.cornice_hero .cta_hero{
  position: relative;
  margin: 0;
  padding: 0 2rem;
  font-size: 1rem;
  line-height: 1rem;
  font-weight: 400;
  color: var(--primo);
  z-index: 2;
  text-transform: uppercase;
  letter-spacing: 1px;
}

.cornice_hero .cta_hero:hover{
  color: var(--bianco);
}

.cornice_hero .cta_hero::before{
  content: "";
  position: absolute;
  top:-0.8rem;
  left: 0;
  display: block;
  width: 100%;
  height: calc(100% + 1.6rem);
  background-color: var(--trasp);
  border: 1px solid var(--primo);
  z-index: 1;
  transform: skewX(-10deg);
  -webkit-transition: all 0.5s ease-out;
  -moz-transition: all 0.5s ease-out;
  -o-transition: all 0.5s ease-out;
  transition: all 0.5s ease-out;
}

.cornice_hero .cta_hero::after{
  content: "";
  position: absolute;
  top:-0.8rem;
  left: 0;
  display: block;
  width: 0%;
  height: calc(100% + 1.6rem);
  background-color: var(--primo);
  z-index: 1;
  transform: skewX(-10deg);
  -webkit-transition: all 0.5s ease-out;
  -moz-transition: all 0.5s ease-out;
  -o-transition: all 0.5s ease-out;
  transition: all 0.5s ease-out;
}

.cornice_hero .cta_hero:hover::after{
  width: 100%;
}

.cornice_hero .cta_hero span{
  position: relative;
  z-index: 2;
}

.chi-siamo_home{
  position: relative;
  padding-top: 0rem;
  padding-bottom: 0rem;
}

.img-frame-dx{
  overflow: hidden;
}

.img-frame-dx::before{
  content: "";
  display: block;
  position: absolute;
  z-index: 2;
  background-color: var(--bianco);
  top: 0;
  right: -14rem;
  width: 20rem;
  height: 100%;
  transform: skewX(-10deg);
}

.img-frame-sx{
  overflow: hidden;
}

.img-frame-sx::before{
  content: "";
  display: block;
  position: absolute;
  z-index: 2;
  background-color: var(--grigio);
  top: 0;
  left: -14rem;
  width: 20rem;
  height: 100%;
  transform: skewX(-10deg);
}

h2.title-home{
  position: relative;
  margin: 0;
  padding: 0;
  margin-bottom: 4rem;
  color: var(--primo);
  font-weight: 300;
  text-transform: uppercase;
  font-size: 4rem;
  line-height: 4rem;
}

h2.title-home strong{
  position: relative;
  font-weight: 300;
}

h2.title-home strong span.tricolore{
  position: absolute;
  width: 100%;
  height: 4px;
  background-color: #F4F9FF;
  bottom:0;
  left: 0;
}

h2.title-home strong span.tricolore::before{
  content: "";
  display: block;
  height: 100%;
  width: 33%;
  position: absolute;
  top:0;
  left: 0;
  background-color: #009246;
}

h2.title-home strong span.tricolore::after{
  content: "";
  display: block;
  height: 100%;
  width: 33%;
  position: absolute;
  top:0;
  right: 0;
  background-color: #CE2B37;
}

h3.subtitle-home{
  position: relative;
  margin: 0;
  padding: 0;
  margin-bottom: 2rem;
  color: var(--quarto);
  font-weight: 400;
  text-transform: uppercase;
  font-size: 2rem;
  line-height: 2rem;
  font-style: italic;
}

a.text-link:link,
a.text-link:visited{
  position: relative;
  color: var(--quarto);
  font-weight: 400;
}

a.text-link:hover{
  color: var(--primo);
}

a.text-link::before{
  content: "";
  display: block;
  position: absolute;
  bottom: 0;
  left: 0;
  width: 0%;
  height: 1px;
  background-color: var(--primo);
  -webkit-transition: all 0.5s ease-out;
  -moz-transition: all 0.5s ease-out;
  -o-transition: all 0.5s ease-out;
  transition: all 0.5s ease-out;
}

a.text-link:hover::before{
  width: 100%;
  background-color: var(--primo);
}

.icon-list{
  display: inline-block;
  position: relative;
  z-index: auto;
  background-color: var(--primo);
  color: var(--bianco);
  transform: skewX(-10deg);
  margin-right: 1rem;
  font-size: 0.8rem;
  padding: 0 0.5rem;
}

.icon-list::before{
  transform: skewX(10deg);
}

.cta{
  position: relative;
  margin: 2rem 0 0 0;
  padding: 0 2rem;
  font-size: 1rem;
  line-height: 1rem;
  font-weight: 400;
  color: var(--primo);
  z-index: 2;
  text-transform: uppercase;
  letter-spacing: 1px;
  display: inline-block;
}

.cta:hover{
  color: var(--bianco);
}

.cta::before{
  content: "";
  position: absolute;
  top:-0.8rem;
  left: 0;
  display: block;
  width: 100%;
  height: calc(100% + 1.6rem);
  background-color: var(--trasp);
  border: 1px solid var(--primo);
  z-index: 1;
  transform: skewX(-10deg);
  -webkit-transition: all 0.5s ease-out;
  -moz-transition: all 0.5s ease-out;
  -o-transition: all 0.5s ease-out;
  transition: all 0.5s ease-out;
}

.cta::after{
  content: "";
  position: absolute;
  top:-0.8rem;
  left: 0;
  display: block;
  width: 0%;
  height: calc(100% + 1.6rem);
  background-color: var(--primo);
  z-index: 1;
  transform: skewX(-10deg);
  -webkit-transition: all 0.5s ease-out;
  -moz-transition: all 0.5s ease-out;
  -o-transition: all 0.5s ease-out;
  transition: all 0.5s ease-out;
}

.cta:hover::after{
  width: 100%;
}

.cta span{
  position: relative;
  z-index: 2;
}

.cta-w{
  position: relative;
  margin: 2rem 0 0 0;
  padding: 0 2rem;
  font-size: 1rem;
  line-height: 1rem;
  font-weight: 400;
  color: var(--bianco);
  z-index: 2;
  text-transform: uppercase;
  letter-spacing: 1px;
  display: inline-block;
}

.cta-w:hover{
  color: var(--primo);
}

.cta-w::before{
  content: "";
  position: absolute;
  top:-0.8rem;
  left: 0;
  display: block;
  width: 100%;
  height: calc(100% + 1.6rem);
  background-color: var(--trasp);
  border: 1px solid var(--bianco);
  z-index: 1;
  transform: skewX(-10deg);
  -webkit-transition: all 0.5s ease-out;
  -moz-transition: all 0.5s ease-out;
  -o-transition: all 0.5s ease-out;
  transition: all 0.5s ease-out;
}

.cta-w::after{
  content: "";
  position: absolute;
  top:-0.8rem;
  left: 0;
  display: block;
  width: 0%;
  height: calc(100% + 1.6rem);
  background-color: var(--bianco);
  z-index: 1;
  transform: skewX(-10deg);
  -webkit-transition: all 0.5s ease-out;
  -moz-transition: all 0.5s ease-out;
  -o-transition: all 0.5s ease-out;
  transition: all 0.5s ease-out;
}

.cta-w:hover::after{
  width: 100%;
}

.cta-w span{
  position: relative;
  z-index: 2;
}

.prodotti_home{
  position: relative;
  padding-top: 4rem;
  padding-bottom: 4rem;
  background-color: var(--grigio);
  /*scroll-margin-top: 120px;*/
}

.service-item{
  position: relative;
  background-color: var(--bianco);
  min-height: 320px;
  height:auto !important;
  height: 600px;
}

.title-box{
  position: relative;
  font-size: 1.6rem;
  line-height: 1.6rem;
  color: var(--primo);
  font-weight: 400;
  text-transform: uppercase;
  padding-bottom: 1rem;
}

.service-icon {
  position: relative;
  margin: -50px 0 25px 0;
  width: 6.25rem;
  height: 6.25rem;
  display: flex;
  align-items: center;
  justify-content: center;
  background: var(--primo);
  border-radius: 0;
  transform: skewX(-10deg);
  box-shadow: 0 0 45px rgba(0, 0, 0, .08);
  -webkit-transition: all 0.5s ease-out;
  -moz-transition: all 0.5s ease-out;
  -o-transition: all 0.5s ease-out;
  transition: all 0.5s ease-out;
}

.service-icon img{
  position: relative;
  transform: skewX(10deg);
  width: 60%!important;
  height: auto;
  filter: brightness(0) invert(1);
  -webkit-transition: all 0.5s ease-out;
  -moz-transition: all 0.5s ease-out;
  -o-transition: all 0.5s ease-out;
  transition: all 0.5s ease-out;
}

.service-item:hover .service-icon {
  background: var(--bianco);
}

.service-item:hover .service-icon img{
  filter: brightness(1) invert(0);
  width: 70%!important;
}


.item-frame-img {
  padding: 10px!important;
}

.item-frame-img img {
  width: 100%;
  height: auto;
}

.item-frame-cont {
  display: flex;
}

.item-frame-cont {
  display: flex;
  justify-content: space-between;
  padding: 20px;
  align-items: center;
  align-content: center;
  padding-top: 10px;
}

.item-frame-cont h4.title-box {
  padding-bottom: 0px;
  margin-bottom: 0px;
}

/*
.service-icon {
    position: relative;
    margin: -18px 0 25px 0;
}


.service-icon {
    position: relative;
    margin: 0px!important;
    width: 60px;
    height: 60px;
} */


.item-frame{
  position: relative;
  display: flex;
  justify-content: center;
  align-items: center;
  width: 100%;
  overflow: hidden;
  background-color: var(--quarto);
  aspect-ratio: 16/9;
    // Fallback
    @supports not (aspect-ratio: 16 / 9) {
    &::before {
      float: left;
      padding-top: 56.25%;
      content: "";
    }

    &::after {
      display: block;
      content: "";
      clear: both;
    }
  }
}

.item-frame a{
  position: relative;
  display: flex;
  width: 100%;
  height: 100%;
  justify-content: center;
  align-items: center;
}

.owl-carousel .owl-item .item .service-item .item-frame a img{
  width: 105%!important;
  max-width: none;
}

.owl-carousel .owl-item .item .service-item:hover .item-frame a img{
  width: 100%!important;
  max-width: none;
}

.item-frame a img{
  position: relative;
  width: 105%!important;
  height: auto;
  /*mix-blend-mode: multiply;*/
  filter: grayscale(1);
  -webkit-transition: all 0.5s ease-out;
  -moz-transition: all 0.5s ease-out;
  -o-transition: all 0.5s ease-out;
  transition: all 0.5s ease-out;
}

.service-item:hover .item-frame a img{
  /*mix-blend-mode: normal;*/
  width: 100%!important;
  filter: grayscale(0);
}

.item-frame a::after{
  content: "";
  position: absolute;
  top:0;
  left: 0;
  width: 100%;
  height: 100%;
  background-color: var(--quarto);
  mix-blend-mode: multiply;
  opacity: 1;
  -webkit-transition: all 0.5s ease-out;
  -moz-transition: all 0.5s ease-out;
  -o-transition: all 0.5s ease-out;
  transition: all 0.5s ease-out;
}

.service-item:hover .item-frame a::after{
  opacity: 0;
}

.settori_home{
  position: relative;
  padding-top: 0rem;
  padding-bottom: 0rem;
}

.servizi_home{
  position: relative;
  padding-top: 0rem;
  padding-bottom: 0rem;
  background-color: var(--grigio);
}

.service-icon_1 {
  position: relative;
  width: 3rem;
  height: 3rem;
  display: flex;
  align-items: center;
  justify-content: center;
  background: var(--primo);
  border-radius: 0;
  transform: skewX(-10deg);
  aspect-ratio: 1/1;
    // Fallback
    @supports not (aspect-ratio: 1/1) {
    &::before {
      float: left;
      padding-top: 100%;
      content: "";
    }

    &::after {
      display: block;
      content: "";
      clear: both;
    }
  }
}

.service-icon_1 i{
  position: relative;
  transform: skewX(10deg);
  color: var(--bianco);
  font-size: 1.5rem;
}


/* MAPPA */

.mappa{
  position:relative;
  margin: 0;
  padding: 0;
}

#map{
  display: block;
  position: relative;
  width: 100%;
  height: 600px;
}

.leaflet-tile-pane {
  -webkit-filter: grayscale(100%)!important;
  filter: grayscale(100%)!important;
}

/* FINE MAPPA */

footer{
  position: relative;
  background-color: var(--bianco);
  padding-top: 2rem;
  z-index: 2;
}

footer p{
  font-size: 1rem;
  line-height: 1.5rem;
}

.logo_footer img{
  width: 12.5rem;
  margin-bottom: 2rem;
}

.copyright{
  position: relative;
  padding: 2rem 0;
  background-color: var(--primo);
  color: var(--bianco);
}

.copyright p{
  position: relative;
  margin: 0;
  padding: 0;
  color: var(--bianco);
  font-size: 0.8rem;
  line-height: 1.2rem;
}

.copyright p a:link,
.copyright p a:visited{
  position: relative;
  color: var(--bianco);
  font-weight: 400;
}

.copyright p a:hover{
  color: var(--bianco);
}

.copyright p a::before{
  content: "";
  display: block;
  position: absolute;
  bottom: 0;
  left: 0;
  width: 100%;
  height: 1px;
  background-color: var(--bianco);
  -webkit-transition: all 0.5s ease-out;
  -moz-transition: all 0.5s ease-out;
  -o-transition: all 0.5s ease-out;
  transition: all 0.5s ease-out;
}

.copyright p a:hover::before{
  width: 0%;
  background-color: var(--bianco);
}

footer h5{
  position: relative;
  font-size: 1.8rem;
  line-height: 1.8rem;
  color: var(--primo);
  font-weight: 400;
  text-transform: uppercase;
  padding-bottom: 1rem;
}

.link-list{
  position: relative;
  margin: 0;
  padding: 0;
  list-style: none;
}

.link-list li{
  position: relative;
  margin: 0 0 0.8rem 0;
  font-size: 0.8rem;
  line-height: 1.2rem;
}

.link-list li a:link,
.link-list li a:visited{
  position: relative;
  color: var(--nero);
  font-weight: 400;
  text-transform: uppercase;
}

.link-list li a:hover{
  color: var(--primo);
}

.link-list li a::before{
  content: "";
  display: block;
  position: absolute;
  bottom: 0;
  left: 0;
  width: 100%;
  height: 1px;
  background-color: var(--nero);
  -webkit-transition: all 0.5s ease-out;
  -moz-transition: all 0.5s ease-out;
  -o-transition: all 0.5s ease-out;
  transition: all 0.5s ease-out;
}

.link-list li a:hover::before{
  width: 0%;
  background-color: var(--primo);
}

.social-footer{
  position: relative;
  display: flex;
  justify-content: center;
  align-items: center;
  width: 2rem;
  height: 2rem;
  background-color: var(--primo)!important;
  color: var(--bianco);
  border:1px solid var(--primo);
  transform: skewX(-10deg);
  margin-right: 1rem;
  margin-top: 2rem;
}

.social-footer:hover{
  background-color: var(--bianco);
  color: var(--primo);
}

.social-footer i{
  transform: skewX(10deg);
  font-size: 1.2rem;
  color: #FFFFFF;
}

.back-to-top{
  width: 3rem;
  height: 3rem;
  display: flex!important;
  justify-content: center;
  align-items: center;
  border: 1px solid var(--bianco);
  background-color: var(--primo);
  color: var(--bianco);
  transform: skewX(-10deg);
  z-index: 999;
}

.back-to-top:hover{
  background-color: var(--bianco);
  color: var(--primo);
  border: 1px solid var(--primo);
}

.back-to-top i{
  transform: skewX(10deg);
  font-size: 1.2rem;
}

/* SEZIONE AZIENDA */

.page-header{
  position: relative;
  overflow: hidden;
  padding-top: 6rem;
  padding-bottom: 6rem;
  background-size: cover;
  background-position: center center;
  background-repeat: no-repeat;
  z-index: 2;
}

.page-header::before{
  content: "";
  position: absolute;
  display: block;
  z-index: 1;
  top:0;
  left: 0;
  width: 100%;
  height: 100%;
  background-color: var(--secondo-trasp);
}

.page-header .container{
  position: relative;
  z-index: 2;
}

h1.title-header-page{
  position: relative;
  z-index: auto;
  margin: 0;
  padding: 0;
  color: var(--bianco);
  font-weight: 300;
  text-transform: uppercase;
  font-size: 8rem;
}

h2.subtitle-header-page{
    position: relative;
    margin: 0;
    padding: 0;
    margin-bottom: 2rem;
    color: var(--terzo);
    font-weight: 400;
    text-transform: uppercase;
    font-size: 3rem;
    line-height: 3rem;
    font-style: italic;
}

.breadcrumb {
    display: flex;
    flex-wrap: wrap;
    padding: 0 0;
    margin-bottom: 0rem;
    list-style: none;
    font-size: 0.8rem;
    line-height: 1rem;
    font-weight: 200;
    text-transform: uppercase;
    color: var(--bianco);
}

.breadcrumb li a:link,
.breadcrumb li a:visited{
  position: relative;
  color: var(--bianco);
}

.breadcrumb li a:hover{
  color: var(--terzo);
}

.breadcrumb li a::before{
  content: "";
  display: block;
  position: absolute;
  bottom: -5px;
  left: 0;
  width: 100%;
  height: 1px;
  background-color: var(--bianco);
  -webkit-transition: all 0.5s ease-out;
  -moz-transition: all 0.5s ease-out;
  -o-transition: all 0.5s ease-out;
  transition: all 0.5s ease-out;
}

.breadcrumb li a:hover::before{
  width: 0%;
  background-color: var(--terzo);
}

.breadcrumb-item.active {
    color: var(--terzo);
}

.chi-siamo_01{
  position: relative;
  padding-top: 0rem;
  padding-bottom: 0rem;
  background-color: var(--bianco);
  z-index: 2;
}

.chi-siamo_02{
  position: relative;
  padding-top: 0rem;
  padding-bottom: 0rem;
  background-color: var(--grigio);
}

.fascia_cta{
  position: relative;
  padding-top: 0rem;
  padding-bottom: 0rem;
  background-image: url(../img/cta_background.jpg);
  background-position: center center;
  background-size: cover;
  background-repeat: no-repeat;
  z-index: 2;
}

.fascia_cta::before{
  content: "";
  position: absolute;
  display: block;
  z-index: 1;
  top:0;
  left: 0;
  width: 100%;
  height: 100%;
  background-color: var(--secondo-trasp);
}

.fascia_cta .container-fluid{
  position: relative;
  z-index: 2;
}

.title-page{
  position: relative;
  margin: 0;
  padding: 0;
  margin-bottom: 4rem;
  color: var(--primo);
  font-weight: 300;
  text-transform: uppercase;
  font-size: 4rem;
  line-height: 4rem;
}

.subtitle-page{
  position: relative;
  margin: 0;
  padding: 0;
  margin-bottom: 2rem;
  color: var(--quarto);
  font-weight: 400;
  text-transform: uppercase;
  font-size: 2rem;
  line-height: 2rem;
  font-style: italic;
}

ul.long-list{
  position: relative;
  display: flex;
  justify-content: flex-start;
  align-items: flex-start;
  list-style:none;
  padding: 0;
  margin: 0 0 2rem 0;
  flex-wrap: wrap;
}

ul.long-list li{
  position: relative;
  width: 33%;
  display: inline-block;
  font-size: 1.2rem;
  line-height: 1.8rem;
  color: var(--nero);
  padding: 0 0 0 2rem;
  margin: 0 0 1rem 0;
}

ul.long-list li::before{
  content: "";
  display: block;
  position: absolute;
  top:6px;
  left: 0;
  width: 1rem;
  height: 1rem;
  background-color: var(--primo);
  transform: skewX(-10deg);
}

.fascia_cta h3{
  font-size: 2.5rem;
  line-height: 3rem;
}

.fascia_cta h3,
.fascia_cta p{
  color: var(--bianco)!important;
}

.fascia_cta p strong{
  color: var(--grigio)!important;
}

.fascia_cta a.text-link:link,
.fascia_cta a.text-link:visited{
  display: inline-block;
  position: relative;
  color: var(--bianco);
}

.fascia_cta a.text-link:hover{
  display: inline-block;
  position: relative;
  color: var(--grigio);
}

.fascia_cta a.text-link::before{
  content: "";
  display: block;
  position: absolute;
  bottom: 0px;
  left: 0;
  width: 100%;
  height: 1px;
  background-color: var(--bianco);
  -webkit-transition: all 0.5s ease-out;
  -moz-transition: all 0.5s ease-out;
  -o-transition: all 0.5s ease-out;
  transition: all 0.5s ease-out;
}

.fascia_cta a.text-link:hover::before{
  width: 0%;
  background-color: var(--grigio);
}

.chi-siamo_storia_01{
  position: relative;
  padding-top: 0rem;
  padding-bottom: 0rem;
  background-color: var(--grigio);
}

.chi-siamo_storia_02{
  position: relative;
  padding-top: 0rem;
  padding-bottom: 0rem;
  background-color: var(--bianco);
}

.chi-siamo_storia_01 h4,
.chi-siamo_storia_02 h4{
  /*margin-bottom: 2rem;
  padding-bottom: 2rem;
  border-bottom: 3px solid var(--primo);*/
  color: var(--primo);
  font-weight: 300;
  text-transform: uppercase;
  font-size: 4rem;
  line-height: 6rem;
  text-align: center;
  transform: skewX(10deg);
}

@media (min-width: 1400px) {
  .chi-siamo_storia_01 .img-frame-little{
    padding-top: 6rem;
    padding-bottom: 6rem;
    padding-right: calc(((100% - 1320px) / 2) + .75rem);
  }

  .chi-siamo_storia_02 .img-frame-little{
    padding-top: 6rem;
    padding-bottom: 6rem;
    padding-left: calc(((100% - 1320px) / 2) + .75rem);
  }
}

@media (min-width: 1200px) {
  .chi-siamo_storia_01 .img-frame-little{
    padding-top: 6rem;
    padding-bottom: 6rem;
    padding-right: calc(((100% - 1140px) / 2) + .75rem);
  }

  .chi-siamo_storia_02 .img-frame-little{
    padding-top: 6rem;
    padding-bottom: 6rem;
    padding-left: calc(((100% - 1140px) / 2) + .75rem);
  }
}

@media (min-width: 992px) {
  .chi-siamo_storia_01 .img-frame-little{
    padding-top: 6rem;
    padding-bottom: 6rem;
    padding-right: calc(((100% - 960px) / 2) + .75rem);
  }

  .chi-siamo_storia_02 .img-frame-little{
    padding-top: 6rem;
    padding-bottom: 6rem;
    padding-left: calc(((100% - 960px) / 2) + .75rem);
  }
}


.img-frame-little .img-frame{
  width: 100%;
  overflow: hidden;
}

.img-frame-little .img-frame img{
  width: 100%;
  position: relative;
  z-index: 1;
}

.chi-siamo_storia_01 .img-frame-little .img-frame::before{
  content: "";
    display: block;
    position: absolute;
    z-index: 2;
    background-color: var(--grigio);
    top: 0;
    left: -18rem;
    width: 20rem;
    height: 100%;
    transform: skewX(-10deg);
}

.chi-siamo_storia_01 .img-frame-little .img-frame::after{
  content: "";
    display: block;
    position: absolute;
    z-index: 2;
    background-color: var(--grigio);
    top: 0;
    right: -18rem;
    width: 20rem;
    height: 100%;
    transform: skewX(-10deg);
}

.chi-siamo_storia_02 .img-frame-little .img-frame::before{
  content: "";
    display: block;
    position: absolute;
    z-index: 2;
    background-color: var(--bianco);
    top: 0;
    left: -18rem;
    width: 20rem;
    height: 100%;
    transform: skewX(-10deg);
}

.chi-siamo_storia_02 .img-frame-little .img-frame::after{
  content: "";
    display: block;
    position: absolute;
    z-index: 2;
    background-color: var(--bianco);
    top: 0;
    right: -18rem;
    width: 20rem;
    height: 100%;
    transform: skewX(-10deg);
}

.timeline{
  position:relative;
  z-index: 1;
}

.timeline::before{
  top: 0;
  bottom: 0;
  position: absolute;
  content: " ";
  width: 0px;
  background-color: var(--trasp);
  border: 2px dashed var(--quarto);
  left: calc(50% - 2px);
  height: 0%;
  z-index: 1;
  opacity: 0;
  -webkit-transition: all 0.6s ease-out;
  -moz-transition: all 0.6s ease-out;
  -o-transition: all 0.6s ease-out;
  transition: all 0.6s ease-out;
}

.scrolled .timeline::before{
  opacity: 1;
  height: 100%;
}

.timeline:after {
  top: 0;
  bottom: 0;
  position: fixed;
  content: "";
  width: 4px;
  background: #EE0303;
  background: -webkit-linear-gradient(180deg, rgba(238, 3, 3, 1) 0%, rgba(238, 3, 3, 1) 75%, rgba(186, 0, 0, 1) 100%);
  background: -moz-linear-gradient(180deg, rgba(238, 3, 3, 1) 0%, rgba(238, 3, 3, 1) 75%, rgba(186, 0, 0, 1) 100%);
  background: linear-gradient(180deg, rgba(238, 3, 3, 1) 0%, rgba(238, 3, 3, 1) 75%, rgba(186, 0, 0, 1) 100%);
  filter: progid:DXImageTransform.Microsoft.gradient(startColorstr="#EE0303", endColorstr="#BA0000", GradientType=0);
  border-radius: 2px;
  left: calc(50% - 2px);
  height: 0;
  z-index: 1;
  opacity: 0;
  -webkit-transition: all 1s ease-out;
  -moz-transition: all 1s ease-out;
  -o-transition: all 1s ease-out;
  transition: all 1s ease-out;
}

.scrolled .timeline:after {
  height: 50vh;
  opacity: 1;
}

.timeline-badge{
  position: absolute;
  width: 160px;
  min-height: calc(6rem + 8px);
  top: 6rem;
  left: calc(50% - 80px);
  border: 4px solid var(--primo);
  background-color: var(--bianco);
  z-index: 2;
  opacity: 0;
  transform: scale(0.5) skewX(-10deg);
}

@-webkit-keyframes scale-in-center {
  0% {
    -webkit-transform: scale(0.5) skewX(-10deg);
            transform: scale(0.5) skewX(-10deg);
    opacity: 0;
  }

  80% {
    -webkit-transform: scale(1.2) skewX(-10deg);
            transform: scale(1.2) skewX(-10deg);
    opacity: 1;
  }

  100% {
    -webkit-transform: scale(1) skewX(-10deg);
            transform: scale(1) skewX(-10deg);
    opacity: 1;
  }
}
@keyframes scale-in-center {
  0% {
    -webkit-transform: scale(0.5) skewX(-10deg);
            transform: scale(0.5) skewX(-10deg);
    opacity: 0;
  }
  80% {
    -webkit-transform: scale(1.2) skewX(-10deg);
            transform: scale(1.2) skewX(-10deg);
    opacity: 1;
  }
  100% {
    -webkit-transform: scale(1) skewX(-10deg);
            transform: scale(1) skewX(-10deg);
    opacity: 1;
  }
}


.timeline-badge.active{
  -webkit-animation: scale-in-center 0.5s cubic-bezier(0.250, 0.460, 0.450, 0.940) both;
	        animation: scale-in-center 0.5s cubic-bezier(0.250, 0.460, 0.450, 0.940) both;
}

.img-container.timeline-panel{
  opacity: 0;
  transform: translateX(-120px);
  -webkit-transition: all 0.6s ease-out;
  -moz-transition: all 0.6s ease-out;
  -o-transition: all 0.6s ease-out;
  transition: all 0.6s ease-out;
}

.img-container.timeline-panel.active{
  opacity: 1;
  transform: translateX(0px);
}

.col-lg-4.timeline-panel{
  opacity: 0;
  transform: translateX(-120px);
  -webkit-transition: all 0.6s ease-out 0.1s;
  -moz-transition: all 0.6s ease-out 0.1s;
  -o-transition: all 0.6s ease-out 0.1s;
  transition: all 0.6s ease-out 0.1s;
}

.col-lg-4.timeline-panel.active{
  opacity: 1;
  transform: translateX(0px);
}

.col-lg-6.timeline-panel{
  opacity: 0;
  transform: translateX(120px);
  -webkit-transition: all 0.6s ease-out 0.2s;
  -moz-transition: all 0.6s ease-out 0.2s;
  -o-transition: all 0.6s ease-out 0.2s;
  transition: all 0.6s ease-out 0.2s;
}

.col-lg-6.timeline-panel.active{
  opacity: 1;
  transform: translateX(0px);
}

.chi-siamo_04 .timeline-badge{
  background-color: var(--grigio)
}

.chi-siamo_04 .timeline-badge{
  background-color: var(--terzo)
}

.dida,
.label_check{
  font-size: 0.8rem;
  line-height: 1.2rem;
}

.dida a:link,
.dida a:visited{
  color: var(--nero);
  text-decoration: none;
  display: inline-block;
  position: relative;
}

.dida a:hover{
  color: var(--primo);
}

.dida a::before {
    content: "";
    display: block;
    position: absolute;
    bottom: 0;
    left: 0;
    width: 100%;
    height: 1px;
    background-color: var(--nero);
    -webkit-transition: all 0.5s ease-out;
    -moz-transition: all 0.5s ease-out;
    -o-transition: all 0.5s ease-out;
    transition: all 0.5s ease-out;
}

.dida a:hover::before {
    width: 0%;
    background-color: var(--primo);
}

.button_form{
  position: relative;
  margin: 0;
  padding: 1rem 2rem!important;
  font-size: 1rem;
  line-height: 1rem;
  font-weight: 400;
  color: var(--primo);
  background-color: var(--trasp);
  border: 1px solid var(--primo);
  z-index: 2;
  text-transform: uppercase;
  letter-spacing: 1px;
  -webkit-transition: all 0.5s ease-out;
  -moz-transition: all 0.5s ease-out;
  -o-transition: all 0.5s ease-out;
  transition: all 0.5s ease-out;
}

.button_form:hover{
  color: var(--bianco);
  background-color: var(--primo);
}

.form-control {
    display: block;
    width: 100%;
    padding: .375rem .75rem;
    font-size: 1rem;
    font-weight: 400;
    line-height: 1.5;
    color: var(--nero);
    background-color: var(--bianco);
    background-clip: padding-box;
    border: 0px;
    border-bottom: 1px solid var(--primo);
    appearance: none;
    border-radius: 0px;
    -webkit-transition: all 0.5s ease-out;
    -moz-transition: all 0.5s ease-out;
    -o-transition: all 0.5s ease-out;
    transition: all 0.5s ease-out;
}

.form-control:focus{
  color: var(--nero);
  background-color: var(--bianco);
  border-bottom: 1px solid var(--secondo);
  box-shadow: 0 0 0 0rem rgba(0, 0, 0, 0);
}

.form-control:disabled,
.form-control:read-only {
    background-color: var(--bianco);
    opacity: 1;
}

.docpicker label{
  display: inline-block;
  padding: 0;
}

.docpicker input{
  margin-top: 2rem;
  color: transparent;
}
.docpicker input::-webkit-file-upload-button {
  visibility: hidden;
}
.docpicker input::before {
  content: 'Seleziona il file';
  color: var(--primo);
  display: inline-block;
  background: var(--bianco);
  border: 1px solid var(--primo);
  border-radius: 0px;
  padding: 1rem 2rem;
  outline: none;
  white-space: nowrap;
  -webkit-user-select: none;
  cursor: pointer;
  font-size: 0.8rem;
  line-height: 0.8rem;
  text-transform: uppercase;
  -webkit-transition: all 0.5s ease-out;
  -moz-transition: all 0.5s ease-out;
  -o-transition: all 0.5s ease-out;
  transition: all 0.5s ease-out;
}
.docpicker input:hover::before {
  background-color: var(--primo);
  color: var(--bianco);
}
.docpicker input:active {
  outline: 0;
}
.docpicker input:active::before {
  background-color: var(--primo);
  color: var(--bianco);
}

/* FINE SEZIONE AZIENDA */

/* SEZIONE PRODOTTI */

.prodotti_01{
  position: relative;
  padding-top: 0rem;
  padding-bottom: 0rem;
  background-color: var(--bianco);
}

.prodotti_lista{
  position: relative;
  padding-top: 3rem;
  padding-bottom: 3rem;
  background-color: var(--grigio);
}

.prodotti-item{
  position: relative;
  background-color: var(--bianco);
  min-height: 600px;
  height:auto !important;
  height: 600px;
}

.prodotti-item:hover .service-icon {
  background: var(--bianco);
}

.prodotti-item:hover .service-icon img{
  filter: brightness(1) invert(0);
  width: 70%;
}

.prodotti-item:hover .item-frame img{
  mix-blend-mode: normal;
  width: 100%;
  filter: grayscale(0);
}

.hero-img-sheet img{
  width: 100%;
}

.class_prodotto{
  position: relative;
  width: 100%;
  height: auto;
  margin-top: 3rem;
  padding-top: 2rem;
  border-top: 1px solid var(--grigio);
}

.class_prodotto ul{
  position: relative;
  display: flex;
  flex-wrap: wrap;
  margin: 0 0 1rem 0;
  padding: 0;
  list-style: none;
}

.class_prodotto ul li{
  position: relative;
  margin-right: 1rem;
}

.label-prod{
  position: relative;
  margin:0 0 1.5rem 0;
  padding: 0 1rem;
  font-size: 0.6rem;
  line-height: 0.6rem;
  font-weight: 400;
  color: var(--nero);
  z-index: 2;
  text-transform: uppercase;
  letter-spacing: 1px;
  display: inline-block;
}

.label-prod:hover{
  color: var(--bianco);
}

.label-prod::before{
  content: "";
  position: absolute;
  top:-0.6rem;
  left: 0;
  display: block;
  width: 100%;
  height: calc(100% + 1.2rem);
  background-color: var(--trasp);
  border: 1px solid var(--nero);
  z-index: 1;
  transform: skewX(-10deg);
  -webkit-transition: all 0.5s ease-out;
  -moz-transition: all 0.5s ease-out;
  -o-transition: all 0.5s ease-out;
  transition: all 0.5s ease-out;
}

.label-prod::after{
  content: "";
  position: absolute;
  top:-0.6rem;
  left: 0;
  display: block;
  width: 0%;
  height: calc(100% + 1.2rem);
  background-color: var(--primo);
  z-index: 1;
  transform: skewX(-10deg);
  -webkit-transition: all 0.5s ease-out;
  -moz-transition: all 0.5s ease-out;
  -o-transition: all 0.5s ease-out;
  transition: all 0.5s ease-out;
}

.label-prod:hover::after{
  width: 100%;
}

.label-prod span{
  position: relative;
  z-index: 2;
}

.product-carousel .owl-dots{
  position: absolute;
  left: 0;
  bottom: -2rem;
  width: 100%;
  display: flex;
  justify-content: center;
  align-items: center;
}

.product-carousel .owl-dots .owl-dot{
  position: relative;
  margin: 0 0.3rem;
}

.product-carousel .owl-dots .owl-dot span{
  display: block;
  width: 1rem;
  height: 1rem;
  transform: skewX(-10deg);
  background-color: var(--bianco);
  border: 1px solid var(--primo);
  -webkit-transition: all 0.5s ease-out;
  -moz-transition: all 0.5s ease-out;
  -o-transition: all 0.5s ease-out;
  transition: all 0.5s ease-out;
}

.product-carousel .owl-dots .owl-dot.active span{
  width: 2rem;
  background-color: var(--primo);
}

/* FINE SEZIONE PRODOTTI */

/* SETTORI */

.settori_01 {
    position: relative;
    padding-top: 0rem;
    padding-bottom: 0rem;
    background-color: var(--bianco);
    z-index: 2;
}

.settori_02 {
    position: relative;
    padding-top: 4rem;
    padding-bottom: 4rem;
    background-color: var(--grigio);
}

.box-settori{
  display: inline-block;
  position: relative;
  background-color: var(--bianco);
  box-shadow: 0 0 45px rgba(0, 0, 0, .08);
  cursor: default;
  margin-bottom: 2rem;
}

.settori-frame{
  position: relative;
  display: flex;
  justify-content: center;
  align-items: center;
  width: 100%;
  overflow: hidden;
  background-color: var(--quarto);
  aspect-ratio: 1/1;
    // Fallback
    @supports not (aspect-ratio: 1 / 1) {
    &::before {
      float: left;
      padding-top: 100%;
      content: "";
    }

    &::after {
      display: block;
      content: "";
      clear: both;
    }
  }
}

.settori-frame img{
  position: relative;
  width: 105%;
  height: auto;
  filter: grayscale(1);
  -webkit-transition: all 0.5s ease-out;
  -moz-transition: all 0.5s ease-out;
  -o-transition: all 0.5s ease-out;
  transition: all 0.5s ease-out;
}

.settori-frame::after{
  content: "";
  position: absolute;
  top:0;
  left: 0;
  width: 100%;
  height: 100%;
  background-color: var(--quarto);
  mix-blend-mode: multiply;
  opacity: 1;
  -webkit-transition: all 0.5s ease-out;
  -moz-transition: all 0.5s ease-out;
  -o-transition: all 0.5s ease-out;
  transition: all 0.5s ease-out;
}

.box-settori:hover .settori-frame img{
  width: 100%;
  filter: grayscale(0);
}

.box-settori:hover .settori-frame::after{
  opacity: 0;
}

.box-settori h4.title-box{
  margin-bottom:0!important;
}

.settori-cont {
 padding: 1.5rem!important;
 padding-top: 0px!important;
}

/* FINE SETTORI */

/* NEWS */

.news_01 {
    position: relative;
    padding-top: 4rem;
    padding-bottom: 4rem;
    background-color: var(--bianco);
    z-index: 2;
}

.news-item{
  position: relative;
  background-color: var(--grigio);
  min-height: 540px;
  height:auto !important;
  height: 540px;
  box-shadow: 0 0 45px rgba(0, 0, 0, .08);
  overflow: hidden;
}

.news-frame{
  position: relative;
  display: flex;
  justify-content: center;
  align-items: center;
  width: 100%;
  overflow: hidden;
  background-color: var(--quarto);
  aspect-ratio: 16/9;
    // Fallback
    @supports not (aspect-ratio: 16 / 9) {
    &::before {
      float: left;
      padding-top: 56.25%;
      content: "";
    }

    &::after {
      display: block;
      content: "";
      clear: both;
    }
  }
}

.news-frame a{
  position: relative;
  display: flex;
  width: 100%;
  height: 100%;
  justify-content: center;
  align-items: center;
}

.news-frame a img{
  position: relative;
  width: 105%;
  height: auto;
  /*mix-blend-mode: multiply;*/
  filter: grayscale(1);
  -webkit-transition: all 0.5s ease-out;
  -moz-transition: all 0.5s ease-out;
  -o-transition: all 0.5s ease-out;
  transition: all 0.5s ease-out;
}

.news-item:hover .news-frame a img{
  /*mix-blend-mode: normal;*/
  width: 100%;
  filter: grayscale(0);
}

.news-frame a::after{
  content: "";
  position: absolute;
  top:0;
  left: 0;
  width: 100%;
  height: 100%;
  background-color: var(--quarto);
  mix-blend-mode: multiply;
  opacity: 1;
  -webkit-transition: all 0.5s ease-out;
  -moz-transition: all 0.5s ease-out;
  -o-transition: all 0.5s ease-out;
  transition: all 0.5s ease-out;
}

.news-item:hover .news-frame a::after{
  opacity: 0;
}

.data-news{
  position: absolute;
  top:1rem;
  left: -3rem;
  z-index: 2;
  padding: 0.5rem 1rem 0.5rem 4rem;
  background-color: var(--bianco);
  border: 1px solid var(--grigio);
  font-size: 0.8rem;
  line-height: 1rem;
  font-weight: 400;
  color: var(--nero);
  transform: skewX(-10deg);
}

.data-news span{
  position: relative;
  display: inline-block;
  transform: skewX(10deg);
}

ul.paginazione{
  position: relative;
  display: flex;
  justify-content:center;
  align-items: center;
  margin: 0;
  padding: 0;
  list-style: none;
}

ul.paginazione li a:link,
ul.paginazione li a:visited{
  position: relative;
  display: flex;
  justify-content: center;
  align-items: center;
  width: 2rem;
  height: 2rem;
  font-size: 1rem;
  font-weight: 400;
  background-color: var(--primo);
  color: var(--bianco);
  border:1px solid var(--primo);
  transform: skewX(-10deg);
  margin-right: 1rem;
  margin-top: 2rem;
}

ul.paginazione li a:hover,
ul.paginazione li a.active{
  background-color: var(--bianco);
  color: var(--primo);
}

ul.paginazione li a span{
  display: inline-block;
  transform: skewX(10deg);
}

/* FINE NEWS */

/* CONTATTI */

.contatti_01 {
    position: relative;
    padding-top: 0rem;
    padding-bottom: 0rem;
    background-color: var(--bianco);
    z-index: 2;
}

.contatti_02 {
    position: relative;
    padding-top: 0rem;
    padding-bottom: 0rem;
    background-color: var(--grigio);
}

.contatti_02 .form-control{
  background-color: var(--grigio);
}

/* FINE CONTATTI */

.blocchetto .row {
    display: flex;
    align-content: center;
    align-items: center;
    background: #FFFFFF;
    padding: 30px 10px;
}



/* SILE MOBILE */

@media only screen and (max-height: 720px) {
}

@media only screen and (min-width: 1920px) {
}

@media only screen and (min-width: 1720px) {
}

@media only screen and (max-width: 1720px) {
}

@media only screen and (max-width: 1500px) {
}

@media only screen and (max-width: 1400px) {
}

@media only screen and (max-width: 1300px) {
}

@media only screen and (max-width: 1280px) {
  .navbar .navbar-nav .nav-link {
    margin-left: 0.4rem;
    margin-right: 0.4rem;
    padding: 0.9rem 0.3rem;
    font-size: 0.8rem;
    line-height: 0.8rem;
  }
  .navbar .navbar-nav .nav-link::before{
    top:0.4rem;
    left: -10%;
    height: calc(100% - 0.8rem);
  }

  .dropdown-item {
    display: block;
    position: relative;
    width: 100%;
    padding: 0.8rem 0.8rem;
    clear: both;
    font-size: 0.6rem;
    line-height: 0.6rem;
    font-weight: 300;
    color: var(--nero);
    text-align: inherit;
    white-space: nowrap;
    background-color: transparent;
    border: 0;
    text-transform: uppercase;
    transform: skewX(10deg);
  }

  .flag_it{
    width: 0.8rem;
    height: 0.5rem;
    margin-left: 0.4rem;
  }

  .flag_en{
    width: 0.8rem;
    height: 0.5rem;
    margin-left: 0.4rem;
  }

  .flag_fr{
    width: 0.8rem;
    height: 0.5rem;
    margin-left: 0.4rem;
  }

  .flag_de{
    width: 0.8rem;
    height: 0.5rem;
    margin-left: 0.4rem;
  }

  .flag_es{
    width: 0.8rem;
    height: 0.5rem;
    margin-left: 0.4rem;
  }
}

@media only screen and (max-width: 1239px) {
}

@media only screen and (max-width: 1199px) {
  .preheader p{
    font-size: 0.8rem;
    line-height: 0.8rem;
  }
  .preheader a.social-preheader{
    margin-left: 0.4rem;
  }
}

@media only screen and (max-width: 1043px) {
}

@media only screen and (max-width: 991px) {
  .preheader{
    padding: 0;
  }

  .navbar-brand{
    margin-left: 1.5rem;
  }

  .navbar .navbar-nav{
    border-top:0;
    margin-right: 0;
    background-color: var(--bianco);
  }

  .navbar .navbar-nav .nav-link {
    margin-left: 0rem;
    margin-right: 0rem;
    padding: 1.2rem 0.4rem;
    font-size: 1.2rem;
    line-height: 1.2rem;
  }

  .navbar .navbar-nav.p-4{
    padding: 0!important;
  }

  .dropdown-menu{
    text-align: center;
    background-color: var(--grigio);
    border-radius: 0;
    border: 0px;
    overflow: hidden;
  }

  .dropdown-item {
    padding: 0.5rem 0rem;
    clear: both;
    font-size: 0.8rem;
    line-height: 0.8rem;
    font-weight: 300;
    color: var(--nero);
    transform: skewX(0deg);
  }

  .dropdown-item::before{
    left: -10%;
  }

  .dropdown-item:hover::before{
    width: 120%;
  }

  .navbar-light .navbar-toggler{
    color: var(--nero);
    border: 0;
    border-radius: 0;
    box-shadow: 0 0 0 0;
    font-size: 2.4rem;
    line-height: 2.4rem;
  }

  .navbar-toggler{
    display: flex;
    justify-content: center;
    align-items: center;
    height: 3rem;
    width: 3rem;
    padding: 0;
  }

  .navbar-toggler span{
    position: relative;
    display: inline-block;
    width: 3rem;
    height: 2px;
    background-color: var(--nero);
    transform: skewX(-10deg);
    -webkit-transition: all 0.5s ease-out;
    -moz-transition: all 0.5s ease-out;
    -o-transition: all 0.5s ease-out;
    transition: all 0.5s ease-out;
  }

  .navbar-toggler:hover span,
  .navbar-toggler:hover span::before,
  .navbar-toggler:hover span::after{
    background-color: var(--primo);
  }

  .navbar-toggler span::before{
    content: "";
    position: absolute;
    display: inline-block;
    top: -0.6rem;
    left: 0;
    width: 3rem;
    height: 2px;
    background-color: var(--nero);
    transform: skewX(-10deg);
    -webkit-transition: all 0.5s ease-out;
    -moz-transition: all 0.5s ease-out;
    -o-transition: all 0.5s ease-out;
    transition: all 0.5s ease-out;
  }

  .navbar-toggler span::after{
    content: "";
    position: absolute;
    display: inline-block;
    bottom: -0.6rem;
    left: 0;
    width: 3rem;
    height: 2px;
    background-color: var(--nero);
    transform: skewX(-10deg);
    -webkit-transition: all 0.5s ease-out;
    -moz-transition: all 0.5s ease-out;
    -o-transition: all 0.5s ease-out;
    transition: all 0.5s ease-out;
  }

  .navbar-toggler:has(+ .navbar-collapse.show) span{
    background-color: var(--trasp)
  }

  .navbar-toggler:has(+ .navbar-collapse.show) span::before{
    background-color: var(--primo);
    transform: rotate(45deg) skewX(0deg);;
    top:0rem;
  }

  .navbar-toggler:has(+ .navbar-collapse.show) span::after{
    background-color: var(--primo);
    transform: rotate(-45deg) skewX(0deg);;
    bottom:0rem;
  }

  .hero {
    height: 100vh;
    margin-top: -129px;
  }

  .timeline::before{
    left: 1rem;
  }

  .timeline:after {
    left: 1rem;
  }

  .chi-siamo_storia_01,
  .chi-siamo_storia_02{
    padding-top: 6rem;
    padding-bottom: 3rem;
  }

  .timeline-badge{
    position: absolute;
    width: calc(10rem + 160px);
    min-height: calc(4.5rem + 8px);
    top: 2rem;
    left: -5rem;
    border: 4px solid var(--primo);
    background-color: var(--bianco);
    z-index: 2;
    opacity: 0;
    transform: scale(0.5) skewX(-10deg);
    padding: 0 1rem 0 0;
  }

  .chi-siamo_storia_01 h4,
  .chi-siamo_storia_02 h4{
    font-size: 3rem;
    line-height: 4.5rem;
    text-align: right;
  }

  .title-box {
    font-size: 1.8rem;
    line-height: 1.8rem;
  }
}

@media only screen and (max-width: 767px) {
  p {
    font-size: 1rem;
    line-height: 1.5rem;
    margin-bottom: 1.5rem;
  }

  h1.title-header-page {
    font-size: 6rem;
  }

  h2.subtitle-header-page {
    margin-bottom: 1.5rem;
    font-size: 2rem;
    line-height: 2rem;
  }
  .breadcrumb {
    font-size: 0.7rem;
    line-height: 0.9rem;
  }

  .title-page {
    margin-bottom: 3rem;
    font-size: 3rem;
    line-height: 3rem;
  }

  .subtitle-page {
    margin-bottom: 1.5rem;
    font-size: 1.5rem;
    line-height: 1.5rem;
  }

  ul.long-list li {
    width: 50%;
    font-size: 1rem;
    line-height: 1.5rem;
    padding: 0 0 0 1.5rem;
    margin: 0 0 1rem 0;
  }

  ul.long-list li::before {
    top: 6px;
    width: 0.8rem;
    height: 0.8rem;
  }

  .fascia_cta h3 {
    font-size: 2rem;
    line-height: 2.5rem;
  }

  .title-box {
    font-size: 1.5rem;
    line-height: 1.5rem;
  }
}

@media only screen and (max-width: 620px) {
}

@media only screen and (max-width: 575px) {
}

@media only screen and (max-width: 559px) {
  .navbar-brand img{
    height: 50%;
  }

  .hero .container-fluid .row .hero-title{
    padding-left: 1.5rem;
    padding-bottom: 1.5rem;
  }

  .cornice_hero {
    padding-left: 1rem !important;
    padding-top: 1rem;
    padding-bottom: 3rem;
    padding-right: 1rem;
  }

  .cornice_hero::before{
    content: "";
    position: absolute;
    top:0;
    left: 1rem;
    width: 80%;
    height: 100%;
    border: 1px solid var(--primo);
    background-color: var(--bianco-trasp);
    backdrop-filter: blur(5px);
    transform: skewX(-10deg);
    z-index: 1;
  }

  .cornice_hero h1{
    width: calc(100% - 4rem);
  }

  .cornice_hero h2{
    left: 1rem;
    width: calc(100% - 6rem);
  }

  .cornice_hero .cta_hero {
    position: relative;
    margin: 0;
    padding: 0 1rem;
    font-size: 0.6em;
    line-height: 0.6rem;
    font-weight: 400;
    color: var(--primo);
    z-index: 2;
    text-transform: uppercase;
    letter-spacing: 1px;
    left: -3rem;;
  }

  h3.subtitle-home {
    margin-bottom: 1rem;
    font-size: 1.2rem;
    line-height: 1.2rem;
    font-style: italic;
  }
  h2.title-home {
    margin-bottom: 2rem;
    font-size: 2rem;
    line-height: 2rem;
  }
  p {
    font-size: 0.8rem;
    line-height: 1.2rem;
    margin-bottom: 1rem;
  }

  .cta {
    margin: 1rem 0 0 0;
    padding: 0 1rem;
    font-size: 0.6rem;
    line-height: 0.6rem;
  }

  .img-frame-dx::before{
    display: none;
  }

  .prodotti_home {
    padding-top: 0rem;
    padding-bottom: 0rem;
  }

  .title-box {
    font-size: 1.2rem;
    line-height: 1.2rem;
    padding-bottom: 0.6rem;
  }

  .service-icon {
    position: relative;
    margin: -25px 0 25px 0;
    width: 4rem;
    height: 4rem;
  }

  .service-item {
    min-height: 400px;
    height: auto !important;
    height: 400px;
  }

  .img-frame-sx::before{
    display: none;
  }

  footer {
    padding-top: 1rem;
  }

  .logo_footer img {
    width: 8rem;
    margin-bottom: 1rem;
  }

  footer p {
    font-size: 0.8rem;
    line-height: 1.2rem;
  }

  .social-footer {
    width: 1.6rem;
    height: 1.6rem;
    margin-right: 0.8rem;
    margin-top: 1rem;
  }

  .social-footer i {
    font-size: 1rem;
  }
  footer h5 {
    font-size: 1.4rem;
    line-height: 1.4rem;
    padding-bottom: 0.6rem;
  }

  .link-list li {
    position: relative;
    margin: 0 0 0.6rem 0;
    font-size: 0.6rem;
    line-height: 1rem;
  }

  .back-to-top{
    display: none!important;
  }
  .copyright p {
    font-size: 0.6rem;
    line-height: .9rem;
  }

  .page-header {
    padding-top: 3rem;
    padding-bottom: 3rem;
  }

  h1.title-header-page {
    font-size: 4rem;
  }

  h2.subtitle-header-page {
    margin-bottom: 1rem;
    font-size: 1.5rem;
    line-height: 1.5rem;
  }
  .breadcrumb {
    font-size: 0.6rem;
    line-height: 0.8rem;
  }

  .title-page {
    margin-bottom: 2rem;
    font-size: 2rem;
    line-height: 2rem;
  }

  .subtitle-page {
    margin-bottom: 1rem;
    font-size: 1.2rem;
    line-height: 1.2rem;
  }

  ul.long-list li {
    width: 50%;
    font-size: 0.8rem;
    line-height: 1.2rem;
    padding: 0 0 0 1rem;
    margin: 0 0 1rem 0;
  }

  ul.long-list li::before {
    top: 6px;
    width: 0.6rem;
    height: 0.6rem;
  }

  .fascia_cta h3 {
    font-size: 1.8rem;
    line-height: 2rem;
  }

  .timeline-badge{
    position: absolute;
    width: calc(10rem + 160px);
    min-height: calc(3rem + 8px);
    top: 2rem;
    left: -8rem;
  }

  .timeline::before{
    left: 0.5rem;
  }

  .timeline:after {
    left: 0.5rem;
  }

  .chi-siamo_storia_01 h4,
  .chi-siamo_storia_02 h4{
    font-size: 2rem;
    line-height: 3rem;
  }

  .button_form{
    margin: 1rem 0 0 0;
    font-size: 0.6rem;
    line-height: 0.6rem;
  }

  .docpicker input::before {
    margin: 1rem 0 0 0;
    font-size: 0.6rem;
    line-height: 0.6rem;
  }
}

@media only screen and (max-width: 479px) {
	.navbar .navbar-brand, .navbar a.btn {
    height: 6rem;
    }
	
	.navbar-brand {
    padding-top: 0rem;
    padding-bottom: 0rem;
	}
}

@media only screen and (min-device-width: 320px) and (max-device-width: 480px) and (orientation: landscape) {

}

@media only screen
  and (min-device-width: 375px)
  and (max-device-width: 812px)
  and (orientation: landscape) {
}


a.page-numbers {
    color: var(--bianco);
    width: 22px;
    display: inline-block;
    text-align: center;
    background: var(--primo);
	transform: skewX(-10deg);
}

a.page-numbers:hover {
  background: var(--secondo);
}


span.page-numbers.current {
	color: var(--bianco);
    width: 22px;
    display: inline-block;
    text-align: center;
    background: var(--quarto);
	transform: skewX(-10deg);
}

/* FINE STILI MOBILE */

.wpml-ls-menu-item a span {
    display: flex;
    flex-direction: row-reverse;
}


img.wpml-ls-flag {
    position: relative;
    display: inline-block;
    margin-left: 0.5rem;
    transform: skewX(-10deg);
}

footer a{
  color: var(--primo)!important;
}

footer a:hover{
  color: var(--nero)!important;
}

.navbar-light .navbar-toggler-icon {
    background-image: none!important;
}

@media (max-width: 991.98px) {

  /* Voce lingua corrente: diventa una riga */
  .wpml-ls-current-language.dropdown {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: center;
    gap: 0.75rem;
  }

  /* La lingua corrente non apre più il dropdown */
  .wpml-ls-current-language > .dropdown-toggle {
    pointer-events: none;
  }

  /* Nasconde la freccetta del dropdown */
  .wpml-ls-current-language > .dropdown-toggle::after {
    display: none;
  }

  /* Sottomenu sempre visibile, in riga, senza stile da dropdown */
  .wpml-ls-current-language > .dropdown-menu {
    display: flex !important;
    flex-direction: row;
    gap: 0.75rem;
    position: static !important;
    transform: none !important;
    float: none;
    min-width: 0;
    margin: 0;
    padding: 0;
    border: 0;
    background: transparent;
    box-shadow: none;
  }

  .wpml-ls-current-language > .dropdown-menu .dropdown-item {
    padding: 0.5rem 0;
    background: transparent;
  }
}

    