
/*-------------------------
Reset
-------------------------*/

html, body, div, span, applet, object, iframe,
h1, h2, h3, h4, h5, h6, p, blockquote, pre,
a, abbr, acronym, address, big, cite, code,
del, dfn, em, font, img, ins, kbd, q, s, samp,
small, strike, strong, sub, sup, tt, var,
b, u, i, center,
dl, dt, dd, ol, ul, li,
fieldset, form, label, legend,
table, caption, tbody, tfoot, thead, tr, th, td {
	margin: 0;
	padding: 0;
	border: 0;
	outline: 0;
	font-size: 100%;
	vertical-align: top;
	background: transparent;
}
body {
	line-height: 1;
}
ol, ul {
	list-style: none;
}
blockquote, q {
	quotes: none;
}
blockquote:before, blockquote:after,
q:before, q:after {
	content: '';
	content: none;
}

/* remember to define focus styles! */
:focus {
	outline: 0;
}

/* remember to highlight inserts somehow! */
ins {
	text-decoration: none;
}
del {
	text-decoration: line-through;
}

/* tables still need 'cellspacing="0"' in the markup */
table {
	border-collapse: collapse;
	border-spacing: 0;
}

/* Reset */
* {
	-webkit-box-sizing: border-box;
	-moz-box-sizing: border-box;
	box-sizing: border-box;
}

input[type="text"],
input[type="button"],
input[type="submit"],
input[type="password"] {
     -webkit-appearance: none;
     border-radius:5px;
}


.clearfix:before,
.clearfix:after {
	content: " ";
	display: table;
}

.clearfix:after {
	clear: both;
}

/*-------------------------
CSS Specifico
-------------------------*/

html,body {
	width:100%;
	height:auto;
	font: 400 18px/1.5em "Lato", sans-serif;
	color: #434343;
	text-rendering:optimizeLegibility;
	background: #ffffff;
}


h1 {
	color: #611823;
	line-height:1.2em;
	font-weight:700;
	font-size:35px;
	margin-bottom:15px;
}

h2 {
	color: #601823;
	font-weight: 400;
	font-size:25px;
	margin-bottom:5px;
}

h3 {
	font: 400 23px/1.4em "Lato", sans-serif;
}

h4{
	color: #000000;
	font-style: normal;
	font: 400 18px/1.6em "Cinzel", serif;
	margin-bottom:15px;
}

h5 {
	color: #000000;
	font-style: normal;
	font: 400 18px/1.6em "Cinzel", serif;
}

/* Nel footer */
h6 {
	color:#873030;
	font: 700 23px/2em "Lato", sans-serif;
}


.ultracheck {
  list-style-image: url('../images/check.png');
  padding-left:30px;
}

.ultracheck li {
margin-bottom:6px;
}

.ultracheck li a {
	text-decoration: underline;
	color:#000000;
}

ul.ultracheck {
	list-style: disc;
	margin-bottom:20px;
	margin-top:15px;
}

.colonne li {
	break-inside: avoid;
    border-bottom: 1px solid #e0e5f2;
    margin-bottom: 15px;
    padding-bottom: 10px;
	line-height:1.4em;
	text-align:left;
}

b {
 	font-weight:bold;
}

i.fas, i.far, i.fab, i.fa-solid {
	line-height: .75em;
	/* vertical-align: -.0667em; */
}

em {
    font-style: normal;
    background:rgba(35 65 143 / 75%);
    padding:0px 20px;
 }

.header-top-bar i {
	border-left: 1px solid rgb(92 140 158);
	padding-left:15px;
	margin-left:10px;
}

.header-top-bar a {
	text-decoration: none;
	color: #ffffff;
}

.header-top-bar a:hover {
	text-decoration: none;
	color: rgb(255 255 255);
}

a {
	text-decoration: none;
	color:#434343;
}

a:hover {
	color:#434343;
}

.pulsanteattivo {
background:rgba(0,0,0,.25);
}

input.reservation {
box-shadow: inset 0px 2px 4px rgba(0,0,0,1);
background:#16262e;
color:#fff;
border:1px solid rgba(255,255,255,.65);
display:inline-block;
padding:10px;
font: 400 15px/normal "Lato", Helvetica, sans-serif;
margin:10px 5px 0px;
}

select.reservation {
box-shadow: inset 0px 2px 4px rgba(0,0,0,1);
background:#16262e;
color:#fff;
border:1px solid rgba(255,255,255,.65);
display:inline-block;
padding:10px;
font: 400 15px/normal "Lato", Helvetica, sans-serif;
margin:10px 5px 0px;
}

input.button-prenota {
background:#e7b315;
color:#000;
border:none;
display:inline-block;
padding:10px;
font: 400 16px/normal "Lato",sans-serif;
margin:10px 5px 0px;
cursor:pointer;
}

#icon a {
	text-decoration: none;
		color:rgba(255,255,255,1);
}

#icon a:hover {
	text-decoration: none;
		color:rgba(255,255,255,1);
}

#footer a {
	text-decoration: none;
	color:#873030;
}

#footer a:hover {
	text-decoration: underline;
	color:#873030;
}

#footer2 a {
	text-decoration: none;
	color:#873030;
}

#footer2 a:hover {
	text-decoration: none;
	color:#873030;
}

div.hr {
  height: 1px;
  background: #c9d1d7;
  clear:both;
  margin:5px 0px;
}

div.hr hr {
  display: none;
}

div.hr2 {
  height: 1px;
  background: #e7e7e7;
  clear:both;
  margin:10px 0px;
}

/* ==========================================*/
/*	Preloader
/* ==========================================*/

#preloader  {
    position: fixed;
    width: 100%;
    height: 100%;
    z-index: 9999;
    background-color:#fff;
 }

#status  {
     width: 64px;
     height: 64px;
     position: absolute;
     left: 50%;
     top: 50%;
     background-image:url('../images/loading.gif');
     background-repeat: no-repeat;
     background-position: center;
     margin: -32px 0 0 -32px;
 }

