﻿@import url('https://fonts.googleapis.com/css2?family=Gantari:wght@100;300&display=swap');
@import url('hamburgers.css?i=2');
@import url('balloon.min.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; }
article, aside, details, figcaption, figure, footer, header, hgroup, menu, nav, section { display: block; }
html { font-size: 100%; height:100%; }
body { margin: 0px; font-family: 'Gantari', sans-serif; font-size:14px; line-height:20px; position: relative;-webkit-text-size-adjust: none; color:#000; text-align:justify; }
h1, h2, h3, h4, h5, pre { font-weight:400; font-family: 'Gantari', sans-serif; text-align:left;   }
h1 { font-weight:400; margin:0 0 40px 0; font-size:22px; color: #222; text-transform: uppercase; letter-spacing: 10px; }
h1.section { font-weight:300; margin-bottom:40px; font-size:30px; text-align:center; }
h2 { margin-bottom:20px; margin-bottom: 20px; font-size:22px; line-height:30px; color: #222; text-transform: uppercase; letter-spacing:5px; }
h3 { margin-bottom:20px; font-size:20px; text-transform: uppercase; letter-spacing:5px; }
h4 { font-size:16px; text-transform:uppercase; }
b { color: #000; }
a { color:#000; font-weight:300; text-decoration:none; }
a:hover { color:#888; }
a.selected { opacity:0.5; }
figure * { 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; }
input.error, textarea.error, select.error, input[type='checkbox'].error { border-color:#FF0000; color:#FF0000; background:#FFE5E5; }
label.error { color:#FF0000; font-size:0px; visibility:hidden; float:left; overflow:hidden; height:0px; }
input, select, textarea, button { width:100%; color:#000; padding:8px; font-family: 'Gantari', sans-serif; font-size:14px; border:1px solid #CCC; border-radius:0px; }
input[type='submit'], input[type='button'], input[type='reset'], button, a.btn { white-space:nowrap; border-radius:0px; color:#FFF; cursor:pointer; background:#FFF; color:#000; border:1px solid #000; text-transform:uppercase; letter-spacing:2px; font-size:14px; font-weight:400; padding: 10px 20px; display:inline-block; text-decoration:none; }
input[type='submit']:hover, input[type='button']:hover, button:hover, a.btn:hover { background:#000; color:#FFF; }
input.btn-primary, a.btn-primary, button.btn-primary{ background:#000; color:#FFF; }
input.btn-primary:hover, a.btn-primary:hover, button.btn-primary:hover { background:#000; color:#00a19a;  }
input[type='radio']:checked { background:#00a19a; }
input[type='checkbox'], input[type='radio'] { padding:0; height:20px; width:20px; float:left; margin-right:10px; cursor:pointer; margin-bottom:10px; background:#FFF; }
input[type='radio'] { border-radius:200px; }
input[type='checkbox']:checked, input[type='radio']:checked { background:#00a19a; }
input, select, button { height:44px; }
select { background: url('select_arrow.png') right center no-repeat #FFF; padding: 8px 35px 8px 8px; -webkit-appearance: none; -moz-appearance: none;  appearance: none;}
label { font-weight:400; padding:2px 0; display:block; color:#000; font-size:14px; }
.label { text-align:right; padding:10px 20px 0 0; }
.buttons { margin: 40px auto; text-align:center; }
.buttons input { max-width:200px; }
.row { margin-bottom:5px; }
.row-privacy { margin: 10px 0;  color:#888; font-size:13px; }
.privacy p { margin:10px 0; font-size:13px; color:#888; padding-left:30px; position:relative; }
.privacy input { position:absolute; left:0; top:0; }
.check-list label { font-size:16px; text-transform:uppercase; }
.check-list li { padding:5px 0 0 35px; position:relative; margin-bottom:5px; }
.check-list li input { left:0; top:2px; position:absolute; }
form h3 { margin-bottom:10px; text-transform:uppercase; }
::placeholder { color: #555; opacity: 1; }
:-ms-input-placeholder { color: #555; }
::-ms-input-placeholder { color: #555; }
img { display:block; }
img.loading { background: url('../images/loading.gif') no-repeat center center #FFF; }
img.scale { width:100%; height:auto; }
label { cursor:pointer; }
span.new { position:absolute; background:#FF0000; color:#FFF; padding:5px 10px; z-index:2; right:20px; text-transform:uppercase; font-size:13px; font-style: italic; }
table { width:100%; }
thead td { background:#114E93; color:#FFF; padding: 5px 10px;  text-transform:uppercase; font-size:11px; font-weight:400; line-height:16px; }
tbody td { border-bottom:1px dotted #CCC; padding: 5px 10px; vertical-align:top; }
.videoWrapper { background:#000; position: relative; padding-bottom: 56.25%; /* 16:9 */	padding-top: 25px; height: 0; }
.videoWrapper iframe { position: absolute; top: 0; left: 0; width: 100%; height: 100%; }
iframe {  width: 100%; }
.wrapper { width:100%; margin: 0 auto; min-width:720px; clear: both; }
.content { width:100%; max-width:1400px; padding:0 20px; margin: 0 auto; clear: both; position:relative; }
.content-small { max-width:800px; margin: 0 auto; clear: both; padding:40px 15px; position:relative; }
.content-small a { text-decoration:underline; }
.content-small a.btn { text-decoration:none; }
.phone_show { display:none; }
.nowrap { white-space:nowrap; }
.mb60 { margin-bottom:60px; }
.mt40 { margin-top:40px; }
.mt20 { margin-top:20px; }
.mb40 { margin-bottom:40px; }
.mb20 { margin-bottom:20px; }
.mr40 { margin-right:40px; }
.mr30 { margin-right:30px; }
.mr20 { margin-right:20px; }
.pl40 { padding-left:40px; }
.align_center { text-align:center; }
.align_right { text-align:right; }
figure { overflow:hidden; position:relative; }
a:hover figure.fade img { opacity:0.8; overflow:hidden; }
a:hover figure.scale img { filter: none; transform: scale(1.1); }
.msg { padding:100px 40px; text-align:center; }
.msg.success { color:green; font-weight:400; }
.msg.error { color:red; font-weight:400; }
.gray { color:#777; }
ul.disc li { list-style:disc; margin-left:20px; }

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%; }
.span_50 { width: 50%; float:left; }
.span_50.text { padding:0 40px; }

.tabs ul { margin:0 auto; text-align:center; }
.tabs li { display:inline-block; }
.tabs a { padding:10px 20px; text-transform:uppercase; border-bottom:2px solid #114E93; display:block; text-align:center; color:#114E93; font-size:13px; font-weight: bold; }
.tabs a.selected, .tabs a:hover { background:#FFF; border-bottom-color:#F28E23; color:#F28E23; text-decoration: none; }
.tabcontent { padding:20px; background:#FFF; }

.justify { text-align:justify; }
.flex { display: flex; align-items: center; justify-content: center; }
.section_4 { background:#000; color:#DDD; }
.section_4 h2 { color:#DDD; }

.logo img { height:70px; width:auto; }

header { position: fixed; top: 0; left: 0; right: 0; height:150px; background:#FFF; z-index:22; }
header.smaller { height:50px; background:#FFF; }
header.smaller .logo { display:none; }
header.smaller nav { top:5px; }
header .logo img { position:absolute; left:0px; right:0; top:15px; margin:0 auto; }
header nav { z-index:22; position:absolute; left:0px; right:0px; top:100px; text-align:center; }
header nav ul { position:relative;  }
header nav a { display:block; padding: 10px 2px; text-transform:uppercase; letter-spacing:1px; font-size:14px;  }
header nav li { white-space:nowrap; }

.navigation { margin-bottom:20px; }

.hamburger, .icon-shopping-mobile { display:none; }

#footer { text-align:left; padding: 40px 0; font-size:13px;  color:#a7a7a7; background:#272729; }
#footer .logo { margin-bottom:40px; }
#footer a:hover { color:#000; }
#footer h2 { font-size:15px; margin: 0 0 10px 0; color:#FFF; letter-spacing: 2px; }
#footer h4 { font-size:13px; margin: 5px 0; color:#FFF; letter-spacing: 2px; }
#footer .small { font-size:11px; margin-top:20px; }
#footer b { color:#FFF; } 
#footer .grid-footer { display:grid; grid-template-columns:1fr 1fr 1fr 1fr 1fr; gap:20px; row-gap:60px; }
#footer .grid-footer a { color:#FFF; }
#footer .social li { display:inline-block; margin-right:5px; }

.booking { padding:20px 0px; background:#444; color:#a7a7a7; }
.booking .grid-2 { gap:40px; }
.booking .grid { display:grid; grid-template-columns: auto 200px; gap:100px; }
.booking h3 { margin:0 0 10px 0; font-size:15px; font-weight:bold; color:#FFF; text-transform: uppercase; letter-spacing:2px; }
.booking a.btn { font-weight:bold; color:#FFF; background:none; border:1px solid #FFF; }
.booking a.btn:hover { background:#555; }
.booking a { color:#FFF; }

.social li i { width:40px; height:40px; text-align:center; border:1px solid #FFF; padding:9px 0; margin-bottom:1px; border-radius:200px; font-size:18px; background:#EEE; color:#272729; }
.social li i:hover { background:#272729; color:#FFF; }

.sidbarmenu { position:fixed; right:10px; bottom:20px; }
.sidbarmenu li { margin-bottom:10px; }
.sidbarmenu li i { width:40px; height:40px; text-align:center; padding:9px 0; margin-bottom:1px; border-radius:200px; font-size:18px; background:#EEE; color:#272729; }
.sidbarmenu li i:hover { background:#272729; color:#FFF; }

.fade li { position:relative; margin:0px; list-style:none; background-repeat:no-repeat; background-size:cover; background-position:center center; height:auto; }
.slide li { position:relative; margin:0px; list-style:none; background-repeat:no-repeat; background-size:cover; background-position:center center; height: -moz-calc(100vh - 0px); height: -webkit-calc(100vh - 0px); height: calc(100vh - 0px); }

.grid-home .image { grid-area: image; }
.grid-home .text { grid-area: text; padding:20px 40px; }
.grid-home { display:grid; grid-template-columns:50% 50%; grid-template-areas: 'image text'; align-items: center; font-size:14px; line-height:20px;  }
.grid-home:nth-child(even) { grid-template-areas: 'text image';  } 
.grid-home .btn { background:none; border:1px solid #FFF; color:#FFF; }
.grid-home .btn:hover { background:none; border:1px solid #a7a7a7; color:#a7a7a7; }

i { margin: 0 2px; }
#main { min-height: calc(100vh - 410px); margin-top:150px }


.grid-blog { display:grid; grid-template-columns: 1fr 1fr 1fr; gap:100px; padding:40px 0; }
.grid-blog .item h2 { font-size:18px; line-height:20px; margin:0 0 10px 0; letter-spacing:1px; font-weight:bold; }
.grid-blog .item .text { padding:20px; }
.scheda-blog h1 { margin-top:20px; }
.list-blog-small .item { border-bottom:1px solid #DDD; padding-bottom:40px; margin-bottom:40px; }
.list-blog-small .item h2 { font-size:22px; }
p.cat { font-size:12px; color:#AAA; margin-bottom:10px; letter-spacing:1px; }

.column-2 { column-count: 2; column-gap: 40px; }

.grid-2 { display:grid; grid-template-columns:1fr 1fr; gap:20px;  }
.grid-3 { display:grid; grid-template-columns:1fr 1fr 1fr; gap:20px;  }
.grid-4 { display:grid; grid-template-columns:1fr 1fr 1fr 1fr; gap:20px;  }
.grid-5 { display:grid; grid-template-columns:1fr 1fr 1fr 1fr 1fr; gap:40px;  }
.grid-6 { display:grid; grid-template-columns:1fr 1fr 1fr 1fr 1fr 1fr; gap:40px;  }
.gap60 { gap:60px; }

.subcat { gap:5px; margin-bottom:20px; }

#table_cart { border-collapse: collapse; width:100%; }
#table_cart, #table_cart th, #table_cart td { border-bottom:1px solid #CCC; padding: 8px 10px; font-size:13px; }
#table_cart thead td { background:#00a19a; color:#FFF; padding: 8px 10px; vertical-align:top; }
#table_cart tbody img { margin-right:10px; float:left; width:80px; height:auto; }

/*https://www.angularjswiki.com/fontawesome/*/

.pagination { display:grid; grid-template-columns:1fr 1fr; gap:10px; }
.pagination .pages { text-align:right; }
.pagination .pages a, .pagination .pages b { display:inline-block; padding:5px 10px; border-bottom:1px solid #CCC; color:#00a19a; }
.pagination .pages b { color:#000; border-bottom:1px solid #000; }

.acc-title { padding: 10px 40px; position:relative; cursor:pointer; margin-bottom:20px; border-radius:5px; }
.acc-title.close { background:#EFEFEF; color:#00a19a; }
.acc-title.open { background:#234e9e; color:#FFF; }
.acc-title i { position:absolute; left:10px; top:14px;  }
.acc-content { padding: 10px 40px; }


.nav { text-transform:uppercase; }
.hidden { display:none; }

.global-site-notice {  background: #222 none repeat scroll 0% 0%;  color: #CCC; display:block;  padding: 10px 30px; float:none; font-size:12px; }
.global-site-notice .notice-inner { max-width:100%; margin: 0 auto; text-align:left; float:none; position:relative; }
.global-site-notice .notice-inner a { font-weight:400; color:#DAA520; }
.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; }

.pagination { margin: 20px 0 40px 0; text-transform: uppercase; }
.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; }
/*https://www.codesdope.com/blog/article/12-creative-css-and-javascript-text-typing-animati/*/


body#print { font-size: 14px; }
body#print .logo img { height:50px; }
body#print .header { position:relative; padding: 20px; margin-bottom:20px;  }
body#print tbody td { border-bottom: 0px; padding: 5px 0px; }
body#print #table_cart tbody td { border-bottom: 1px solid #CCC; padding: 5px 0px; }
body#print .print { position:absolute; right:20px; top:20px; }
body#print .print a { padding: 10px; display:inline-block; }
body#print b { color: #00a19a; }

.flexnav { margin:0 auto; text-align: center; -webkit-transition: none; -moz-transition: none; -ms-transition: none; transition: none; -webkit-transform-style: preserve-3d; overflow: hidden; margin: 0 auto; width: 100%; } 
.flexnav.flexnav-show { max-height: 2000px; opacity: 1; -webkit-transition: all .5s ease-in-out; -moz-transition: all .5s ease-in-out; -ms-transition: all .5s ease-in-out; transition: all .5s ease-in-out; } 
.flexnav.one-page { position: fixed; top: 50px; right: 5%; max-width: 200px; } 
.flexnav li { font-size: 100%; position: relative; } 
.flexnav li a { position: relative; display: block; padding: 10px 10px 6px 10px; z-index: 2; overflow: hidden;  } 
.flexnav li ul { width:100%; min-width:400px; background:#00a19a; } 
.flexnav li ul li { font-size: 100%; position: relative; overflow: hidden; text-align:left; display:inline-block; } 
.flexnav li ul.flexnav-show li { overflow: visible; } 
.flexnav li ul li a { display: block; padding: 8px 20px; } 
.flexnav li ul li a:hover { opacity:0.5; }
.flexnav span.touch-button { position: absolute; z-index: 999; top: 2px; right: 0; width: 20px; height: 50px; display:none; text-align: center; } 
.flexnav span.touch-button:hover { cursor: pointer; } 
.flexnav span.touch-button .navicon { position: relative; top: 1.4em; font-size: 12px; color: #666; }
.item-with-ul { padding-right:15px; }
.menu-button { position: relative; display: block; padding: 1em; background: #a6a6a2; color: #222222; cursor: pointer; border-bottom: 1px solid rgba(0, 0, 0, 0.2); } 
.menu-button.one-page { position: fixed; top: 0; right: 5%; padding-right: 45px; } 
.menu-button .touch-button { background: transparent; position: absolute; z-index: 999; top: 0; right: 0; width: 50px; height: 50px; display: inline-block; text-align: center; } 
.menu-button .touch-button .navicon { font-size: 16px; position: relative; top: 1em; color: #666; }

.flexnav li.shoppingbag { float:right; }
.flexnav li.shoppingbag a { position:relative; }
.flexnav li.shoppingbag div { position:absolute; right:10px; top:10px; font-size:11px; z-index:22; }
.flexnav li.shoppingbag .tot { width:20px; height:20px; border-radius:200px; background:orange; color:#FFF; font-weight:400; display:inline-block; text-align:center; padding-top:2px; }
.flexnav li.shoppingbag:hover .tot { background:#FF3300; color:#FFF; }

@media all and (min-width: 1080px){ 
.flexnav { overflow: visible; }  
.flexnav.opacity { opacity: 1; } 
.flexnav.one-page { top: 0; right: auto; max-width: 1080px; }
.flexnav li { position: relative; list-style: none; display:inline-block; overflow: visible;  } 
.flexnav li a {  border-bottom: none; } 
.flexnav li > ul { position: absolute; top: auto; left: -10px; padding:10px 0; } 
.flexnav li > ul li { width:50%; display:block; float: left; } 
.flexnav li ul li > ul { margin-left: 100%; top: 0; } 
.flexnav li ul li a { border-bottom: none; } 
.flexnav li ul.open { display: block; opacity: 1; visibility: visible; z-index: 1; } 
.flexnav li ul.open li { overflow: visible; max-height: 100px; } 
.flexnav li ul.open ul.open { margin-left: 100%; top: 0; }
}
.oldie body.one-page { padding-top: 70px; }
.oldie .flexnav { overflow: visible; } 
.oldie .flexnav.one-page { top: 0; right: auto; max-width: 1080px; } 
.oldie .flexnav li { position: relative; list-style: none; float: left; display: block; background-color: #a6a6a2; width: 20%; min-height: 50px; overflow: visible; } 
.oldie .flexnav li:hover > ul { display: block; width: 100%; overflow: visible; } .oldie .flexnav li:hover > ul li { width: 100%; float: none; } 
.oldie .flexnav li a { border-left: 1px solid #acaca1; border-bottom: none; overflow: visible; } 
.oldie .flexnav li > ul { background: #acaca1; position: absolute; top: auto; left: 0; display: none; z-index: 1; overflow: visible; } 
.oldie .flexnav li ul li ul { top: 0; } .oldie .flexnav li ul li a { border-bottom: none; } 
.oldie .flexnav li ul.open { display: block; width: 100%; overflow: visible; } .oldie .flexnav li ul.open li { width: 100%; } 
.oldie .flexnav li ul.open ul.open { margin-left: 100%; top: 0; display: block; width: 100%; overflow: visible; } 
.oldie .flexnav ul li:hover ul { margin-left: 100%; top: 0; }
.oldie .menu-button { display: none; }
.oldie.ie7 .flexnav li { width: 19.9%; }