@import url('https://fonts.googleapis.com/css2?family=Inter:ital,opsz,wght@0,14..32,100..900;1,14..32,100..900&family=Wix+Madefor+Display:wght@400..800&display=swap');
/*
Theme Name: Ventotto Pellicole
Author: Neiko srl
Author URI: http://www.neiko.it/
Description: 28 srl - 2025 theme
Version: 1.0
License: GNU General Public License v2 or later
*/

/*  FONTS e COLORI */
:root {
	
	--black: #202020; 
	--white: #F0F0F0;
	--blue: #0E82DA;
	--grey: #dddddd;	
	--wix: "Wix Madefor Display", serif;
	--inter: "Inter", serif;
	--font-weight-regular: 400; 
	--font-weight-bold: 500;		
	--bs-gutter-x: 1.5rem;
}

/* GENERAL */
html,body {  
	margin:0;
	padding:0;
	background-color:var(--white);
	color:var(--black);
	font-family: var(--inter);
	font-weight: var(--font-weight-regular);
	font-size: 16px !important;
	line-height: 1.5;
	text-rendering:optimizeLegibility;
	-webkit-font-smoothing:antialiased;
	-moz-font-smoothing:antialiased;
	-o-font-smoothing:antialiased;
}

@media (min-width: 1400px){ 
	html,body {
		font-size: 18px !important;
	}
}

@media(min-width: 1400px){
.container-fluid{
	padding-left: 10vw;
	padding-right: 10vw;
}
.container-left{
	padding-left: 10vw;	
	padding-right: 0;
}
.container-right{
	padding-right: 10vw;	
	padding-left: 0;
}
	
	
}

@media (min-width: 992px){ 
	.container-fluid{
		padding-left: 5vw;
		padding-right: 5vw;
	}
	.container-left{
		padding-left: 5vw;	
		padding-right: 0;
	}
	.container-right{
		padding-right: 5vw;	
		padding-left: 0;
	}
}

@media(max-width:991px){
	.container-left{
		width: 100%;
		margin: 0 auto;
		padding: 0 3%;
	}
}

img,a img {
	border:none!important;
	width: 100%;
	object-fit: cover;
	height: 100%;
	vertical-align: baseline;
}

::-moz-selection {
	background:none repeat scroll 0 0 #FFF;
	color:#000;
}

* {
	outline:0!important;
}

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

a,a:visited { 
	outline-style:none;
	text-decoration:none;
	color:var(--white);
}

a:hover {  
	cursor:pointer !important;
	color:var(--black);
	text-decoration:none;
}

/* Margini */

.m-fluid {
	margin: clamp(1rem, 3vw, 2rem);
}

.mx-fluid {
	margin-left: clamp(1rem, 3vw, 2rem);
	margin-right: clamp(1rem, 3vw, 2rem);
}

.my-fluid {
	margin-top: clamp(1rem, 3vw, 2rem);
	margin-bottom: clamp(1rem, 3vw, 2rem);
}

.mt-fluid {
	margin-top: clamp(1rem, 3vw, 2rem);
}

.mb-fluid {
	margin-bottom: clamp(1rem, 3vw, 2rem);
}

.m2-fluid {
	margin: clamp(2rem, 6vw, 4rem);
}

.mt2-fluid {
	margin-top: clamp(2rem, 6vw, 4rem);
}

.mb2-fluid {
	margin-bottom: clamp(2rem, 6vw, 4rem);
}

.mx2-fluid {
	margin-left: clamp(2rem, 6vw, 4rem);
	margin-right: clamp(2rem, 6vw, 4rem);
}

.my2-fluid {
	margin-top: clamp(2rem, 6vw, 4rem);
	margin-bottom: clamp(2rem, 6vw, 4rem);
}

/* Padding */

.p-fluid {
	padding: clamp(1rem, 3vw, 2rem);
}

.px-fluid {
	padding-left: clamp(1rem, 3vw, 2rem);
	padding-right: clamp(1rem, 3vw, 2rem);
}

.py-fluid {
	padding-top: clamp(1rem, 3vw, 2rem);
	padding-bottom: clamp(1rem, 3vw, 2rem);
}

.pt-fluid {
	padding-top: clamp(1rem, 3vw, 2rem);
}

.pb-fluid {
	padding-bottom: clamp(1rem, 3vw, 2rem);
}

.p2-fluid {
	padding: clamp(2rem, 6vw, 4rem);
}

.px2-fluid {
	padding-left: clamp(2rem, 6vw, 4rem);
	padding-right: clamp(2rem, 6vw, 4rem);
}

.py2-fluid {
	padding-top: clamp(2rem, 6vw, 4rem);
	padding-bottom: clamp(2rem, 6vw, 4rem);
}

.pt2-fluid {
	padding-top: clamp(2rem, 6vw, 4rem);
}

.pb2-fluid {
	padding-bottom: clamp(2rem, 6vw, 4rem);
}


/* TYPO */

.big{
	font-size: 1.2rem;
	line-height:1.4;   
}

.bigger{
	font-size: 1.4rem;
	line-height:1.4;   
}
.small{
	font-size: 0.85rem;	 
}

h1,.h1,h2,.h2,h3,.h3,h4,.h4,h5,.h5,h6,.h6{ 
	font-family: var(--wix);
	font-weight: var(--font-weight-bold);
	color:var(--black);
}

h1,.h1{
	font-size: 3.1rem; 
	font-weight:500;
}

h2,.h2{
	font-size: 2.8rem; 
	font-weight:600;
}

h3,.h3{
	font-size: 2.2rem; 
	font-weight: 500;
}

h4,.h4{
	font-size: 1.7rem; 
	font-weight: 400;
	line-height: 1.4;
}

h5,.h5{
	font-size: 1.5rem; 
	font-weight: 500;
	line-height: 1.4;
}

