@charset "utf-8";

@import url('https://fonts.googleapis.com/css2?family=Cormorant+Garamond:ital,wght@0,400;0,500;0,600;1,400;1,500;1,600&family=Jost:wght@300;400;500;600&display=swap');

:root{
	/* fondi scuri (derivati dal primario) */
	--n-bg:#161110;
	--n-bg:color-mix(in srgb, var(--primary-color-website) 10%, #131010);
	--n-surface:#211a17;
	--n-surface:color-mix(in srgb, var(--primary-color-website) 16%, #1a1512);
	--n-black:#0e0b0a;
	--n-black:color-mix(in srgb, var(--primary-color-website) 6%, #0c0a09);
	/* testi */
	--n-ivory:#f4ede2;
	--n-text:#d8d0c4;
	--n-muted:#a89e91;
	/* accenti derivati dal primario */
	--n-primary-light:#d8a6a0;
	--n-primary-light:color-mix(in srgb, var(--primary-color-website) 45%, #fff);
	--n-primary-deep:#4d1414;
	--n-primary-deep:color-mix(in srgb, var(--primary-color-website) 75%, #000);
	/* linee sottili */
	--n-line:rgba(244,237,226,0.16);
	--n-line-strong:rgba(244,237,226,0.35);
	/* font */
	--n-serif:'Cormorant Garamond', Georgia, serif;
	--n-sans:'Jost', sans-serif;
}

html{ background:var(--n-bg);}
body{ font-size:16px; font-family:var(--n-sans) !important; color:var(--n-text); min-height:100vh; /* background:var(--n-bg); */ background:#000;}
form{ margin:0px;}
body:before{ content:""; width:100%; height:100%; position:absolute; left:0px; top:0px; background:var(--n-bg);}
body:after{ content:none;}
.mfp-bg{ z-index:999999; background:rgba(8,5,4,0.9);}
.mfp-wrap{ z-index:9999999;}
.mfp-arrow:hover{ background:var(--primary-color-website);}
.mfp-close:hover:before{ color:var(--n-primary-light);}
.mfp-counter{ display:none;}
.mfp-title{ width:100%; text-align:center;}
::selection{ background:var(--primary-color-website); color:#fff; -webkit-background-clip: unset; -webkit-text-fill-color:#fff;}
::-moz-selection{ background:var(--primary-color-website); color:#fff; -webkit-background-clip: unset; -webkit-text-fill-color:#fff;}
h1, h2, h3, h4, h5, h6{ font-family:var(--n-serif); font-weight:500; color:var(--n-ivory);}
a{ color:var(--n-primary-light); font-weight:400; -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:hover, a:focus{ color:var(--n-ivory);}
p, li{ color:var(--n-text); font-size:17px; line-height:30px; font-weight:400; letter-spacing:0.01em;}
p{ margin-bottom:10px;}
p strong{ font-weight:500; color:var(--n-ivory);}
strong{ font-weight:500; color:var(--n-ivory);}
ul p{ line-height:30px;}
.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:1px; margin:0px; border:0px; background:var(--n-line);}
input[type=text], input[type=email], input[type=password], input[type=search], input[type=file], input[type=tel], textarea{ font-family:var(--n-sans); height:52px; float:left; font-size:16px; font-weight:300; color:var(--n-ivory); background:transparent; padding:10px 20px; border-radius:0px; -webkit-appearance: none; -moz-appearance: none; appearance: none; border:1px solid var(--n-line-strong);}
input[type=text]:focus, input[type=email]:focus, input[type=password]:focus, input[type=search]:focus, input[type=tel]:focus, textarea:focus{ border-color:var(--n-primary-light); outline:none;}
input::placeholder, textarea::placeholder{ color:var(--n-muted); opacity:1;}
input[type=file]{ width:100%; height:auto; padding:12px 20px; font-size:14px;}
select{ width:100%; padding:10px; background:var(--n-surface); border:1px solid var(--n-line-strong); color:var(--n-ivory); -webkit-appearance:none;}
textarea{ height:100px; padding:20px; -webkit-appearance: none; -moz-appearance: none; appearance: none;}
.form-group > label{ font-size:11px; text-align:left; font-weight:500; letter-spacing:0.2em; text-transform:uppercase; color:var(--n-muted);}
.form-group > label span{ color:var(--n-primary-light); font-size:14px; line-height:20px; float:right; margin-left:5px;}
.chosen-container{ border-radius:0px; font-size:15px; background:var(--n-surface);}
.chosen-container-single .chosen-single{ height:50px; line-height:50px; padding-left:20px; background:var(--n-surface); color:var(--n-ivory); border:1px solid var(--n-line-strong); box-shadow:none;}
.chosen-container-single .chosen-single span{ font-size:15px; font-weight:300; margin-right:35px;}
.chosen-container .chosen-drop{ border-radius:0px; background:var(--n-surface); border:1px solid var(--n-line-strong);}
.chosen-container .chosen-results{ border-radius:0px; padding:10px;}
.chosen-container .chosen-results li{ font-size:15px; line-height:30px; border-radius:0px; color:var(--n-text);}
.chosen-container .chosen-results li:hover{ background:var(--primary-color-website); color:#fff; border-radius:0px;}
.chosen-container-single .chosen-single div:after{ line-height:45px; font-size:20px; color:var(--n-muted);}
.widget .chosen-single{ font-weight:300; background:var(--n-surface);}
.widget .chosen-drop{ background:var(--n-surface);}
input[type="submit"].btn{ height:52px;}
.form-group{ margin-bottom:25px;}
.preloader{ position: fixed; left: 0; top: 0; opacity: 1; z-index: 99999; width: 100%; height: 100%; background:var(--n-bg); z-index:99999999;}
.preloader:after{ content:""; width:48px; height:48px; position:absolute; left:50%; top:50%; margin:-24px 0 0 -24px; border:1px solid var(--n-line); border-top-color:var(--n-primary-light); border-radius:50%; animation:n2spin .8s linear infinite;}
@keyframes n2spin{ to{ transform:rotate(360deg);}}
.btn{ font-family:var(--n-sans); font-size:12px; height:auto; padding:16px 36px; line-height:20px; font-weight:500; letter-spacing:0.24em; text-transform:uppercase; border-radius:0px;}
.btn.btn-small{ font-size:11px; line-height:18px; padding:9px 18px; letter-spacing:0.18em;}
.btn.btn-input{ height:52px;}
.btn.btn-default{ background:transparent; border:1px solid var(--n-line-strong); color:var(--n-ivory); vertical-align:top;}
.btn.btn-default:hover, .btn.btn-default:focus{ background:var(--n-ivory); border-color:var(--n-ivory); color:var(--n-black);}
.btn.btn-primary{ background:var(--primary-color-website); border:1px solid var(--primary-color-website); color:#fff; vertical-align:top;}
.btn.btn-primary:hover, .btn.btn-primary:focus{ background:var(--n-primary-deep); border-color:var(--n-primary-deep); color:#fff;}
a.readmore{ font-family:var(--n-sans); display:inline-block; font-size:12px; line-height:22px; position:relative; font-weight:500; letter-spacing:0.22em; text-transform:uppercase; color:var(--n-primary-light);}
a.readmore:before{ content:""; width:0px; height:1px; position:absolute; right:0px; bottom:-3px; background:var(--n-primary-light); -webkit-transition: all .5s ease-in-out; -moz-transition: all .5s ease-in-out; -o-transition: all .5s ease-in-out; transition: all .5s ease-in-out;}
a.readmore:after{ content:"\f105"; font-family:FontAwesome; width:auto; height:auto; position:absolute; right:-16px; top:0px; font-size:14px; line-height:22px; background:none;}
a.readmore:hover:before{ width:100%;}
a.readmore.backpage{ margin-left:30px;}
a.readmore.backpage:after{ content:"\f104"; left:-16px; 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:300; color:var(--n-muted); vertical-align:top;}
.check label:before{ width:24px; height:24px; left:0px; background:transparent; border:1px solid var(--n-line-strong); content:""; position:absolute; margin-right:10px; cursor:pointer; border-radius:0px;}
.check input[type=checkbox]:checked + label:before { font-family:FontAwesome; content:"\f00c"; text-align: center; line-height:22px; font-size:14px; color:var(--n-primary-light);}
.check label span{ display:inline-block; padding-left:34px; font-size:14px; text-align:left; color:var(--n-text); font-weight:300; line-height:24px; float:left;}
.check label span a{ font-weight:500;}
.check + .check{ margin-top:5px;}

.navbar-toggle{ width:50px; height:50px; background:none; line-height:50px; position:absolute; right:30px; top:15px; background-color:transparent; border:1px solid var(--n-line-strong); border-radius:0px;}
.navbar-toggle i{ text-indent:0; overflow:visible; width:auto; height:auto; background:none; font-size:18px; line-height:48px; color:var(--n-ivory);}
.navbar-toggle span{ font-size:18px; line-height:48px; color:var(--n-ivory);}
.navbar-toggle:hover{ background:var(--primary-color-website); border-color:var(--primary-color-website);}
.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:transparent; border-color:var(--n-line); color:var(--n-text);}
.pagination li a:hover, .pagination li a:focus{ color:var(--n-primary-light); background:transparent;}
ul.pagination .prev, ul.pagination .next{ color:var(--n-ivory); border-color:var(--n-line-strong);}
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:var(--n-primary-light); border-color:var(--n-primary-light); background:transparent;}
.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:var(--n-line); color:var(--n-line); cursor:default; background:transparent;}


.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:var(--n-surface); border:1px solid var(--n-line); border-right:0px;}
.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 */

.topbar{ width:100%; float:left; padding:12px 0; background:var(--n-black); position:relative; z-index:5; border-bottom:1px solid var(--n-line);}
.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:12px; color:var(--n-muted); line-height:24px; letter-spacing:0.08em;}
.topbar .text span{ margin:0 8px; color:var(--n-line);}
.topbar .text a{ font-weight:400; color:var(--n-ivory); letter-spacing:0.04em;}
.topbar .text a:hover, .topbar .text a:focus{ color:var(--n-primary-light);}
.topbar .text strong{ color:var(--n-muted); font-weight:500; text-transform:uppercase; font-size:10px; letter-spacing:0.2em;}
.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:transparent; border:1px solid var(--n-line);}
.topbar .social li a span.circle{width:24px;height:24px;float:left;color:var(--n-ivory);text-align:center; margin:0px;}
.topbar .social li a span.circle i{font-size:10px;line-height:22px;vertical-align:top;}
.topbar .social li.facebook a{background:transparent}
.topbar .social li.instagram a{background:transparent}
.topbar .social li.linkedin a{background:transparent}
.topbar .social li.youtube a{background:transparent}
.topbar .social li.vimeo a{background:transparent}
.topbar .social li.tripadvisor a{background:transparent}
.topbar .social li.tiktok a{background:transparent}
.topbar .social li a:hover{ background:var(--primary-color-website); border-color:var(--primary-color-website);}

.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 nel tema scuro */
.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(--n-sans); background:none;}
.header a.navbar-brand{ float:left; font-size:0px; line-height:100px; padding:0 40px; padding-left:0px;}
/* NOTA LOGO: il filtro rende il logo del ristorante monocromatico bianco,
   qualunque siano i suoi colori originali (coerente col tema scuro).
   Se il logo è già chiaro/bianco, rimuovere la riga seguente. */
.header a.navbar-brand img{ max-width:225px; max-height:65px; margin:0px; filter:brightness(0) invert(1); opacity:0.95;}
.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(--n-sans); font-size:13px; color:var(--n-ivory); font-weight:400; letter-spacing:0.22em; text-transform:uppercase; padding:15px 0px; margin:0 14px; border:0px; line-height:20px;}
.header .navbar-nav > li > a:hover{ color:var(--n-primary-light);}
.header .navbar-nav > li.active > a{ font-weight:500; border:0px; color:var(--n-primary-light);}
.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:1px; position:absolute; right:0px; bottom:10px; background:var(--n-primary-light); -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:24px;}
.header .navbar-nav > li.book > a{ color:#fff; font-size:12px; padding:16px 30px; margin:0px; background:var(--primary-color-website); border:1px solid var(--primary-color-website); border-radius:0px;}
.header .navbar-nav > li.book > a:hover{ background:transparent; border-color:var(--n-ivory); color:var(--n-ivory);}

.sticky-wrapper.is-sticky .header{ background:var(--n-black); background:color-mix(in srgb, var(--n-black) 92%, transparent); -webkit-backdrop-filter:blur(10px); backdrop-filter:blur(10px); box-shadow:0 1px 0 var(--n-line);}
.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(--n-bg);}
.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:120px 0 180px 0; background-repeat:no-repeat; background-position:center center; background-size:cover;}
.visual:after{ content:""; width:100%; height:100%; position:absolute; left:0px; top:0px; z-index:1; background:radial-gradient(ellipse 70% 60% at 75% 30%, rgba(133,35,35,0.18), transparent 70%); background:radial-gradient(ellipse 70% 60% at 75% 30%, color-mix(in srgb, var(--primary-color-website) 22%, transparent), transparent 70%); 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(--n-ivory); font-family:var(--n-serif); font-size:66px; line-height:72px; font-weight:500; position:relative; z-index:2; margin-bottom:30px;}
.visual .text h1 strong{ font-weight:500; font-style:italic; color:var(--n-primary-light);}
.visual .text h2{ font-family:var(--n-sans); font-size:18px; line-height:32px; color:var(--n-text); font-weight:300; letter-spacing:0.02em; position:relative; z-index:2; margin-bottom:35px; text-transform:none;}
.visual .text h2 strong{ font-weight:500; color:var(--n-ivory);}
.visual .text p, .visual .text blockquote{ font-size:18px; line-height:32px; color:var(--n-text); position:relative; z-index:2; margin-bottom:20px;}
.visual .text blockquote{ padding:0px; border:0px; margin:0px; margin-bottom:20px; font-weight:300;}
.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:20px;}
.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(--n-primary-light);}
.visual .image{ position:relative;}
.visual .image img{ border-radius:0px; position:relative; z-index:2; box-shadow:0 30px 60px rgba(0,0,0,0.5); outline:1px solid var(--n-line-strong); outline-offset:14px;}
.visual-wrap .swiper-prev{ left:40px; background:none; border-color:var(--n-line-strong); color:var(--n-ivory);}
.visual-wrap .swiper-next{ right:40px; background:none; border-color:var(--n-line-strong); color:var(--n-ivory);}
.visual-wrap .swiper-prev:hover{ background:var(--primary-color-website); border-color:var(--primary-color-website); color:#fff;}
.visual-wrap .swiper-next:hover{ background:var(--primary-color-website); border-color:var(--primary-color-website); color:#fff;}
.visual-wrap .down{ width:56px; height:56px; line-height:56px; border-radius:50%; position:absolute; z-index:2; left:50%; margin-left:-28px; bottom:0px; background-color:transparent; border:1px solid var(--n-line-strong);}
.visual-wrap .down:before{ content:"\f107"; width:100%; height:100%; position:absolute; left:0px; top:0px; font-family:FontAwesome; font-size:20px; text-align:center; line-height:inherit; color:var(--n-ivory);}
.visual-wrap .down:hover{ background:var(--primary-color-website); border-color:var(--primary-color-website); color:#fff;}

/* titolo pagina */

.title{ padding-top:40px; padding-bottom:40px; position:relative; text-align:center; overflow:hidden; background:var(--n-black); border-bottom:1px solid var(--n-line); overflow:hidden;}
.title .text{ text-align:center; position:relative; z-index:3;}
.title .text h1, .title .text h2{ color:var(--n-ivory); font-family:var(--n-serif); font-size:64px; line-height:70px; font-weight:500; position:relative; z-index:2;}
.title .text h1 strong, .title .text h2 strong{ font-weight:500; font-style:italic; color:var(--n-primary-light);}
.title .breadcrumb{ width:100%; float:left; min-height:18px; position:relative; text-align:left; z-index:3; text-transform:uppercase; letter-spacing:0.2em; margin-top:10px; 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:10px; line-height:18px; padding:0px; color:var(--n-muted);}
.title .breadcrumb a{ color:var(--n-muted); float:left; line-height:18px; position:relative;}
.title .breadcrumb a:hover{ color:var(--n-primary-light);}
.title .breadcrumb li:after{ content:"·"; color:var(--n-line-strong); margin:0 8px; display:inline-block; vertical-align:middle;}
.title .breadcrumb li:last-child:after{ display:none;}

/* blocchi generale */

.block{ padding:100px 0; position:relative; z-index:2;}
.block.gray{ background:var(--n-surface);}
.block.pt0{ padding-top:0px !important;}
.block.pb0{ padding-bottom:0px !important;}
.block h1, .block h2{ font-family:var(--n-serif); font-size:54px; line-height:62px; color:var(--n-ivory); margin-bottom:0px; font-weight:500;}
.block h1 strong, .block h2 strong{ font-weight:500; font-style:italic; color:var(--n-primary-light);}
.block h1.alternate, .block h2.alternate{ color:var(--n-ivory);}
.block h1:last-child, .block h2:last-child{ margin-bottom:0px;}
.block h3{ font-family:var(--n-sans); font-size:17px; line-height:31px; color:var(--n-text); margin-bottom:15px; text-transform:none; font-weight:300; letter-spacing:0.02em;}
.block h3 strong{ color:var(--n-ivory); font-weight:500;}
.block h3:last-child{ margin-bottom:0px;}
.block h4{ font-family:var(--n-serif); font-size:22px; line-height:30px; color:var(--n-ivory); margin-bottom:15px; text-transform:none; font-weight:500;}
.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:20px;}
.block li:last-child{ margin-bottom:0px;}
.block li:before{ content:"\f105"; font-family:FontAwesome; position:absolute; left:0px; font-size:15px; color:var(--n-primary-light);}
.block ul.check li:before{ content:"\f00c"; font-size:13px;}
.block h3 + a.readmore{ margin-top:20px;}
.block blockquote{ font-size:17px; line-height:30px; margin:0px; margin-bottom:10px; padding:0px; border:0px; font-weight:300;}

.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:20px;}
.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:35px;}
.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; outline:1px solid var(--n-line-strong); outline-offset:10px;}
.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:0px; position:relative; z-index:2; box-shadow:0 30px 60px rgba(0,0,0,0.5); outline:1px solid var(--n-line-strong); outline-offset:12px;}
.block.intro-page .menu-list{ margin-top:30px;}
.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:5px;}
.block.intro-page .menu-list ul li:before{ display:none;}
.block.intro-page .menu-list ul li a{ font-size:11px; height:auto; padding:12px 26px; display:block; line-height:20px; font-weight:500; letter-spacing:0.2em; text-transform:uppercase; border-radius:0px; background:transparent; border:1px solid var(--n-line-strong); vertical-align:top; color:var(--n-ivory);}
.block.intro-page .menu-list ul li a:hover, .block.menulink .wrap ul li a:focus{ background:var(--primary-color-website); border-color:var(--primary-color-website); color:#fff;}

.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:0px; position:relative; z-index:2; box-shadow:0 30px 60px rgba(0,0,0,0.5); outline:1px solid var(--n-line-strong); outline-offset:12px;}

