@import"skeleton.min.css";
@import"reset.css";
@import url('https://fonts.googleapis.com/css2?family=Wix+Madefor+Text:ital,wght@0,400..800;1,400..800&display=swap');

html {
  scroll-behavior: smooth; 
}

body { 
	position:relative;
	font-family: "Wix Madefor Text", sans-serif;
	font-weight:300;
	font-size:20px;
	line-height:30px;
	color:#424239;
	background-color:#FFF;
	margin:0px; }

	
b { font-weight:700; }
.bold { font-weight:900; }

.textSmall {
	font-size:14px; line-height: 20px;}

.p0 {padding:0px;}
p, 
.p1	{padding-bottom:5px;}
.p2	{padding-bottom:10px;}
.p3	{padding-bottom:15px;}
.p4	{padding-bottom:20px;}
.p5	{padding-bottom:25px;}
.p50 {padding-bottom:50px;}

.m1	{margin-bottom:5px;}
.m2	{margin-bottom:10px;}
.m3	{margin-bottom:15px;}f
.m4	{margin-bottom:20px;}
.m5	{margin-bottom:25px;}

a {color:#74C973; text-decoration: none;}
a:hover {color:#74C973; text-decoration: underline;}
a.current { text-decoration: underline; }

a.block {
	display:inline-block;
	border-bottom: 1px solid #ffffff;
	border-top: 1px solid #ffffff;
	color:inherit;
	text-decoration: none;}
a.block:hover {
	color:inherit;
	text-decoration: none;
	border-bottom: 1px solid #74C973;
	border-top: 1px solid #74C973;
	_filter: brightness(85%);}

.aleft		{text-align:left;}
.acenter	{text-align:center;}
.ajustify	{text-align:justify;}
.aright		{text-align:right;}
.pleft		{float:left;}
.pright		{float:right;}


h1, .h1 {
	font-size:70px;
	color: #74C973;
	line-height:70px;
	font-weight:700;}
h1.small, .h1.small { font-size: 45px; line-height: 50px; }
h2, .h2 {
	font-size:30px;
	color: #74C973;
	line-height:32px;
	font-weight:700;}
h2.small { font-size: 26px; font-weight: 400; }
h3, .h3 {
	font-size:28px;
	color: #74C973;
	line-height:38px;
	font-weight:300;}

.textBig { font-size: 30px; line-height: 36px; }

.container_12 img {
	max-width:100%; }

.gray { color: #424239; }
.white { color: #fff; }
.green { color: #74C973;}

.lgreyBack { background-color: #F2F1EF; }
.greenBack { background-color: #74C973; }

/* Header */

#background {
  width: 100%;
  height: 100vh; }
#background .slick-list,
#background .slick-track,
#background .slick-slide,
#background .slick-slide > div {
  height: 100%;}
#background img {
  width: 100%;
  height: 100%;
  object-fit: cover; }


#homeVideo {
  position: absolute;
  top: 50%;
  left: 50%;
  width: 100%;
  height: 100%;
  object-fit: cover;       /* come background-size: cover */
  object-position: center; /* centra il video */
  transform: translate(-50%, -50%);
  z-index: 10; }


#header { position: absolute; padding-top: 50px; width: 100%; z-index: 1000; }

#header #logo { float: left; }
#header #logo img { width: 200px; _transition: filter 0.5s ease; }
.whiteLogo { filter: brightness(0) invert(1); }

#hamburger {
	margin-top: 15px;
	width: 45px;
	height: 45px;
	float: right;
	-webkit-transform: rotate(0deg);
	-moz-transform: rotate(0deg);
	-o-transform: rotate(0deg);
	transform: rotate(0deg);
	-webkit-transition: .5s ease-in-out;
	-moz-transition: .5s ease-in-out;
	-o-transition: .5s ease-in-out;
	transition: .5s ease-in-out;
	cursor: pointer;
}
#hamburger span {
	display: block;
	position: absolute;
	height: 5px;
	width: 100%;
	background: #fff;
	border-radius: 9px;
	opacity: 1;
	left: 0;
	-webkit-transform: rotate(0deg);
	-moz-transform: rotate(0deg);
	-o-transform: rotate(0deg);
	transform: rotate(0deg);
	-webkit-transition: .25s ease-in-out;
	-moz-transition: .25s ease-in-out;
	-o-transition: .25s ease-in-out;
	transition: .25s ease-in-out;
}
#hamburger span:nth-child(1) {
	top: 0px;
}
#hamburger span:nth-child(2),#hamburger span:nth-child(3) {
	top: 15px;
}
#hamburger span:nth-child(4) {
	top: 30px;
}
#hamburger.open span:nth-child(1) {
	top: 15px;
	width: 0%;
	left: 50%;
}
#hamburger.open span:nth-child(2) {
	-webkit-transform: rotate(45deg);
	-moz-transform: rotate(45deg);
	-o-transform: rotate(45deg);
	transform: rotate(45deg);
}
#hamburger.open span:nth-child(3) {
	-webkit-transform: rotate(-45deg);
	-moz-transform: rotate(-45deg);
	-o-transform: rotate(-45deg);
	transform: rotate(-45deg);
}
#hamburger.open span:nth-child(4) {
	top: 15px;
	width: 0%;
	left: 50%;
}