/* ==========================================*/
/*	Fine Preloader
/* ==========================================*/

/* ==========================================*/
/*	Header
/* ==========================================*/

.header-top-bar-container {
	position:relative;
	z-index:91;
	width:100%;
}

.header-top-bar {
	width:100%;
	max-width:1200px;
	margin:0 auto;
	position:relative;
	z-index:96;
	color: #ffffff;
	font-size:14px;
	font-weight:400;
	text-align:right;
	line-height: normal;
	padding:0px 20px 10px;
}

/* ==========================================*/
/*	Fine Header
/* ==========================================*/

#cont_top {
	width:100%;
	z-index:91;
	background:#fff;
	position:relative;
}

#cont_top_menu {
	width:100%;
	background: #f1e6cd;
}

#top_menu {
	width:100%;
	max-width:1400px;
	margin:0 auto;
	padding:0px 20px;
}

.blocca {
	height:auto  !important;
	transition-duration: 0.8s;
	transition-timing-function: ease-in-out;
}

.blocca .logo {
	width:auto;
	height:25px;
	transition-timing-function: ease-in-out;
	transition-duration: 1s;
}

.logo {
    position:relative;
	width:auto;
	height:70px;
}

.logo img {
	max-width: 100%;
	width:auto;
	height:100%;
}

#intestazione {
    position:relative;
    float:right;
    font-size:16px;
    color:#000;
    font-weight:400;
    text-align:right;
    z-index: 102;
}

.social-top {
    position:relative;
    padding-left:10px;
    display:inline-block;
    line-height:1.5em;
    vertical-align:middle;
    /* border-right: 1px solid #ddd; */
}

.social-top i {
    margin:0px 3px 0px 3px;
}

.tel-top {
    position:relative;
    padding-right:10px;
    display:inline-block;
    line-height:1.5em;
    vertical-align:middle;
    border-right: 1px solid #ddd;
}

.via-top {
    position:relative;
    padding:0px 0px 10px; */
    display:block;
    line-height:1.5em;
    vertical-align:middle;
}

.email-top {
    position:relative;
    padding-right:10px;
    padding-left:10px;
    display:inline-block;
    line-height:1.5em;
    vertical-align:middle;
    border-right: 1px solid #ddd;
}

.via-top i, .tel-top i, .email-top i {
	color: #000000;
}

.tel-top a, .via-top a, .email-top a {
 color: #000000;
}


#top {
	width:100%;
	max-width:1400px;
	margin:0 auto;
	padding:15px 20px 10px;
}

#cont_slogan {
position:absolute;
width:100%;
padding:0px;
top:20%;
z-index:251;
text-align:right;
}

#slogan {
display:inline-block;
padding:20px 40px 20px 40px;
border-radius:70px 0px 70px 0px;
background:rgb(0 0 0 / 50%);
text-align:center;
margin-right:20px;
}

#slogan h1 {
	color: rgb(255 255 255);
	font-size: clamp(18px, 3vw, 40px);
	font-weight:700;
	line-height:1em;
	margin-bottom:8px;
	text-shadow: 0px 0px 2px #000;
}

#slogan h2{
	color:rgb(255, 255, 255);
	line-height:1em;
    font-size:2.3vw;
	font-weight:400;
    animation-delay: 1s;
}

#slogan h3 {
	text-align:center;
	color:rgb(255, 255, 255);
	line-height:1.6em;
    font-size:1.6vw;
	font-weight:400;
    animation-delay: 1s;
}

#cont_fascia {
	width:100%;
	position:relative;
	background: #f5f5f5;
}

#fascia {
	width:100%;
	max-width: 1400px;
	padding:20px 20px;
	margin:0 auto;
	color:#fff;
}

#fascia h2, #fascia h3 {
color:#fff;
}

#fascia a {
	text-decoration: none;
	color:#ffffff;
}

#fascia a:hover {
	color:#ffffff;
}

#fascia:after {
	content: " ";
	display: block;
	clear:both;
}

#cont_fascia2 {
	width:100%;
	position:relative;
	background-color: #f50000;
}

#fascia2 {
	width:100%;
	max-width:1200px;
  line-height: normal;
	padding:10px 10px;
	margin:0 auto;
	color:#fff;
}

#foto {
	position:relative;
	width:100%;
	height:260px;
	overflow:hidden;
}

#foto img {
position: absolute;
z-index:1;
height: auto;
width:100%;
max-width: 100%;
min-height:auto;
min-width: 100%;
top:50%;
left: 50%;
-webkit-transform: translate(-50%,-50%);
-moz-transform: translate(-50%,-50%);
-ms-transform: translate(-50%,-50%);
-o-transform: translate(-50%, -50%);
transform: translate(-50%, -50%);
}

.overlay-foto {
	background: rgb(0 0 0 / 60%);
	width:100%;
	height:100%;
	position:absolute;
	z-index: 9;
}

.overlay-foto h1 {
	position:absolute;
	bottom:60px;
	width:100%;
	text-align:center;
	font-size: 4.5vw;
	color: #fff;
	font-weight:400;
}

.overlay-foto h1:after {
  content: '';
  width: 260px;
  height: 1px;
  background-color: #fbb040;
  position: absolute;
  bottom: -15px;
  left: 50%;
  margin-left: -130px;
}

/* ==========================================*/
/*	CSS MOUSE SCROLL
/* ==========================================*/

#scrollmouse {
  position:absolute;
	bottom:50px;
	z-index:89;
	width:60px;
	left:50%;
	margin-left:-30px;
	text-align:center;
	color:#fff;
}