/* cta about */

.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:0px; overflow:hidden; box-shadow:0 24px 48px rgba(0,0,0,0.5); outline:1px solid var(--n-line); outline-offset:8px;}

/* cta menu */

.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:0px; overflow:hidden; box-shadow:0 24px 48px rgba(0,0,0,0.5); outline:1px solid var(--n-line); outline-offset:8px;}

/* intro */

.block.intro{ padding-bottom:0px;}
.block.intro .row{ text-align:center;}
.block.intro hr.site{ margin:0 auto; margin-top:40px; max-width:80px; height:1px; background:var(--n-primary-light); border-radius:0px;}
.block.intro .text h2{ font-size:38px; line-height:48px;}

/* about */

.block.about .text{ text-align:center;}
.block.about .text h2{ font-size:38px; line-height:48px;}
.block.about .gallery{ margin-top:60px;}
.block.about .gallery .item img{ border-radius:0px; overflow:hidden; box-shadow:0 20px 40px rgba(0,0,0,0.45); outline:1px solid var(--n-line); outline-offset:6px;}

.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:38px; line-height:48px;}
.block.fidelity .item{ width:100%; background:var(--n-surface); border:1px solid var(--n-line); padding:40px; padding-top:60px; text-align:center; position:relative; border-radius:0px; margin-top:40px; margin-top:80px;}
.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%; display:flex; flex-wrap:nowrap; align-items:center; justify-content:center; white-space:nowrap; box-shadow:0 0 0 8px var(--n-bg);}
.block.fidelity .item .points .number{ font-family:var(--n-serif); font-size:26px; line-height:1; color:#fff; font-weight:600;}
.block.fidelity .item .points .name{ width:100%; float:left; font-size:10px; line-height:1; font-weight:500; letter-spacing:0.18em; white-space:nowrap; color:#fff; text-transform:uppercase;}
.block.fidelity .item .text h2{ font-size:30px; line-height:38px; font-weight:500; 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:60px;}
.block.gift .intro{ text-align:center;}
.block.gift .intro h2{ font-size:38px; line-height:48px;}
.block.gift .row.row-gifts{ justify-content:center;}
.block.gift .item{ width:100%; float:left; text-align:center; position:relative; border-radius:0px; margin-bottom:40px;}
.block.gift .item .gifts{ margin-bottom:40px; }
.block.gift .item .gifts img{ border-radius:0px; box-shadow:0 20px 40px rgba(0,0,0,0.45); outline:1px solid var(--n-line); outline-offset:6px;}
.block.gift .item .text h2{ font-size:30px; line-height:38px; font-weight:500; 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:50px 0; margin-bottom:40px 0; border-bottom:1px solid var(--n-line);}
.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:42px; line-height:52px; font-weight:500; font-style:italic;}
.block.menu .section .section-description{ text-align:center; margin-bottom:20px;}
.block.menu .section .section-description p{ font-size:18px; line-height:32px; color:var(--n-muted);}
.block.menu .section .section-subtitle{ text-align:center; margin-bottom:20px;}
.block.menu .section .section-subtitle h3{ font-family:var(--n-sans); font-weight:500; color:var(--n-primary-light); text-transform:uppercase; font-size:13px; letter-spacing:0.3em;}
.block.menu .section .section-description + .item{ margin-top:40px;}
.block.menu .section .item{ text-align:center; margin-bottom:25px;}
.block.menu .section .item .head{ margin-bottom:10px;}
.block.menu .section .item .head .name h4{ font-family:var(--n-serif); font-size:26px; line-height:34px; font-weight:500; color:var(--n-ivory);}
.block.menu .section .item .body .description{ padding:0 10%; margin-bottom:10px;}
.block.menu .section .item .body .description p{ color:var(--n-muted);}
.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(--n-serif); font-style:italic; font-size:22px; line-height:30px; color:var(--n-primary-light); font-weight:500; letter-spacing:0.04em;}