.whiteHamburger { background: #fff !important; }


#menu { 
	color: white;
	position: fixed;
	top: 0;
	z-index: 100;
	display: none;
	height: 100vh;
	width: 100vw;
	background-color: #74C973;
}

#mainMenu { 
	padding-top: 200px;
}
#mainMenu li { padding-bottom: 50px; }
#mainMenu a {
	color: white;
	font-size: 25px;
	text-transform: uppercase;
}

#social { padding-top: 50px; }
#social a { color: white; margin-right: 50px; }
#social img { width: 30px; padding-right: 10px; }
#social img.accoya { float: right; width: 200px; margin-top: -10px; }

/* Submenu che si apre a destra */
.submenu {
  display: none;
  position: absolute;
  top: 200px;
  left: 500px;
  min-width: 400px;
  z-index: 1000;
}

.submenu li {
  position: relative;
}

/* Sub-submenu (terzo livello) */
.sub-submenu {
  display: none;
  position: absolute;
  top: 0;
  left: 100%;
  min-width: 400px;
  z-index: 1000;
}

/* Sub-sub-submenu (quarto livello) */
.sub-sub-submenu {
  display: none;
  position: absolute;
  top: 0;
  left: 100%;
  min-width: 400px;
  z-index: 1000;
}

/* Mostra i menu quando si passa sopra */
#mainMenu li:hover > .submenu {
  display: block;
}

.submenu li:hover > .sub-submenu {
  display: block;
}

.sub-submenu li:hover > .sub-sub-submenu {
  display: block;
}

.submenu a, .sub-submenu a, .sub-sub-submenu a { text-transform: none !important; }


#mainMenu li > a {
    position: relative;
    display: inline-block; /* importante */
}

/* freccia sottomenu */
#mainMenu li:has(> ul) > a::after {
    content: "▸";
    position: absolute;
    right: -25px;   /* distanza dalla scritta */
    top: 50%;
    transform: translateY(-50%);
    text-decoration: none;
    pointer-events: none;
    opacity: 0;
    transition: opacity 0.2s ease;
}

/* freccia sottomenu, mostra solo quando attivo */
#mainMenu li:has(> ul):hover > a::after {
    opacity: 1;
}







/* Content */

#content { padding-top: 127px; }

a.btn { 
	position: absolute;
	color: #424239;
	font-size: 18px;
	text-transform: uppercase;
	font-weight: 700;
	padding: 5px 15px;
}
a.btn:hover { text-decoration: none; }

a.btn::before,
a.btn::after,
a.btn span::before,
a.btn span::after {
  content: '';
  position: absolute;
  width: 12px;
  height: 20px;
  background: transparent;
  transition: 1s;
  /* -webkit-mix-blend-mode: hue; */
}

a.btn::before {
  top: -2px;
  left: -2px;
  border-top: 2px solid #74C973;
  border-left: 2px solid #74C973;
}
a.btn::after {
  top: -2px;
  right: -2px;
  border-top: 2px solid #74C973;
  border-right: 2px solid #74C973;
}

a.btn span::before {
  bottom: -2px;
  left: -2px;
  border-bottom: 2px solid #74C973;
  border-left: 2px solid #74C973;
}
a.btn span::after {
  bottom: -2px;
  right: -2px;
  border-bottom: 2px solid #74C973;
  border-right: 2px solid #74C973;
}