@-webkit-keyframes scroll {
  0% {
    -webkit-transform: translateY(0);
  }
  50% {
    -webkit-transform: translateY(10px);
  }
  100% {
    -webkit-transform: translateY(0);
  }
}
@-moz-keyframes scroll {
  0% {
    -moz-transform: translateY(0);
  }
  50% {
    -moz-transform: translateY(10px);
  }
  100% {
    -moz-transform: translateY(0);
  }
}
@keyframes scroll {
  0% {
    -webkit-transform: translateY(0);
    -moz-transform: translateY(0);
    -ms-transform: translateY(0);
    -o-transform: translateY(0);
    transform: translateY(0);
  }
  50% {
    -webkit-transform: translateY(10px);
    -moz-transform: translateY(10px);
    -ms-transform: translateY(10px);
    -o-transform: translateY(10px);
    transform: translateY(10px);
  }
  100% {
    -webkit-transform: translateY(0);
    -moz-transform: translateY(0);
    -ms-transform: translateY(0);
    -o-transform: translateY(0);
    transform: translateY(0);
  }
}

.mouse {
  display: inline-block;
  height: 44px;
  width: 28px;
  border-radius: 12px;
  border: 2px solid #fff;
  text-align: center;
}
.mouse:after {
  display: inline-block;
  height: 8px;
  width: 8px;
  background-color: #fff;
  border-radius: 50%;
  content: "";
  -webkit-animation: scroll 1.3s ease-out infinite forwards;
  -moz-animation: scroll 1.3s ease-out infinite forwards;
  animation: scroll 1.3s ease-out infinite forwards;
}

/* ==========================================*/
/*	FINE CSS MOUSE SCROLL
/* ==========================================*/

#cont-menu {
	background:#fff;
	width:100%;
	padding-top:10px;
}

#menu {
	width:100%;
	max-width:1200px;
	margin:0 auto;
}

.link {
	display:inline-block;
	vertical-align:middle;
	font-size:14px;
	padding:5px 15px;
	color: #000000;
	background: #ffffff;
	border: 2px solid #000000;
	text-decoration: none;
	cursor: pointer;
}

.link:hover {
	color:#000;
  transition-duration: 1s;
}

.preventivo {
	display:inline-block;
	vertical-align:middle;
	font-size:13px;
	padding:5px 15px;
	color: #56151d;
	background: #ffffff;
	border: 2px solid #611823;
	text-decoration: none;
	cursor: pointer;
	margin-left:20px;
}

input.invia {
	background: #6c1223;
	font: 400 15px/50px "Lato", sans-serif;
	color: #ffffff;
	border-radius:30px;
	border:0px;
	display:inline-block;
	padding:0px 30px;
	margin:0px;
	height: 50px;
	width:auto;
	cursor:pointer;
	vertical-align:middle;
	border: 1px solid #5c1b21;
}

.continua {
	font: 400 16px/50px 'Lato', sans-serif;
	background: #601823;
	color: #ffffff;
	border-radius:0px;
	border:0px;
	border: 1px solid #601923;
	display:inline-block;
	padding:0px 30px;
	margin:0px;
	height: 50px;
	width:auto;
	min-width:150px;
	cursor:pointer;
	vertical-align:middle;
}

.continua:hover {
	color:#ffffff;
}

.button-submenu {
	font-size:13px;
	display:inline-block;
	border:1px solid rgba(255,255,255,0.4);
	padding:5px;
	margin:5px 2px;
	border-radius:5px;
	text-transform: lowercase;
	transition-duration: 1s;
}

.button-submenu:hover {
  background:#bc0000;
}


/* ==========================================*/
/*	LOGIN
/* ==========================================*/

#carrello {
	float:left;
	width:100%;
	padding:15px 15px 25px;
	border-radius:10px;
	border: 1px solid #e6e6e6 !important;
	color:#505050;
	margin-bottom:20px;
}

#login {
	float:left;
	width:100%;
	padding:15px 15px 25px;
	border-radius:10px;
	background:#f9f9f9;
	border: 1px solid #e6e6e6 !important;
	color:#939393;
	margin-bottom: 15px;
}

#registrazione {
	float:left;
	width:100%;
	padding:15px 15px 25px;
	border-radius:10px;
	background:#f9f9f9;
	border: 1px solid #e6e6e6 !important;
}

input.demo  {
		border: 1px solid #e6e6e6 !important; /*Removes border*/
		background:#fff;
		width: 100%; /*Width of select dropdown to give space for arrow image*/
		text-indent: 0.01px; /* Removes default arrow from firefox*/
		text-overflow: ""; /*Removes default arrow from firefox*/ /*My custom style for fonts*/
		color:#4b4b4b;
		border-radius: 5px;
		padding: 5px;
		margin-bottom: 8px;
}

select.demo  {
		border: 1px solid #e6e6e6 !important; /*Removes border*/
		-webkit-appearance: none; /*Removes default chrome and safari style*/
		-moz-appearance: none; /* Removes Default Firefox style*/
		background: url("../images/select-arrow.png") no-repeat scroll 97% center #fff;
		width:100%;
	  min-width:70px;
	  max-width:270px;
		text-indent: 0.01px; /* Removes default arrow from firefox*/
		text-overflow: ""; /*Removes default arrow from firefox*/ /*My custom style for fonts*/
		color:#4b4b4b;
		border-radius: 5px;
		padding: 5px 20px 5px 5px;
		margin-bottom: 8px;
}

input[type="checkbox"] {
    /*! display:none; */
}

input[type="checkbox"]:checked + label span {
    background:url(../images/check_radio_sheet.png) -19px top no-repeat;
}

input.conferma {
		color:#FFF;
		width:100%;
		margin-top:10px;
		padding:10px;
		font-size:20px;
		background:#186DA9;
		text-decoration: none;
		border-radius: 5px;
		border:0px;
		cursor: pointer;
}

/* ==========================================*/
/*	FINE LOGIN
/* ==========================================*/

#contenuti {
	z-index: 15;
	margin: 0 auto;
	width:100%;
	max-width: 1400px;
	padding:60px 20px 65px;
}

#contenuti:after {
	content: " ";
	display: block;
	clear:both;
}

.mission {
  width:100%;
  text-align: center;
}