p{
	margin:0;
	padding:0;
}

@media(max-width:991px){
	h1,.h1{
		font-size: 1.8rem; 
		font-weight:500;
	}
	
	h2,.h2{
		font-size: 1.6rem; 
		font-weight:600;
	}
	
	h3,.h3{
		font-size: 1.5rem; 
		font-weight: 500;
	}
	
	h4,.h4{
		font-size: 1.2rem; 
		font-weight: 400;
		line-height: 1.4;
	}
	
	h5,.h5{
		font-size: 1.1rem; 
		font-weight: 500;
		line-height: 1.4;
	}
}


.wix{
	font-family: var(--wix);
}

.inter{
	font-family: var(--inter);
}

.white{
	color: var(--white);
}

.black, .black strong, .black a{
	color: var(--black) !important;
}

.btn-link{	
	border: 2px solid var(--blue);
	border-radius:40px;
	color: var(--white) !important;
	background-color: var(--blue);
	text-decoration: none;
	display: inline-flex;
	padding: 10px 30px;
	align-items: center;
	text-decoration: none !important;
	font-size: 1.1rem;
	transition: 0.3s;
	font-family: var(--wix);
}

.btn-icon{
	border: 2px solid var(--blue);
	border-radius:40px;
	color: var(--blue) !important;
	background-color: transparent;
	text-decoration: none;
	display: inline-flex;
	padding: 10px 30px;
	align-items: center;
	text-decoration: none !important;
	/* font-size: 1.1rem; */
	transition: 0.3s;
	font-family: var(--wix);
}

.btn-icon i{
	margin-right:5px;
	transition: 0.3s;
}

/* button per header, sia trasparente che nero */
.menu_trasparente .btn-empty{
	border: 2px solid var(--white);
	border-radius:40px;
	color: var(--white) !important;
	background-color: transparent;
	text-decoration: none;
	display: inline-flex;
	padding: 10px 30px;
	align-items: center;
	transition: 0.3s;
	font-size: 1.1rem;
	text-decoration: none !important;
	font-family: var(--wix);
	font-weight:500;
}

.menu_trasparente .btn-empty:hover{
	color: var(--black) !important;
	background-color: var(--white);
	text-decoration: none;
}

.header-settori-open .btn-empty,.header-menu-open .btn-empty{
	border: 2px solid var(--white);
	border-radius:40px;
	color: var(--white) !important;
	background-color: transparent;
	text-decoration: none;
	display: inline-flex;
	padding: 10px 30px;
	align-items: center;
	transition: 0.3s;
	font-size: 1.1rem;
	font-family: var(--wix);
	font-weight:500;
}

.btn-empty{
	border: 1px solid var(--black);
	border-radius:40px;
	color: var(--black) !important;
	background-color: transparent;
	text-decoration: none;
	display: inline-flex;
	padding: 10px 30px;
	text-decoration: none !important;
	align-items: center;
	transition: 0.3s;
	font-size: 1.1rem;
	font-family: var(--wix);
	font-weight:500;
}

.btn-empty-blue{
	border: 1px solid var(--blue);
	border-radius:40px;
	color: var(--blue) !important;
	background-color: transparent;
	text-decoration: none;
	display: inline-flex;
	padding: 10px 30px;
	text-decoration: none !important;
	align-items: center;
	transition: 0.3s;
	font-size: 1.1rem;
	font-family: var(--wix);
	font-weight:500;
}



.btn-empty:hover{
	color: var(--white);
	background-color: var(--black); 	
	text-decoration: none;
	color: var(--white) !important;
}

@media(max-width:991px){
	.btn-link, .btn-empty-blue, .btn-empty{
		padding: 0 20px;
	}
}

.btn-empty.landing{
	position: fixed;
	top:4%;
	color: var(--black);
	right:5%;
	width: 265px;
	text-decoration: none !important;
	background: linear-gradient(90deg, rgba(96, 155, 199, 1) 0%, rgba(255, 255, 255, 1) 50%, rgba(96, 155, 199, 1) 100%);
	border: 1px solid rgba(191, 215, 235, 1);
	animation-name: glare;
	background-size: 200% 200%;
	background-position: -100% 0;
	animation-duration: 4s;
	animation-iteration-count: infinite;
	animation-timing-function: linear;
}

.btn-empty.landing:hover{
	color: var(--black) !important;
	transform: scale(1.05);
	transition:0.3s;
}

@keyframes glare {
  0% {
	background-position: 100% 0;
	opacity: 1;
  }
  
  50% {
	background-position: 0 0;
	opacity: 1; 
  }
  
  100% {
	background-position: -100% 0;
	opacity: 1; 
  }
}

@keyframes grow {
  0% {
	background-position: 100% 0;
	opacity: 1;
	transform: scale(1);
  }
  
  50% {
	  background-position: 0 0;
	  opacity: 1;
	  transform: scale(1.15);
	}
  
  100% {
	background-position: -100% 0;
	opacity: 1;
	transform: scale(1);
  }
}

/* button per contact form */

input[type="submit"]{
	border: 2px solid var(--blue);
	border-radius:40px;
	color: var(--white);
	background-color: var(--blue);
	text-decoration: none;
	display: inline-flex;
	height:65px;
	align-items: center;
	transition: 0.3s;
	font-size: 1.1rem;
	font-family: var(--wix);
	width:200px;
	margin-top: 30px;
}

input[type="file"]{
	padding-top:6px;
}

.btn-link:hover{
	text-decoration:none;
	color: var(--white);
}

.btn-link i, .btn-empty-blue i{
	font-size: 30px;
	right: -5px;
	transition: 0.3s;
}

.btn-link img, .btn-empty-blue img{
	width:auto;
	height:22px;
}

.btn-link:hover i, .btn-empty-blue:hover i{
	position: relative;
	right: -8px;
	transition: 0.3s;
}

