@import url('https://fonts.googleapis.com/css?family=Open+Sans:400,600&display=swap');
@import url('https://fonts.googleapis.com/css?family=Caveat&display=swap');
/*http://www.responsivegridsystem.com/calculator/*/
@import url('balloon.min.css');
@import url('hover.css');

* { border:0px; list-style:none; margin:0px; padding:0px; outline:none; -webkit-box-sizing: border-box; -moz-box-sizing: border-box; box-sizing: border-box; *behavior: url(boxsizing.htc); -webkit-appearance: none; -moz-appearance: none; appearance: none; transition: all 0.9s ease-in-out;  -webkit-transition: all 0.9s ease-in-out; -moz-transition: all 0.9s ease; -o-transition: all 0.9s ease;  -ms-transition: all 0.9s ease-in-out;  }
article, aside, details, figcaption, figure, footer, header, hgroup, menu, nav, section { display: block; }
html { font-size: 100%; }
html, body {  height:100%; }
body { background: #FFF; color:#666; margin: 0px; font-family: 'Open Sans', sans-serif; font-size:14px; -webkit-text-size-adjust:100%; line-height:22px; }
a { text-decoration:none; outline:none; color:#B20000; text-overflow:ellipsis; }
a:hover { color:#000; }
a.selected { color:#000; }
.cbp-spmenu-vertical a.selected { background:#FFF; color:#B20000; }
b, strong { font-weight:600; }
h1, h2, h3, h4 { line-height:normal; margin:0px; }
h1 { font-size:50px; margin: 20px 0; color:#000; }
h1.section { font-size: 80px; color:#B20000; font-family: 'Caveat', cursive; text-align:center; font-weight:normal; letter-spacing:2px; margin: 20px 0 60px 0; }
h2 { font-size:40px; margin-bottom:10px; font-weight:normal; color:#0F3194; }
h3 { font-size:20px; margin-bottom:20px; font-weight:300; }
img.scale { width:100%; height:auto; }
img.block { display:block; }
img.loading { background: url('../images/loading.gif') no-repeat center; }
img.border { border:10px solid #EEE; }
input, select, button { height:40px; }
input, select, textarea { background:none; border-radius:0; color:#000; font-family: 'Open Sans', sans-serif; font-size:14px; padding: 5px; border:1px solid #B20000; }
input:focus, textarea:focus, select:focus { border-color: #000; }
input.error, textarea.error, select.error, input[type='checkbox'].error { border-color:#FF0000; color:#FF0000; background:#F9CCCB; } 
label { margin-bottom:5px; display:block; }
label.error { color:#FF0000; font-size:0px; visibility:hidden; float:none; overflow:hidden; height:0px; display:none; line-height:0; padding:0px; margin:0px; letter-spacing: 0; }
input[type='checkbox'] { padding:0; height:20px; width:20px; float:left; margin-right:10px;  border:1px solid #B20000; }
input[type='checkbox']:checked { background:#B20000; }
select2 { background-image: url("../images/select_arrowdown.gif"); background-repeat: no-repeat; background-position: 97% 50%; }
form .row { margin-bottom:20px; }
option { padding:0 5px; }
.btn, input[type='submit'], input[type='button'], input[type='reset'], button { display:inline-block; background:#B20000; color:#FFF; font-family: 'Open Sans', sans-serif; font-size:14px; text-transform:uppercase; border:0px; cursor:pointer; padding: 10px 20px; font-weight:bold; }
.btn:hover, input[type='button']:hover, input[type='submit']:hover, input[type='reset']:hover { text-decoration:none; background:#DDD; color:#0F3194;}
.btn-primary, input.btn-primary { background-color:#B20000; color:#FFF;  }
.btn-primary:hover, input.btn-primary:hover { color:#FFF; background:#444; }
.form-locator { margin:0 auto; width:400px; }
.form-locator button { padding-top:2px; background:none; color:#FB4A25; font-size:28px; }
.form-locator .col { margin: 0 20px 0 0; }
.warning { color:#FF0000; font-weight:600; background: url('../images/icon_warning.png') no-repeat left top; padding:5px 0 5px 22px; text-transform:uppercase; }
.icon_info { margin-left:10px; cursor:pointer;  font-size:11px; }
.strike { text-decoration: line-through; font-weight:normal; }
.msg_error { color:#FFF; margin-bottom:20px; display:block; background:#FF0000; padding: 5px 10px; border-radius: 5px; }
.msg_success { color:#FFF; margin-bottom:20px; display:block; background:#59B200; padding: 5px 10px; border-radius: 5px; }
p.limit { margin: 10px 0; font-size:11px; }
.videoWrapper { position: relative; padding-bottom: 56.25%; /* 16:9 */	padding-top: 25px; height: 0; }
.videoWrapper iframe, .videoWrapper object, .videoWrapper embed { position: absolute; top: 0; left: 0; width: 100%; height: 100%; }
iframe {  width: 100%; height:auto; }
.relative { position:relative; }

ul.list_border li:first-child { border-top:0px; }
ul.list_border li { float:none; margin:0px; padding: 5px 0; color:#999; border-bottom:1px dotted #000; }
ul.list_border li a { display:block; }
ul.list_border li p a { display:inline; }
li span.tot { float:right; font-size:11px; width:30px; text-align:center; display: inline-block; }
ul.icon_right li a i { float:right; }
ul.list_number li { list-style:decimal; margin:5px 0 5px 20px; }
ul.list_disc li { list-style:disc; margin:0 0 5px 20px; }
ul.list_disc li li { list-style:circle; }

.layout { position:relative; }
.wrapper { width:100%; margin: 0 auto; min-width:720px; clear: both; background:#FFF; }
.content { max-width:1400px; margin: 0 auto; clear: both; padding:0 20px; position:relative; }
.content-small { max-width:900px; margin: 0 auto; clear: both; position:relative; }
.content-big { max-width:70%; margin: 0 auto; clear: both; position:relative; }
.cover { height: calc(100vh - 100px); background-position:center center; background-repeat: no-repeat; background-size:cover; overflow:hidden; }
.relative { position:relative; }

.align_left { text-align: left; }
.align_right { text-align: right; }
.align_center { text-align: center; }
.hidden { display:none; }
.bold { font-weight:600; }
.avatar { width:50px; height:50px; float:left; margin-right:10px; border-radius: 50%; }
.fa { margin-right:5px; }
.fr { float:right; }
.red { color:#FF0000; }
.green { color:#59B200; }
.gray, .gray a { color:#999; }
.black, .black a { color:#000; }
.hidden { display:none; }
.block { display:block; }
.mb80 { margin-bottom:80px; }
.mt60 { margin-top:60px; }
.mt40 { margin-top:40px; }
.mb40 { margin-bottom:40px; }
.mt20 { margin-top:20px; }
.mb20 { margin-bottom:20px; }
.mb10 { margin-bottom:10px; }
.pl40 { padding-left:40px; }
.pr40 { padding-right:40px; }


table { border-collapse: collapse; width:100%; }
table, th, td { border: 1px solid #888; padding: 2px 5px; }
thead td { background:#EEE; }
figure { overflow:hidden; position:relative; }
figure * { transition: all .2s ease-in-out; line-height:normal; }
figure img { display:inline-block; }
figure.zoom a:hover img { filter: none; transform: scale(1.1);  }
figure.fade a:hover img { opacity:0.5;  overflow:hidden; }

.group:before, .group:after { content:""; display:table; }
.group:after { clear:both; }
.col { display: block; float:left; margin: 0 0 0 1.6%; }
.col:first-child { margin-left: 0; }

.span_50 { width: 50%; float:left;  }

.span_1_of_2 { width: 49.2%; }
.span_2_of_2 { width: 100%; }

.span_1_of_3 { width: 32.2%; }
.span_2_of_3 { width: 66.1%; }
.span_3_of_3 { width: 100%; }

.span_1_of_4 { width: 23.8%; }
.span_2_of_4 { width: 49.2%; }
.span_3_of_4 { width: 74.6%; }
.span_4_of_4 { width: 100%; }

.span_1_of_5 { width: 18.72%; }
.span_2_of_5 { width: 39.04%; }
.span_3_of_5 { width: 59.36%; }
.span_4_of_5 { width: 79.68%; }
.span_5_of_5 { width: 100%; }

.span_1_of_6 { width: 15.33%; }
.span_2_of_6 { width: 32.26%; }
.span_3_of_6 { width: 49.2%; }
.span_4_of_6 { width: 66.13%; }
.span_5_of_6 { width: 83.06%; }
.span_6_of_6 { width: 100%; }

.span_1_of_8 { width: 11.1%; }
.span_2_of_8 { width: 23.8%; }
.span_3_of_8 { width: 36.5%;}
.span_4_of_8 { width: 49.2%; }
.span_5_of_8 { width: 61.9%; }
.span_6_of_8 { width: 74.6%; }
.span_7_of_8 { width: 87.3%; }
.span_8_of_8 { width: 100%; }

.span_1_of_10 { width: 8.56%; }
.span_2_of_10 { width: 18.72%;  }
.span_3_of_10 { width: 28.88%; }
.span_4_of_10 { width: 39.04%;  }
.span_5_of_10 { width: 49.2%; }
.span_6_of_10 { width: 59.36%; }
.span_7_of_10 { width: 69.52%;  }
.span_8_of_10 { width: 79.68%; }
.span_9_of_10 { width: 89.84%; }
.span_10_of_10 { width: 100%; }
.iphone_show { display:none; }

.bg_blue { color:#FFF; background:#214296;  }
.bg_blue a { color:#FFF; font-weight:bold; }
.bg_yellow { background:#D9F32B; color:#214296; }
.overlay h3 { font-size:20px; margin-bottom:10px; }
.overlay { opacity:0; font-size:14px; font-weight:normal; position:absolute; padding: 20px; text-align:left; line-height:20px; z-index:2; top:0; left:0; right:0; bottom:0; color:#FFF; background-color: rgba(39, 80, 155, 0.8); text-align:center;  display: flex; display: -webkit-flex; justify-content: center; align-items: center; -webkit-justify-content: center; -webkit-align-items: center; }
.overlay:hover { opacity:0.8; }
.overlay i { font-size:32px; }
.flex { display: -webkit-box;  display: -moz-box; display: -ms-flexbox; display: -webkit-flex; display: flex; align-items: center; justify-content: center; }

#header { position:absolute; top:0px; left:0px; right:0; z-index:22; }
#header .content { padding: 20px 20px 0 20px; }
#header li a { font-weight:bold; }
#header li a:hover, #header li a.selected { color:#000; }
#header .logo { position:absolute; top:20px; left:20px; }
#header .logo img { width:110px; height:auto; }

.menu { position:fixed; top:20px; right:20px;  }

#footer { background:#B20000; color:#FFF; line-height:20px; padding: 60px 20px; }
#footer a { color:#FFF; font-weight:bold; }
#footer i { width:30px; height:30px; border-radius:200px; border:1px solid #FFF; display:inline-block; text-align:center; padding:7px; margin:10px 10px 0 0; }
#footer img { width:110px; height:auto; }

.more { margin-top:40px; }
.scroll { padding: 0 150px; }

.fairs { background: url('../images/bg.jpg'); padding:40px; text-align:center; color:#FFF; font-size:16px; font-weight:bold; text-shadow: 2px 2px #000; }
.fairs h2 { color:#FFF; margin-bottom:40px; }
.fairs p { margin-top:10px; }

.services img { display:block; }
.services .item-row { padding:0px; }
.services .item-row .image { width:50%; float:left; }
.services .item-row:nth-child(odd) .image { float:right; }
.services .item-row .text { width:50%; padding:40px; float:left;  }
.services h2 { font-weight:bold; }
.content-small.intro { text-align:center; margin-bottom:60px; }

.parallax { position:relative; height: calc(100vh - 120px);  background-size:cover; background-attachment: fixed; background-position:center center; background-repeat: no-repeat; }
.parallax .text { position:absolute; top:80px; left:0; width:30%; z-index:2; color:#FFF; text-shadow: 2px 2px #000; }
.parallax h2 { color:#FFF; }
.parallax .bg { position:absolute; z-index:1; top:0; bottom:0; left:0; right:0; background-color: rgba(0, 0, 0, 0.3); }

.slide li { position:relative; display: flex; align-items: center; height: calc(100vh - 20px); background-position:center center; background-repeat: no-repeat; background-size:cover;  }
.slide li a { position:absolute; top:0; left:0; right:0; bottom:0; }
.slide li .container { position:absolute; top:0; bottom:0; width:100%; text-align:center;  display: flex; display: -webkit-flex; justify-content: center; align-items: center; -webkit-justify-content: center; -webkit-align-items: center;}
.slide li h1 { color:#FFF; font-size:100px; text-shadow: 2px 2px #000; }
.slide li h1 span { font-family: 'Caveat', cursive; }
.slide img { display:block; }
.item-row { padding: 40px 0; }
.item-row h1 { margin-bottom:60px; }
.secondary_title{ font-size: 70px; padding-top: 20px; }

.grid.product-list .col.item { text-align:center; }
.list-products img { display:block; }
.list-products h3 { padding:8px 10px; font-size:16px; margin:0; font-weight:bold; background:#B20000; color:#FFF; }


.scheda { text-align:center; }
.scheda .cat a { margin:20px 0; font-size:16px; font-weight:bold; display:inline-block; }
.scheda .cat i { margin: 0 10px; }
.scheda .tag { margin-top:20px; }
.scheda .text { font-size:20px; font-weight:bold; line-height:normal; }
.scheda img { display:block; }
.tag a { background:#EEE; color:#0F3194;  padding: 5px 10px; display: inline-block; margin:5px 5px 0 0; text-transform:lowercase; border-radius:5px; font-weight:bold; }
.tag a:hover { background:#0F3194; color:#FFF; }

.box-news .cat { margin:0; font-size:13px; }
.box-news h2 { font-size:18px; margin: 10px 0; font-weight:bold; }
.box-news .text { background:#EFEFEF; padding:15px; min-height:260px; }
.cat a { font-weight:normal; }

.scheda-news .tag { margin-top:20px;}
#lato h3 {font-weight:bold; text-transform:uppercase; color: #0F3194; font-size: 14px; }

.contacts .col { text-align:center; padding-top:50px; position:relative; color:#0F3194; font-weight:bold; }
.contacts i { position:absolute; top:0; left:0; right:0; text-align:center; margin: 0 auto; font-size:30px; color:#0F3194; }
.contacts h4 { color:#777; font-weight:normal; margin-bottom:10px; font-size:13px; }

p.more a { color:#214296; border-bottom:2px solid #214296; background:none; padding: 10px 5px; }
p.more a:hover { color:#D9F32B; border-bottom:2px solid #D9F32B; background:none; }
p.more i { margin-left:20px; }

.share i { padding:7px 0; margin:0 5px; width:30px; height:30px; text-align:center; border-radius: 200px; border:1px solid #214296; }
.share ul li { border:0px; display:inline; }
.share ul li:first-child { margin-right:10px; }

#map { height:500px; width:100%; color:#000; }

.gallery .span_2_of_2.item { margin:20px 0; }
.gallery .item { position:relative; }
.gallery .item .overlay { display:none; }
.gallery .item:hover .overlay { display:block; }
.gallery * { transition: all .2s ease-in-out; }

.pagination { margin: 20px 0 40px 0; font-family: 'Jockey One', sans-serif; text-transform: uppercase; }
.pagination .page { text-align:right; }
.pagination .page a, .pagination .page b { padding:10px 15px; display:inline-block; border:1px solid #FFF; }
.pagination .page b { color: #E50026; }
.pagination .page a:hover { background:#EEE; }
.pagination .result { padding-top:10px; }
.subnav { margin:0 auto; text-align:center; margin-top:40px; line-height:normal; }
.subnav .col { position:relative;  }
.subnav a { display:block; padding:10px; }
.subnav .left a { padding-left:40px; text-align:left; position:fixed; top:50%; left:40px; width:200px; }
.subnav .left i { left:10px;  }
.subnav .right a { padding-right:40px; text-align:right; position:fixed; top:50%; right:40px; width:200px; }
.subnav .right i { right:10px;  }
.subnav i { font-size:18px; position:absolute; top:12px; }

.masonry-layout { column-count: 3; -webkit-column-count: 3; column-gap: 0;  -webkit-column-gap: 0; line-height:normal; }
.masonry-layout .item { break-inside: avoid; -webkit-column-break-inside: avoid; page-break-inside: avoid; }
.masonry-layout .item li { margin-bottom:25px; }


.grid .span_1_of_2:nth-child(2n+1) { margin-left:0px; }
.grid .span_1_of_3:nth-child(3n+1) { margin-left:0px; }
.grid .span_1_of_4:nth-child(4n+1) { margin-left:0px; }
.grid .span_1_of_5:nth-child(5n+1) { margin-left:0px; }
.grid .span_1_of_6:nth-child(6n+1) { margin-left:0px; }
.grid .span_1_of_7:nth-child(7n+1) { margin-left:0px; }
.grid .span_1_of_8:nth-child(8n+1) { margin-left:0px; }
.grid img { display:block; }
.grid .col { margin-bottom:1.6%; }
.span_25 { width:25%; margin:0px; line-height:normal; font-size:0px; }



.global-site-notice { background: #000 none repeat scroll 0% 0%;  color: #FFF; display:block;  padding: 20px; float:none; font-size:14px;  position: fixed; left:10px; right:10px; bottom:10px; z-index:100; }
.global-site-notice .notice-inner { width:100%; margin: 0 auto; text-align:left; float:none; position:relative; padding-right:50px; }
.global-site-notice .notice-inner p { width: auto; display: block; }
.global-site-notice .notice-inner a { font-weight:bold;  color:#FFF; text-decoration:underline; }
.global-site-notice .notice-inner a:hover { text-decoration:underline; }
#close-cookie-notice { position: absolute; right:0; top:0px; }
.global-site-notice.hidden { display:none; }

.scrolloff { pointer-events: none; }

div.top {  display: none; overflow: hidden; position: fixed; right:40px; bottom:60px;  }
div.top .fa { margin:0px; }
div.top a { padding-top:8px; display:block; color:#FFF; cursor:pointer; font-size:20px; width:40px; height:40px; text-align:center; font-weight:bold; }

.box-lang { position:absolute; top:15px; right:15px; }
.box-lang li { display:inline-block; margin: 0 5px; }

.nav-item.lang { display:none; } 
.nav-menu { position:relative; display:block; }
.nav .fa { margin-right:0px; }
.nav-item { display:block; zoom:1; position:relative;  margin-right:1px; }
.nav-item a { display:block; }
.nav-item:hover .nav-submenu { display:block; text-decoration:none; }

/* Navigation submenu */
.nav-submenu { display:none; position:absolute; z-index:200; background:#FFF; width:200px; padding-top:10px; margin-left:-15px;  }
.nav-submenu-item a { color:#264B9F; padding:7px 15px; display:block; width:100%; text-align:left; font-weight:normal; }
.nav-submenu-item a:hover { text-decoration:none; }

/* Mobile navigation */
.nav-mobile { color:#000; display:none; position:fixed; top:25px; right:15px; text-align:center; font-size:20px; height:40px; width:40px; cursor:pointer; padding:7px 10px; }
.smaller .nav-mobile i { color: #264B9F; }

/* Mobile navigation, clickable area for revealing <ul> */
.nav-click { position:absolute; top:0; right:0; display:none; height:40px; width:70px; cursor:pointer; text-align:center; }
.nav-click i { display:block; font-size:20px; padding:15px 0; }
.nav-rotate { -webkit-transform:rotate(180deg); -moz-transform:rotate(180deg); -ms-transform:rotate(180deg); -o-transform:rotate(180deg); transform:rotate(180deg); }




/* General styles for all menus */
.cbp-spmenu { background: #B20000; position: fixed; }
.cbp-spmenu h3 { color: #FFF; font-size: 1.9em; padding: 20px; margin: 0;  background: #B20000; }
.cbp-spmenu a { display: block; color: #fff; font-size: 1.1em; font-weight:bold; }
.cbp-spmenu a:hover { background: #B20000; }
.cbp-spmenu a:active { background: #B20000; color: #FFF; }

/* Orientation-dependent styles for the content of the menu */

.cbp-spmenu-vertical {
	width: 240px;
	height: 100%;
	top: 0;
	z-index: 1000;
}

.cbp-spmenu-vertical a {
	border-bottom: 1px solid #FFF;
	padding: 10px;
}
.cbp-spmenu-vertical .lang a {
	border-bottom: 0px;
	padding: 0 10px 10px 10px;
	display:inline-block;
}

.cbp-spmenu-horizontal {
	width: 100%;
	height: 150px;
	left: 0;
	z-index: 1000;
	overflow: hidden;
}

.cbp-spmenu-horizontal h3 {
	height: 100%;
	width: 20%;
	float: left;
}

.cbp-spmenu-horizontal a {
	float: left;
	width: 20%;
	padding: 0.8em;
	border-left: 1px solid #FFF;
}

/* Vertical menu that slides from the left or right */

.cbp-spmenu-left {
	left: -240px;
}

.cbp-spmenu-right {
	right: -240px;
}

.cbp-spmenu-left.cbp-spmenu-open {
	left: 0px;
}

.cbp-spmenu-right.cbp-spmenu-open {
	right: 0px;
}

/* Horizontal menu that slides from the top or bottom */

.cbp-spmenu-top {
	top: -150px;
}

.cbp-spmenu-bottom {
	bottom: -150px;
}

.cbp-spmenu-top.cbp-spmenu-open {
	top: 0px;
}

.cbp-spmenu-bottom.cbp-spmenu-open {
	bottom: 0px;
}

/* Push classes applied to the body */

.cbp-spmenu-push {
	overflow-x: hidden;
	position: relative;
	left: 0;
}

.cbp-spmenu-push-toright {
	left: 240px;
}

.cbp-spmenu-push-toleft {
	left: -240px;
}

/* Transitions */

.cbp-spmenu,
.cbp-spmenu-push {
	-webkit-transition: all 0.3s ease;
	-moz-transition: all 0.3s ease;
	transition: all 0.3s ease;
}

.product_description{
	font-size: 16px;
	font-weight: bold;
	padding: 14px 0 28px 0;
}

.font_red{
	color: #B20000;
}

.citazione{
	color: #B20000;
	font-style: italic;
	text-align: justify;
	font-size: 20px;
}

@media screen and (max-width: 55.1875em){

	.cbp-spmenu-horizontal {
		font-size: 75%;
		height: 110px;
	}

	.cbp-spmenu-top {
		top: -110px;
	}

	.cbp-spmenu-bottom {
		bottom: -110px;
	}
	.slide li h1 { color:#FFF; font-size:40px; text-shadow: 2px 2px #000; }
	.secondary_title {font-size: 30px; padding-top: 20px;}
}

@media screen and (max-height: 26.375em){

	.cbp-spmenu-vertical {
		font-size: 90%;
		width: 190px;
	}

	.cbp-spmenu-left,
	.cbp-spmenu-push-toleft {
		left: -190px;
	}

	.cbp-spmenu-right {
		right: -190px;
	}

	.cbp-spmenu-push-toright {
		left: 190px;
	}
	.slide li h1 { color:#FFF; font-size:20px; text-shadow: 2px 2px #000; }
	.secondary_title {font-size: 14px; padding-top: 20px;}
}