#contenuti-prodotti {
	margin: 0 auto;
	width:100%;
	max-width:1200px;
	padding:160px 20px 20px;
}

#contenuti-prodotti:after {
	content: " ";
	display: block;
	clear:both;
}

.colonne {
	column-count: 3;
	column-gap: 60px;
	
	-moz-column-count: 3;
	-moz-column-gap: 60px;
	
	-webkit-column-count: 3;
	-webkit-column-gap: 60px;
	
	margin-bottom:30px;
}

.colonne p {
border-bottom:1px solid #e6e6e6;
padding:10px 0px;
}

.contact {
  	float:left;
	width:50%;
	padding-right:20px;
}

#dx {
	position:relative;
	display:table-cell;
	height:100%;
	width:50%;
	padding-right:15px;
}

#sx {
	position:relative;
	display:table-cell;
	width:50%;
	height:100%;
	padding-left:15px;
}

#sx10 {
  float:left;
  margin-left:-350px;
  left:350px;
  width:100%;
  position:relative;
  z-index:5;
}
 
#sx10 #content {
  margin-right:390px;
}
 
#dx10 {
  float:right;
  width:350px;
  position:relative;
  z-index:10;
}

.bordeaux {
	background: #f1e6cd;
	width:100%;
	clear:both;
	position:relative;
}

.bordeaux:after {
	content: " ";
	display: block;
	clear:both;
}

.grigio {
	background: #f5f5f5;
	width:100%;
	clear:both;
	position:relative;
}

.grigio:after {
	content: " ";
	display: block;
	clear:both;
}

.bianco {
	width:100%;
	clear:both;
	position:relative;
	background:#fff;
	padding:60px;
}

.bianco:after {
	content: " ";
	display: block;
	clear:both;
}

.loghi {
	z-index: 15;
	width:100%;
	clear:both;
	text-align:center;
	vertical-align:middle;
	padding:20px 20px 80px 20px;
}

.loghi a {
	vertical-align:middle;
}

.loghi img {
	z-index: 15;
	display:inline-block;
	width:auto;
	max-width:300px;
	max-height:180px;
	height:auto;
	margin:0;
	padding:10px;
	vertical-align:middle;
}

.loghi2 {
	z-index: 15;
	width:100%;
	clear:both;
	vertical-align:middle;
}

.loghi2 a {
	vertical-align:middle;
}

.loghi2 img {
	z-index: 15;
	display:inline-block;
	width:auto;
	max-width:270px;
	max-height:100px;
	height:auto;
	margin:0;
	padding:10px 20px;
	vertical-align:middle;
}
	
/*-------------------------
POP UP HOME PAGE
-------------------------*/

/* make keyframes that tell the start state and the end state of our object */
@-webkit-keyframes fadeIn { from { opacity:0; } to { opacity:1; } }
@-moz-keyframes fadeIn { from { opacity:0; } to { opacity:1; } }
@keyframes fadeIn { from { opacity:0; } to { opacity:1; } }

.fade-in-newsletter {
	opacity:0;  /* make things invisible upon start */
	-webkit-animation:fadeIn ease-in 1;  /* call our keyframe named fadeIn, use animattion ease-in and repeat it only 1 time */
	-moz-animation:fadeIn ease-in 1;
	animation:fadeIn ease-in 1;

	-webkit-animation-fill-mode:forwards;  /* this makes sure that after animation is done we remain at the last keyframe value (opacity: 1)*/
	-moz-animation-fill-mode:forwards;
	animation-fill-mode:forwards;

	-webkit-animation-duration:0.5s;
	-moz-animation-duration:0.5s;
	animation-duration:0.5s;
}

#cont-popup {
position:fixed;
display: none;
background:rgba(0, 0, 0, 0.75);
width:100%;
height:100%;
z-index:5000;
}

#popup {
position:absolute;
/*! border-radius:5px; */
padding:10px;
width:100%;
text-align: center;
/*! max-width:400px; */
/*! height:400px; */
font: 400 14px/1.5em "Lato", Helvetica, sans-serif;
top:50%;
left:50%;
  transform: translate(-50%, -50%);    
  -webkit-transform: translate(-50%, -50%);
  -moz-transform: translate(-50%, -50%);
  -ms-transform: translate(-50%, -50%);
z-index:10;
}
#popup img {
width:100%;
height:auto;
max-width:500px;
z-index:10;
}
.button-nav {
vertical-align: middle;
color: white;
padding: 5px 10px;
margin:8px 2px;
text-align: center;
text-decoration: none;
display:inline-block;
font-size: 20px;
font-weight:700;
border-radius: 5px;
border:0;
-webkit-transition: all .2s ease-in-out;
transition: all .2s ease-in-out;
cursor:pointer;
}
.button-nav:hover {
	color:#fff;
-webkit-transition: all .2s ease-in-out;
transition: all .2s ease-in-out;
cursor:pointer;
}

.dx {
float:right;
margin-right:5px;
}

/*-------------------------
FINE POP UP HOME PAGE
-------------------------*/

/* ==========================================*/
/*	Chi siamo
/* ==========================================*/

.table-home {
	display:table;
	width:100%;
	height:100%;
}


.image-presentazione {
	display:table-cell;
	width:45%;
	background: url('../images/bg-home.jpg') center no-repeat; */
	-webkit-background-size:cover;
	background-size:cover;
}

.presentazione {
	display:table-cell;
	width:55%;
	padding:7vw;
	background:#f5f5f5;
}

.presentazione h1 {
	color: #000000;
	font: 400 30px/normal "Lato", sans-serif;
	margin-bottom:50px;
	text-align:center;
	position:relative;
}

.presentazione h1:after {
  content: '';
  width: 120px;
  height: 1px;
  background-color: #bec8d3;
  position: absolute;
  bottom: -20px;
  left: 50%;
  margin-left: -60px;
}

.presentazione h2 {
	text-align:center;
	font-family:'Lato', sans-serif;
	color:#000;
	font-size:21px;
	font-weight:400;
	margin-bottom:5px;
}