a.btn:hover::before,
a.btn:hover::after,
a.btn:hover span::before,
a.btn:hover span::after  {
  width: calc( 180px / 2);
  height: calc( 50px / 2);
}


a.btn2 { 
	display: inline-block;
	width: 180px;
	color: #424239;
	background-color: #CBC9C3;
	font-size: 16px;
	text-transform: uppercase;
	text-align: center;
	font-weight: 700;
	padding: 10px 15px;
	margin: 0 5px; }
a.btn2:hover, a.btn2.current {
	color: #fff;
	background-color: #74C973;
	text-decoration: none;
}

	
#RIGOmap  {
	width:100%;
	height:410px; }
#RIGOmap img {
	max-width:none;
	display:block;}


.recensioni .grid_4.alpha { background-color: #74C973; height: 291px; }
.recensioni .grid_4.alpha p { color: white; font-size: 50px; line-height: 60px; position: absolute; top: 25%; }
.recensioni .grid_4 { box-sizing: border-box; padding: 30px;}
.recensione { font-size: 17px; line-height: 27px; font-style: italic; }
.recensioni .hr { height: 2px; width: 100px; background-color: #74C973; margin: 10px 0 10px 0; }

.slick-prev,
.slick-next {
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  z-index: 1000;
  color: #424239;
  background: none;
  font-family: Arial;
  font-size: 2.5rem;
  border: none;
  border-radius: 50%;
  width: 40px;
  height: 40px;
  display: flex;
  align-items: center;
  justify-content: center;
}

.slick-prev:hover,
.slick-next:hover { opacity: 1; }

.referenze .slick-prev {
  left: 0px;
}
.referenze .slick-next {
  right: 0px;
}

.particolari .slick-prev {
  left: -25px;
}
.particolari .slick-next {
  right: -25px;
}


/* Accordion orizzontale homepage */
.accordion {
  display:flex;
  height:700px;
}
.panel, .panel2 {
  flex:1;
  background:#fff;
  margin:2px;
  cursor:pointer;
  transition: 0.2s;
  display:flex;
  flex-direction:row;
  overflow:hidden;
}
.panel-header {
  width:auto;
  font-size: 25px;
  padding: 0 40px;
  background:#fff;
  border-left: 1px solid #424239;
  display:flex;
  align-items: flex-start; 
  justify-content:space-between;
  flex-direction: column;
}

.panel-header .titolo { writing-mode: sideways-lr; padding-bottom: 15px; }
.panel-header .numero { padding-top: 10px; }

.panel-content {
  flex-grow:1;
  padding:10px;
  background:#fff;
  display:none;
  overflow:hidden;
}
.panel.active, .panel2.active {
  flex:8;
}
.panel.active .panel-content, .panel2.active .panel-content {
  display:block;
}
.panel.active .panel-header, .panel2.active .panel-header {
  color: #74C973; font-weight: 600;
}


/* Accordion vertiale pagina prodotto */
.accordionProd {
	background-color: #fff;
  color: #424239;
  cursor: pointer;
  padding: 10px;
  width: 100%;
  border: none;
  text-align: left;
  outline: none;
  font-size: 22px;
  transition: 0.4s;
  border-top: 1px solid #74C973;
}

.activeProd, .accordionProd:hover {
	background-color: #fff;
	color: #74C973;
}

.accordionProd:after {
  content: '+'; /* Unicode character for "plus" sign (+) */
  font-size: 25px;
  color: #424239;
  float: right;
  margin-left: 5px;
}

.activeProd:after {
  content: "−"; /* Unicode character for "minus" sign (-) */
}

.panelProd {
  padding: 0 10px;
  background-color: white;
  max-height: 0;
  overflow: hidden;
  transition: max-height 0.2s ease-out;
}


.partners, .brands {
  display: grid;
  grid-template-columns: repeat(5, 1fr); /* 5 colonne uguali */
  column-gap: 150px;  /* spazio orizzontale tra loghi */
  row-gap: 50px;     /* spazio tra le due righe */
  align-items: center; }
.partners img, .brands img {
  max-width: 180px;
  max-height: 70px;
  width: 100%;
  height: auto;
  object-fit: contain;
  justify-self: center; /* centra il logo nella colonna */ }

#essenze div {display: inline-block; padding-right: 40px; max-width: 151px;}
#essenze img { padding: 10px 0; }

#icone .grid_3 {
    display: flex;
    align-items: center;   /* allinea verticalmente svg e testo */
    gap: 20px;             /* spazio tra svg e testo */ }
#icone .grid_3 span {
    display: inline-block;
    text-align: left;
    text-transform: uppercase;
    font-size: 18px;
    line-height: 23px;
    font-weight: 600; }

