@charset "utf-8";

@import url('https://fonts.googleapis.com/css2?family=Bricolage+Grotesque:wght@400;600;700;800&family=Space+Grotesk:wght@400;500;700&display=swap');

:root{
	/* inchiostro e carta */
	--b-ink:#181410;
	--b-body:#3d3833;
	--b-cream:#faf5ec;
	--b-cream:color-mix(in srgb, var(--primary-color-website) 4%, #fbf7ef);
	/* derivati dal colore primario */
	--b-tint:#f0dcd9;
	--b-tint:color-mix(in srgb, var(--primary-color-website) 14%, #fff);
	--b-tint-strong:#e3c0bb;
	--b-tint-strong:color-mix(in srgb, var(--primary-color-website) 28%, #fff);
	--b-deep:#5c1818;
	--b-deep:color-mix(in srgb, var(--primary-color-website) 75%, #000);
	/* ombra dura e bordi */
	--b-border:2px solid var(--b-ink);
	--b-shadow:6px 6px 0 var(--b-ink);
	--b-shadow-big:12px 12px 0 var(--b-tint-strong);
	/* raggi */
	--b-radius:20px;
	/* font */
	--b-display:'Bricolage Grotesque', sans-serif;
	--b-sans:'Space Grotesk', sans-serif;
}

html{ background:var(--b-cream);}
body{ font-size:16px; font-family:var(--b-sans) !important; color:var(--b-body); min-height:100vh; background:var(--b-cream);}
form{ margin:0px;}
body:before{ content:""; width:100%; height:100%; position:absolute; left:0px; top:0px; background:var(--b-cream);}
body:after{ content:none;}
.mfp-bg{ z-index:999999; background:rgba(24,20,16,0.85);}
.mfp-wrap{ z-index:9999999;}
.mfp-arrow:hover{ background:var(--primary-color-website);}
.mfp-close:hover:before{ color:var(--primary-color-website);}
.mfp-counter{ display:none;}
.mfp-title{ width:100%; text-align:center;}
::selection{ background:var(--b-ink); color:var(--b-cream); -webkit-background-clip: unset; -webkit-text-fill-color:var(--b-cream);}
::-moz-selection{ background:var(--b-ink); color:var(--b-cream); -webkit-background-clip: unset; -webkit-text-fill-color:var(--b-cream);}
h1, h2, h3, h4, h5, h6{ font-family:var(--b-display); font-weight:800; color:var(--b-ink); letter-spacing:-0.01em;}
a{ color:var(--primary-color-website); font-weight:500; -webkit-transition: all .25s ease-in-out; -moz-transition: all .25s ease-in-out; -o-transition: all .25s ease-in-out; transition: all .25s ease-in-out;}
a:hover, a:focus{ color:var(--b-deep);}
p, li{ color:var(--b-body); font-size:17px; line-height:29px; font-weight:400;}
p{ margin-bottom:10px;}
p strong{ font-weight:700; color:var(--b-ink);}
strong{ font-weight:700; color:var(--b-ink);}
ul p{ line-height:29px;}
.container-fluid{ padding:0 60px;}
.container-fluid.container0{ padding:0px;}
.row{ margin:0 -20px;}
.row [class*="col-"]{ padding:0 20px;}
.row.row0{ margin:0px;}
.row.row0 > [class*="col-"]{ padding:0;}
.row.row01{ margin-left:-1px; margin-right:-1px;}
.row.row01 > [class*="col-"]{ padding:0 1px;}
.row.row05{ margin-left:-5px; margin-right:-5px;}
.row.row05 > [class*="col-"]{ padding:0 5px;}
.row.row10{ margin-left:-10px; margin-right:-10px;}
.row.row10 > [class*="col-"]{ padding:0 10px;}
.row.row15{ margin-left:-15px; margin-right:-15px;}
.row.row15 > [class*="col-"]{ padding:0 15px;}
.row.row40{ margin-left:-40px; margin-right:-40px;}
.row.row40 > [class*="col-"]{ padding:0 40px;}
.row.row30{ margin-left:-30px; margin-right:-30px;}
.row.row30 > [class*="col-"]{ padding:0 30px;}
.row.row60{ margin-left:-60px; margin-right:-60px;}
.row.row60 > [class*="col-"]{ padding:0 60px;}
.row.flex{ display:-webkit-box; display:-ms-flexbox; display:flex; -ms-flex-wrap:wrap; flex-wrap:wrap;}
.row.flex > [class*="col-"]{ display:-webkit-box; display:-ms-flexbox; display:flex; }
.row.flex:before, .row.flex:after{ content:none;}
.row.center{ align-items: center;}
.row.bottom{ align-items: end;}
.row.flex [class*="col-"].pull-right{ order:2;}
.mt0{ margin-top:0px !important;}
.countup{ display:inline; font-size:inherit; font-weight:inherit; margin:0px; white-space:normal; color:inherit;}
.countup > *{ float:left; font-size:inherit; font-weight:inherit;}
hr{ max-width:100%; margin:20px auto;}
hr.site{ width:100%; max-width:100%; height:2px; margin:0px; border:0px; background:var(--b-ink);}
input[type=text], input[type=email], input[type=password], input[type=search], input[type=file], input[type=tel], textarea{ font-family:var(--b-sans); height:54px; float:left; font-size:16px; font-weight:400; color:var(--b-ink); background:#fff; padding:10px 22px; border-radius:14px; -webkit-appearance: none; -moz-appearance: none; appearance: none; border:2px solid var(--b-ink);}
input[type=text]:focus, input[type=email]:focus, input[type=password]:focus, input[type=search]:focus, input[type=tel]:focus, textarea:focus{ outline:none; box-shadow:4px 4px 0 var(--b-tint-strong);}
input::placeholder, textarea::placeholder{ color:#9b948b; opacity:1;}
input[type=file]{ width:100%; height:auto; padding:12px 22px; font-size:14px;}
select{ width:100%; padding:10px; background:#fff; border:2px solid var(--b-ink); border-radius:14px; color:var(--b-ink); -webkit-appearance:none;}
textarea{ height:110px; padding:20px 22px; -webkit-appearance: none; -moz-appearance: none; appearance: none;}
.form-group > label{ font-size:13px; text-align:left; font-weight:700; letter-spacing:0.02em; text-transform:uppercase; color:var(--b-ink);}
.form-group > label span{ color:var(--primary-color-website); font-size:15px; line-height:22px; float:right; margin-left:5px;}
.chosen-container{ border-radius:14px; font-size:15px; background:#fff;}
.chosen-container-single .chosen-single{ height:50px; line-height:50px; padding-left:20px; background:#fff; color:var(--b-ink); border:2px solid var(--b-ink); border-radius:14px; box-shadow:none;}
.chosen-container-single .chosen-single span{ font-size:15px; font-weight:500; margin-right:35px;}
.chosen-container .chosen-drop{ border-radius:14px; background:#fff; border:2px solid var(--b-ink);}
.chosen-container .chosen-results{ border-radius:0px; padding:10px;}
.chosen-container .chosen-results li{ font-size:15px; line-height:30px; border-radius:8px; color:var(--b-ink);}
.chosen-container .chosen-results li:hover{ background:var(--primary-color-website); color:#fff; border-radius:8px;}
.chosen-container-single .chosen-single div:after{ line-height:45px; font-size:20px; color:var(--b-ink);}
.widget .chosen-single{ font-weight:500; background:#fff;}
.widget .chosen-drop{ background:#fff;}
input[type="submit"].btn{ height:54px;}
.form-group{ margin-bottom:25px;}
.preloader{ position: fixed; left: 0; top: 0; opacity: 1; z-index: 99999; width: 100%; height: 100%; background:var(--b-cream); z-index:99999999;}
.preloader:after{ content:""; width:52px; height:52px; position:absolute; left:50%; top:50%; margin:-26px 0 0 -26px; border:4px solid var(--b-ink); border-top-color:var(--primary-color-website); border-radius:50%; animation:b2spin .7s linear infinite;}
@keyframes b2spin{ to{ transform:rotate(360deg);}}
@keyframes b2bounce{ 0%,100%{ transform:translateY(0);} 50%{ transform:translateY(8px);}}
.btn{ font-family:var(--b-display); font-size:15px; height:auto; padding:14px 34px; line-height:24px; font-weight:700; letter-spacing:0.01em; text-transform:uppercase; border-radius:999px; box-shadow:var(--b-shadow); transition:transform .15s ease-out, box-shadow .15s ease-out, background .25s, color .25s, border-color .25s;}
.btn:hover{ transform:translate(2px,2px); box-shadow:3px 3px 0 var(--b-ink);}
.btn:active{ transform:translate(5px,5px); box-shadow:1px 1px 0 var(--b-ink);}
.btn.btn-small{ font-size:13px; line-height:20px; padding:8px 20px; box-shadow:4px 4px 0 var(--b-ink);}
.btn.btn-input{ height:54px;}
.btn.btn-default{ background:#fff; border:2px solid var(--b-ink); color:var(--b-ink); vertical-align:top;}
.btn.btn-default:hover, .btn.btn-default:focus{ background:var(--b-ink); border-color:var(--b-ink); color:#fff;}
.btn.btn-primary{ background:var(--primary-color-website); border:2px solid var(--b-ink); color:#fff; vertical-align:top;}
.btn.btn-primary:hover, .btn.btn-primary:focus{ background:var(--b-deep); border-color:var(--b-ink); color:#fff;}
a.readmore{ font-family:var(--b-display); display:inline-block; font-size:16px; line-height:26px; position:relative; font-weight:700; text-transform:uppercase; color:var(--b-ink);}
a.readmore:before{ content:""; width:100%; height:3px; position:absolute; right:0px; bottom:-2px; background:var(--primary-color-website); -webkit-transition: all .3s ease-in-out; -moz-transition: all .3s ease-in-out; -o-transition: all .3s ease-in-out; transition: all .3s ease-in-out;}
a.readmore:after{ content:"\f105"; font-family:FontAwesome; width:auto; height:auto; position:absolute; right:-18px; top:0px; font-size:17px; line-height:26px; background:none; color:var(--primary-color-website);}
a.readmore:hover{ color:var(--primary-color-website);}
a.readmore:hover:before{ width:35%;}
a.readmore.backpage{ margin-left:30px;}
a.readmore.backpage:after{ content:"\f104"; left:-18px; right:auto; top:0px; transform:none;}

.content .form .row{ margin:0 -10px;}
.content .form .row + .row{ margin-top:0px;}
.content .form .row [class*="col-"]{ padding:0 10px;}
.check{ width:100%; float:left;}
.check input[type=checkbox] {display: none;}
.check label{float:left; width:100%; position:relative; font-weight:400; color:var(--b-body); vertical-align:top;}
.check label:before{ width:24px; height:24px; left:0px; background:#fff; border:2px solid var(--b-ink); content:""; position:absolute; margin-right:10px; cursor:pointer; border-radius:8px;}
.check input[type=checkbox]:checked + label:before { font-family:FontAwesome; content:"\f00c"; text-align: center; line-height:20px; font-size:13px; color:var(--primary-color-website);}
.check label span{ display:inline-block; padding-left:34px; font-size:14px; text-align:left; color:var(--b-body); font-weight:400; line-height:24px; float:left;}
.check label span a{ font-weight:700;}
.check + .check{ margin-top:5px;}

.navbar-toggle{ width:52px; height:52px; background:none; line-height:52px; position:absolute; right:30px; top:15px; background-color:var(--primary-color-website); border:2px solid var(--b-ink); border-radius:999px; box-shadow:4px 4px 0 var(--b-ink);}
.navbar-toggle i{ text-indent:0; overflow:visible; width:auto; height:auto; background:none; font-size:19px; line-height:48px; color:#fff;}
.navbar-toggle span{ font-size:19px; line-height:48px; color:#fff;}
.navbar-toggle:hover{ background:var(--b-ink);}
.navbar-toggle:hover i{ color:#fff;}
.check + input[type="submit"]{ margin-top:20px;}
.row.row-eq-height{display:flex}

.pagination{ text-align:center;}
.pagination li a{ background:#fff; border:2px solid var(--b-ink); color:var(--b-ink); font-weight:700; margin:0 3px; border-radius:12px !important;}
.pagination li a:hover, .pagination li a:focus{ color:#fff; background:var(--primary-color-website); border-color:var(--b-ink);}
ul.pagination .prev, ul.pagination .next{ color:var(--b-ink); border-color:var(--b-ink);}
ul.pagination li.active a, ul.pagination li.active a:hover, ul.pagination li.active a:focus, ul.pagination .prev:hover, ul.pagination .prev:focus, ul.pagination .next:hover, ul.pagination .next:focus{ color:#fff; border-color:var(--b-ink); background:var(--primary-color-website);}
.pagination > .disabled > span, .pagination > .disabled > span:hover, .pagination > .disabled > span:focus, .pagination > .disabled > a, .pagination > .disabled > a:hover, .pagination > .disabled > a:focus, .pagination > .disabled > .next:hover, .pagination > .disabled > .prev:hover{ border-color:#d8d2c8; color:#d8d2c8; cursor:default; background:#fff;}


.languages-fixed{ position:fixed; right:0px; top:50%; transform: translateY(-50%); z-index:20;}
.languages-fixed ul{ width:100%; float:left; margin:0px; padding:10px; background:#fff; border:2px solid var(--b-ink); border-right:0px; border-top-left-radius:16px; border-bottom-left-radius:16px; box-shadow:4px 4px 0 var(--b-tint-strong);}
.languages-fixed ul li{ clear:both; width:24px; float:left; margin-bottom:10px;}
.languages-fixed ul li:last-child{ margin-bottom:0px;}
.languages-fixed ul li a{ opacity:0.35;}
.languages-fixed ul li a:hover, .languages-fixed ul li.active a{ opacity:1;}

/* topbar — striscia piena nel colore primario */

.topbar{ width:100%; float:left; padding:10px 0; background:var(--primary-color-website); position:relative; z-index:5; border-bottom:2px solid var(--b-ink);}
.topbar .row{ justify-content:space-between;}
.topbar .right{ display:flex; flex-wrap:nowrap; justify-content:right;}
.topbar .text{ width:auto; float:left;}
.topbar .text p{ font-size:13px; color:rgba(255,255,255,0.9); line-height:24px; font-weight:500; letter-spacing:0.03em;}
.topbar .text span{ margin:0 8px; color:rgba(255,255,255,0.4);}
.topbar .text a{ font-weight:700; color:#fff;}
.topbar .text a:hover, .topbar .text a:focus{ color:#fff; text-decoration:underline; text-underline-offset:3px;}
.topbar .text strong{ color:rgba(255,255,255,0.7); font-weight:700; text-transform:uppercase; font-size:11px; letter-spacing:0.1em;}
.topbar .social{ width:auto; float:left; margin-left:30px;}
.topbar .social ul{margin:0; width:auto; display:flex; justify-content:center; display:flex; flex-wrap:wrap;}
.topbar .social li{ width:auto;float:left; padding:0px; margin:0 4px 0 0;}
.topbar .social li:last-child{ margin:0px;}
.topbar .social li:before{ display:none;}
.topbar .social li a{ float:left;position:relative;border-radius:50%;background:rgba(255,255,255,0.2);}
.topbar .social li a span.circle{width:24px;height:24px;float:left;color:#fff;text-align:center; margin:0px;}
.topbar .social li a span.circle i{font-size:10px;line-height:24px;vertical-align:top;}
.topbar .social li.facebook a{background:rgba(255,255,255,0.2)}
.topbar .social li.instagram a{background:rgba(255,255,255,0.2)}
.topbar .social li.linkedin a{background:rgba(255,255,255,0.2)}
.topbar .social li.youtube a{background:rgba(255,255,255,0.2)}
.topbar .social li.vimeo a{background:rgba(255,255,255,0.2)}
.topbar .social li.tripadvisor a{background:rgba(255,255,255,0.2)}
.topbar .social li.tiktok a{background:rgba(255,255,255,0.2)}
.topbar .social li a:hover{ background:var(--b-ink);}

.fa-tripadvisor{ width:100%; height:100%; background: url('../images/tripadvisor.svg') no-repeat center center; background-size:60% auto; filter:brightness(0) invert(1);}

/* la riga sotto la topbar non serve: la striscia colorata separa già */
.hr-header hr.site{ opacity:0;}

/* header */

.sticky-wrapper.is-sticky{ width:100%; position:absolute; z-index:999;}

.header{ width:100% !important; float:left; font-family:var(--b-sans); background:none;}
.header a.navbar-brand{ float:left; font-size:0px; line-height:100px; padding:0 40px; padding-left:0px;}
.header a.navbar-brand img{ max-width:225px; max-height:65px; margin:0px;}
.header .navbar-collapse{ margin-top:25px; float:right; margin-right:0px !important;}
.header .navbar-nav > li{ position:relative;}
.header .navbar-nav > li > a{ font-family:var(--b-display); font-size:16px; color:var(--b-ink); font-weight:700; text-transform:uppercase; letter-spacing:0.01em; padding:15px 0px; margin:0 11px; border:0px; line-height:20px;}
.header .navbar-nav > li > a:hover{ color:var(--primary-color-website);}
.header .navbar-nav > li.active > a{ font-weight:800; border:0px; color:var(--primary-color-website);}
.header .navbar-nav > li > a span { padding:0px;}
.header .navbar-nav > li > a span:before, .header .navbar-nav > li.active > a span:before { content: ""; width:0px; height:4px; position:absolute; right:0px; bottom:8px; background:var(--primary-color-website); border-radius:2px; -webkit-transition: all .3s ease-in-out; -moz-transition: all .3s ease-in-out; -o-transition: all .3s ease-in-out; transition: all .3s ease-in-out; }
.header .navbar-nav > li > a:hover span:before, .header .sfHover > a:hover span:before, .header .sfHover a.sf-with-ul span:before, .header .navbar-nav > li.active > a span:before { width:100%; }
.header .navbar-nav > li.book{ margin-left:22px;}
.header .navbar-nav > li.book > a{ color:#fff; font-size:15px; padding:13px 30px; margin:0px; background:var(--primary-color-website); border:2px solid var(--b-ink); border-radius:999px; box-shadow:4px 4px 0 var(--b-ink); transition:transform .15s ease-out, box-shadow .15s ease-out, background .25s;}
.header .navbar-nav > li.book > a:hover{ background:var(--b-deep); border-color:var(--b-ink); color:#fff; transform:translate(2px,2px); box-shadow:2px 2px 0 var(--b-ink);}

.sticky-wrapper.is-sticky .header{ background:var(--b-cream); background:rgba(255,255,255,0.75); -webkit-backdrop-filter:blur(8px); backdrop-filter:blur(8px); box-shadow:0 2px 0 var(--b-ink);}
.sticky-wrapper.is-sticky .header a.navbar-brand img{ max-height:65px;}
.sticky-wrapper.is-sticky .header .navbar-collapse{ margin-top:25px;}

.wrapper{ overflow:unset;}
.content{ width:100%; float:left; overflow:hidden; background:var(--b-cream);}
.content .row + .row{ margin-top:60px;}

/* visual home page */

.visual-wrap{ width:100%; position:relative; overflow:hidden;}
.visual{ width:100%; height:auto; position:relative; padding:110px 0 170px 0; background-repeat:no-repeat; background-position:center center; background-size:cover;}
.visual:after{ content:""; width:520px; height:520px; position:absolute; right:-140px; top:-140px; z-index:1; background:var(--b-tint); border-radius:50%; pointer-events:none;}
.visual .row{ margin:0px -30px;}
.visual [class*="col-"]{ position:inherit; padding:0px 30px; text-align:left;}
.visual .text{ width:100%; float:left;}
.visual .text h1{ color:var(--b-ink); font-family:var(--b-display); font-size:64px; line-height:1.06; font-weight:800; letter-spacing:-0.02em; position:relative; z-index:2; margin-bottom:28px;}
.visual .text h1 strong{ font-weight:800; color:var(--primary-color-website); background-image:linear-gradient(0deg, var(--b-tint) 34%, transparent 34%); background-repeat:no-repeat; border-radius:4px;}
.visual .text h2{ font-family:var(--b-sans); font-size:20px; line-height:32px; color:var(--b-body); font-weight:400; position:relative; z-index:2; margin-bottom:35px; text-transform:none;}
.visual .text h2 strong{ font-weight:700; color:var(--b-ink);}
.visual .text p, .visual .text blockquote{ font-size:19px; line-height:31px; color:var(--b-body); position:relative; z-index:2; margin-bottom:20px;}
.visual .text blockquote{ padding:0px; border:0px; margin:0px; margin-bottom:20px; font-weight:400;}
.visual .text .btn{ position:relative; z-index:2; margin-top:0px;}
.visual .text ul{ margin:0px; padding:0px; margin-bottom:25px;}
.visual .text ul:last-child{ margin-bottom:0px;}
.visual .text ul li{ position:relative; margin-bottom:0px; padding-left:22px;}
.visual .text ul li:last-child{ margin-bottom:0px;}
.visual .text ul li:before{ content:"\f105"; font-family:FontAwesome; position:absolute; left:0px; font-size:15px; color:var(--primary-color-website);}
.visual .image{ position:relative;}
.visual .image img{ border-radius:var(--b-radius); position:relative; z-index:2; border:var(--b-border); box-shadow:var(--b-shadow-big); transform:rotate(2deg); transition:transform .4s ease;}
.visual .image:hover img{ transform:rotate(0deg);}
.visual-wrap .swiper-prev{ left:40px; background:#fff; border:2px solid var(--b-ink); color:var(--b-ink);}
.visual-wrap .swiper-next{ right:40px; background:#fff; border:2px solid var(--b-ink); color:var(--b-ink);}
.visual-wrap .swiper-prev:hover{ background:var(--primary-color-website); border-color:var(--b-ink); color:#fff;}
.visual-wrap .swiper-next:hover{ background:var(--primary-color-website); border-color:var(--b-ink); color:#fff;}
.visual-wrap .down{ width:60px; height:60px; line-height:56px; border-radius:50%; position:absolute; z-index:2; left:50%; margin-left:-30px; bottom:0px; background-color:var(--primary-color-website); border:2px solid var(--b-ink); box-shadow:4px 4px 0 var(--b-ink); animation:b2bounce 2s ease-in-out infinite;}
.visual-wrap .down:before{ content:"\f107"; width:100%; height:100%; position:absolute; left:0px; top:0px; font-family:FontAwesome; font-size:22px; text-align:center; line-height:inherit; color:#fff;}
.visual-wrap .down:hover{ background:var(--b-ink); border-color:var(--b-ink); color:#fff; animation-play-state:paused;}

/* titolo pagina */

.title{ padding-top:40px; padding-bottom:40px; position:relative; text-align:center; overflow:hidden; background:var(--b-tint); border-bottom:2px solid var(--b-ink); overflow:hidden;}
.title .text{ text-align:center; position:relative; z-index:3;}
.title .text h1, .title .text h2{ color:var(--b-ink); font-family:var(--b-display); font-size:66px; line-height:1.05; font-weight:800; letter-spacing:-0.02em; position:relative; z-index:2;}
.title .text h1 strong, .title .text h2 strong{ font-weight:800; color:var(--primary-color-website);}
.title .breadcrumb{ width:100%; float:left; min-height:18px; position:relative; text-align:left; z-index:3; text-transform:uppercase; letter-spacing:0.06em; margin-top:8px; background:none;}
.title .breadcrumb .box{ width:100%; display:flex; flex-wrap:nowrap; justify-content:center;}
.title .breadcrumb ul{ float:left; margin:0px; padding:0px;}
.title .breadcrumb li{ width:auto; float:left; display:inline-block; position:relative; font-size:11px; line-height:18px; padding:0px; font-weight:700; color:var(--b-ink);}
.title .breadcrumb a{ color:var(--b-ink); float:left; line-height:18px; position:relative;}
.title .breadcrumb a:hover{ color:var(--primary-color-website);}
.title .breadcrumb li:after{ content:"→"; color:var(--b-ink); margin:0 8px; display:inline-block; vertical-align:middle;}
.title .breadcrumb li:last-child:after{ display:none;}

/* blocchi generale */

.block{ padding:90px 0; position:relative; z-index:2;}
.block.gray{ background:var(--b-tint); border-top:2px solid var(--b-ink); border-bottom:2px solid var(--b-ink);}
.block.pt0{ padding-top:0px !important;}
.block.pb0{ padding-bottom:0px !important;}
.block h1, .block h2{ font-family:var(--b-display); font-size:52px; line-height:1.1; color:var(--b-ink); margin-bottom:0px; font-weight:800; letter-spacing:-0.02em;}
.block h1 strong, .block h2 strong{ font-weight:800; color:var(--primary-color-website); background-image:linear-gradient(0deg, var(--b-tint) 30%, transparent 30%); background-repeat:no-repeat; border-radius:4px;}
.block h1.alternate, .block h2.alternate{ color:var(--b-ink);}
.block h1:last-child, .block h2:last-child{ margin-bottom:0px;}
.block h3{ font-family:var(--b-sans); font-size:19px; line-height:31px; color:var(--b-body); margin-bottom:15px; text-transform:none; font-weight:400;}
.block h3 strong{ color:var(--b-ink); font-weight:700;}
.block h3:last-child{ margin-bottom:0px;}
.block h4{ font-family:var(--b-display); font-size:21px; line-height:29px; color:var(--b-ink); margin-bottom:15px; text-transform:none; font-weight:700;}
.block h4:last-child{ margin-bottom:0px;}
.block ul{ margin:0px; padding:0px; margin-bottom:25px;}
.block ul:last-child{ margin-bottom:0px;}
.block li{ position:relative; margin-bottom:0px; padding-left:22px;}
.block li:last-child{ margin-bottom:0px;}
.block li:before{ content:"\f105"; font-family:FontAwesome; position:absolute; left:0px; font-size:15px; color:var(--primary-color-website);}
.block ul.check li:before{ content:"\f00c"; font-size:13px;}
.block h3 + a.readmore{ margin-top:20px;}
.block blockquote{ font-size:17px; line-height:29px; margin:0px; margin-bottom:10px; padding:0px; border:0px; font-weight:400;}

.block.presentation h2{ margin-bottom:10px;}
.block.presentation h2:last-child{ margin-bottom:0px;}
.block.presentation h2{ margin-bottom:0px;}
.block.presentation h2:last-child{ margin-bottom:0px;}
.block.presentation h2 + h3{ margin-top:18px;}
.block.presentation h2 + ul{ margin-top:20px;}
.block.presentation h3{ margin-bottom:0px;}
.block.presentation h2 + p{ margin-top:15px;}
.block.presentation h3 + p{ margin-top:15px;}
.block.presentation h3 + ul{ margin-top:15px;}
.block.presentation h3 + .btn{ margin-top:30px;}
.block.presentation h2 + .btn{ margin-top:32px;}
.block.presentation h3 + h2{ margin-top:30px;}
.block.presentation h1 + blockquote{ margin-top:15px;}
.block.presentation h2 + blockquote{ margin-top:15px;}
.block.presentation p{ }
.block.presentation p + h2{ margin-top:20px;}
.block.presentation p + h3{ margin-top:15px;}
.block.presentation p + .readmore{ margin-top:10px;}
.block.presentation p + .btn{ margin-top:25px;}
.block.presentation .video-wrap{ position:relative;}
.block.presentation .video-wrap .image{ width:100%; position: relative; padding-bottom:56.25%; height:0; margin:0; left:0px; top:0px; background-size:cover; background-position:center center; z-index:2; cursor:pointer; border:var(--b-border); border-radius:var(--b-radius); overflow:hidden; box-shadow:var(--b-shadow-big);}
.block.presentation .video-wrap .image video{ width:100%; height:100%; position:absolute; top:0; left:0;}

/* intro */

.block.intro-page{ position:relative;}
.block.intro-page .image img{ border-radius:var(--b-radius); position:relative; z-index:2; border:var(--b-border); box-shadow:var(--b-shadow-big); transform:rotate(-1.5deg); transition:transform .4s ease;}
.block.intro-page .image:hover img{ transform:rotate(0deg);}
.block.intro-page .menu-list{ margin-top:25px;}
.block.intro-page .menu-list ul{ margin:0px; padding:0px; display:flex; flex-wrap:wrap;}
.block.intro-page .menu-list ul li{ display:inline-block; padding:0px; margin:6px;}
.block.intro-page .menu-list ul li:before{ display:none;}
.block.intro-page .menu-list ul li a{ font-family:var(--b-display); font-size:14px; height:auto; padding:10px 24px; display:block; line-height:22px; font-weight:700; text-transform:uppercase; border-radius:999px; background:#fff; border:2px solid var(--b-ink); box-shadow:4px 4px 0 var(--b-ink); vertical-align:top; color:var(--b-ink); transition:transform .15s ease-out, box-shadow .15s ease-out, background .25s, color .25s;}
.block.intro-page .menu-list ul li a:hover, .block.menulink .wrap ul li a:focus{ background:var(--primary-color-website); border-color:var(--b-ink); color:#fff; transform:translate(2px,2px); box-shadow:2px 2px 0 var(--b-ink);}

.block.intro-page + .block.menu{ padding-top:0px;}
.block.intro-page + .block.cta{ padding-top:0px;}

/* cta coupon */

.block.cta-coupon{ position:relative;}
.block.cta-coupon .image img{ border-radius:var(--b-radius); position:relative; z-index:2; border:var(--b-border); box-shadow:var(--b-shadow-big); transform:rotate(-2deg); transition:transform .4s ease;}
.block.cta-coupon .image:hover img{ transform:rotate(0deg);}

/* cta about — collage polaroid */

.block.cta-about{ position:relative;}
.block.cta-about .images{ display:flex; flex-wrap:wrap; position:relative;}
.block.cta-about .images .image1{ width:70%; height:auto; float:left; padding-right:30px; }
.block.cta-about .images .image2{ width:30%; height:auto; float:left; margin-top:10%;}
.block.cta-about .images .image3{ width:30%; height:auto; float:left; margin-left:70%; padding-right:30px; margin-top:-110px;}
.block.cta-about .images img{ width:100%; height:auto; border-radius:var(--b-radius); overflow:hidden; border:var(--b-border); box-shadow:8px 8px 0 var(--b-tint-strong); transition:transform .4s ease;}
.block.cta-about .images .image1 img{ transform:rotate(-2deg);}
.block.cta-about .images .image2 img{ transform:rotate(3deg);}
.block.cta-about .images .image3 img{ transform:rotate(-1deg);}
.block.cta-about .images .image1:hover img, .block.cta-about .images .image2:hover img, .block.cta-about .images .image3:hover img{ transform:rotate(0deg);}

/* cta menu — collage polaroid */

.block.cta-menu{ position:relative;}
.block.cta-menu .images{ display:flex; flex-wrap:wrap; position:relative;}
.block.cta-menu .images .image1{ width:55%; float:left; padding-right:30px;}
.block.cta-menu .images .image2{ width:45%; float:left; margin-top:100px;}
.block.cta-menu .images .image3{ width:35%; float:right; margin-left:20%; padding-right:30px; margin-top:-30px;}
.block.cta-menu .images img{ width:100%; height:auto; border-radius:var(--b-radius); overflow:hidden; border:var(--b-border); box-shadow:8px 8px 0 var(--b-tint-strong); transition:transform .4s ease;}
.block.cta-menu .images .image1 img{ transform:rotate(2deg);}
.block.cta-menu .images .image2 img{ transform:rotate(-3deg);}
.block.cta-menu .images .image3 img{ transform:rotate(1.5deg);}
.block.cta-menu .images .image1:hover img, .block.cta-menu .images .image2:hover img, .block.cta-menu .images .image3:hover img{ transform:rotate(0deg);}

/* intro */

.block.intro{ padding-bottom:0px;}
.block.intro .row{ text-align:center;}
.block.intro hr.site{ margin:0 auto; margin-top:40px; max-width:90px; height:4px; background:var(--primary-color-website); border-radius:2px;}
.block.intro .text h2{ font-size:36px; line-height:1.15;}

/* about */

.block.about .text{ text-align:center;}
.block.about .text h2{ font-size:36px; line-height:1.15;}
.block.about .gallery{ margin-top:60px;}
.block.about .gallery .item img{ border-radius:var(--b-radius); overflow:hidden; border:var(--b-border); box-shadow:6px 6px 0 var(--b-tint-strong); transition:transform .3s ease;}
.block.about .gallery .item:hover img{ transform:translate(-3px,-3px);}

.block.about + .block.cta{ padding-top:0px;}

/* fidelity */

.block.fidelity .row + .row{ margin-top:0px;}
.block.fidelity .intro{ text-align:center;}
.block.fidelity .intro h2{ font-size:36px; line-height:1.15;}
.block.fidelity .item{ width:100%; background:#fff; border:var(--b-border); padding:40px; padding-top:60px; text-align:center; position:relative; border-radius:var(--b-radius); margin-top:40px; margin-top:80px; box-shadow:8px 8px 0 var(--b-tint-strong);}
.block.fidelity .item .points{ width:84px; height:84px; background:var(--primary-color-website); position:absolute; top:0px; left:50%; margin-left:-42px; margin-top:-42px; border-radius:50%; border:2px solid var(--b-ink); display:flex; flex-wrap:nowrap; align-items:center; justify-content:center; white-space:nowrap; box-shadow:4px 4px 0 var(--b-ink); transform:rotate(-6deg);}
.block.fidelity .item .points .number{ font-family:var(--b-display); font-size:24px; line-height:1; color:#fff; font-weight:800;}
.block.fidelity .item .points .name{ width:100%; float:left; font-size:10px; line-height:1; font-weight:700; letter-spacing:0.08em; white-space:nowrap; color:#fff; text-transform:uppercase;}
.block.fidelity .item .text h2{ font-size:28px; line-height:1.2; font-weight:800; margin:0px; margin-bottom:5px;}
.block.fidelity .item .text h2 + p{ margin-top:0px;}

.block.fidelity + .block.cta{ padding-top:0px;}

/* gift card */

.block.gift{ padding-bottom:50px;}
.block.gift .intro{ text-align:center;}
.block.gift .intro h2{ font-size:36px; line-height:1.15;}
.block.gift .row.row-gifts{ justify-content:center;}
.block.gift .item{ width:100%; float:left; text-align:center; position:relative; border-radius:var(--b-radius); margin-bottom:40px;}
.block.gift .item .gifts{ margin-bottom:40px; }
.block.gift .item .gifts img{ border-radius:var(--b-radius); border:var(--b-border); box-shadow:8px 8px 0 var(--b-tint-strong); transform:rotate(-2deg); transition:transform .4s ease;}
.block.gift .item .gifts:hover img{ transform:rotate(0deg);}
.block.gift .item .text h2{ font-size:28px; line-height:1.2; font-weight:800; margin:0px; margin-bottom:5px;}
.block.gift .item .text h2 + p{ margin-top:0px;}
.block.gift .item .link{ margin-top:20px;}
.block.gift + .block.cta{ padding-top:0px;}

/* menu */

.block.menu .section{ padding:45px 0; margin-bottom:40px 0; border-bottom:2px dashed var(--b-tint-strong);}
.block.menu .section:first-child{ padding-top:0px;}
.block.menu .section:last-child{ padding-bottom:0px; margin-bottom:0px; border:0px;}
.block.menu .section .section-title{ text-align:center; margin-bottom:20px;}
.block.menu .section .section-title h2{ font-size:38px; line-height:1.15; font-weight:800;}
.block.menu .section .section-description{ text-align:center; margin-bottom:20px;}
.block.menu .section .section-description p{ font-size:19px; line-height:31px; color:var(--b-body);}
.block.menu .section .section-subtitle{ text-align:center; margin-bottom:20px;}
.block.menu .section .section-subtitle h3{ font-family:var(--b-display); font-weight:800; color:var(--primary-color-website); text-transform:uppercase; font-size:16px; letter-spacing:0.12em;}
.block.menu .section .section-description + .item{ margin-top:40px;}
.block.menu .section .item{ text-align:center; margin-bottom:28px;}
.block.menu .section .item .head{ margin-bottom:8px;}
.block.menu .section .item .head .name h4{ font-family:var(--b-display); font-size:23px; line-height:31px; font-weight:700; color:var(--b-ink);}
.block.menu .section .item .body .description{ padding:0 10%; margin-bottom:12px;}
.block.menu .section .item .body .description p{ color:var(--b-body);}
.block.menu .section .item .body .description ul li{ padding-left:0px;}
.block.menu .section .item .body .description ul li:before{ display:none;}
.block.menu .section .item .body .total{ font-family:var(--b-display); display:inline-block; font-size:17px; line-height:24px; color:var(--b-ink); font-weight:800; background:var(--b-tint); border:2px solid var(--b-ink); border-radius:999px; padding:4px 20px;}

.block.menu + .block.cta{ padding-top:0px;}

/* testimonianze — sezione a tutto colore primario */

.block.testimonials{ background:var(--primary-color-website); border-top:2px solid var(--b-ink); border-bottom:2px solid var(--b-ink);}
.block.testimonials .row + .row{ margin-top:30px;}
.block.testimonials h1, .block.testimonials h2{ color:#fff;}
.block.testimonials h1 strong, .block.testimonials h2 strong{ color:#fff; background-image:linear-gradient(0deg, rgba(255,255,255,0.25) 30%, transparent 30%);}
.block.testimonials .swiper-wrapper{ align-items:center;}
.block.testimonials .item{ text-align:center; padding:0 100px;}
.block.testimonials .item .text{ max-width:800px; display:inline-block; margin-bottom:22px; position:relative;}
.block.testimonials .item .text:before{ content:"\201C"; display:block; font-family:var(--b-display); font-size:120px; line-height:0.35; margin-bottom:20px; padding-top:35px; color:rgba(255,255,255,0.5); font-weight:800;}
.block.testimonials .item .text h2{ font-weight:800; color:#fff;}
.block.testimonials .item .text p{ font-family:var(--b-display); font-size:26px; line-height:40px; font-weight:600; color:#fff; letter-spacing:-0.01em;}
.block.testimonials .item .text p + h2{ margin-top:20px;}
.block.testimonials .item .rating{ width:100%; float:left; margin-bottom:5px;}
.block.testimonials .item .rating ul{ margin:0px; padding:0px;}
.block.testimonials .item .rating li{ width:auto; height:auto; display:inline-block; margin:0px 3px; border-radius:0px; padding:0px; background:none;}
.block.testimonials .item .rating li:before{ content:"\f005"; font-family:FontAwesome; position:static; font-size:16px; color:rgba(255,255,255,0.35);}
.block.testimonials .item .rating li.active{ background:none;}
.block.testimonials .item .rating li.active:before{ color:#fff;}
.block.testimonials .item .rating li span{ display:none;}
.block.testimonials .item .rating li.active span{ display:none;}
.block.testimonials .item .bottom h3{ font-family:var(--b-display); font-size:16px; line-height:26px; font-weight:800; text-transform:uppercase; letter-spacing:0.04em; color:#fff; margin-top:8px;}
.block.testimonials .swiper-prev, .block.testimonials .swiper-next{ background:transparent; border:2px solid #fff; color:#fff;}
.block.testimonials .swiper-prev:hover, .block.testimonials .swiper-next:hover{ background:var(--b-ink); border-color:var(--b-ink); color:#fff;}

.block.testimonials .item{ padding:45px 0; border-bottom:2px dashed rgba(255,255,255,0.35);}
.block.testimonials .item:first-child{ padding-top:0px;}
.block.testimonials .item:last-child{ padding-bottom:0px; margin-bottom:0px; border:0px;}

/* blog */

.block.blog{ padding-bottom:0px;}
.block.blog .item{ margin-bottom:70px;}
.block.blog .item:last-child{ margin-bottom:0px;}
.block.blog .item .image img{ border-radius:var(--b-radius); position:relative; z-index:2; border:var(--b-border); box-shadow:var(--b-shadow-big); transform:rotate(-1deg); transition:transform .4s ease;}
.block.blog .item .image:hover img{ transform:rotate(0deg);}
.block.blog .item .text h2{ font-size:34px; line-height:1.15;}

/* post */

.block.post .item{ width:100%; max-width:700px; margin:0 auto;}
.block.post .item .image{ margin-bottom:60px;}
.block.post .item .image img{ border-radius:var(--b-radius); position:relative; z-index:2; border:var(--b-border); box-shadow:var(--b-shadow-big);}
.block.post .item .text{}
.block.post .item .text h2{ font-size:34px; line-height:1.15;}

.block.post + .block.cta{ padding-top:0px;}


/* contatti footer */

.block.contacts-icon .row.flex [class*="col-"]:last-child .item{ border:0px;}
.block.contacts-icon .item{ width:100%; text-align:center; border-right:2px dashed var(--b-tint-strong);}
.block.contacts-icon .item .icon{ display:flex; flex-wrap:nowrap; align-items:center; justify-content:center; margin-bottom:20px;}
.block.contacts-icon .item .icon i{ width:56px; height:56px; font-size:20px; line-height:52px; text-align:center; color:#fff; background:var(--primary-color-website); border:2px solid var(--b-ink); border-radius:50%; margin:0px; box-shadow:4px 4px 0 var(--b-ink);}
.block.contacts-icon .item .icon span{ font-family:var(--b-display); font-size:15px; font-weight:800; text-transform:uppercase; letter-spacing:0.03em; color:var(--b-ink); margin-left:14px;}
.block.contacts-icon .item .text .link{ font-family:var(--b-display); font-size:24px; line-height:32px; font-weight:700;}
.block.contacts-icon .item .text .link a{ color:var(--b-ink); font-weight:700;}
.block.contacts-icon .item .text .link a:hover{ color:var(--primary-color-website); text-decoration:underline; text-decoration-thickness:3px; text-underline-offset:5px; text-decoration-color:var(--primary-color-website);}
.block.contacts-icon .item .text .social{ width:100%; float:left;}
.block.contacts-icon .item .text .social ul{margin:0; width:auto; display:flex; justify-content:center; display:flex; flex-wrap:wrap;}
.block.contacts-icon .item .text .social li{ width:auto;float:left; padding:0px; margin:0 5px 0 0;}
.block.contacts-icon .item .text .social li:last-child{ margin:0px;}
.block.contacts-icon .item .text .social li:before{ display:none;}
.block.contacts-icon .item .text .social li a{ float:left;position:relative;border-radius:50%;background:var(--primary-color-website); border:2px solid var(--b-ink);}
.block.contacts-icon .item .text .social li a span.circle{width:36px;height:36px;float:left;color:#fff;text-align:center; margin:0px;}
.block.contacts-icon .item .text .social li a span.circle i{font-size:14px;line-height:36px;vertical-align:top;}
.block.contacts-icon .item .text .social li.facebook a{background:var(--primary-color-website)}
.block.contacts-icon .item .text .social li.instagram a{background:var(--primary-color-website)}
.block.contacts-icon .item .text .social li.linkedin a{background:var(--primary-color-website)}
.block.contacts-icon .item .text .social li.youtube a{background:var(--primary-color-website)}
.block.contacts-icon .item .text .social li.vimeo a{background:var(--primary-color-website)}
.block.contacts-icon .item .text .social li.tripadvisor a{background:var(--primary-color-website)}
.block.contacts-icon .item .text .social li.tiktok a{background:var(--primary-color-website)}
.block.contacts-icon .item .text .social li a:hover{ background:var(--b-ink);}
.block.contacts-icon .item .text .social li a:hover span.circle{ color:#fff;}
.block.contacts-icon .item .text .social li a:hover .fa-tripadvisor{ filter:brightness(0) invert(1);}
.block.contacts-icon .item .text .social li a .fa-tripadvisor{ filter:none;}

/* dove */

.block.where{}
.block.where .iframe-wrap{ width:100%; float:left;}
.block.where .iframe{ width:100%; height:550px; border-radius:var(--b-radius); position:relative; z-index:2; border:var(--b-border); box-shadow:var(--b-shadow-big);}
.block.where .iframe .map-content{ padding:10px; text-align:center;}
.block.where .iframe .map-content h2{ font-family:var(--b-display); font-size:19px; line-height:26px; color:var(--b-ink); font-weight:800; margin-bottom:5px;}
.block.where .iframe .map-content p{ font-family:var(--b-sans); font-size:15px; line-height:22px; font-weight:400; color:var(--b-body); margin:0px; margin-bottom:0px;}
.block.where .text{ width:100%;}
.block.where .text .place{ margin-bottom:40px;}
.block.where .text .opening-time ul{ margin-top:25px;}
.block.where .text .opening-time ul li{ padding:9px 14px; display:flex; flex-wrap:nowrap; position:relative; border-radius:12px;}
.block.where .text .opening-time ul li:last-child{ border:0px;}
.block.where .text .opening-time ul li:before{ display:none;}
.block.where .text .opening-time ul li .day{ width:35%; font-family:var(--b-display); font-size:14px; line-height:28px; font-weight:700; text-transform:uppercase; letter-spacing:0.02em; color:var(--b-ink);}
.block.where .text .opening-time ul li .hours{ width:65%; font-weight:500; color:var(--b-body);}
.block.where .text .opening-time ul li.active{ background:var(--b-tint); border-bottom-color:transparent; outline:2px solid var(--b-ink); outline-offset:-2px;}
.block.where .text .opening-time ul li.active .day{ color:var(--primary-color-website);}
.block.where .text .opening-time ul li.active .hours{ color:var(--b-ink); font-weight:700;}

/* cta — pannello pieno colore primario */

.block.cta .box{ padding:70px 60px; background:var(--primary-color-website); border:var(--b-border); border-radius:28px; text-align:center; box-shadow:10px 10px 0 var(--b-ink);}
.block.cta .box h1, .block.cta .box h2{ color:#fff;}
.block.cta .box h1 strong, .block.cta .box h2 strong{ color:#fff; background-image:linear-gradient(0deg, rgba(255,255,255,0.25) 30%, transparent 30%);}
.block.cta .box h3, .block.cta .box p, .block.cta .box li, .block.cta .box blockquote{ color:rgba(255,255,255,0.9);}
.block.cta .box h3 strong, .block.cta .box p strong{ color:#fff;}
.block.cta .box li:before{ color:#fff;}
.block.cta .box a:not(.btn){ color:#fff; text-decoration:underline;}
.block.cta .box .btn.btn-primary{ background:#fff; border-color:var(--b-ink); color:var(--b-ink);}
.block.cta .box .btn.btn-primary:hover, .block.cta .box .btn.btn-primary:focus{ background:var(--b-ink); border-color:var(--b-ink); color:#fff;}
.block.cta .box .btn.btn-default{ background:transparent; border-color:#fff; color:#fff; box-shadow:6px 6px 0 rgba(0,0,0,0.35);}
.block.cta .box .btn.btn-default:hover, .block.cta .box .btn.btn-default:focus{ background:#fff; border-color:#fff; color:var(--b-ink);}

/* contatti */

.block.contacts{ padding-top:0px; margin-top:40px;}
.block.contacts .box{ padding:60px 0; background:#fff; border:var(--b-border); border-radius:28px; box-shadow:10px 10px 0 var(--b-tint-strong);}
.block.contacts .form{ width:100%; float:left; text-align:center;}
.block.contacts .form .check{ width:auto; display:inline-block; float:none;}
.block.contacts .form .check label:before{ background:#fff;}
.block.contacts .form .form-group{ position:relative;}
.block.contacts .form .form-group > label{ position:absolute; top:0px; margin:0px; margin-top:-10px; background:#fff; padding:0 10px; left:14px; z-index:2; border-radius:6px;}
.block.contacts .form .form-group input, .block.contacts .form .form-group textarea{ background:#fff;}
.block.contacts .form .item{ margin-top:30px;}
.block.contacts .form .item .btn{ margin-top:20px; height:60px; padding:0 55px; font-size:17px; border-radius:999px;}

/* swiper navigation */

.swiper-prev, .swiper-next{ width:48px; height:48px; line-height:44px; position:absolute; top:50%; margin-top:-24px; background:#fff; color:var(--b-ink); border:2px solid var(--b-ink); border-radius:50%; z-index:10; cursor:pointer; box-shadow:3px 3px 0 var(--b-ink); -webkit-transition: all .2s ease-in-out; -moz-transition: all .2s ease-in-out; -o-transition: all .2s ease-in-out; transition: all .2s ease-in-out;}
.swiper-next:before, .swiper-prev:before{ width:100%; height:100%; position:absolute; left:0px; top:0px; font-family:FontAwesome; font-size:18px; text-align:center; line-height:inherit;}
.swiper-prev{ left:0px;}
.swiper-next{ right:0px;}
.swiper-prev:before{ content:"\f104";}
.swiper-next:before{ content:"\f105";}
.swiper-next:hover, .swiper-prev:hover{ background:var(--primary-color-website); border-color:var(--b-ink); color:#fff; transform:translate(2px,2px); box-shadow:1px 1px 0 var(--b-ink);}


/* footer — blocco pieno colore primario */

.footer{ width:100%; position:relative; z-index:2; display:inline-block; font-family:var(--b-sans); width:100%; float:left; background:var(--primary-color-website); border-top:2px solid var(--b-ink);}
.footer .footer-row{ text-align:center; position:relative; z-index:3; padding-top:60px; padding-bottom:20px; overflow:hidden;}
.footer .footer-row .row{ display:flex; flex-wrap:nowrap; justify-content:center;}
.footer .footer-row .row [class*="col-"]{ width:auto; max-width:300px; text-align:center; display:inline-block;}
.footer .footer-row .widget{ width:100%; min-width:150px; float:left; text-align:center; margin-bottom:40px;}
.footer .footer-row .widget h4{ font-family:var(--b-display); font-size:16px; line-height:24px; color:rgba(255,255,255,0.75); font-weight:800; text-transform:uppercase; letter-spacing:0.05em; margin-bottom:12px;}
.footer .footer-row .widget p + h4{ margin-top:22px;}
.footer .footer-row .widget p, .footer .footer-row .widget li{ font-family:var(--b-sans); font-weight:400; font-size:15px; line-height:25px; margin-bottom:10px; color:rgba(255,255,255,0.9);}
.footer .footer-row .widget p:last-child{ margin-bottom:0px;}
.footer .footer-row .widget p a{ color:#fff; font-weight:700;}
.footer .footer-row .widget ul{ margin-bottom:0px;}
.footer .footer-row .widget li{ padding-left:0px; margin:0px;}
.footer .footer-row .widget li:before{ display:none; content:"\f105"; font-family:FontAwesome; position:absolute; left:0px; font-size:14px; color:#fff;}
.footer .footer-row .widget li a{ color:rgba(255,255,255,0.9); font-weight:inherit;}
.footer .footer-row .widget li a:hover{ color:#fff; text-decoration:underline; text-underline-offset:3px;}
.footer .footer-row .social{ clear:both; width:100%; float:left;}
.footer .footer-row .social ul{margin:0; width:auto; max-width:160px; display:flex; justify-content:center; display:flex; flex-wrap:wrap;}
.footer .footer-row .social li{ width:auto;float:left; padding-left:0px; margin:5px;}
.footer .footer-row .social li:before{ display:none;}
.footer .footer-row .social li a{float:left;position:relative;border-radius:50%; background:transparent; border:2px solid rgba(255,255,255,0.7);}
.footer .footer-row .social li a span.circle{width:40px;height:40px;float:left;color:#fff;text-align:center;}
.footer .footer-row .social li a span.circle i{font-size:15px;line-height:36px;vertical-align:top;}
.footer .footer-row .social li.facebook a{background:transparent}
.footer .footer-row .social li.instagram a{background:transparent}
.footer .footer-row .social li.linkedin a{background:transparent}
.footer .footer-row .social li.youtube a{background:transparent}
.footer .footer-row .social li.vimeo a{background:transparent}
.footer .footer-row .social li.tripadvisor a{background:transparent}
.footer .footer-row .social li a:hover{ background:var(--b-ink); border-color:var(--b-ink);}

.footer .footer-extra{ padding:0px; padding-top:25px; padding-bottom:25px; background:none; text-align:center;}
.footer .footer-extra .row{ padding:0px;}
.footer .footer-extra .row p{ font-size:13px; line-height:22px; color:rgba(255,255,255,0.8); font-weight:400;}
.footer .footer-extra .row p span{ margin:0 5px; color:rgba(255,255,255,0.4);}
.footer .footer-extra .row a{ color:#fff; font-weight:inherit;}
.footer .footer-extra .row a:hover{ color:#fff; text-decoration:underline; text-underline-offset:3px;}

/* modal */

body.modal-open .header{ filter: blur(4px);}
body.modal-open .wrapper{ filter: blur(4px);}
body.modal-open .footer{ filter: blur(4px);}

.modal{ z-index:999999; border-radius:0px; padding:10px;}
.modal .modal-dialog{ width:800px; top:-100%; margin:0 auto; padding:0px;}
.modal.in .modal-dialog{ top:50%; -ms-transform: translateY(-50%); transform: translateY(-50%);  -webkit-transition: -webkit-transform 0.5s ease-out; -o-transition: -o-transform 0.5s ease-out; transition: transform 0.5s ease-out;}
.modal-backdrop{ background:var(--b-ink); z-index:99999;}
.modal{ z-index:999999;}
.modal .row + .row{ margin-top:30px;}
.modal .modal-content{ border-radius:28px; background:var(--b-cream); border:var(--b-border); box-shadow:12px 12px 0 rgba(0,0,0,0.4);}
.modal .modal-body{ border-radius:0px; padding:40px;}
.modal .modal-body .text ul{ margin:0px; padding:0px; margin-bottom:25px;}
.modal .modal-body .text ul:last-child{ margin-bottom:0px;}
.modal .modal-body .text ul li{ position:relative; margin-bottom:0px; padding-left:22px;}
.modal .modal-body .text ul li:last-child{ margin-bottom:0px;}
.modal .modal-body .text ul li:before{ content:"\f105"; font-family:FontAwesome; position:absolute; left:0px; font-size:15px; color:var(--primary-color-website);}
.modal .close{ width:40px; height:40px; position:absolute; top:12px; right:12px; opacity:1; z-index:9999; background:#fff; border:2px solid var(--b-ink); border-radius:50%; color:var(--b-ink); text-shadow:none; box-shadow:3px 3px 0 var(--b-ink);}
.modal .close:before{ content:"\f00d"; font-family: 'FontAwesome'; width:100%; height:100%; position:absolute; left:0px; top:0px; font-size:16px; line-height:36px; text-align:center;}
.modal .close:hover{ background:var(--primary-color-website); color:#fff;}
.modal .image img{ border-radius:var(--b-radius); position:relative; z-index:2; border:var(--b-border); box-shadow:6px 6px 0 var(--b-tint-strong); transform:rotate(-2deg);}
.modal .text h3{ font-family:var(--b-display); font-size:14px; line-height:22px; color:var(--primary-color-website); font-weight:800; text-transform:uppercase; letter-spacing:0.06em; margin:0px;}
.modal .text h2{ font-family:var(--b-display); font-size:34px; line-height:1.15; color:var(--b-ink); font-weight:800; margin:0px;}
.modal .text h2 strong{ font-weight:800; color:var(--primary-color-website);}
.modal .text h3 + h2{ margin-top:8px;}
.modal .text p + .btn{ margin-top:20px;}

/* policy — pagine legali sobrie e leggibili */

body.body-policy{ background:#fff;}
body.body-policy:before{ display:none;}
body.body-policy .block.policy{ width:100%; float:left; padding:60px 0;}
body.body-policy .block.policy .container:before, body.body-policy .block.policy .container:after{ display:none;}
body.body-policy .block.policy .row:before, body.body-policy .block.policy .row:after{ display:none;}
body.body-policy .block.policy .wrap{ width:640px; margin:0 auto;}
body.body-policy .block.policy h1{ font-size:40px; line-height:1.1; color:var(--b-ink); font-weight:800; margin:0px; margin-bottom:20px;}
body.body-policy .block.policy h2{ font-size:30px; line-height:1.1; color:var(--b-ink); font-weight:700; margin:0px; margin-bottom:20px;}
body.body-policy .block.policy h3{ font-size:26px; line-height:1.1; color:var(--b-ink); font-weight:700; margin:0px; margin-bottom:20px;}
body.body-policy .block.policy h4{ font-size:20px; line-height:1.1; color:var(--b-ink); font-weight:700; margin:0px; margin-bottom:20px;}
body.body-policy .block.policy p, body.body-policy .block.policy li{ font-size:16px; line-height:26px; color:var(--b-body); margin:0px; margin-bottom:20px;}
body.body-policy .block.policy a{ color:var(--primary-color-website);}
body.body-policy .block.policy p:last-child{ margin-bottom:0px;}
body.body-policy .block.policy ul{ margin:0px; padding:0px; margin-bottom:20px;}
body.body-policy .block.policy ul:last-child{ margin-bottom:0px;}
body.body-policy .block.policy ul li{ list-style:none; position:relative; margin-bottom:0px; padding-left:25px;}
body.body-policy .block.policy ul li:last-child{ margin-bottom:0px;}
body.body-policy .block.policy ul li:before{ content:"\f105"; font-family:FontAwesome; position:absolute; left:0px; top:3px; font-size:13px; line-height:24px; color:var(--b-body);}
body.body-policy .block.policy ol{ margin:0px; padding:0px; margin-bottom:20px;}
body.body-policy .block.policy ol:last-child{ margin-bottom:0px;}
body.body-policy .block.policy ol li{ list-style:none; position:relative; margin-bottom:0px; padding-left:25px; counter-increment:counter;}
body.body-policy .block.policy ol li:before{ font-family:var(--b-sans); width:25px; text-align:left; content:counter(counter) "."; font-weight:400; position:absolute; left:0px; font-size:16px; color:var(--b-body); font-weight:700;}
body.body-policy .block.policy .text.text-disiscriviti{ text-align:center; padding:20px; background:var(--b-tint); border:2px solid var(--b-ink); border-radius:16px;}
body.body-policy .block.policy .text.text-disiscriviti p{ font-size:20px; line-height:1.4;}
body.body-policy .block.policy .text.text-disiscriviti a{ font-weight:700; text-decoration:underline;}
body.body-policy .block.policy .text.text-disiscriviti a:hover{ text-decoration:none;}

.whatsappfixed{ width:60px; height:60px; position:fixed; right:20px; bottom:20px; background:#25D366; border:2px solid var(--b-ink); border-radius:50%; font-size:28px; line-height:54px; text-align:center; color:#fff; box-shadow:4px 4px 0 var(--b-ink); z-index:200; animation: pulse 1.5s infinite;}
.whatsappfixed:hover, .whatsappfixed:focus{ background:var(--b-ink); color:#fff;}

@media (min-width: 1500px) {

	.container{ width:1400px;}
	.visual .container{ width:1400px !important; padding:0px 30px !important;}

}

@media (max-width: 1600px) {

	.container-fluid{ padding:0 50px;}
	.header .navbar-nav > li > a{ font-size:15px; margin:0 8px;}
	.header .navbar-nav > li.book{ margin-left:15px;}

}


@media (max-width: 1499px) {

	.container{ width:1170px;}
	.visual .container{ width:1170px; padding:0 30px;}
	.btn{ font-size:14px;}
	p, li{ font-size:16px; line-height:27px;}

	.header .navbar-nav > li.homepage{ display:none;}
	.header .navbar-nav > li > a{ font-size:14px;}
	.header .navbar-nav > li.book > a{ font-size:14px;}

	.visual .text h1{ font-size:52px;}
	.visual .text h2{ font-size:19px; line-height:30px;}
	.visual-wrap .down{ width:52px; height:52px; line-height:48px;}
	.visual-wrap .down:before{ font-size:20px;}

	.title .text h1, .title .text h2{ font-size:54px;}

	.block h1, .block h2{ font-size:46px;}
	.block h3{ font-size:18px; line-height:29px;}

	.block.intro-page .menu-list ul li a{ font-size:13px;}

	.block.intro .text h2{ font-size:32px;}

	.block.contacts-icon .item .text .link{ font-size:22px; line-height:30px;}
	.block.contacts-icon .item .icon{ margin-bottom:12px;}

	.footer .footer-extra .row p{ font-size:13px; line-height:20px;}

	.block.gift .intro h2{ font-size:32px;}

	.block blockquote{ font-size:16px; line-height:27px; text-align:inherit !important;}


}

@media (max-width: 1399px) {

	.container-fluid{ padding:0 45px;}

	.header a.navbar-brand img{ max-width:150px; max-height:50px;}

	.header .navbar-nav > li > a{ font-size:13px; margin:0 6px;}
	.header .navbar-nav > li.book{ margin-left:10px;}

}


@media (max-width: 1200px) {

	.container{ width:970px;}
	.container-fluid{ padding:0 30px;}
	.visual .container{ width:970px;}

	.row.row40{ margin-left:-20px; margin-right:-20px;}
	.row.row40 > [class*="col-"]{ padding:0 20px;}

	.topbar .row{ flex-wrap:wrap;}
	.topbar .row > [class*="col-"]{ width:100%;}
	.topbar .left{ width:100%; float:left;}
	.topbar .left .text{ width:100%; text-align:center;}
	.topbar .right{ width:100%; float:left; text-align:center; justify-content:center;}
	.topbar .text span{ margin:0 3px;}

	.header .navbar-nav > li.homepage{ display:none;}
	.header .navbar-nav > li > a{ margin:0 5px; font-size:12px;}
	.header .navbar-nav > li.book > a{ font-size:12px;}
	.header .navbar-nav > li.book{ margin-left:7px;}

	.visual{ padding:90px 0 140px 0;}
	.visual .text h1{ font-size:44px;}
	.visual .text h2{ font-size:18px; line-height:29px;}
	.visual:after{ width:380px; height:380px; right:-120px; top:-120px;}

	.block{ padding:65px 0;}

	.title{ padding-top:45px;}
	.title .text h1, .title .text h2{ font-size:46px;}

	.block h1, .block h2{ font-size:40px;}
	.block h3{ font-size:18px; line-height:28px;}
	.block h4{ font-size:19px; line-height:27px;}

	.block.intro .text h2{ font-size:30px;}

	.block.contacts-icon .item .text .link{ font-size:20px; line-height:28px;}

	.block.about .gallery .row{ margin-left:-10px; margin-right:-10px;}
	.block.about .gallery .row > [class*="col-"]{ padding:0 10px;}

	.block.cta .box{ padding:50px 40px;}

	.block.cta-about .images .image3{ margin-top:-60px;}


	.footer .footer-extra .row p{ font-size:12px; line-height:18px;}

	.block.gift{ padding-bottom:20px;}
	.block.gift .intro h2{ font-size:30px;}

	.whatsappfixed{ width:48px; height:48px; line-height:42px; right:15px; bottom:15px; font-size:24px;}


}

@media (max-width: 1100px) {

	.container-fluid{ padding:0 25px;}

	.header a.navbar-brand img{ max-width:135px; max-height:45px;}

	.header .navbar-nav > li > a{ font-size:11px; margin:0 4px;}
	.header .navbar-nav > li.book > a{ font-size:11px; padding-left:20px; padding-right:20px;}

}

@media (max-width: 1008px) {



}

@media (min-width: 992px) {

	.header .navbar-collapse{ display:block;}

}

@media (max-width: 992px) {

	.navbar-nav{ padding-bottom:0px;}
	.footer-row [class*=col-]{ margin:0px;}

}

@media (max-width: 991px) {


	.container{ width:750px;}
	.visual .container{ width:750px !important;}

	.navbar-toggle{ display:block !important; z-index:2;}

	.hr-header{ display:none;}

	.header{}
	.header .navbar{}
	.header a.navbar-brand{ position:relative; border-radius:0px; padding-left:0px; padding-right:0px; line-height:80px !important; z-index:2;}
	.header a.navbar-brand img{ max-width:180px; max-height:50px;}
	.header .navbar-collapse{ background:rgba(255,255,255,0.9); padding:0px; float:none !important; clear: both; width: 100%; margin: 0 !important; position:absolute; left:0px; top:0px; box-shadow:0 20px 40px rgba(24,20,16,0.25); border-bottom:2px solid var(--b-ink);}
	.header .navbar-collapse.in{ }
	.header .navbar-nav{ width:100%; float:left; padding:30px; padding-top:110px; display:inherit; vertical-align:inherit; margin-bottom:0px;}
	.header .navbar-nav > li.homepage{ display:block;}
	.header .navbar-nav > li{ clear:both; width:100%; padding:0px; border-bottom:2px dashed var(--b-tint-strong);}
	.header .navbar-nav > li:after{ display:none;}
	.header .navbar-nav > li:last-child{ border:0px;}
	.header .navbar-nav > li > a:after{ display:none;}
	.header .navbar-nav > li > a{ line-height:24px !important; font-size:16px; color:var(--b-ink); text-align:center; padding:7px 0; border-left:0px !important; margin:0px;}
	.header .navbar-nav > li > a span:before, .header .navbar-nav > li.active > a span:before{ display:none;}
	.header .navbar-nav > li.active > a{ color:var(--primary-color-website);}
	.header .navbar-nav > li > a:hover{ color:var(--primary-color-website);}
	.header .navbar-nav > li.book{ padding-left:0px; margin-top:20px; margin-left:0px;}
	.header .navbar-nav > li.book > a{ text-align:center; font-size:15px;}

	.visual{ padding:60px 0; padding-bottom:0px;}
	.visual .image{ margin-bottom:45px;}
	.visual-wrap .down{ display:none;}
	.visual:after{ width:300px; height:300px; right:-100px; top:-100px;}

	.title{ padding-top:30px;}

	.block.cta-about .images .image2{ margin-top:5%;}
	.block.cta-about .images .image3{ margin-top:-20%;}

	.block.cta-coupon .image{ margin-bottom:45px;}
	.block.cta-about .images{ margin-bottom:45px;}

	.block.cta-menu .row.flex [class*="col-"].pull-right{ order:0;}
	.block.cta-menu .images{ margin-bottom:45px;}

	.block.testimonials.home .item{ padding-left:80px; padding-right:80px;}

	.block.intro-page .image{ margin-bottom:45px;}

	.block.about .text{ text-align:left;}
	.block.about .gallery{ margin-top:20px;}
	.block.about .gallery .item{ margin-top:20px;}

	.block.blog .item .image{ margin-bottom:45px;}

	.block.contacts-icon .item{ padding-bottom:20px; margin-bottom:20px; border:0px; border-bottom:2px dashed var(--b-tint-strong);}
	.block.contacts-icon .row.flex [class*="col-"]{ width:100%;}
	.block.contacts-icon .row.flex [class*="col-"]:last-child .item{ margin:0px; padding:0px;}

	.block.where .row > [class*="col-"]{ width:100%;}
	.block.where .text{ margin-bottom:45px;}
	.block.where .iframe{ height:450px;}
	.block.where .text .place{ text-align:center;}
	.block.where .text .opening-time{ text-align:center;}
	.block.where .text .opening-time ul li{ flex-wrap:wrap;}
	.block.where .text .opening-time ul li .day{ width:100%;}
	.block.where .text .opening-time ul li .hours{ width:100%;}

	.block.fidelity .intro{ margin-bottom:20px;}
	.block.fidelity .item{ margin-top:60px;}

	.block.gift .item .gifts{ margin-bottom:20px;}

	.footer .footer-extra .row p span{ margin:0 3px;}

	.modal .modal-dialog{ width:600px;}
	.modal .image{ margin-bottom:20px;}

}


@media (max-width: 768px){

	.content .row + .row{ margin-top:40px;}

	.container{ width:100%;}
	.visual .container{ width:100% !important;}

	.topbar .left{ display:none;}
	.topbar .right{ flex-wrap:wrap;}
	.topbar .right .text{ width:100%;}
	.topbar .right .social{ width:100%; margin-left:0px; margin-top:6px;}

	.visual .text h1{ font-size:37px;}
	.visual .text h2{ font-size:17px; line-height:27px;}
	.visual .image img{ box-shadow:8px 8px 0 var(--b-tint-strong);}

	.block h1, .block h2{ font-size:34px;}
	.block h3{ font-size:17px; line-height:27px;}
	.block h4{ font-size:18px; line-height:26px;}

	.title .text h1, .title .text h2{ font-size:38px;}

	.block.cta-about .images .image1{ padding-right:20px;}
	.block.cta-about .images .image3{ padding-right:20px;}

	.block.cta-menu .images .image1{ padding-right:20px;}
	.block.cta-menu .images .image2{ margin-top:20%;}
	.block.cta-menu .images .image3{ padding-right:20px;}

	.block.testimonials .item .text p{ font-size:16px; line-height:1.4;}
	.block.testimonials .item .text:before{ font-size:90px;}
	.block.testimonials.home .item{ padding-left:42px; padding-right:42px;}

	.block.cta .box{ padding:40px 28px; box-shadow:6px 6px 0 var(--b-ink);}

	.swiper-prev, .swiper-next{ width:34px; height:34px; line-height:30px;}
	.swiper-next:before, .swiper-prev:before{ font-size:15px;}

	.whatsappfixed{ right:10px; bottom:10px;}

}

@media (max-width: 640px){

	.container{ padding-left:25px; padding-right:25px;}

	.block{ padding:45px 0;}

	.visual{ padding-top:40px;}
	.visual:after{ display:none;}

	body.body-policy .block.policy{ padding:40px 0;}
	body.body-policy .block.policy .wrap{ width:100%;}

	.lingueattive_2 .footer .footer-extra,
	.lingueattive_3 .footer .footer-extra,
	.lingueattive_4 .footer .footer-extra,
	.lingueattive_5 .footer .footer-extra{ padding-bottom:50px;}

	.languages-fixed{ top:auto; bottom:0px; transform:none;}
	.languages-fixed ul{ border-bottom-left-radius:0px; box-shadow:none;}
	.languages-fixed ul li{ clear:none; width:20px; margin:0px; margin-right:10px;}
	.languages-fixed ul li:last-child{ margin:0px;}

	body.body-policy .block.policy h1{ font-size:34px; line-height:40px;}
	body.body-policy .block.policy h2{ font-size:27px; line-height:32px;}
	body.body-policy .block.policy h3{ font-size:23px; line-height:28px;}
	body.body-policy .block.policy h4{ font-size:19px; line-height:24px;}

	.block.gift{ padding-bottom:0px;}

	.modal.in .modal-dialog{ top:0px; transform:none;}
	.modal .modal-dialog{ width:100%;}
	.modal .text h2{ font-size:28px;}
	.modal .row + .row{ margin-top:20px;}
	.modal .modal-body{ padding:30px;}
	.modal [class*=col-xs-]{ text-align:inherit;}

	.lingueattive_2 .whatsappfixed,
	.lingueattive_3 .whatsappfixed,
	.lingueattive_4 .whatsappfixed,
	.lingueattive_5 .whatsappfixed{ bottom:60px;}


}

@media (max-width: 479px) {

	.footer [class*=col-]{ text-align:center;}

	.block.about .gallery .row > [class*="col-"]{ width:50%; float:left;}

}

/* Accessibilità */

.header a.navbar-brand{ padding-right:0px;}

.visual-wrap{ overflow:visible;}
.title{ overflow:visible;}

.block.about .gallery .item a:focus img{ outline:var(--primary-color-website) solid 4px; outline-offset:4px;}
.modal .close:focus{ outline:var(--primary-color-website) solid 4px;}

a:focus{ outline:var(--primary-color-website) solid 4px; outline-offset:4px;}
.btn:focus{ outline:var(--primary-color-website) solid 4px !important; outline-offset:4px;}
.skip-link{ position: absolute; top: -40px; left: 20px; background:var(--b-ink); color: #fff; padding:5px 15px; z-index: 9999999; text-decoration: none; font-weight: bold; border-radius:999px; transition: top 0.3s ease;}
.skip-link:hover, .skip-link:focus{ background:var(--b-ink); color: #fff;}
.skip-link:focus{top: 20px;}

.languages-fixed ul li a:focus img{ outline:var(--primary-color-website) solid 4px; border-radius:50%;}

.swiper-prev{ left:8px;}
.swiper-next{ right:8px;}
.swiper-prev a, .swiper-next a{ width:100%; height:100%; float:left;}
.swiper-prev a:focus, .swiper-next a:focus{ outline:var(--primary-color-website) solid 4px;}