.black-background{
	background-color: var(--black);
	color: var(--white);
}

.black-background a, .black-background h3, .black-background strong, .black-background a:hover{
	color: var(--white);
	text-decoration: none;
}

.white-background{
	background-color: #fff;
	color: var(--black);
}

.light-background{
	background-color: var(--white);
	color: var(--black);
}

.white-background h3{
	color: var(--black);
}

.white-background a, .white-background a:hover{
	color: var(--black);
	text-decoration: none;
}

.grey-background{
	background-color: var(--grey);
	color: var(--black);
}

.rounded-frame{
	border-radius: 50px 50px 0 0 ;
}
.pre-rounded-frame{
	margin-bottom: -60px;
	padding-bottom: 60px;
}

@media(max-width:991px){
	.rounded-frame{
		border-radius: 20px 20px 0 0 ;
	}
	.pre-rounded-frame{
		margin-bottom: -30px;
		padding-bottom: 30px;
	}
}

/* .sup-rounded-frame{
	margin-top: -60px;
	position: relative;
	z-index:999999;
}  */

.z-index{
	position: relative;
	z-index: 3;
}
/* LENIS */

/* LENIS */
html.lenis, html.lenis body {
  height: auto;
}

.lenis.lenis-smooth {
  scroll-behavior: auto !important;
}

.lenis.lenis-smooth [data-lenis-prevent] {
  overscroll-behavior: contain;
}

.lenis.lenis-stopped {
  overflow: hidden;
}

.lenis.lenis-smooth iframe {
  pointer-events: none;
}


/* ACCORDION */

.accordion {
  background-color: transparent;
  color: #444;
  cursor: pointer;
  padding: 35px;
  width: 100%;
  border: none;
  border: 2px solid var(--grey);
  text-align: left;
  outline: none;
  font-size: 1rem;
  transition: 0.4s;
  margin-bottom:10px;
  margin-top:10px;
  border-radius: 20px;
}

@media(max-width:991px){
	.accordion{
		padding:15px;
	}
}

.active, .accordion:hover {
  background-color: var(--blue);
  border-color: var(--blue);
  color: var(--white);
}

.accordion:after {
  content: '\002B';
  color: #777;
  font-weight: normal;
  float: right;
  font-size: 24px;
  margin-left: 5px;
}

.active:after {
  content: "\2212";
}

.active:after, .accordion:hover:after{
	color: var(--white);
}

.panel {
  padding: 0 35px;
  background-color: var(--grey);
  border-radius:20px;
  max-height: 0;
  overflow: hidden;
  transition: max-height 0.2s ease-out;
}

.accordion p{
	padding:0;
	margin:0;
}

/* ANIMAZIONE TESTI */

.animated-text {
	overflow: hidden;
	display: block;
}

.animated-text span {
	display: inline-block;
	transform: translateY(100%);
	opacity: 0;
	transition: transform 1.5s cubic-bezier(0.08,0.82,0.17,1), opacity 1s cubic-bezier(0.08,0.82,0.17,1);
}

.animated-text.visible span {
	transform: translateY(0);
	opacity: 1;
}

/* LOADER */

#loading {
	position: fixed;
	inset: 0;
	z-index: 10000;
	background-color: var(--black);
	transition: transform .45s cubic-bezier(0.86, 0, 0.07, 1), opacity .25s ease;
	will-change: transform, opacity;
}

#loading.out {
	transform: translateY(-100%);
	opacity: 0;
	pointer-events: none;
}

#logo_img {
	width: 110px;
	height: auto;
}

.logo-animation-container {
	position: fixed;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
	animation: logoFadeIn .45s ease-out forwards;
	opacity: 0;
}

@keyframes logoFadeIn {
	0% {
		opacity: 0;
		transform: translate(-50%, -58%);
	}
	100% {
		opacity: 1;
		transform: translate(-50%, -50%);
	}
}

/* HEADER */

#header{
	position: absolute;
	top: 0;
	left:0;
	width: 100%;
	z-index: 999;
}
#header i{
	color: var(--blue);
}

#header .header-bar a:hover{
	color:#fff;
}

#header .navbar-brand svg{
	width: 100px;
	height: auto;
}

#header #menu-menu-mobile .btn-link{
	text-decoration: none;
	width: 270px;
	margin: 0 auto;
	display: inline-flex;
	justify-content: center;
	align-content: center;
	padding-top:7px;
	padding-bottom: 7px;
	margin-top: 20px;
}

#header #menu-menu-mobile .btn-link a{
	margin:0;
	border-bottom: none;
	padding:0;
}

@media(max-width: 991px){
	#header .navbar-brand svg{
		width: 70px;
		height: auto;
	}
}

@media (min-width: 991.99px) and (max-width: 1400px) {
  #header a {
	font-size: 14px;
  }
}

#header .navbar {
  position: fixed;
	width: 100%;
	top: 0px;
	opacity: 0;
	pointer-events: none;
	transform: translateY(-10px);
	transition:
	  top 0.35s cubic-bezier(.4,0,.2,1),
	  opacity 0.25s ease,
	  transform 0.35s cubic-bezier(.4,0,.2,1);
	will-change: top, opacity, transform;
}

#header.showfull .navbar {
   top: 44px;
   opacity: 1;
   pointer-events: auto;
   transform: translateY(0);
}
@media(max-width:991px){
	#header.showfull .navbar {
	   top: 0;
	}
}
.menu_trasparente #header.show .navbar {
  	top: 0px;
	opacity: 1;
	pointer-events: auto;
	transform: translateY(0);
	background: #111111;
	background: linear-gradient(180deg, rgba(7, 74, 124, 0.45) 50%, rgba(17, 17, 17, 0) 95%);
}