.image-presentazione2 {
	display:table-cell;
	width:50%;
	height:100%;
	padding:1.5vw 1vw 1.5vw 0vw;
}

.image-presentazione2 img {
    width:100%;
    height:100%;
	object-fit: contain;
}

.presentazione2 {
	display:table-cell;
	width:50%;
	padding:5vw 4vw 4vw;
}

.presentazione2 h1 {
	color: #fff;
	font: 700 35px/1em "Lato", sans-serif;
	position:relative;
}

.azienda {
	width:auto;
	max-width:300px;
	float:left;
	height:auto;
	overflow:hidden;
	margin-right:40px;
	margin-bottom:10px;
}

.azienda img {
	width:100%;
}

.azienda2 {
	width:auto;
	max-width:300px;
	float:right;
	height:auto;
	overflow:hidden;
	margin-left:40px;
	margin-bottom:10px;
}

.azienda2 img {
	width:100%;
}

.box-image1 {
width:100%;
height:0;
padding-bottom:65%;
overflow:hidden;
position:relative;
z-index:2;
}

.box-image1 img {
transition-duration: 2s;
position:absolute;
z-index:1;
height:auto;
width:auto;
min-height:auto;
min-width:auto;
max-width:100%;
max-height:100%;
top:50%;
left:50%;
padding:0px 5px 0px 5px;
-webkit-transform: translate(-50%,-50%); 
-moz-transform: translate(-50%,-50%);
-ms-transform: translate(-50%,-50%);
-o-transform: translate(-50%, -50%);
transform: translate(-50%,-50%);
}


/* ==========================================*/
/*	Fine Chi siamo
/* ==========================================*/

/* ==========================================*/
/*	flex presentazione home
/* ==========================================*/


  .flex-container-presentazione {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
  }
  

  .flex-container-presentazione > div img {
    max-width:100%;
  }


  .flex-presentazione1 {
    flex:0 1 60%;
    order:1;
	padding:0px 0px 0px 20px;
  }
			

  .flex-presentazione2 { 
	flex:0 1 40%;
    order:2;
	text-align: center;
	padding-left:40px;
  }
  
  
.flex-presentazione1 h1 {
  color:#000000;
  font-size: clamp(2.3em, 4.5vw, 80px);
  font-family: "Cinzel", serif;
  font-weight:600;
  line-height:1em;
  margin-bottom:10px;
}

.flex-presentazione1 h2 {
 color: #611823;
 font-family: "Cinzel", serif;
  font-size: clamp(1.5em, 2.2vw, 35px);
 font-weight:400;
 margin-bottom:20px;
}

.flex-presentazione1 h3 {
  font-size: clamp(2em, 3vw, 40px);
  font-weight:700;
  color:#601823;
}

.flex-presentazione1 h4 {
  font-size: clamp(1.5em, 2.5vw, 30px);
  font-family: 'Lato', sans-serif;
}


/* Stile per il contenitore principale */
.cont-container {
  display: flex;
  flex-wrap: wrap;
}

/* Stile per la colonna sinistra */
.col-left {
  flex: 1; /* Occupa tutto lo spazio disponibile */
  min-width: 200px; /* Larghezza minima */
  padding-right: 60px;
}

/* Stile per la colonna destra */
.col-right {
  width: 350px; /* Larghezza fissa */
  padding: 15px;
  position: sticky;
  top: 0; /* La distanza dal top della finestra quando diventa sticky */
  align-self: flex-start; /* Assicura che si allinei correttamente in flexbox */
  z-index: 1000; /* Per sovrapporsi ad altri elementi se necessario */
}

.separatore {
	width:100%;
	height:15px;
	border-color: #601823;
	border-width:1px 0px 0px 15px;
	border-style: solid;
	margin-top:30px;
	margin-bottom:15px;
}

section p {
padding-left: 25px;
}

#fissoDiv {
display:none;
}

/* ==========================================*/
/*	fine presentazione home
/* ==========================================*/


/* ==========================================*/
/*	TEAM
/* ==========================================*/

.box-cont-team {
width:25%;
padding:20px 20px 40px 20px;
float:left;
}

.box-cont-team .f-team {
width:100%;
height:0;
padding-bottom:120%;
margin-bottom:10px;
position:relative;
overflow: hidden;
}

.box-cont-team .f-team img {
transition-duration: 2s;
position:absolute;
z-index:1;
height:auto;
width:auto;
min-height:100%;
min-width:auto;
max-width:auto;
max-height:100%;
top:50%;
left:50%;
-webkit-transform: translate(-50%, -50%); 
-moz-transform: translate(-50%, -50%);
-ms-transform: translate(-50%, -50%);
-o-transform: translate(-50%, -50%);
transform: translate(-50%, -50%);
}

.box-cont-team .nome {
color:#2a2f33;
font-size:16px;
font-weight:700;
text-align:center;
padding-top:5px;
}

.box-cont-team .ruolo {
font-size:15px;
height:30px;
font-weight:400;
text-align:center;
line-height: normal;
}

.box-cont-team .specializzazioni {
font-size:14px;
height:30px;
font-weight:400;
text-align:center;
line-height: normal;
}

.box-cont-team .specializzazioni img {
height:20px;
width:22px;
}

/* ==========================================*/
/*	FINE TEAM

/* ==========================================*/
/*	CATEGORIE
/* ==========================================*/

.foto-categoria {
	width:250px;
	height:auto;
	border-radius:3px;
	overflow:hidden;
	margin-right:40px;
	margin-bottom:20px;
	float:left;
}

.foto-categoria img {
	width:100%;
}


.cont-categorie {
 width:25%;
 float:left;
 padding:5px;
}

.categorie {
	width:100%;
	height:0;
	padding-bottom:85%;
	/* border-radius: 3px; */
	/* box-shadow: 0px 0px 15px rgba(0, 0, 0, 0.2); */
	overflow:hidden;
	background:#fff;
	position:relative;
}