.block.menu + .block.cta{ padding-top:0px;}

/* testimonianze */

.block.testimonials .row + .row{ margin-top:30px;}
.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:25px; position:relative;}
.block.testimonials .item .text:before{ content:"\201C"; display:block; font-family:var(--n-serif); font-size:110px; line-height:0.4; margin-bottom:25px; padding-top:30px; color:var(--n-primary-light); opacity:0.6;}
.block.testimonials .item .text h2{ font-weight:500;}
.block.testimonials .item .text p{ font-family:var(--n-serif); font-style:italic; font-size:27px; line-height:44px; font-weight:500; color:var(--n-ivory);}
.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:13px; color:var(--n-line-strong);}
.block.testimonials .item .rating li.active{ background:none;}
.block.testimonials .item .rating li.active:before{ color:var(--n-primary-light);}
.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(--n-sans); font-size:12px; line-height:22px; font-weight:500; letter-spacing:0.3em; text-transform:uppercase; color:var(--n-muted); margin-top:10px;}

.block.testimonials .item{ padding:50px 0; border-bottom:1px solid var(--n-line);}
.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:80px;}
.block.blog .item:last-child{ margin-bottom:0px;}
.block.blog .item .image img{ border-radius:0px; position:relative; z-index:2; box-shadow:0 24px 48px rgba(0,0,0,0.5); outline:1px solid var(--n-line-strong); outline-offset:10px;}
.block.blog .item .text h2{ font-size:36px; line-height:46px;}