.menu_nero #header.show .navbar {
	  top: 0px;
	opacity: 1;
	pointer-events: auto;
	transform: translateY(0);
	background: #111111;
	background: linear-gradient(180deg, rgba(255, 255, 255, 0.45) 50%, rgba(17, 17, 17, 0) 95%);
}


#header #navbarMobile{
	background-color: var(--black);
	position: absolute;
	top:0;
	left:-100%;
	width: 100%;
	height: 100vh;
	padding-top: 120px;
	transition: 0.3s;
	padding-bottom:50px;
}

#header #navbarMobile.show{
	left:0;
	transition: 0.3s;
}

#header #navbarMobile a{
	text-align: center;
	margin-left:3%;
	padding:0;
	padding-bottom:5px;
	color: rgba(255,255,255,0.8) !important;
	margin-right:3%;
	margin-bottom:5px;
	font-size:1.1rem;
	text-decoration: none !important;
	/* border-bottom: 1px solid rgba(255,255,255,0.2); */
}

#header #navbarMobile li.current-menu-item a{
	color:#fff !important;
}

#header #navbarMobile .btn-empty{
	margin-left:3%;
	width:260px;
	margin-top:20px;
}

#header #navbarMobile .btn-empty a{
	border-bottom: none;
	margin-bottom:0;
	margin: 0 auto;
}

@media(min-width:991.99px){
	#header #navbarMobile{
	display: none !important;
	}
}

.navbar-toggler{
	
	padding:5px;
	border-radius:50%;
	width:50px;
	height:50px;
	display: flex;
	align-items:center;
	justify-content: center;
	outline: 0;
	border:none;
}

.menu_trasparente .navbar-toggler{
	background-color: var(--white);
}

.menu_nero .navbar-toggler{
	background-color: #dddddd;
}

.navbar-toggler:focus{
	box-shadow: transparent;
}
.navbar-toggler-icon{
	width:20px;
	height: 20px;
	vertical-align: middle;
}
.dropdown-toggle{
	position: relative;
	margin-right:20px;
}

.dropdown-toggle::after{
	color:var(--black);
	position: absolute;
	top: 50%;
	transform: translateY(-50%);
	right:0;
}

.menu_trasparente .dropdown-toggle::after{
	color:var(--white);
}

.menu_trasparente #menu-menu-principale li .nav-link{
	color: var(--white);
	padding-right:20px;
}

/* menu open sempre bianco */

.header-menu-open #menu-menu-principale li .nav-link, .header-settori-open #menu-menu-principale li .nav-link{
	color: var(--white);
	padding-right:20px;
}

.header-menu-open .dropdown-toggle::after, .header-settori-open .dropdown-toggle::after{
	color:var(--white);
}

#menu-menu-principale li .nav-link{
	color: var(--black);
	padding-right:20px;
}

#menu-menu-principale li.current-menu-item .nav-link{
	color: var(--blue);
}

/* PRODOTTI E SETTORI MENU IN APERTURA */

#prodotti-menu, #settori-menu{
	background-color: var(--black);
	display: none;
	position:absolute;
	top:0;
	left:0;
	width:100%;
	padding-top: 150px;
}

#header .menu-right li a{
	color: rgba(255, 255, 255, 0.65);
	transition: 0.3s;
}

#header .menu-right li a:hover{
	color:#fff;
	transition: 0.3s;
}

#header .menu-right .menu-menu-settori-container ul, #header .menu-right .menu-menu-prodotti-container ul{
	list-style: none !important;
	display: flex;
	padding:0;
	margin:0;
	flex-wrap:wrap;
}

#header .menu-right i{
	color:#fff;
}
#header .menu-left .menu-menu-settori-container ul, #header .menu-left .menu-menu-prodotti-container ul{
	list-style: none !important;
	padding:0;
	margin:0;
}

#header .menu-right .menu-menu-settori-container ul li, #header .menu-right .menu-menu-prodotti-container ul li{
	width: 50%;
}

.display-none {
	display: none;
}

.display-block {
	display: block;
}


#header .menu-right .menu-menu-settori-container ul li a, #header .menu-right .menu-menu-prodotti-container ul li a{
	font-family: var(--wix);
	font-size: 1.25rem;
	display: block;
	margin-bottom:10px;
}


/* FOOTER */

footer #menu-menu-prodotti-2 li a, footer #menu-menu-strumenti li a{
	padding:0;
	color: rgba(255,255,255,0.5);
}
footer .social-media i{
	transition:0.3s;
}
footer .social-media i:hover{
	color:var(--blue);
	transition:0.3s;
}


/* PAGINE */

.overlay-home{
	position: absolute;
	top: 0;
	left: 0;
	background-color: rgba(0,0,0,0.35);
	width: 100%;
	z-index:2;
	height: 100%;
}

#herosection .slideshow{
	width: 100%;
	height: 100vh;
}
#herosection .slick-slide{
	height: 100%;
}

.slideshow picture, .slideshow img{
	height: 100vh;
	display: block;
}



.slick-dots{
	bottom: 35px;
}
.slick-dotted.slick-slider{
	margin-bottom:0;
}

.slick-dots li.slick-active button:before,.slick-dots li button:before{
	color:#fff;
}

.slick-dots li button:before{
	font-size:12px;
}

#herosection .herotext{
	position: absolute;
	z-index: 3;
	bottom: 200px;
	left: 0;
	width: 100%;
	height: auto;
}

@media(max-width:991px){
	#herosection .slideshow{
		height: 60vh;
	}
	.slideshow picture, .slideshow img{
		height: 60vh;
	}
	#herosection .herotext{
		bottom: 50px;
	}
}
.opacity-light{
	color: rgba(255,255,255,0.65) !important;
}

.opacity-light strong{
	color: #fff !important;
}

.opacity-dark{
	color: rgba(0,0,0,0.6) !important;
}