#socialContatti a { display: block; margin-bottom: 10px; color: #424239; }
#socialContatti img { width: 28px; padding-right: 10px; filter: invert(0.7); }

.gallery img { object-fit: cover; height: 650px; width: 100%; }

.listRigo { width: 12px; vertical-align: middle; padding-right: 3px; }

span.nomeFinestra {
  position: relative;
  top: 0;
  left: 0;
  transform: translate(0, 0);
	float:right;
	text-align: right;
	font-size: 18px;
	line-height: 25px;
	text-transform: uppercase;
	margin-top: -40px;
	margin-right: 15px;
	font-weight: 700;
	text-shadow: #666 0px 0 10px;
	color: #fff;
	padding: 1px 10px 1px 10px; }
}



/* Filtro legno, legno-legno, legno-alluminio */

#filtro { /* Fatto per non lasciare i buchi dovuti al sistema grid */
  display: flex; 
  flex-wrap: wrap;; 
}
.item {
	width: 33.333%;
  opacity: 0;
  transform: scale(0.95);
  transition: all 0.3s ease;
  display: none;
}
.item.show {
  display: block;
  opacity: 1;
  transform: scale(1);
}


/* Banner brevetto */
#bannerBrevetto {
	background-image: linear-gradient(rgba(0, 0, 0, 0.1), rgba(0, 0, 0, 0.1)), url("../img/banner-brevetto.webp");
	background-position: center center;
  background-size: cover;
	width: 100%;
	height: 750px; }
#bannerBrevetto p.p1 { width: 700px; }
@media (orientation: portrait) {
  #bannerBrevetto {
		background-image: linear-gradient(rgba(0, 0, 0, 0.1), rgba(0, 0, 0, 0.1)), url("../img/banner-brevetto-portrait.webp"); }
}

.prodotti .btn { display: none; }

	
/* Back to top button */
#back-top {
	z-index:99;
	position: fixed;
	bottom: 100px;
	right: 10px;}
#back-top a {
	width: 40px;
	height: 40px;
	display: block;
	opacity:0.6;}
#back-top a:hover {
	opacity:1;}
/* Scroll down button */
#scroll-down { position: absolute; height: 47.9667px; z-index: 99; left: 50%; transform: translateX(-50%); top: 90vh; }
#scroll-down img { filter: invert(100%); }

/* Form */

form { font-family: "Wix Madefor Text", sans-serif;}

::placeholder { 
  font-weight:400;
  color: #424239;
  opacity: 1;
}

input[type="email"],
input[type="search"],
input[type="text"],
input[type="password"],
textarea,
select {
	border: 1px solid #CCC;
	padding: 12px 10px 12px 10px;
	width:100%;
	margin-bottom: 15px;}
select {
	padding: 5px 6px 5px 6px;}
input:read-only {
	background-color: #EEE;}
input[type="button"],
input[type="submit"] {
	width: 100%;
	font-size: 25px;
	font-weight: 600;
	border: none;
	padding: 10px 8px 10px 8px;
	color: white;
	background-color: #74C973;}
		
input[type="submit"]:hover,
input[type="button"]:hover { background-color: #424239; }

input[type="checkbox"],
input[type="radio"] {
  display: inline;
  margin:5px;
  width:25px;
  height:25px; }

#Azienda {display:none;}


/* Footer */
#footer {
	font-size: 18px;
	line-height: 28px;
	padding-top:50px;
	padding-bottom:40px;
	background-color:#424239;
	color:#FFF;}
#footer a {
	text-decoration:none;
	color:#FFF; }
#footer a:hover {
	text-decoration:underline; }
#footer a.current {
    position: relative; }
#footer a.current::before {
    content: "▸";
    position: absolute;
    left: -14px;
    top: 50%;
    transform: translateY(-50%);}