.categorie img {
transition-duration: 2s;
position:absolute;
z-index:1;
height:auto;
width:auto;
min-height:100%;
min-width:auto;
max-height:105%;
top:50%;
left:50%;
-webkit-transform: translate(-50%,-50%); 
-moz-transform: translate(-50%,-50%);
-ms-transform: translate(-50%,-50%);
-o-transform: translate(-50%, -50%);
transform: translate(-50%,-50%);
}

.titolo-categoria {
 position:absolute;
 bottom:5%;
 padding:8px 10px 0px;
 width:100%;
 background: rgb(255 255 255 / 80%);
 z-index:2;
}

.titolo-categoria h1  {
	line-height:normal;
	font-size:20px;
	margin-bottom:0;
	font-weight:700;
}

.titolo-categoria p  {
	font-weight:400;
	font-size: 14px;
	letter-spacing:0.02em;
	line-height:normal;
	text-transform: uppercase;
	padding:5px 0px;
	color: #000;
}

.cont-categorie-home {
 width:33.3%;
 float:left;
 padding:10px;
 overflow:hidden;
}

.categorie-home {
	width:100%;
	height:0;
	padding-bottom:80%;
	overflow:hidden;
	position:relative;
	transition-duration: 1s;
	background:#fff;
}

.categorie-home img {
	position:absolute;
	height:auto;
	width:auto;
	max-width:120%;
	min-height:100%;
	min-width:100%;
	top:50%;
	left:50%;
	-webkit-transform: translate(-50%,-50%); 
	-moz-transform: translate(-50%,-50%);
	-ms-transform: translate(-50%,-50%);
	-o-transform: translate(-50%, -50%);
	transform: translate(-50%,-50%);
}

.titolo-categoria-home {
  position:absolute;
  width:100%;
  bottom: 5%;
  text-align:center;
  padding:10px;
  min-height:30px;
  background: rgb(255 255 255 / 0.9);
  z-index:10;
}

.titolo-categoria-home h2  {
	line-height:normal;
	font-size:20px;
	margin-bottom:5px;
	font-weight:700;
}

.titolo-categoria-home p  {
	line-height:normal;
	font-size:15px;
	  color:#000;
}

/* ==========================================*/
/*	Fine CATEGORIE
/* ==========================================*/


/*-------------------------
PREVENTIVI
-------------------------*/

.immagine-preventivi {
 float:left;
 width:40%;
 padding-right:20px;
 text-align:center;
}

.immagine-preventivi img {
height: 200px;
width: auto;
}

.tab-preventivi {
float:left;
width:60%;
}


.pulsante-preventivo {
	width:100%;
	text-align:center;
	padding:10px;
	margin:10px 0px;
	color:#fff;
	text-decoration: none;
	border-radius: 4px;
	border:1px solid #cb010a;
	background: url(../images/submenu.png) no-repeat 95% 55% #dc000a;
	cursor: pointer;
}

.pulsante-aggiungi {
	width:100%;
	text-align:center;
	padding:10px;
	margin:10px 0px;
	color:#fff;
	text-decoration: none;
	border-radius: 4px;
	border:1px solid #cb010a;
	background: #dc000a;
	cursor: pointer;
}

.pulsante-richiedi {
	font: 700 15px/50px 'Lato', sans-serif;
	background:#000000;
	color:#fff;
	border-radius:30px;
	border:0px;
	display:inline-block;
	padding:0px 30px;
	margin:0px;
  height: 50px;
	width:auto;
	min-width:150px;
	cursor:pointer;
	vertical-align:middle;
}

/*-------------------------
FINE PREVENTIVI
-------------------------*/


/*-------------------------
MINIATURE dettaglio
-------------------------*/
.cont-box-image {
 width:33.3%;
 float:left;
 padding:3px;
}

.cont-box-image2 {
 width:25%;
 float:left;
 padding:2px;
}

.box-image2 {
width:100%;
height:0;
padding-bottom:80%;
overflow:hidden;
position:relative;
z-index:2;
}

.box-image2 img {
transition-duration: 2s;
position:absolute;
z-index:1;
height:auto;
width:auto;
min-height:100%;
min-width:auto;
max-width:110%;
max-height:auto;
top:50%;
left:50%;
-webkit-transform: translate(-50%,-50%); 
-moz-transform: translate(-50%,-50%);
-ms-transform: translate(-50%,-50%);
-o-transform: translate(-50%, -50%);
transform: translate(-50%,-50%);
}

/*-------------------------
fine MINIATURE dettaglio
-------------------------*/

/*-------------------------
MINIATURE dettaglio
-------------------------*/

.cont-box-image5 {
 width:25%;
 float:left;
 padding:10px;
}

.box-image5 {
width:100%;
height:0;
padding-bottom:80%;
overflow:hidden;
position:relative;
}

.box-image5 img {
transition-duration: 2s;
position:absolute;
height:auto;
width:auto;
max-width:105%;
min-height:100%;
min-width:100%;
top:50%;
left:50%;
-webkit-transform: translate(-50%,-50%); 
-moz-transform: translate(-50%,-50%);
-ms-transform: translate(-50%,-50%);
-o-transform: translate(-50%, -50%);
transform: translate(-50%,-50%);
}

.didascalia {
width:100%;
height:32px;
font-size:80%;
overflow:hidden;
border-bottom:1px solid #eaeaea;
}

/*-------------------------
fine MINIATURE dettaglio
-------------------------*/

/*-------------------------
BOX news
-------------------------*/

#box_news_home {
  background:#f5f5f5;
  padding:10px;
	border-radius:5px;
	margin-bottom:30px;
	height:250; //auto
}

#box_news {
	float:left;
	width:100%;
	padding:20px;
	margin-bottom:25px;
	background:#fff;
	border-radius:5px;
  box-shadow: 0px 2px 2px rgba(0,0,0,.10);
	border-top:1px solid #f5f5f5;
}