/* 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:0px; position:relative; z-index:2; box-shadow:0 24px 48px rgba(0,0,0,0.5); outline:1px solid var(--n-line-strong); outline-offset:10px;}
.block.post .item .text{}
.block.post .item .text h2{ font-size:36px; line-height:46px;}

.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:1px solid var(--n-line);}
.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:52px; height:52px; font-size:18px; line-height:50px; text-align:center; color:var(--n-primary-light); background:transparent; border:1px solid var(--n-line); border-radius:50%; margin:0px;}
.block.contacts-icon .item .icon span{ font-family:var(--n-sans); font-size:11px; font-weight:500; letter-spacing:0.28em; text-transform:uppercase; color:var(--n-muted); margin-left:14px;}
.block.contacts-icon .item .text .link{ font-family:var(--n-serif); font-size:26px; line-height:34px;}
.block.contacts-icon .item .text .link a{ color:var(--n-ivory); font-weight:500;}
.block.contacts-icon .item .text .link a:hover{ color:var(--n-primary-light);}
.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:transparent; border:1px solid var(--n-line-strong);}
.block.contacts-icon .item .text .social li a span.circle{width:36px;height:36px;float:left;color:var(--n-ivory);text-align:center; margin:0px;}
.block.contacts-icon .item .text .social li a span.circle i{font-size:14px;line-height:34px;vertical-align:top;}
.block.contacts-icon .item .text .social li.facebook a{background:transparent}
.block.contacts-icon .item .text .social li.instagram a{background:transparent}
.block.contacts-icon .item .text .social li.linkedin a{background:transparent}
.block.contacts-icon .item .text .social li.youtube a{background:transparent}
.block.contacts-icon .item .text .social li.vimeo a{background:transparent}
.block.contacts-icon .item .text .social li.tripadvisor a{background:transparent}
.block.contacts-icon .item .text .social li.tiktok a{background:transparent}
.block.contacts-icon .item .text .social li a:hover{ background:var(--primary-color-website); border-color:var(--primary-color-website);}

/* dove */

