@import url('https://fonts.googleapis.com/css2?family=Public+Sans:ital,wght@0,100..900;1,100..900&display=swap');
@import url('https://fonts.googleapis.com/css2?family=Cormorant+Garamond:ital,wght@0,300..700;1,300..700&display=swap');
@import url('balloon.min.css');
@import url('hamburger.css');


* { border:0px; list-style:none; margin:0px; padding:0px; outline:none; -webkit-box-sizing: border-box; -moz-box-sizing: border-box; box-sizing: -webkit-appearance: none; -moz-appearance: none; appearance: none; }
article, aside, details, figcaption, figure, footer, header, hgroup, menu, nav, section { display: block; }
html { font-size: 100%; }
html, body {  height:100%; }
body {background: #FFF; margin: 0px; font-family: "Public Sans", sans-serif; letter-spacing:1px; font-weight: 300; font-size:14px; -webkit-text-size-adjust:100%;  color:#222; line-height:22px;  }
a { text-decoration:none; outline:none; color:#111; text-overflow:ellipsis; font-weight:normal; }
a:hover, a.selected { text-decoration:none; color:#444; 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; }
b, strong { font-weight:600; }
h1, h2, h3 { line-height:normal; margin:0px; font-family: "Cormorant Garamond", serif; font-weight:300; }
h1 { margin-bottom:20px; font-size:40px; }
h1.title { text-transform:uppercase; margin:0px; text-align:center; letter-spacing:2px; }
h2 { font-size:30px; }
h3 { font-family: "Public Sans", sans-serif; font-size:18px; margin-bottom:20px; line-height:26px; }
h4 { font-family: "Public Sans", sans-serif; font-weight:500; }
img.scale { width:100%; height:auto; }
img.loading { background: url('../images/loading.gif') no-repeat center; }
img.border { border:10px solid #EEE; }
.round img { border-radius:1000px; overflow:hidden; }
input, select, textarea { border-radius:0; color:#444; font-family: "Public Sans", sans-serif; font-size:16px; padding: 10px; letter-spacing:1px; background-color: #FFFFFF; border: 1px solid #CCCCCC; width:100%; }
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.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='radio'] { height:20px; width:20px; }
input[type='checkbox'] { padding:0; height:20px; width:20px; float:left; margin-right:10px;  border: 1px solid #CCCCCC; }
input[type='checkbox']:checked, input[type='radio']:checked { background:#666; }
form .row { margin-bottom:10px; }
option { padding:0 5px; }
.btn, input[type='submit'], input[type='button'], input[type='reset'] { padding: 12px; border:0px; font-weight:600; cursor:pointer; display:inline-block; color:#FFF; background:#444; line-height:normal; line-height:normal; text-align:center;  text-transform:uppercase;}
.btn:hover, input[type='button']:hover, input[type='submit']:hover, input[type='reset']:hover { text-decoration:none; background: #888;}
.btn-primary, input.btn-primary { background-color:#000000; color:#FFF;  }
.btn-primary:hover, input.btn-primary:hover { color:#FFF; background:#000000; }
.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; }

.check-list li { position:relative; padding-left:35px; margin-bottom:20px;  }
.check-list li input { position:absolute; top:0; left:0; }
.check-list li label { font-family: "Public Sans", sans-serif; font-size:18px; }

ul.list_border li:first-child { border-top:0px; }
ul.list_border li { float:none; margin:0px; padding: 5px 0; color:#444; }
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:1260px; margin: 0 auto; clear: both; padding:0 40px; position:relative; }
.content-large { max-width:90%; margin: 0 auto; clear: both; padding:0 40px; position:relative; }
.cover { height: calc(100vh - 100px); background-position:center center; background-repeat: no-repeat; background-size:cover;}

.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:#444; }
.black, .black a { color:#000; }
.hidden { display:none; }
.block { display:block; }
.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; }
.relative { position:relative; }

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

#privacy { padding:40px; text-align:justify; }


.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_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; }

.span_25 { width:25%; float:left; }
.span_20 { width:20%; float:left; }

.bgcolor1 { background:#EEE;  }
.overlay h3 { font-size:20px; margin-bottom:10px; }
.overlay { 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(0, 0, 0, 0.8); }

#header .wrapper { position:fixed; top:0; left:0; right:0; z-index:100; height:200px; padding-top:20px;  }
#header .logo { text-align:center; }
#header .logo img { height:120px; width:auto; }
#header .menu { text-align:center; margin-top:10px; }
#header .menu ul { margin: 0 auto; }
#header .menu li { margin: 0 10px; display:inline-block; text-transform:uppercase; }
.hamburger { display:none; }


.header-section { margin-bottom:40px; }

#main { margin-top:200px; }

.footer { font-size:13px; line-height:18px; color:#444; padding:40px 0;  }
.footer a { font-weight:normal; color:#888; }
.footer h4 { margin: 0 0 10px 0; text-transform:uppercase; }
.footer .social i { width:30px; height:30px; text-align:center; border-radius:200px; padding-top:7px; color:#222; margin:0px; border:1px solid #222; }
.footer .social li { display:inline-block; float:none; margin-right:5px; }
.footer .address { display:grid; grid-template-columns:1fr 1fr 1fr 1fr; gap:20px; }
.footer .address div { border-top:1px solid #000; padding-top:20px; }
.footer .credits { text-align:center; margin: 40px 0 20px 0; }
.footer .orari li { position:relative; padding-left:100px; }
.footer .orari li b { position:absolute; left:0; top:0; }

.slide li { height: calc(100vh - 300px); min-height:550px; background-position:center center; background-repeat: no-repeat; background-size:cover; position:relative; }
.slide li .content { position:absolute; top:0; bottom:0; left:20px; right:20px; text-align:center; align-content:center; color:#FFF;  }
.slide li h1 {  font-weight:bold; font-size:50px; color:#FFF; line-height:80px; margin:0px; font-weight:500; }

.grid-2 { display:grid; grid-template-columns:1fr 1fr; gap:10px; }
.grid-3 { display:grid; grid-template-columns:1fr 1fr 1fr; }
.grid-4 { display:grid; grid-template-columns:1fr 1fr 1fr 1fr;  }
.gap20 { gap:20px; }
.gap40 { gap:40px; }

.about { display: grid; grid-template-columns: 298px 1fr; gap:40px; text-align:left; font-size:14px; line-height:18px; }

.item-row { text-align:center; padding: 40px; font-size:16px; line-height:24px; max-width:800px; margin:0 auto; }
.item-row h2 { margin-bottom:40px; font-weight: 500; font-size:40px; }

.acc-title { font-size:14px; position:relative; padding:10px 0; padding-left:30px; cursor:pointer; text-transform:uppercase; border-bottom:1px solid #DDD;  }
.acc-title i { font-size:16px; position:absolute; left:0px; top:13px; }
.acc-content { padding: 30px; }
.acc-content .grid { display:grid; grid-template-columns:250px 1fr; gap:40px; }

.slick-prev::before, .slick-next::before { color: #222; }
.slick-prev, .slick-next { top:45%; }


.share i { padding:5px; margin:0px; color:#444; }
.share a:hover i { color:#000; }
.share a { font-weight:normal; color: #444; }
.share ul { margin:0 auto; text-align:center; }
.share ul li { border:0px; display:inline; }

.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; }
.gallery .item img { display:block; }

.pagination { margin: 20px 0 40px 0; }
.pagination .page { text-align:right; }
.pagination .page a, .pagination .page b { padding:10px 15px; display:inline-block; border:1px solid #DDD; }
.pagination .page b { color: #E50026; }
.pagination .page a:hover { background:#EEE; }
.pagination .result { padding-top:10px; }


.gallery .span_1_of_2:nth-child(2n+1) { margin-left:0px; }
.gallery .span_1_of_3:nth-child(3n+1) { margin-left:0px; }
.gallery .span_1_of_4:nth-child(4n+1) { margin-left:0px; }
.gallery .span_1_of_6:nth-child(6n+1) { margin-left:0px; }
.gallery .span_1_of_8:nth-child(8n+1) { margin-left:0px; }
.gallery .col { margin-bottom:1.6%; }
.gallery img { display:block; }
.gallery .item { position:relative; }

.masonry-layout { column-count: 3; -webkit-column-count: 3; column-gap: 20px;  -webkit-column-gap: 20px; margin-top:40px; }
.masonry-layout .item {break-inside: avoid; -webkit-column-break-inside: avoid; margin-bottom:20px; }


.scrolloff { pointer-events: none; }

div.top {  display: none; overflow: hidden; position: fixed; right:40px; bottom:80px;  }
div.top .fa { margin:0px; }
div.top a { display:block; width:30px; height:30px; text-align:center; border-radius:200px; padding-top:2px; border:1px solid #444; color:#444; }

.map { -webkit-filter: grayscale(100%);  -moz-filter: grayscale(100%); -ms-filter: grayscale(100%); -o-filter: grayscale(100%); filter: grayscale(100%); }