#box_news h1 {
	color: #db0000;
	font: 400 22px/normal "Lato", sans-serif;
	margin-bottom:0px;
	text-shadow: none;
}
	
#miniatura_news {
	float:left;
	width:230px;
	height:170px;
	overflow:hidden;
	border-radius:5px 0px 0px 5px;
	overflow:hidden;
	margin:-20px 25px -20px -20px;
	background:#fff;
}

#miniatura_news img {
	width:100%;
}

#image_dettaglio {
	float:left;
	width:25%;
	height:auto;
	margin:0px 35px 20px 0px;
	border-radius:3px;
	overflow:hidden;
}

#image_dettaglio-rubrica {
	position:relative;
	margin:-30px auto 30px ;
	width:30%;
}

#image_dettaglio-shop {
	float:left;
	width:50%;
	margin:0px 25px 20px 0px;
}

#image_dettaglio img, #image_dettaglio-rubrica img {
	width: 100%;
	height: auto;
}

#image_dettaglio-shop img {
	max-width: 100%;
	width:auto;
	height: auto;
}

/*-------------------------
FINE BOX news
-------------------------*/

/* ==========================================*/
/*	Tabella news
/* ==========================================*/

.table-prodotti-e {
	display:table;
	float:left;
	width:100%;
	padding:0px 0px 20px;
	margin-bottom:25px;
	background:#fff;
	border-bottom: double #dedede;
}

.tab-foto-prodotti-e {
	display:table-cell;
	width:250px;
	height:100%;
	padding:10px 20px 0px 0px;
}

.tab-foto-prodotti-econt {
	width:100%;
	height:150px;
	overflow:hidden;
	position:relative;
}

.tab-foto-prodotti-econt img {
transition-duration: 2s;
position:absolute;
z-index:1;
height:auto;
width:auto;
min-height:100%;
min-width:100%;
max-width:100%;
max-height:120%;
top:50%;
left:50%;
-webkit-transform: translate(-50%,-50%); 
-moz-transform: translate(-50%,-50%);
-ms-transform: translate(-50%,-50%);
-o-transform: translate(-50%, -50%);
transform: translate(-50%,-50%);
}

.tab-contenuti-prodotti-e {
	display:table-cell;
	width:auto;
	padding:10px 0px 10px 0px;
	position:relative;
}

.tab-prezzi-prodotti-e {
	display:table-cell;
	width:80px;
	padding:10px  0px 0px 0px;
	position:relative;
	text-align:right;
}

.text-anteprima-news {
	display:table-cell;
	width:auto;
	padding:10px 0px 10px 0px;
	position:relative;
}

.tab-contenuti-prodotti-e h1 {
	font-size:20px;
	margin-bottom:0px;
	text-shadow: none;
}

.tab-contenuti-prodotti-e p {
line-height:normal;
}

/* ==========================================*/
/*	Fine Tabella news
/* ==========================================*/

/* ==========================================*/
/*	SERVIZI GRID + SOTTOCATEGORIE
/* ==========================================*/

.ca-servizi-s {
  display: grid;
  grid-column-gap: 20px;
  grid-row-gap: 20px;
  grid-template-columns: repeat(3, 1fr);
}
.ca-servizi-s .cont-pulsante {
  border-radius:5px;
  background:#fff;
  border:2px solid #0071bb;
}

.ca-servizi-s .cont-pulsante .pulsante {
  display:block;
  color:#0071bb;
  text-align:center;
  padding:20px;
}

.ca-servizi-s .cont-pulsante a {
  height:100%;
  width:100%;
  display:block;
}

.ca-servizi {
  display: grid;
  grid-column-gap: 20px;
  grid-row-gap: 20px;
  grid-template-columns: repeat(3, 1fr);
}
.ca-servizi .cont-pulsante {
  border-radius:5px;
  background:#f5f5f5;
  border: 1px solid #0071bb;
}

.ca-servizi .cont-pulsante .pulsante {
  display:block;
  text-align:center;
  padding:20px;
  color:#16262e;
}

.ca-servizi .cont-pulsante a {
  height:100%;
  width:100%;
  display:block;
}

/* ==========================================*/
/*	FINE SERVIZI GRID + SOTTOCATEGORIE
/* ==========================================*/

/*-------------------------
BOX sostenitori
-------------------------*/

.cont_box_sostenitori {
 float:left;
 width:50%;
 padding:8px;
}

#box_sostenitori {
	width:100%;
	min-height:140px;
	padding:20px;
	background:#fff;
	border-radius:5px;
	/* box-shadow: 0px 2px 2px rgba(0,0,0,.10); */
	border:1px solid #e1e1e1;
}

#box_sostenitori h1 {
	color: #373738;
	font: 400 20px/normal "Lato", sans-serif;
	margin-bottom:10px;
	text-shadow: none;
}

#miniatura_sostenitori {
	float:left;
	width:130px;
	height:auto;
	overflow:hidden;
	margin:0px 25px 10px 0px;
	background:#fff;
}

#miniatura_sostenitori img {
	width:auto;
	max-width:130px;
	max-height:90px;
}

.continua-leggere {
	display:inline-block;
	vertical-align:middle;
	font-size:13px;
	padding:2px 15px;
	color: #23418f;
	background: #ffffff;
	border: 2px solid #236cb9;
	text-decoration: none;
	cursor: pointer;
}

/*-------------------------
FINE BOX sostenitori
-------------------------*/

/*-------------------------
BOX servizi
-------------------------*/
.cards {
    display: flex;
    flex-wrap: wrap;
    /* Permette ai box di andare a capo */
}

.card-container {
    display: flex;
    justify-content: center;
    background: #f6f6f6;
    border: 1px solid #b0c0d5;
    margin: 10px 10px 30px 10px;
    padding: 10px;
    flex: 0 0 calc(20% - 20px);
    text-align: center;
    text-decoration: none;
    border-radius: 8px;
    box-shadow: 0 0px 10px rgb(0 0 0 / 10%);
    min-width: 190px;
    flex-direction: column;
}