.block.where{}
.block.where .iframe-wrap{ width:100%; float:left;}
/* filtro dark-mode sulla mappa Google */
.block.where .iframe{ width:100%; height:550px; border-radius:0px; position:relative; z-index:2; outline:1px solid var(--n-line-strong); outline-offset:10px; filter:invert(90%) hue-rotate(180deg) grayscale(25%) brightness(0.95) contrast(0.9);}
.block.where .iframe .map-content{ padding:10px; text-align:center;}
.block.where .iframe .map-content h2{ font-family:var(--n-sans); font-size:17px; line-height:24px; color:#1a1a1a; font-weight:600; margin-bottom:5px;}
.block.where .iframe .map-content p{ font-family:var(--n-sans); font-size:15px; line-height:22px; font-weight:400; color:#333; 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:10px 0; display:flex; flex-wrap:nowrap; border-bottom:1px dotted var(--n-line-strong); position:relative;}
.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-size:11px; line-height:28px; letter-spacing:0.24em; text-transform:uppercase; color:var(--n-muted);}
.block.where .text .opening-time ul li .hours{ width:65%; font-weight:400; color:var(--n-ivory); letter-spacing:0.06em;}
.block.where .text .opening-time ul li.active{}
.block.where .text .opening-time ul li.active .day{ color:var(--n-primary-light);}
.block.where .text .opening-time ul li.active .hours{ color:var(--n-primary-light);}

/* cta — pannello avorio invertito */

.block.cta .box{ padding:80px 60px; border-radius:0px; text-align:center; outline:1px solid var(--n-line-strong); outline-offset:10px;}
.block.cta .box h1, .block.cta .box h2{ color:var(--n-ivory);}
.block.cta .box h1 strong, .block.cta .box h2 strong{ font-style:italic;}
.block.cta .box h3, .block.cta .box p, .block.cta .box li, .block.cta .box blockquote{ color:var(--n-ivory);}
.block.cta .box h3 strong, .block.cta .box p strong{}
.block.cta .box li:before{ color:var(--n-ivory);}
.block.cta .box .btn.btn-default{ background:transparent; border-color:#1d1611; color:#1d1611;}
.block.cta .box .btn.btn-default:hover, .block.cta .box .btn.btn-default:focus{ background:#1d1611; border-color:#1d1611; color:var(--n-ivory);}
.block.cta .box a:not(.btn){ color:var(--primary-color-website);}

/* contatti */

.block.contacts{ padding-top:0px; margin-top:40px;}
.block.contacts .box{ padding:60px 0; background:var(--n-surface); border-radius:0px; border:1px solid var(--n-line);}
.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:var(--n-surface);}
.block.contacts .form .form-group{ position:relative;}
.block.contacts .form .form-group > label{ position:absolute; top:0px; margin:0px; margin-top:-8px; background:var(--n-surface); padding:0 10px; left:12px; z-index:2;}
.block.contacts .form .form-group input, .block.contacts .form .form-group textarea{ background:var(--n-surface);}
.block.contacts .form .item{ margin-top:30px;}
.block.contacts .form .item .btn{ margin-top:20px; height:58px; padding:0 55px; font-size:13px; border-radius:0px;}

/* swiper navigation */

.swiper-prev, .swiper-next{ width:48px; height:48px; line-height:48px; position:absolute; top:50%; margin-top:-24px; background:transparent; color:var(--n-ivory); border:1px solid var(--n-line-strong); border-radius:50%; z-index:10; cursor:pointer; -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;}
.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(--primary-color-website); color:#fff;}


/* footer */

.footer{ width:100%; position:relative; z-index:2; display:inline-block; font-family:var(--n-sans); width:100%; float:left; background:var(--n-black); border-top:1px solid var(--n-line); border-bottom:4px solid var(--primary-color-website);}
.footer .footer-row{ text-align:center; position:relative; z-index:3; padding-top:70px; 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(--n-sans); font-size:11px; line-height:20px; color:var(--n-primary-light); font-weight:500; letter-spacing:0.3em; text-transform:uppercase; margin-bottom:15px;}
.footer .footer-row .widget p + h4{ margin-top:25px;}
.footer .footer-row .widget p, .footer .footer-row .widget li{ font-family:var(--n-sans); font-weight:300; font-size:15px; line-height:26px; margin-bottom:10px; color:var(--n-text);}
.footer .footer-row .widget p:last-child{ margin-bottom:0px;}
.footer .footer-row .widget p a{ color:var(--n-ivory);}
.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:var(--n-primary-light);}
.footer .footer-row .widget li a{ color:var(--n-text); font-weight:inherit;}
.footer .footer-row .widget li a:hover{ color:var(--n-ivory);}
.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:1px solid var(--n-line-strong);}
.footer .footer-row .social li a span.circle{width:40px;height:40px;float:left;color:var(--n-ivory);text-align:center;}
.footer .footer-row .social li a span.circle i{font-size:15px;line-height:38px;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(--primary-color-website); border-color:var(--primary-color-website);}