#footer img { max-width: 250px; }

#socialFooter a { display: block; margin-bottom: 15px; }
#socialFooter img { width: 28px; padding-right: 10px; }

#copyright { background-color: #74C973; font-size: 15px; padding: 4px 0; }
#copyright .grid_4 { text-align:right; }


	
@media only screen and (min-width: 1200px) and (max-width: 1619px) {
	body { 
		font-size:19px;
		line-height:29px; }
	h1, .h1 {
		font-size:60px;
		line-height:60px;}
	.submenu { left: 400px; min-width: 400px; }
	.sub-submenu, .sub-sub-submenu { min-width: 300px; }
	.imgFit { 
		object-fit: cover;
		height: 670px;}
	.recensioni .grid_4.alpha { height: 397px; }
	.recensioni .grid_4.alpha p { top: 30%; }
	#bannerBrevetto {
		height: 650px;
		background-position: left; }
	.accordion { height: 620px; }
	.panel-header { padding: 0 30px; }
	.partners, .brands {
	  grid-template-columns: repeat(5, 1fr);
	  column-gap: 100px;
	  row-gap: 50px; }
	.partners img, .brands img {
	  max-width: 180px;
	  max-height: 60px; }
	.gallery img { height: 500px; }
	span.nomeFinestra {
		font-size: 17px;
		margin-top: -35px;
		margin-right: 10px; }
	input[type="button"], input[type="submit"] { font-size: 23px; }
}

@media only screen and (max-width: 1199px) {
	body { 
		font-size:18px;
		line-height:28px; }
	h1, .h1 {
		font-size:50px;
		line-height:50px;}
	h1.small, .h1.small { font-size: 35px; line-height: 40px; }
	#mainMenu a { font-size: 22px; }
	#mainMenu li { padding-bottom: 30px; }
	.submenu { left: 300px; min-width: 325px; }
	.sub-submenu, .sub-sub-submenu { min-width: 250px; }
	.imgFit { 
		object-fit: cover;
		height: 670px;}
	.recensioni .grid_4.alpha { height: 453px; }
	.recensioni .grid_4.alpha p { top: 35%; font-size: 40px; line-height: 50px; }
	#bannerBrevetto {
		height: 550px;
		background-position: left; }
	#bannerBrevetto p.p1 { width: auto; }
	.accordion { height: 600px; }
	.panel-header { padding: 0 22px; }
	.partners, .brands {
	  grid-template-columns: repeat(5, 1fr);
	  column-gap: 70px;
	  row-gap: 50px; }
	.partners img, .brands img {
	  max-width: 160px;
	  max-height: 50px; }
	.gallery img { height: 400px; }
	a.btn2 { 
		width: 150px;
		font-size: 13px;
		padding: 8px 8px;
		margin: 0 10px 0 0; }
	#icone .grid_3 span {
	    font-size: 16px;
	    line-height: 21px;
	}
	#icone svg { width: 35px; }
	span.nomeFinestra {
		font-size: 16px;
		margin-top: -30px;
		margin-right: 5px; }
	input[type="button"], input[type="submit"] { font-size: 20px; }
	#footer { font-size: 16px; line-height: 26px; }
	#footer .grid_3 img { width: 175px; padding-bottom: 23px; }
}

@media only screen and (min-width: 768px) and (max-width: 995px) {
	h1, .h1 {
		font-size:40px;
		line-height:40px;}
	#mainMenu a { font-size: 20px; }
	#mainMenu li { padding-bottom: 25px; }
	.submenu { left: 240px; min-width: 260px; }
	.sub-submenu, .sub-sub-submenu { min-width: 180px; }
	.recensioni .grid_4.alpha { height: 325px; }
	.recensioni .grid_4.alpha p { top: 40%; font-size: 30px; line-height: 40px; }
	.slick-prev { left: 240px; }
	.panel-header { padding: 0 16px; }
	.partners, .brands {
	  grid-template-columns: repeat(5, 1fr);
	  column-gap: 50px;
	  row-gap: 50px; }
	.partners img, .brands img {
	  max-width: 160px;
	  max-height: 50px; }
	a.btn2 { 
		width: 150px;
		font-size: 13px;
		padding: 8px 8px;
		margin: 0 10px 15px 0; }
	#icone .grid_3 { width: 364px; margin: 0 10px; }
	#icone .grid_3 span {
	    font-size: 18px;
	    line-height: 23px;
	}
	#icone svg { width: 50px; }
	.textBig { font-size: 23px; line-height:  29px;}
	span.nomeFinestra {
		font-size: 14px;
		margin-top: -26px;
		margin-right: 0px; }
	#footer { font-size: 15px; line-height: 27px; }
	#footer .grid_3 img { padding-bottom: 0px; }
	#socialFooter img { width: 23px; padding-right: 7px; }
}