.icona-servizi {
	position:relative;
	width:100%;
	height:0;
	padding-bottom:100%;
	overflow:hidden;
    border-radius: 0.25rem;
	background:#fff;
	margin-bottom:10px;
}

.icona-servizi img {
    display:block;
	margin:10px auto 10px auto;
	width:100%;
}

.card-container h1 {
    font-size: 16px;
	font-weight:400;
    color: #1a5096;
    line-height: 1.2em;
    margin-bottom: 15px;
}

.card-container p {
    line-height: normal;
    font-size: 0.85rem;
    margin-bottom: 10px;
}


.card-container i {
    margin-top: auto;
    align-self: flex-end;
    /* Allinea icona in basso a destra */
    color: #0a2432;
}

/*-------------------------
VIDEO RESPONSIVE
-------------------------*/

.cont-table-video {
 float:left;
 width:50%;
 padding:5px;
}

.cont-table-video h3 {
font-size:14px;
}

.cont-rwd-video {
 float:left;
 width:100%;
 padding:10px;
}

.rwd-video {
	height: 0;
	overflow: hidden;
	padding-bottom: 56.25%;
	padding-top: 30px;
	position: relative;
	z-index: 20;
}
.rwd-video iframe,
.rwd-video object,
.rwd-video embed {
	height: 100%;
	left: 0;
	position: absolute;
	top: 0;
	width: 100%;
}

/*-------------------------
FINE VIDEO RESPONSIVE
-------------------------*/

/* ==========================================*/
/*	FORM MAIL
/* ==========================================*/

.form-dati {
	float:left;
	width:50%;
	padding-right:5px;
	margin-bottom:10px;
}

.extra {
	width:100%;
}

.form-testo {
	float:left;
	width:100%;
	margin-bottom:10px;
}

.form-dati .dati {
	font-family: 'Lato', sans-serif;
	font-size:16px;
	margin-bottom:3px;
	width:100%;
	height:50px;
	border: 1px solid #dcdcdc;
	background:#fff;
	border-radius:5px;
	padding:0px 10px;
}

.form-testo .testo {
	font-family: 'Lato', sans-serif;
	font-size: 14px;
	width:100%;
	height:150px;
	border: 1px solid #dcdcdc;
	background:#ffffff;
	border-radius:5px;
	padding: 10px;
}

input:disabled {
    cursor: no-drop;
}

p.privacy {
  font: 400 13px/normal "Lato", sans-serif;
  margin-bottom:10px;
}

input.invianewsletter {
	background: #000000;
	font: 400 14px/normal 'Lato', sans-serif;
	color:#ffffff;
	border-radius: 0px;
	border:0px;
	display:inline-block;
	padding:5px 10px;
	margin:0px;
	width: 25%;
	height: 40px;
	cursor:pointer;
	vertical-align:middle;
	border: 1px solid #5a5a5a;
}

input.newsletter {
vertical-align:middle;
border-radius: 0px;
margin:0px;
border:0px;
width: 75%;
height: 40px;
color: #000;
background:#fff;
text-indent: 0.01px;
text-overflow: ""; 
padding: 10px 20px 10px 20px;
margin-right: 0px;
font-family: 'Lato', sans-serif;
font-size: 14px;
}

input.newsletter::placeholder, input.namenewsletter::placeholder {
  color:#000;
	opacity:0.5;
}

.indicates-required {
	text-align:right;
}

.mc-field-group input {
	font-family:'Lato', sans-serif;
	font-size:16px;
	margin-bottom:10px;
	width:100%;
	height:50px;
	background:#fff;
	border: 1px solid #dcdcdc !important;
	border-radius:5px !important;
	padding:0px 10px;
}

#mc-embedded-subscribe {
	background: #23418f !important;
	font: 700 15px/50px 'Open Sans', sans-serif !important;
	color:#fff !important;
	border-radius:30px !important;
	border:0px !important;
	display:inline-block !important;
	padding:0px 30px !important;
	margin:0px !important;
	height: 50px !important;
	width:auto !important;
	cursor:pointer !important;
	vertical-align:middle !important;
	border: 1px solid #234190 !important;
}

#mc_embed_signup .mc-field-group {
    width: 100% !important;
    padding-bottom: 0% !important;
}

#mc_embed_signup form {
    padding: 0 !important;
}

/* ==========================================*/
/*	FINE FORM MAIL
/* ==========================================*/


#cont_footer {
	clear:left;
	width:100%;
	background: #f1e6cd;
}

#footer {
	margin: 0 auto;
	width:100%;
	max-width: 1400px;
	padding:80px 20px;
	color:#873030;
}

#footer:after {
	content: " ";
	display: block;
	clear:both;
}

.uno {
	float:left;
	width: 35%;
	padding:0px 50px 0px 0px;
}
.due {
	float:left;
	width: 30%;
}

.due img {
	max-width: 100%;
}

#cont_footer2 {
	width:100%;
	background: #f1e6cd;
}

#footer2 {
	margin: 0 auto;
	width:100%;
	max-width:1400px;
	padding:35px 20px 160px 20px;
	color: rgb(0 0 0);
	font: 400 13px/1.8em "Lato", sans-serif;
}

#fissoWhatsapp {
  position: fixed;
  bottom: 80px;
  right: 0px;
  z-index: 1000;
  display: inline-block;
  background-color: #17a529;
  padding: 15px 20px;
}

#fissoWhatsapp a {
  color: white;
  text-decoration: none;
}


#pageup {
  position: fixed;
  right: 20px;
  bottom: 43px;
  width: 30px;
  height: 30px;
  background-image: url('../images/scroll-top.png');
  background-repeat: no-repeat;
  background-size: 30px 30px;
  display: none;
  cursor: pointer;
	z-index:90;
}


.nascosto { display: none; }


.container_news {
    width: auto;
    height:190px;
    overflow: Hidden;
    margin-bottom: 30px;
}