.opacity-dark strong{
	color: #000 !important;
}

#strumenti_ventotto .strumento:not(:last-of-type){
	border-right: 1px solid rgba(255,255,255,0.2);	
}

.round-image{
	border-radius: 10px;
	overflow:hidden;
}

.round-section{
	border-radius: 20px;
	overflow:hidden;
}

@media(min-width:991.99px){
	.slide-settori .slick-slide, .slide-pellicole .slick-slide, .slide-referenze .slick-slide{
		margin-right:20px;
		margin-left:0;
	}
}
.slide-settori .slick-slide, .slide-pellicole .slick-slide, .slide-referenze .slick-slide{
	margin-right:5px;
	margin-left:5px;
}

.slide-referenze .slick-next i, .slide-referenze .slick-prev i{
	color: var(--black);
}

.slide-referenze img{
	width: 120px;
	height: auto;
}

.social-media i{
	font-size: 30px;
}

#pannello_informazioni .single-information{
	border-radius: 20px;
	box-shadow: 0 3px 10px rgba(0,0,0,0.1);
	padding:40px;
	color: var(--black);
}

#pannello_informazioni .single-information a{
	color: var(--black);
}

@media(min-width:991.99px){
	#pannello_informazioni .single-information{
		height: 300px;
	}
}

.icona{
	width: 75px;
	height: auto;
	height:75px;
	background-color: var(--blue);
	border-radius: 50%;
	display: flex;
	align-items:center;
	justify-content: center; 
}

.icona-pellicola{
	width: 75px;
	height:75px;
	background: rgba(255, 255, 255, 0.5);
	border-radius: 16px;
	box-shadow: 0 4px 30px rgba(0, 0, 0, 0.1);
	backdrop-filter: blur(8.9px);
	-webkit-backdrop-filter: blur(2px);
	border-radius: 50%;
	display: flex;
	align-items:center;
	justify-content: center; 
	position: absolute;
	top: 15px;
	left: 15px;
	z-index: 2;
	transition: 0.3s;
}

@media(max-width:991px){
	.icona-pellicola{
		width: 45px;
		height:45px;
	}
}

/* .soluzione-singola:hover .icona-pellicola{
	background-color: var(--blue);
	transition: 0.3s;
} */

.icona img, .icona-pellicola img{
	height: 30px;
	width: auto;
	max-width: 37px;
	object-fit: contain;
}

#case_study .icona {
	position: absolute;
	top:20px;
	right:20px;
}

.border-bottom-black{
	border-bottom: 1px solid #aaa;
	width: 100%;
}


/* FORM DI CONTATTO */

input{
	width: 100%;
	background-color: var(--white);
	color: #282828;
	height: 40px;
	padding-left: 15px;
	border:none;
	margin-bottom: 20px;
	border-radius: 10px;
	font-size: 16px;
}
label{
	width:100%;
}

select{
	width: 100%;
	background-color: var(--white);
	color: #282828;
	height: 40px;
	padding-left: 15px;
	border:none;
	margin-bottom: 20px;
	margin-top:20px;
	border-radius: 10px;
	font-size: 16px;
}

.wpcf7-response-output{
	margin:0 !important;
}

textarea{
	width: 100%;
	background-color: var(--white);
	color: #282828;
	padding-top: 15px;
	padding-left: 15px;
	border:none;
	margin-bottom: 20px;
	border-radius: 10px;
	font-size: 16px;
}

:placeholder{
	color: #ddd;
}

@media(min-width:991.99px){
	.half-row p{
		display: flex;
		justify-content: space-between;
	}
}


.half-row .wpcf7-form-control-wrap{
	width:49%;
}
label{
	margin-top: 20px;
}
.wpcf7-list-item{
	margin:0 !important;
}
input[type="checkbox"]{
	display: inline;
	width: 15px;
	height: 15px;
	margin-bottom:0;
	margin-right: 5px;	
}
@media(min-width:992px){
	.fixed-back{
		background-attachment: fixed !important;
	}
}

.single-plus{
	height: 600px;
	border-radius:10px;
	overflow: hidden;
	padding:30px;
}

.single-plus .superbig{
	font-size:5rem;
	font-weight:700;
}

@media(max-width:991px){
	.single-plus{
		height: 400px;
	}
	
	.single-plus .superbig{
		font-size:3rem;
	}
}

#elenco_servizi_azienda img{
	border-radius: 10px;
	overflow: hidden;
}

.single-servizio{
	color: var(--black);
	background-color: var(--white);
	border-radius: 20px;
	box-shadow: 0 0 10px rgba(0,0,0,0.1);
}

.single-servizio a{
	color: var(--black);
	text-decoration: underline;
}

.single-servizio strong{
	color: var(--black);
}

.single-servizio a:hover{
	color: var(--black);
}

.single-servizio svg{
	width:100px;
	height:100px;
}

@media(max-width:991px){
	.single-servizio svg{
		width:60px;
		height:60px;
	}
}


.recensione{
	padding: 70px;
	background-color: var(--white);
	border-radius: 20px;
	box-shadow: 0 0 10px rgba(0,0,0,0.1);
}

#lavora_con_noi a{
	color: var(--black);
}

.bread a{
	color: var(--black);
	text-decoration: underline;
}

.single-news svg{
	width:80px;
	height: 80px;
	margin-right:10px;
	transition: 0.4s;
}

@media(max-width:991px){
	.single-news svg{
		display: none;
		
	}
}

.single-news:hover svg{
	transform: rotate(45deg);
	transition: 0.4s;	
}

.single-news:hover svg circle{
	fill: rgba(14, 130, 218, 0.3);
	transition: 0.4s;
}

.menu-veloce a{
	color: #888;
	transition:0.3s;
}

.menu-veloce a:hover{
	color: var(--blue);
}