.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:12px; line-height:22px; color:var(--n-muted); font-weight:400; letter-spacing:0.04em;}
.footer .footer-extra .row p span{ margin:0 5px; color:var(--n-line-strong);}
.footer .footer-extra .row a{ color:var(--n-text); font-weight:inherit;}
.footer .footer-extra .row a:hover{ color:var(--n-ivory);}

/* 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:#000; z-index:99999;}
.modal{ z-index:999999;}
.modal .row + .row{ margin-top:30px;}
.modal .modal-content{ border-radius:0px; background:var(--n-surface); border:1px solid var(--n-line-strong); box-shadow:0 40px 100px rgba(0,0,0,0.6);}
.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:20px;}
.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(--n-primary-light);}
.modal .close{ width:40px; height:40px; position:absolute; top:0px; right:0px; opacity:1; z-index:9999; color:var(--n-ivory); text-shadow:none;}
.modal .close:before{ content:"\f00d"; font-family: 'FontAwesome'; width:100%; height:100%; position:absolute; left:0px; top:0px; font-size:18px; line-height:40px; text-align:center;}
.modal .image img{ border-radius:0px; position:relative; z-index:2; outline:1px solid var(--n-line-strong); outline-offset:6px;}
.modal .text h3{ font-family:var(--n-sans); font-size:11px; line-height:20px; color:var(--n-muted); font-weight:500; letter-spacing:0.28em; text-transform:uppercase; margin:0px;}
.modal .text h2{ font-family:var(--n-serif); font-size:36px; line-height:44px; color:var(--n-ivory); font-weight:500; margin:0px;}
.modal .text h2 strong{ font-weight:500; font-style:italic; color:var(--n-primary-light);}
.modal .text h3 + h2{ margin-top:8px;}
.modal .text p + .btn{ margin-top:20px;}

/* policy — le pagine legali restano chiare per leggibilità */

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:#1d1611; font-weight:600; margin:0px; margin-bottom:20px;}
body.body-policy .block.policy h2{ font-size:30px; line-height:1.1; color:#1d1611; font-weight:500; margin:0px; margin-bottom:20px;}
body.body-policy .block.policy h3{ font-size:26px; line-height:1.1; color:#1d1611; font-weight:500; margin:0px; margin-bottom:20px;}
body.body-policy .block.policy h4{ font-size:20px; line-height:1.1; color:#1d1611; font-weight:500; margin:0px; margin-bottom:20px;}
body.body-policy .block.policy p, body.body-policy .block.policy li{ font-size:16px; line-height:26px; color:#2c2620; margin:0px; margin-bottom:20px;}
body.body-policy .block.policy p strong, body.body-policy .block.policy li strong{ color:#1d1611; font-weight:700;}
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:#2c2620;}
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(--n-sans); width:25px; text-align:left; content:counter(counter) "."; font-weight:400; position:absolute; left:0px; font-size:16px; color:#2c2620; font-weight:700;}
body.body-policy .block.policy .text.text-disiscriviti{ text-align:center; padding:20px; background:#f3ece2; border-radius:0px;}
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-radius:50%; font-size:30px; line-height:60px; text-align:center; color:#fff; box-shadow:0 6px 20px rgba(0,0,0,0.4); z-index:200; animation: pulse 1.5s infinite;}
.whatsappfixed:hover, .whatsappfixed:focus{ background:var(--n-ivory); color:var(--n-black);}

@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:12px; margin:0 10px;}
	.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:11px;}
	p, li{ font-size:16px; line-height:28px;}

	.header .navbar-nav > li.homepage{ display:none;}
	.header .navbar-nav > li > a{ font-size:12px;}
	.header .navbar-nav > li.book > a{ font-size:11px;}

	.visual .text h1{ font-size:54px; line-height:60px;}
	.visual .text h2{ font-size:17px; line-height:30px;}
	.visual-wrap .down{ width:50px; height:50px; line-height:50px;}
	.visual-wrap .down:before{ font-size:18px;}

	.title .text h1, .title .text h2{ font-size:54px; line-height:60px;}

	.block h1, .block h2{ font-size:48px; line-height:56px;}
	.block h3{ font-size:16px; line-height:29px;}

	.block.intro-page .menu-list ul li a{ font-size:11px;}

	.block.intro .text h2{ font-size:34px; line-height:44px;}

	.block.contacts-icon .item .text .link{ font-size:24px; line-height:32px;}
	.block.contacts-icon .item .icon{ margin-bottom:12px;}

	.footer .footer-extra .row p{ font-size:12px; line-height:20px;}

	.block.gift .intro h2{ font-size:34px; line-height:44px;}

	.block blockquote{ font-size:16px; line-height:28px; 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:11px; margin:0 7px;}
	.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:11px; letter-spacing:0.16em;}
	.header .navbar-nav > li.book > a{ font-size:11px;}
	.header .navbar-nav > li.book{ margin-left:7px;}

	.visual{ padding:100px 0 140px 0;}
	.visual .text h1{ font-size:46px; line-height:52px;}
	.visual .text h2{ font-size:17px; line-height:29px;}
	.visual .image img{ outline-offset:10px;}

	.block{ padding:70px 0;}

	.title{ padding-top:50px;}
	.title .text h1, .title .text h2{ font-size:46px; line-height:52px;}

	.block h1, .block h2{ font-size:42px; line-height:50px;}
	.block h3{ font-size:16px; line-height:28px;}
	.block h4{ font-size:20px; line-height:28px;}

	.block.intro .text h2{ font-size:32px; line-height:40px;}

	.block.contacts-icon .item .text .link{ font-size:22px; line-height:30px;}

	.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:11px; line-height:18px;}

	.block.gift{ padding-bottom:20px;}
	.block.gift .intro h2{ font-size:32px; line-height:40px;}

	.whatsappfixed{ width:48px; height:48px; line-height:48px; right:15px; bottom:15px; font-size:26px;}


}

@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:10px; margin:0 4px;}
	.header .navbar-nav > li.book > a{ font-size:10px; 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:#000; padding:0px; float:none !important; clear: both; width: 100%; margin: 0 !important; position:absolute; left:0px; top:0px; box-shadow:0 30px 60px rgba(0,0,0,0.6); border-bottom:1px solid var(--n-line);}
	.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:1px solid var(--n-line);}
	.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:22px !important; font-size:12px; color:var(--n-ivory); text-align:center; padding:7px 0; border-left:0px !important; margin:0px; letter-spacing:0.22em;}
	.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(--n-primary-light);}
	.header .navbar-nav > li > a:hover{ color:var(--n-primary-light);}
	.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:12px;}

	.visual{ padding:60px 0; padding-bottom:0px;}
	.visual .image{ margin-bottom:50px;}
	.visual-wrap .down{ display:none;}

	.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:50px;}
	.block.cta-about .images{ margin-bottom:50px;}

	.block.cta-menu .row.flex [class*="col-"].pull-right{ order:0;}
	.block.cta-menu .images{ margin-bottom:50px;}

	.block.testimonials.home .item{ padding-left:80px; padding-right:80px;}

	.block.intro-page .image{ margin-bottom:50px;}

	.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:50px;}

	.block.contacts-icon .item{ padding-bottom:20px; margin-bottom:20px; border:0px; border-bottom:1px solid var(--n-line);}
	.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:50px;}
	.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:8px;}

	.visual .text h1{ font-size:38px; line-height:44px;}
	.visual .text h2{ font-size:16px; line-height:28px;}
	.visual .image img{ outline-offset:8px;}

	.block h1, .block h2{ font-size:36px; line-height:44px;}
	.block h3{ font-size:16px; line-height:28px;}
	.block h4{ font-size:19px; line-height:27px;}

	.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:20px; line-height:1.4;}
	.block.testimonials .item .text:before{ font-size:80px;}
	.block.testimonials.home .item{ padding-left:42px; padding-right:42px;}

	.block.cta .box{ padding:40px 30px;}

	.swiper-prev, .swiper-next{ width:32px; height:32px; line-height:32px;}
	.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:50px 0;}

	.visual{ padding-top:40px;}

	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:0px;}
	.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:30px; line-height:38px;}
	.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(--n-primary-light) solid 3px; outline-offset:4px;}
.modal .close:focus{ outline:var(--n-primary-light) solid 3px;}

a:focus{ outline:var(--n-primary-light) solid 3px; outline-offset:4px;}
.btn:focus{ outline:var(--n-primary-light) solid 3px !important; outline-offset:4px;}
.skip-link{ position: absolute; top: -40px; left: 20px; background:var(--primary-color-website); color: #fff; padding:5px 15px; z-index: 9999999; text-decoration: none; font-weight: bold; border-radius:0px; transition: top 0.3s ease;}
.skip-link:hover, .skip-link:focus{ background:var(--primary-color-website); color: #fff;}
.skip-link:focus{top: 20px;}

.languages-fixed ul li a:focus img{ outline:var(--n-primary-light) solid 3px; 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(--n-primary-light) solid 3px;}