@media only screen and (max-width: 767px) {
	.submenu, .sub-submenu, .sub-sub-submenu { display: none !important; }
	#mainMenu li:has(> ul):hover > a::after { opacity: 0;}
	.hideMobile { display: none; }
	#social { padding-top: 20px; text-align: left; }
	#social span { display: none; }
	#social a { margin-right: 0; }
	#social img { width: 32px; }
	.imgFit { height: auto; margin-top: 50px; }
	.referenze .slick-prev { left: -35px; }
	.referenze .slick-next { right: -35px; }
	.accordion {
		flex-direction: column; 
		height: auto; }
	.panel, .panel2 {
		transition: 0.2s !important;
		flex-direction: column; }
	.panel-header {
		flex-direction: row; 
		border-left: none;
		border-top: 1px solid #424239;
		padding: 15px;}
	.panel-header .titolo {
		writing-mode: horizontal-tb;
		padding: 0;}
	.panel-header .numero { padding-top: 0px; }
	.panel-content {
		display: none;
		padding: 15px;}
	.panel.active, .panel2.active {
		flex: unset; }
	.panel.active .panel-content, .panel2.active .panel-content {
    display: block;
    margin-bottom: 70px;}
	.gallery img { height: auto; }
	a.btn2 { 
  		box-sizing: border-box;
		width: 100%;
		font-size: 17px;
		padding: 10px 10px;
		margin: 0 10px 15px 0; }
	.particolari .slick-prev {
    left: -35px;}
	.particolari .slick-next {
	  right: -35px;}
	.partners, .brands {
	  grid-template-columns: repeat(2, 1fr);
	  column-gap: 70px;
	  row-gap: 50px; }
	.partners img, .brands img {
	  max-width: 160px;
	  max-height: 50px; }	
	.prodotti .p50 { padding-bottom: 125px; }
	.prodotti .btn { display: block; }
	a.block:hover {
		border-bottom: 1px solid #fff;}
	.angolo { text-align:center; }
	#footer .grid_2, #footer .grid_3, #footer .grid_4 { padding-bottom: 25px; }
	#copyright span { display: block; height: 0; overflow: hidden; }
}

@media only screen and (min-width: 480px) and (max-width: 767px) {
	h1, .h1 {
		font-size:45px;
		line-height:55px;}
	.recensioni .grid_4.alpha { height: 200px; }
	.recensioni .grid_4.alpha p { top: 35px; font-size: 50px; line-height: 60px; }
	.personalizzazione { font-size: 50px; }
	#icone .grid_3 { width: 210px; margin: 0 10px; }
	#icone .grid_3 span {
	    font-size: 15px;
	    line-height: 21px; }
	#icone svg { width: 35px; }
	#essenze div {display: inline-block; padding-right: 40px; max-width: 175px;}
}

@media only screen and (max-width: 479px) {
	#mainMenu { padding-top: 200px; }
	#mainMenu li { padding-bottom: 30px; }
	h1, .h1 {
		font-size:38px;
		line-height:45px;}
	.recensioni .grid_4.alpha { height: 200px; }
	.recensioni .grid_4.alpha p { top: 45px; font-size: 40px; line-height: 50px; }
	.panel-header { font-size: 20px; }
	.personalizzazione { font-size: 35px; }
	#copyright { font-size: 13px; line-height: 18px; }
	#social img.accoya { width: 125px; margin-top: 0; }
	#essenze div {display: inline-block; padding-right: 20px; max-width: 125px;}
	span.nomeFinestra {
		font-size: 14px;
		margin-top: -26px;
		margin-right: 0px; }
}