.menu-veloce i{
	transition:0.3s;
}

.menu-veloce a:hover i{
	transform: rotate(90deg);
	transition:0.3s;
	color: var(--blue);
}

.embed-container{
	height: auto !important;
	width:100%;
}

.slick-prev:before, .slick-next:before{
	display: none;
}

.slick-prev{
	left: 20px;
	z-index:6;
	transform: translateY(-50%) !important;
	
}

.slick-prev i{
	color:#fff;
	font-size:50px;
	text-shadow: 0 0 20px rgba(0,0,0,0.2);
	
}

.slick-next{
	right: 20px;
	z-index:6;
	transform: translateY(-50%) !important;
}


.slick-prev, .slick-next{
	width:50px;
	height: 50px;
	top: 42%;
}

#single-progetto #gallery .slick-prev, #single-progetto #gallery  .slick-next{
	width:50px;
	height: 50px;
	top: 47%;
}

.slick-next i{
	color:#fff;
	font-size:50px;
	text-shadow: 0 0 20px rgba(0,0,0,0.2);
}
.riferimento_azienda{
	width: 200px;
	height: auto;
}

@media(max-width:991px){
	.slick-next{
		right: 10px;
	}
	
	.slick-prev{
		left: 10px;
	}
}

.banner-azienda{
	background-repeat: no-repeat;
	background-position: center; 
	background-size: cover; 
	height:650px;
}

@media(max-width:991px){
	.banner-azienda{
		height: 300px;
	}
}

.zoom_img::after{
	position:absolute;
	content: "";
	top:0;
	left:0;
	background-color: rgba(0, 0, 0, 0.25);
	width: 100%;
	height: 100%;
	opacity: 0.5;
	transition: 0.3s;
}

.zoom_img:hover::after{
	opacity:1;
	transition: 0.3s;
	background-color: rgba(14, 130, 218, 0.3);
}

.sezione-singola .row::after{
	content: "";
	top: 0;
	left:0.5%;
	width:99%;
	height: 100%;
	background-color: #fff;
	position: absolute;
	border-radius:20px;
}

#pannello_plus .single-plus h4{
	position: absolute;
	bottom: 30px;
	left: 30px;
}

.contenuto a{
	color: var(--blue);
	text-decoration: underline !important;
}

.contenuto h2{
	font-size: 1.9rem;
	padding-bottom:15px;
	padding-top:15px;
}

.contenuto h3{
	font-size: 1.7rem;
	padding-bottom:15px;
	padding-top:15px;
}

.contenuto h4{
	font-size: 1.5rem;
	padding-bottom:15px;
	padding-top:15px;
}

.contenuto h5{
	font-size: 1.3rem;
	padding-bottom:15px;
	padding-top:15px;
}

.contenuto img.logo{
	width:250px;
}

.contenuto, .contenuto strong{
	color:var(--black);
}

.single p, .contenuto p{
	margin-bottom:1em;
}

.contenuto img{
	width: 100%;
	max-width:1100px;
	height: auto;
}

.contenuto img.logo{
	width: 250px;
}

#page-settoresingle #informazioni_tecniche a{
	text-decoration: underline;
	color: var(--black);
}

#page-pellicolasingle #informazioni_tecniche a{
	text-decoration: underline;
	color: var(--white);
}

#case_study a{
	text-decoration: underline;
}

.pagination{
	display: flex;
	justify-content: end;
}

.pagination a, .pagination span{
	color:var(--black);
	margin-left:7px;
	font-size:1.1rem;
	font-weight: 300;
}

.pagination .current{
	font-weight: 600;
}

.w3-button{
	border: 2px solid var(--blue);
	border-radius: 40px;
	color: var(--blue) !important;
	background-color:transparent;
	text-decoration: none;
	display: inline-flex;
	padding: 12px 30px;
	align-items: center;
	text-decoration: none !important;
	font-size: 1.1rem;
	transition: 0.3s;
	font-family: var(--wix);
	margin-right:5px;
	margin-bottom:5px;
}

.w3-button.w3-red {
	background-color: var(--blue);
	color: #fff !important;
}

/* qui informazioni per la tabella */

.tabella_informazioni_aggiuntive .table-fixed {
  table-layout: fixed;                      /* forza il rispetto delle larghezze del colgroup */
  width: 100%;
  --border-soft: rgba(0, 0, 0, .08);
  --bs-border-color: var(--border-soft);
}

.tabella_informazioni_aggiuntive .table-fixed thead th {
  background: rgba(var(--bs-primary-rgb), .06);  /* coerente con il tema Bootstrap */
  border-bottom: 1px solid var(--border-soft);
  font-weight: 600;
}

.tabella_informazioni_aggiuntive .table-fixed > :not(caption) > * > * {
  border-right: 1px solid var(--border-soft);    /* bordo tra celle */
  word-wrap: break-word;
  overflow-wrap: anywhere;                       /* gestisce testi lunghi */
}
.tabella_informazioni_aggiuntive .table-fixed > :not(caption) > * > *:last-child {
  border-right: 0;                               /* no bordo sull’ultima cella */
}

/* Zebra stripes più sottili, agganciate al primary del tema */
.tabella_informazioni_aggiuntive .table-striped {
  --bs-table-striped-bg: rgba(var(--bs-primary-rgb), .04);
  --bs-table-striped-color: inherit;
}

#simulatore input{
	border: 1px solid var(--black);
}

#simulatore select{
	border: 1px solid var(--black);
	width:100%;
	padding:7px;
	border-radius: 10px;
}

/* .richiedi-preventivo {
	position: fixed;
	right: 4%;
	transition:	opacity 0.4s cubic-bezier(.4,0,.2,1),
	transform 0.4s cubic-bezier(.4,0,.2,1);
}

.richiedi-preventivo-visible .richiedi-preventivo{
	top: 35px;
	right:4%;
	transition:	opacity 0.4s cubic-bezier(.4,0,.2,1),
	transform 0.4s cubic-bezier(.4,0,.2,1);
	background-color: var(--blue);
} */

/* qui elenco pannelli del comparatore */

#pannello_comparatore #selettive .elenco_pannelli, #pannello_comparatore #riflettenti .elenco_pannelli{
	width: 85.5%;
	height: 73%;
	position: absolute;
	background-color: rgba(0,0,0,0.01);
	z-index: 10;
	top: 10.5%;
	left: 7.5%;
	display: flex;
}

#pannello_comparatore #selettive .elenco_pannelli .singolo_pannello{
	display:flex;
	justify-content: center;
	align-items: end;
	flex: 0 0 calc(100% / 7);
	border:none;
	background-color: transparent;
	padding:0;
	max-width: calc(100% / 7);
}



#pannello_comparatore #selettive .elenco_pannelli .singolo_pannello:last-of-type:hover,
#pannello_comparatore #riflettenti .elenco_pannelli .singolo_pannello:last-of-type:hover{
	cursor: auto;
}

#pannello_comparatore #riflettenti .elenco_pannelli .singolo_pannello{
	display:flex;
	justify-content: center;
	align-items: end;
	flex: 0 0 calc(100% / 9);
	border:none;
	background-color: transparent;
	padding:0;
	max-width: calc(100% / 9);
}

#pannello_comparatore #selettive .elenco_pannelli .singolo_pannello .pannello, #pannello_comparatore #riflettenti .elenco_pannelli .singolo_pannello .pannello{
	background-color: #011D33;
	height:100%;
	width:100%;
}

#pannello_comparatore #selettive .elenco_pannelli .singolo_pannello .text, #pannello_comparatore #riflettenti .elenco_pannelli .singolo_pannello .text{
	color: var(--white);
	opacity: 1;
	position: absolute;
	bottom: 0;
	left: 50%;
	transform: translateX(-50%);
	width:100%;
	padding-bottom:20px;
}


#pannello_comparatore #selettive .elenco_pannelli .singolo_pannello .temperatura, #pannello_comparatore #riflettenti .elenco_pannelli .singolo_pannello .temperatura{
	color: var(--white);
	opacity: 1;
	position: absolute;
	top: 15px;
	left: 50%;
	transform: translateX(-50%);
	width:100%;
	z-index: 10;
	width: 60px;
	height:60px;
	border-radius:50%;
	background-color: var(--blue);
	display: flex;
	align-items: center;
	justify-content: center;
	box-shadow: 0 2px 5px rgba(0,0,0,0.15);
}

@media(max-width:991px){
	#pannello_comparatore #selettive .elenco_pannelli .singolo_pannello .temperatura, #pannello_comparatore #riflettenti .elenco_pannelli .singolo_pannello .temperatura{
		width: 45px;
		height: 45px;
	}
	
	#pannello_comparatore #selettive .text, #pannello_comparatore #riflettenti .text{
		font-size: 0.8rem;
		line-height: 1;
	}
}

#pannello_comparatore #selettive .elenco_pannelli .singolo_pannello:last-of-type .temperatura, #pannello_comparatore #riflettenti .elenco_pannelli .singolo_pannello:last-of-type .temperatura{
	background-color: #DF7810;
}

#pannello_comparatore #selettive .elenco_pannelli .singolo_pannello .text .circle_button, 
#pannello_comparatore #riflettenti .elenco_pannelli .singolo_pannello .text .circle_button{
	width:40px;
	height: 40px;
	display: flex;
	align-items: center;
	justify-content: center;
	border-radius:50%;
	border: 1px solid var(--white);
	margin: 0 auto;
	background-color: transparent;
	margin-top: 12px;
}



#pannello_comparatore #selettive .elenco_pannelli .singolo_pannello:hover .circle_button,
#pannello_comparatore #riflettenti .elenco_pannelli .singolo_pannello:hover .circle_button{
	border: 1px solid var(--blue);
	background-color: var(--blue);
	transition: 0.3s;
}

#pannello_comparatore #selettive .elenco_pannelli .singolo_pannello .text .circle_button svg,
#pannello_comparatore #riflettenti .elenco_pannelli .singolo_pannello .text .circle_button svg{
	width:15px;
	height: 15px;
	transition: 0.3s;
}

#pannello_comparatore #selettive .elenco_pannelli .singolo_pannello .text p,
#pannello_comparatore #riflettenti .elenco_pannelli .singolo_pannello .text p,
#pannello_comparatore #selettive .elenco_pannelli .singolo_pannello .temperatura,
#pannello_comparatore #riflettenti .elenco_pannelli .singolo_pannello .temperatura{
	opacity: 0;
	transition: 0.3s;
}

@media(max-width:991px){
	#pannello_comparatore #selettive .elenco_pannelli .singolo_pannello .text .circle_button, 
	#pannello_comparatore #riflettenti .elenco_pannelli .singolo_pannello .text .circle_button{
		width:25px;
		height: 25px;
		
	}
	
	#pannello_comparatore #selettive .elenco_pannelli .singolo_pannello .text .circle_button svg,
	#pannello_comparatore #riflettenti .elenco_pannelli .singolo_pannello .text .circle_button svg{
		width:10px;
		height: 10px;
	}
}

#pannello_comparatore #selettive .elenco_pannelli .singolo_pannello:last-of-type .text p,
#pannello_comparatore #riflettenti .elenco_pannelli .singolo_pannello:last-of-type .text p{
	opacity: 1;
}

#pannello_comparatore #selettive .elenco_pannelli .singolo_pannello:hover .text p,
#pannello_comparatore #riflettenti .elenco_pannelli .singolo_pannello:hover .text p,
#pannello_comparatore #selettive .elenco_pannelli .singolo_pannello:hover .temperatura,
#pannello_comparatore #riflettenti .elenco_pannelli .singolo_pannello:hover .temperatura
{
	opacity: 1;
	transition: 0.3s;
}

#pannello_comparatore #selettive .elenco_pannelli .singolo_pannello:last-of-type .temperatura,
#pannello_comparatore #riflettenti .elenco_pannelli .singolo_pannello:last-of-type .temperatura{
	opacity: 1 !important;
}

#pannello_comparatore .dati_temperatura{
	background-repeat: no-repeat;
	background-size: cover;
	background-position: center;
	height: 100%;
	width:100%;
	position: relative;
}

#pannello_comparatore .dati_temperatura .img_background{
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	padding: 0;
	margin: 0 auto;
	height: 100%;
	border-radius:10px;
}

#pannello_comparatore .dati_temperatura .dati_temperatura_cella{
	border: 1px solid rgba(255,255,255,0.4);
	background-color: rgba(255,255,255,0.15);
	border-radius: 10px;
}

#pannello_comparatore #selettive .elenco_pannelli .celle_dati svg,
#pannello_comparatore #riflettenti .elenco_pannelli .celle_dati svg{
	width: 70px;
	height:70px;
}

#pannello_comparatore .elenco_pannelli .singolo_pannello.is-active{
	border: 0.5px solid rgba(255,255,255,0.8) !important;
}

/* Simulatore */

#risultati_simulatore {
	background-color: var(--grey);
	padding: 50px;
	margin: 50px 0;
}

#risultati_simulatore .icon_simulatore {
	width: 80px;
	height: auto;
}

#risultati_simulatore .risultato{
	background-color: var(--blue);
	color: #FFF;
	display: inline-block;
	padding: 2px 5px;
	margin-bottom: 15px;
	font-weight: 500;
	border-radius: 40px;
	padding: 10px 25px;
}

#form_simultatore h5 {
	background-position: left center;
	background-repeat: no-repeat;
	height: 50px;
	padding-left: 60px;
	line-height: 50px;
}

#form_simultatore h5#superficie {
	background-image: url(images/simultatore_1.png);
}
	
#form_simultatore h5#vetro {
	background-image: url(images/simultatore_2.png);
}

#form_simultatore h5#pellicola {
	background-image: url(images/simultatore_3.png);
}

#form_simultatore h5#climatizzatore {
	background-image: url(images/simultatore_4.png);
}

#form_simultatore h5#costo {
	background-image: url(images/simultatore_5.png);
}

.white_background{
	background-color: var(--white);
	color: var(--black);
	border-radius: 30px;
	padding: 5px 10px;
	display: inline-flex;
	margin-bottom:4px;
}

@media(max-width:991px){
	.white_background{
		padding: 5px 5px;
	}
}

/* breadcrumb */

.rank-math-breadcrumb a{
	color: var(--black);
	text-decoration: underline;
}

/* effetto prima e dopo */
.c-ba{
  --reveal: 50%;
  position: relative;
  overflow: hidden;
  border-radius: 10px;
  user-select: none;
}

/* immagini */
.c-ba__img{
  display: block;
  width: 100%;
  height: auto;
}

/* prima overlay: FULL SIZE + clip, NON viene ridimensionata dal reveal */
.c-ba__img--before{
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  -webkit-clip-path: inset(0 calc(100% - var(--reveal)) 0 0);
  clip-path: inset(0 calc(100% - var(--reveal)) 0 0);
}

/* labels */
.c-ba__label{
  position: absolute;
  bottom: 12px;
  padding: 6px 10px;
  font-size: 12px;
  letter-spacing: .06em;
  text-transform: uppercase;
  background: rgba(0,0,0,.55);
  color: #fff;
  border-radius: 999px;
  backdrop-filter: blur(6px);
  z-index: 4;
  pointer-events: none;
}
.c-ba__label--after{ left: 12px; }   /* DOPO in alto a sinistra */
.c-ba__label--before{ right: 12px; } /* PRIMA in alto a destra */

/* divider + handle */
.c-ba__divider{
  position: absolute;
  top: 0;
  left: var(--reveal);
  transform: translateX(-50%);
  width: 3px;
  height: 100%;
  background: rgba(255,255,255,.95);
  box-shadow: 0 0 0 1px rgba(0,0,0,.18);
  z-index: 3;
  pointer-events: none;
}
.c-ba__handle{
  position: absolute;
  top: 50%;
  left: var(--reveal);
  transform: translate(-50%, -50%);
  width: 38px;
  height: 38px;
  border-radius: 999px;
  background: rgba(255,255,255,.95);
  box-shadow: 0 10px 24px rgba(0,0,0,.18);
  border: 1px solid rgba(0,0,0,.12);
  z-index: 4;
  pointer-events: none;
}

/* hit-area: cattura drag/click */
.c-ba__hit{
  position: absolute;
  inset: 0;
  cursor: ew-resize;
  z-index: 5;
  touch-action: none; /* importantissimo: blocca lo scroll durante drag */
}

/* range SOLO accessibilità (fuori dal “gioco” del drag) */
.c-ba__range{
  position: absolute;
  left: -9999px;
  width: 1px;
  height: 1px;
  opacity: 0;
}

.c-ba:focus-within{
  outline: 2px solid rgba(0,0,0,.25);
  outline-offset: 2px;
}

@media(max-width:1400px){
	.margintop{
		margin-top: 75px;
	}
}

#elenco_realizzazioni strong{
	color: var(--black);
}

/* recaptcha */
 .grecaptcha-badge{
	 display: none !important;
 }
 .page-template-page-contatti .grecaptcha-badge,  .page-template-page-registrazionegaranzia .grecaptcha-badge{
	 display: flex !important;
 }