@charset "utf-8";

@import url('https://fonts.googleapis.com/css2?family=Alfa+Slab+One&family=Nunito:wght@400;600;700;800&family=Caveat:wght@600;700&display=swap');

:root{
	/* carta calda e inchiostro bruno */
	--o-ink:#33251d;
	--o-body:#5f5044;
	--o-paper:#fdf8ef;
	--o-paper:color-mix(in srgb, var(--primary-color-website) 3%, #fdf9f0);
	/* derivati dal colore primario */
	--o-tint:#f6e7e3;
	--o-tint:color-mix(in srgb, var(--primary-color-website) 10%, #fff);
	--o-tint-strong:#eccfc9;
	--o-tint-strong:color-mix(in srgb, var(--primary-color-website) 22%, #fff);
	--o-deep:#5c1a1a;
	--o-deep:color-mix(in srgb, var(--primary-color-website) 70%, #000);
	/* filetti */
	--o-line:#ecdfcd;
	--o-line-strong:#d9c8b0;
	/* raggi */
	--o-radius:30px;
	/* font */
	--o-display:'Alfa Slab One', 'Rockwell', serif;
	--o-sans:'Nunito', sans-serif;
	--o-hand:'Caveat', cursive;
}

html{ background:var(--o-paper);}
body{ font-size:16px; font-family:var(--o-sans) !important; color:var(--o-body); min-height:100vh; background:var(--o-paper);}
form{ margin:0px;}
body:before{ content:""; width:100%; height:100%; position:absolute; left:0px; top:0px; background:var(--o-paper);}
body:after{ content:none;}
.mfp-bg{ z-index:999999; background:rgba(51,37,29,0.82);}
.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(--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(--o-display); font-weight:400; color:var(--o-ink); letter-spacing:0.005em;}
/* firma tipografica: le parole in <strong> nei titoli in colore + onda */
h1 strong, h2 strong{ font-weight:400; color:var(--primary-color-website); text-decoration:underline wavy var(--o-tint-strong); text-decoration-thickness:3px; text-underline-offset:7px;}
a{ color:var(--primary-color-website); font-weight:700; -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(--o-deep);}
p, li{ color:var(--o-body); font-size:17px; line-height:29px; font-weight:600; letter-spacing:0.005em;}
p{ margin-bottom:10px;}
p strong{ font-weight:800; color:var(--o-ink);}
strong{ font-weight:800; color:var(--o-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:1px; margin:0px; border:0px; background:var(--o-line);}
input[type=text], input[type=email], input[type=password], input[type=search], input[type=file], input[type=tel], textarea{ font-family:var(--o-sans); height:54px; float:left; font-size:16px; font-weight:600; color:var(--o-ink); background:#fff; padding:10px 22px; border-radius:18px; -webkit-appearance: none; -moz-appearance: none; appearance: none; border:2px solid var(--o-line-strong);}
input[type=text]:focus, input[type=email]:focus, input[type=password]:focus, input[type=search]:focus, input[type=tel]:focus, textarea:focus{ outline:none; border-color:var(--primary-color-website);}
input::placeholder, textarea::placeholder{ color:#b3a794; opacity:1;}
input[type=file]{ width:100%; height:auto; padding:12px 22px; font-size:14px;}
select{ width:100%; padding:10px 22px; background:#fff; border:2px solid var(--o-line-strong); border-radius:18px; color:var(--o-ink); -webkit-appearance:none;}
textarea{ height:110px; padding:16px 22px; -webkit-appearance: none; -moz-appearance: none; appearance: none;}
.form-group > label{ font-size:13px; text-align:left; font-weight:800; letter-spacing:0.06em; text-transform:uppercase; color:var(--o-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:18px; font-size:15px; background:#fff;}
.chosen-container-single .chosen-single{ height:52px; line-height:52px; padding-left:22px; background:#fff; color:var(--o-ink); border:2px solid var(--o-line-strong); border-radius:18px; box-shadow:none;}
.chosen-container-single .chosen-single span{ font-size:15px; font-weight:600; margin-right:35px;}
.chosen-container .chosen-drop{ border-radius:18px; background:#fff; border:2px solid var(--o-line-strong);}
.chosen-container .chosen-results{ border-radius:0px; padding:10px;}
.chosen-container .chosen-results li{ font-size:15px; line-height:30px; border-radius:10px; color:var(--o-ink);}
.chosen-container .chosen-results li:hover{ background:var(--primary-color-website); color:#fff; border-radius:10px;}
.chosen-container-single .chosen-single div:after{ line-height:48px; font-size:20px; color:var(--o-ink);}
.widget .chosen-single{ font-weight:600; background:#fff;}
.widget .chosen-drop{ background:#fff;}
input[type="submit"].btn{ height:54px;}
.form-group{ margin-bottom:26px;}
.preloader{ position: fixed; left: 0; top: 0; opacity: 1; z-index: 99999; width: 100%; height: 100%; background:var(--o-paper); z-index:99999999;}
.preloader:after{ content:""; width:50px; height:50px; position:absolute; left:50%; top:50%; margin:-25px 0 0 -25px; border:4px solid var(--o-tint-strong); border-top-color:var(--primary-color-website); border-radius:50%; animation:o5spin .8s linear infinite;}
@keyframes o5spin{ to{ transform:rotate(360deg);}}
@keyframes o5bounce{ 0%,100%{ transform:translateY(0);} 50%{ transform:translateY(8px);}}
/* il blob dell'hero respira lentamente */
@keyframes o5blob{
	0%,100%{ border-radius:58% 42% 51% 49% / 47% 58% 42% 53%;}
	33%{ border-radius:46% 54% 43% 57% / 57% 44% 56% 43%;}
	66%{ border-radius:53% 47% 58% 42% / 43% 52% 48% 57%;}
}
/* bottoni "caramella": spessore 3D, si schiacciano al click */
.btn{ font-family:var(--o-sans); font-size:16px; height:auto; padding:13px 34px; line-height:26px; font-weight:800; letter-spacing:0.01em; text-transform:none; border-radius:999px; transition:transform .12s ease-out, box-shadow .12s ease-out, background .25s, color .25s, border-color .25s;}
.btn.btn-small{ font-size:14px; line-height:22px; padding:7px 20px;}
.btn.btn-input{ height:54px;}
.btn.btn-default{ background:#fff; border:2px solid var(--primary-color-website); color:var(--primary-color-website); vertical-align:top; box-shadow:0 5px 0 var(--o-tint-strong);}
.btn.btn-default:hover, .btn.btn-default:focus{ background:#fff; border-color:var(--o-deep); color:var(--o-deep); transform:translateY(3px); box-shadow:0 2px 0 var(--o-tint-strong);}
.btn.btn-primary{ background:var(--primary-color-website); border:2px solid var(--primary-color-website); color:#fff; vertical-align:top; box-shadow:0 5px 0 var(--o-deep);}
.btn.btn-primary:hover, .btn.btn-primary:focus{ background:var(--primary-color-website); border-color:var(--primary-color-website); color:#fff; transform:translateY(3px); box-shadow:0 2px 0 var(--o-deep);}
.btn:active{ transform:translateY(5px); box-shadow:0 0 0 var(--o-deep) !important;}
a.readmore{ font-family:var(--o-sans); display:inline-block; font-size:16px; line-height:26px; position:relative; font-weight:800; text-transform:none; color:var(--primary-color-website);}
a.readmore:before{ content:""; width:100%; height:3px; position:absolute; right:0px; bottom:-3px; background:var(--o-tint-strong); 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;}
a.readmore:after{ content:"\f105"; font-family:FontAwesome; width:auto; height:auto; position:absolute; right:-17px; top:0px; font-size:16px; line-height:26px; background:none;}
a.readmore:hover{ color:var(--o-deep);}
a.readmore:hover:before{ background:var(--primary-color-website);}
a.readmore.backpage{ margin-left:30px;}
a.readmore.backpage:after{ content:"\f104"; left:-17px; 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:600; color:var(--o-body); vertical-align:top;}
.check label:before{ width:24px; height:24px; left:0px; background:#fff; border:2px solid var(--o-line-strong); content:""; position:absolute; margin-right:10px; cursor:pointer; border-radius:8px;}
.check input[type=checkbox]:checked + label:before { font-family:FontAwesome; content:"\f004"; text-align: center; line-height:20px; font-size:11px; color:#fff; background:var(--primary-color-website); border-color:var(--primary-color-website);}
.check label span{ display:inline-block; padding-left:34px; font-size:14px; text-align:left; color:var(--o-body); font-weight:600; line-height:24px; float:left;}
.check label span a{ font-weight:800;}
.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-radius:50%; box-shadow:0 4px 0 var(--o-deep); z-index:100;}
.navbar-toggle i{ text-indent:0; overflow:visible; width:auto; height:auto; background:none; font-size:19px; line-height:52px; color:#fff;}
.navbar-toggle span{ font-size:19px; line-height:52px; color:#fff;}
.navbar-toggle:hover{ background:var(--o-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(--o-line-strong); color:var(--o-ink); font-weight:800; margin:0 3px; border-radius:14px !important;}
.pagination li a:hover, .pagination li a:focus{ color:#fff; background:var(--primary-color-website); border-color:var(--primary-color-website);}
ul.pagination .prev, ul.pagination .next{ color:var(--o-ink); border-color:var(--o-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:#fff; border-color:var(--primary-color-website); 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:var(--o-line); color:var(--o-line); 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:12px 10px; background:#fff; border:2px solid var(--o-line-strong); border-right:0px; border-top-left-radius:20px; border-bottom-left-radius:20px;}
.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 — la tenda da sole del locale, con festoni */

.topbar{ width:100%; float:left; padding:10px 0 8px 0; background:var(--primary-color-website); position:relative; z-index:5;}
.topbar:after{ content:""; width:100%; height:12px; position:absolute; left:0px; bottom:-12px; z-index:6; background-image:radial-gradient(circle at 50% 0%, var(--primary-color-website) 12px, transparent 13px); background-size:28px 12px; background-repeat:repeat-x; pointer-events:none;}
.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:14px; color:rgba(255,255,255,0.92); line-height:24px; font-weight:700;}
.topbar .text span{ margin:0 8px; color:rgba(255,255,255,0.4);}
.topbar .text a{ font-weight:800; color:#fff;}
.topbar .text a:hover, .topbar .text a:focus{ color:#fff; text-decoration:underline wavy rgba(255,255,255,0.7); text-decoration-thickness:2px; text-underline-offset:4px;}
.topbar .text strong{ color:rgba(255,255,255,0.75); font-weight:800;}
.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.22);}
.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.22)}
.topbar .social li.instagram a{background:rgba(255,255,255,0.22)}
.topbar .social li.linkedin a{background:rgba(255,255,255,0.22)}
.topbar .social li.youtube a{background:rgba(255,255,255,0.22)}
.topbar .social li.vimeo a{background:rgba(255,255,255,0.22)}
.topbar .social li.tripadvisor a{background:rgba(255,255,255,0.22)}
.topbar .social li.tiktok a{background:rgba(255,255,255,0.22)}
.topbar .social li a:hover{ background:var(--o-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: ci sono i festoni della tenda */
.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(--o-sans); background:none;}
.header a.navbar-brand{ float:left; font-size:0px; line-height:106px; padding:0 40px; padding-left:0px;}
.header a.navbar-brand img{ max-width:225px; max-height:65px; margin:0px;}
.header .navbar-collapse{ margin-top:28px; float:right; margin-right:0px !important;}
.header .navbar-nav > li{ position:relative;}
.header .navbar-nav > li > a{ font-family:var(--o-sans); font-size:17px; color:var(--o-ink); font-weight:800; letter-spacing:0.01em; text-transform:none; 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;}
/* sottolineatura a puntini che cresce */
.header .navbar-nav > li > a span:before, .header .navbar-nav > li.active > a span:before { content: ""; width:0px; height:0px; position:absolute; right:0px; bottom:6px; border-bottom:4px dotted 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; }
.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:16px; padding:13px 30px; margin:0px; background:var(--primary-color-website); border:2px solid var(--primary-color-website); border-radius:999px; box-shadow:0 4px 0 var(--o-deep); transition:transform .12s ease-out, box-shadow .12s ease-out, background .25s;}
.header .navbar-nav > li.book > a:hover{ background:var(--primary-color-website); border-color:var(--primary-color-website); color:#fff; transform:translateY(3px); box-shadow:0 1px 0 var(--o-deep);}

.sticky-wrapper.is-sticky .header{ background:var(--o-paper); background:rgba(255,255,255,0.75); -webkit-backdrop-filter:blur(8px); backdrop-filter:blur(8px); box-shadow:0px 0px 20px rgba(0,0,0,0.1)}
.sticky-wrapper.is-sticky .header a.navbar-brand img{ max-height:65px;}
.sticky-wrapper.is-sticky .header .navbar-collapse{ margin-top:28px;}

.wrapper{ overflow:unset;}
.content{ width:100%; float:left; overflow:hidden; background:var(--o-paper);}
.content .row + .row{ margin-top:60px;}

/* visual home page — blob morbido che respira */

.visual-wrap{ width:100%; position:relative; overflow:hidden;}
.visual{ width:100%; height:auto; position:relative; padding:105px 0 165px 0; background-repeat:no-repeat; background-position:center center; background-size:cover;}
/* macchia di tinta dietro il blob */
.visual:after{ content:""; width:100%; height:100%; position:absolute; left:0px; top:0px; z-index:1; background:radial-gradient(ellipse 44% 58% at 76% 46%, var(--o-tint), 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(--o-ink); font-family:var(--o-display); font-size:54px; line-height:1.2; font-weight:400; position:relative; z-index:2; margin-bottom:26px;}
.visual .text h1 strong{ font-weight:400; color:var(--primary-color-website); text-decoration:underline wavy var(--o-tint-strong); text-decoration-thickness:4px; text-underline-offset:9px;}
.visual .text h2{ font-family:var(--o-sans); font-size:19px; line-height:32px; color:var(--o-body); font-weight:600; position:relative; z-index:2; margin-bottom:36px; text-transform:none;}
.visual .text h2 strong{ font-weight:800; color:var(--o-ink);}
.visual .text p, .visual .text blockquote{ font-size:18px; line-height:31px; color:var(--o-body); position:relative; z-index:2; margin-bottom:20px;}
.visual .text blockquote{ padding:0px; border:0px; margin:0px; margin-bottom:20px; font-weight:600;}
.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:24px;}
.visual .text ul li:last-child{ margin-bottom:0px;}
.visual .text ul li:before{ content:"\f004"; font-family:FontAwesome; position:absolute; left:0px; font-size:12px; top:2px; color:var(--primary-color-website);}
.visual .image{ position:relative;}
/* LA FIRMA: blob con cornice bianca che si deforma piano */
.visual .image img{ width:100%; aspect-ratio:1.05/1; object-fit:cover; position:relative; z-index:2; border:9px solid #fff; border-radius:58% 42% 51% 49% / 47% 58% 42% 53%; box-shadow:0 30px 60px -22px rgba(92,50,30,0.45); animation:o5blob 16s ease-in-out infinite;}
.visual-wrap .swiper-prev{ left:40px; background:#fff; border:2px solid var(--o-line-strong); color:var(--o-ink);}
.visual-wrap .swiper-next{ right:40px; background:#fff; border:2px solid var(--o-line-strong); color:var(--o-ink);}
.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:58px; height:58px; line-height:54px; border-radius:50%; position:absolute; z-index:2; left:50%; margin-left:-29px; bottom:0px; background-color:var(--primary-color-website); border:2px solid var(--primary-color-website); box-shadow:0 4px 0 var(--o-deep); animation:o5bounce 2.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(--o-deep); border-color:var(--o-deep); animation-play-state:paused;}

/* titolo pagina */

.title{ padding-top:40px; padding-bottom:40px; position:relative; text-align:center; overflow:hidden; background:var(--o-tint);}
.title:after{ content:""; width:100%; height:12px; position:absolute; left:0px; bottom:0px; z-index:3; background-image:radial-gradient(circle at 50% 100%, var(--o-paper) 12px, transparent 13px); background-size:28px 12px; background-repeat:repeat-x; pointer-events:none;}
.title .text{ text-align:center; position:relative; z-index:3;}
.title .text h1, .title .text h2{ color:var(--o-ink); font-family:var(--o-display); font-size:56px; line-height:1.15; font-weight:400; position:relative; z-index:2;}
.title .text h1 strong, .title .text h2 strong{ font-weight:400; color:var(--primary-color-website); text-decoration:underline wavy rgba(255,255,255,0.9); text-decoration-thickness:4px; text-underline-offset:9px;}
.title .breadcrumb{ width:100%; float:left; min-height:18px; position:relative; text-align:left; z-index:3; text-transform:none; letter-spacing:0.01em; 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:13px; line-height:18px; padding:0px; color:var(--o-body); font-weight:700;}
.title .breadcrumb a{ color:var(--o-body); float:left; line-height:18px; position:relative;}
.title .breadcrumb a:hover{ color:var(--primary-color-website);}
.title .breadcrumb li:after{ content:"~"; color:var(--o-body); margin:0 8px; display:inline-block; vertical-align:middle;}
.title .breadcrumb li:last-child:after{ display:none;}

/* blocchi generale */

.block{ padding:95px 0; position:relative; z-index:2;}
.block.gray{ background:var(--o-tint);}
.block.pt0{ padding-top:0px !important;}
.block.pb0{ padding-bottom:0px !important;}
.block h1, .block h2{ font-family:var(--o-display); font-size:42px; line-height:1.25; color:var(--o-ink); margin-bottom:0px; font-weight:400;}
.block h1 strong, .block h2 strong{ font-weight:400; color:var(--primary-color-website); text-decoration:underline wavy var(--o-tint-strong); text-decoration-thickness:3px; text-underline-offset:8px;}
.block h1.alternate, .block h2.alternate{ color:var(--o-ink);}
.block h1:last-child, .block h2:last-child{ margin-bottom:0px;}
.block h3{ font-family:var(--o-sans); font-size:18px; line-height:31px; color:var(--o-body); margin-bottom:15px; text-transform:none; font-weight:600;}
.block h3 strong{ color:var(--o-ink); font-weight:800;}
.block h3:last-child{ margin-bottom:0px;}
.block h4{ font-family:var(--o-sans); font-size:20px; line-height:29px; color:var(--o-ink); margin-bottom:15px; text-transform:none; font-weight:800;}
.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:24px;}
.block li:last-child{ margin-bottom:0px;}
.block li:before{ content:"\f004"; font-family:FontAwesome; position:absolute; left:0px; top:2px; font-size:12px; color:var(--primary-color-website);}
.block ul.check li:before{ content:"\f00c"; font-size:12px; top:0px;}
.block h3 + a.readmore{ margin-top:22px;}
.block blockquote{ font-size:17px; line-height:30px; margin:0px; margin-bottom:10px; padding:0px; border:0px; font-weight:600;}

.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:12px;}
.block.presentation p + .btn{ margin-top:24px;}
.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:8px solid #fff; border-radius:var(--o-radius); overflow:hidden; box-shadow:0 24px 48px -20px rgba(92,50,30,0.4);}
.block.presentation .video-wrap .image video{ width:100%; height:100%; position:absolute; top:0; left:0;}

/* intro pagina */

.block.intro-page{ position:relative;}
.block.intro-page .image img{ border:9px solid #fff; border-radius:var(--o-radius); position:relative; z-index:2; box-shadow:0 30px 60px -22px rgba(92,50,30,0.45); transition:transform .3s ease;}
.block.intro-page .image:hover img{ transform:rotate(-1.5deg) scale(1.01);}
.block.intro-page .menu-list{ margin-top:26px;}
.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(--o-sans); font-size:15px; height:auto; padding:10px 26px; display:block; line-height:24px; font-weight:800; text-transform:none; border-radius:999px; background:#fff; border:2px solid var(--primary-color-website); box-shadow:0 4px 0 var(--o-tint-strong); vertical-align:top; color:var(--primary-color-website); transition:transform .12s ease-out, box-shadow .12s 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(--primary-color-website); color:#fff; transform:translateY(3px); box-shadow:0 1px 0 var(--o-tint-strong);}

.block.intro-page + .block.menu{ padding-top:0px;}
.block.intro-page + .block.cta{ padding-top:0px;}

/* cta coupon — cartolina con cornice bianca */

.block.cta-coupon{ position:relative;}
.block.cta-coupon .image img{ border:9px solid #fff; border-radius:var(--o-radius); position:relative; z-index:2; box-shadow:0 30px 60px -22px rgba(92,50,30,0.45); transform:rotate(-1.5deg); transition:transform .3s ease;}
.block.cta-coupon .image:hover img{ transform:rotate(0deg);}

/* cta about — collage: tondo + blob + cartolina */

.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; overflow:hidden; border:7px solid #fff; box-shadow:0 22px 44px -20px rgba(92,50,30,0.42); transition:transform .3s ease;}
.block.cta-about .images .image1 img{ border-radius:var(--o-radius);}
.block.cta-about .images .image2 img{ aspect-ratio:1/1; object-fit:cover; border-radius:50%;}
.block.cta-about .images .image3 img{ aspect-ratio:1/1; object-fit:cover; border-radius:56% 44% 52% 48% / 46% 56% 44% 54%;}
.block.cta-about .images .image1:hover img, .block.cta-about .images .image2:hover img, .block.cta-about .images .image3:hover img{ transform:scale(1.03);}

/* cta menu — collage: cartolina + tondo + blob */

.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; overflow:hidden; border:7px solid #fff; box-shadow:0 22px 44px -20px rgba(92,50,30,0.42); transition:transform .3s ease;}
.block.cta-menu .images .image1 img{ border-radius:var(--o-radius);}
.block.cta-menu .images .image2 img{ aspect-ratio:1/1; object-fit:cover; border-radius:50%;}
.block.cta-menu .images .image3 img{ aspect-ratio:1/1; object-fit:cover; border-radius:47% 53% 44% 56% / 55% 46% 54% 45%;}
.block.cta-menu .images .image1:hover img, .block.cta-menu .images .image2:hover img, .block.cta-menu .images .image3:hover img{ transform:scale(1.03);}

/* intro — bandierina tricolore? no: onda di tinta */

.block.intro{ padding-bottom:0px;}
.block.intro .row{ text-align:center;}
.block.intro hr.site{ margin:0 auto; margin-top:40px; max-width:120px; height:8px; background:radial-gradient(circle at 8px 4px, var(--primary-color-website) 4px, transparent 5px); background-size:24px 8px; background-repeat:repeat-x; border-radius:0px;}
.block.intro .text h2{ font-size:32px; line-height:1.3;}

/* about — album di famiglia */

.block.about .text{ text-align:center;}
.block.about .text h2{ font-size:32px; line-height:1.3;}
.block.about .gallery{ margin-top:60px;}
.block.about .gallery .item img{ border:7px solid #fff; border-radius:var(--o-radius); overflow:hidden; box-shadow:0 18px 36px -18px rgba(92,50,30,0.4); transition:transform .3s ease;}
.block.about .gallery .item:nth-child(odd) img{ transform:rotate(-1.2deg);}
.block.about .gallery .item:nth-child(even) img{ transform:rotate(1.2deg);}
.block.about .gallery .item:hover img{ transform:rotate(0deg) scale(1.02);}

.block.about + .block.cta{ padding-top:0px;}

/* fidelity — card con badge a timbro */

.block.fidelity .row + .row{ margin-top:0px;}
.block.fidelity .intro{ text-align:center;}
.block.fidelity .intro h2{ font-size:32px; line-height:1.3;}
.block.fidelity .item{ width:100%; background:#fff; border:2px solid var(--o-line); padding:40px; padding-top:62px; text-align:center; position:relative; border-radius:var(--o-radius); margin-top:40px; margin-top:85px; box-shadow:0 22px 44px -26px rgba(92,50,30,0.35);}
.block.fidelity .item .points{ width:88px; height:88px; background:var(--primary-color-website); position:absolute; top:0px; left:50%; margin-left:-44px; margin-top:-44px; border-radius:50%; border:3px dashed rgba(255,255,255,0.8); box-shadow:0 0 0 5px var(--o-paper), 0 0 0 7px var(--primary-color-website); display:flex; flex-wrap:nowrap; align-items:center; justify-content:center; white-space:nowrap; transform:rotate(-8deg);}
.block.fidelity .item .points .number{ font-family:var(--o-display); font-size:26px; line-height:1; color:#fff; font-weight:400;}
.block.fidelity .item .points .name{ width:100%; float:left; font-size:10px; line-height:1; font-weight:800; letter-spacing:0.08em; white-space:nowrap; color:rgba(255,255,255,0.9); text-transform:uppercase;}
.block.fidelity .item .text h2{ font-size:26px; line-height:1.3; font-weight:400; margin:0px; margin-bottom:8px;}
.block.fidelity .item .text h2 + p{ margin-top:0px;}

.block.fidelity + .block.cta{ padding-top:0px;}

/* gift card */

.block.gift{ padding-bottom:55px;}
.block.gift .intro{ text-align:center;}
.block.gift .intro h2{ font-size:32px; line-height:1.3;}
.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:36px;}
.block.gift .item .gifts img{ border:7px solid #fff; border-radius:var(--o-radius); box-shadow:0 18px 36px -18px rgba(92,50,30,0.4); transform:rotate(-1.5deg); transition:transform .3s ease;}
.block.gift .item .gifts:hover img{ transform:rotate(0deg);}
.block.gift .item .text h2{ font-size:26px; line-height:1.3; font-weight:400; margin:0px; margin-bottom:8px;}
.block.gift .item .text h2 + p{ margin-top:0px;}
.block.gift .item .link{ margin-top:20px;}
.block.gift + .block.cta{ padding-top:0px;}

/* menu — la carta del locale, con firma a mano */

.block.menu .section{ padding:50px 0; margin-bottom:40px 0; border-bottom:3px dotted var(--o-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:34px; line-height:1.25; font-weight:400;}
.block.menu .section .section-description{ text-align:center; margin-bottom:20px;}
.block.menu .section .section-description p{ font-size:18px; line-height:31px; color:var(--o-body);}
.block.menu .section .section-subtitle{ text-align:center; margin-bottom:20px;}
/* i sottotitoli della carta sono scritti a mano */
.block.menu .section .section-subtitle h3{ font-family:var(--o-hand); font-weight:700; color:var(--primary-color-website); text-transform:none; font-size:30px; line-height:1.2; letter-spacing:0.01em;}
.block.menu .section .section-description + .item{ margin-top:42px;}
.block.menu .section .item{ text-align:center; margin-bottom:28px;}
.block.menu .section .item .head{ margin-bottom:6px;}
.block.menu .section .item .head .name h4{ font-family:var(--o-sans); font-size:21px; line-height:30px; font-weight:800; color:var(--o-ink);}
.block.menu .section .item .body .description{ padding:0 10%; margin-bottom:12px;}
.block.menu .section .item .body .description p{ color:var(--o-body); font-size:16px; line-height:28px;}
.block.menu .section .item .body .description ul li{ padding-left:0px;}
.block.menu .section .item .body .description ul li:before{ display:none;}
/* il prezzo è un'etichetta */
.block.menu .section .item .body .total{ font-family:var(--o-sans); display:inline-block; font-size:17px; line-height:24px; color:#fff; font-weight:800; background:var(--primary-color-website); border-radius:999px; padding:5px 22px; box-shadow:0 3px 0 var(--o-deep);}

.block.menu + .block.cta{ padding-top:0px;}

/* testimonianze — recensioni scritte a mano, cuoricini, festoni */

.block.testimonials{ background:var(--o-tint); position:relative;}
.block.testimonials:before{ content:""; width:100%; height:12px; position:absolute; left:0px; top:0px; z-index:3; background-image:radial-gradient(circle at 50% 0%, var(--o-paper) 12px, transparent 13px); background-size:28px 12px; background-repeat:repeat-x; pointer-events:none;}
.block.testimonials:after{ content:""; width:100%; height:12px; position:absolute; left:0px; bottom:0px; z-index:3; background-image:radial-gradient(circle at 50% 100%, var(--o-paper) 12px, transparent 13px); background-size:28px 12px; background-repeat:repeat-x; pointer-events:none;}
.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:820px; display:inline-block; margin-bottom:20px; position:relative;}
.block.testimonials .item .text:before{ content:"\201C"; display:block; font-family:var(--o-display); font-size:90px; line-height:0.4; margin-bottom:18px; padding-top:28px; color:var(--primary-color-website); opacity:0.5;}
.block.testimonials .item .text h2{ font-weight:400;}
/* la recensione è scritta a mano, come sul libro degli ospiti */
.block.testimonials .item .text p{ font-family:var(--o-hand); font-size:32px; line-height:1.4; font-weight:600; color:var(--o-ink); letter-spacing:0.005em;}
.block.testimonials .item .text p + h2{ margin-top:20px;}
.block.testimonials .item .rating{ width:100%; float:left; margin-bottom:6px;}
.block.testimonials .item .rating ul{ margin:0px; padding:0px;}
/* rating a cuoricini */
.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:"\f004"; font-family:FontAwesome; position:static; font-size:16px; color:var(--o-tint-strong);}
.block.testimonials .item .rating li.active{ background:none;}
.block.testimonials .item .rating li.active:before{ color:var(--primary-color-website);}
.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(--o-sans); font-size:15px; line-height:24px; font-weight:800; letter-spacing:0.06em; text-transform:uppercase; color:var(--o-body); margin-top:8px;}
.block.testimonials .swiper-prev, .block.testimonials .swiper-next{ background:#fff; border-color:#fff; color:var(--o-ink);}
.block.testimonials .swiper-prev:hover, .block.testimonials .swiper-next:hover{ background:var(--primary-color-website); border-color:var(--primary-color-website); color:#fff;}

.block.testimonials .item{ padding:45px 0; border-bottom:3px dotted var(--o-tint-strong);}
.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:9px solid #fff; border-radius:var(--o-radius); position:relative; z-index:2; box-shadow:0 26px 52px -22px rgba(92,50,30,0.42); transform:rotate(-1deg); transition:transform .3s ease;}
.block.blog .item .image:hover img{ transform:rotate(0deg);}
.block.blog .item .text h2{ font-size:32px; line-height:1.3;}

/* post */

.block.post .item{ width:100%; max-width:700px; margin:0 auto;}
.block.post .item .image{ margin-bottom:55px;}
.block.post .item .image img{ border:9px solid #fff; border-radius:var(--o-radius); position:relative; z-index:2; box-shadow:0 26px 52px -22px rgba(92,50,30,0.42);}
.block.post .item .text{}
.block.post .item .text h2{ font-size:32px; line-height:1.3;}

.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:3px dotted var(--o-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:56px; text-align:center; color:#fff; background:var(--primary-color-website); border:0px; border-radius:50%; margin:0px; box-shadow:0 4px 0 var(--o-deep);}
.block.contacts-icon .item .icon span{ font-family:var(--o-hand); font-size:28px; font-weight:700; letter-spacing:0.01em; text-transform:none; color:var(--o-ink); margin-left:14px;}
.block.contacts-icon .item .text .link{ font-family:var(--o-sans); font-size:22px; line-height:31px; font-weight:800;}
.block.contacts-icon .item .text .link a{ color:var(--o-ink); font-weight:800;}
.block.contacts-icon .item .text .link a:hover{ color:var(--primary-color-website); text-decoration:underline wavy var(--o-tint-strong); text-decoration-thickness:3px; text-underline-offset:6px;}
.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:0px; box-shadow:0 3px 0 var(--o-deep);}
.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(--o-ink);}

/* dove — mappa in cornice bianca, orari da lavagnetta */

.block.where{}
.block.where .iframe-wrap{ width:100%; float:left;}
.block.where .iframe{ width:100%; height:550px; border:9px solid #fff; border-radius:var(--o-radius); position:relative; z-index:2; box-shadow:0 26px 52px -24px rgba(92,50,30,0.4); overflow:hidden;}
.block.where .iframe .map-content{ padding:10px; text-align:center;}
.block.where .iframe .map-content h2{ font-family:var(--o-sans); font-size:18px; line-height:25px; color:var(--primary-color-website); font-weight:800; margin-bottom:5px;}
.block.where .iframe .map-content p{ font-family:var(--o-sans); font-size:15px; line-height:22px; font-weight:600; color:var(--o-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:24px;}
.block.where .text .opening-time ul li{ padding:9px 14px; display:flex; flex-wrap:nowrap; border-bottom:3px dotted var(--o-tint-strong); position:relative; border-radius:14px;}
.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(--o-sans); font-size:15px; line-height:28px; text-transform:none; color:var(--o-ink); font-weight:800;}
.block.where .text .opening-time ul li .hours{ width:65%; font-weight:600; color:var(--o-body);}
/* il giorno corrente è cerchiato come sul calendario del locale */
.block.where .text .opening-time ul li.active{ background:var(--o-tint); border-bottom-color:transparent; outline:2px dashed var(--primary-color-website); 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 .day:before{ content:"\f004"; font-family:FontAwesome; font-size:11px; margin-right:7px; color:var(--primary-color-website);}
.block.where .text .opening-time ul li.active .hours{ color:var(--o-ink); font-weight:800;}

/* cta — insegna piena colore con festoni interni */

.block.cta .box{ padding:70px 60px; background:var(--primary-color-website); border-radius:34px; text-align:center; position:relative; box-shadow:0 8px 0 var(--o-deep);}
.block.cta .box h1, .block.cta .box h2{ color:#fff;}
.block.cta .box h1 strong, .block.cta .box h2 strong{ color:#fff; text-decoration:underline wavy rgba(255,255,255,0.6); text-decoration-thickness:3px; text-underline-offset:8px;}
.block.cta .box h3, .block.cta .box p, .block.cta .box li, .block.cta .box blockquote{ color:rgba(255,255,255,0.92);}
.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; text-underline-offset:4px;}
.block.cta .box .btn.btn-primary{ background:#fff; border-color:#fff; color:var(--primary-color-website); box-shadow:0 5px 0 rgba(0,0,0,0.3);}
.block.cta .box .btn.btn-primary:hover, .block.cta .box .btn.btn-primary:focus{ background:#fff; color:var(--o-deep); transform:translateY(3px); box-shadow:0 2px 0 rgba(0,0,0,0.3);}
.block.cta .box .btn.btn-default{ background:transparent; border-color:#fff; color:#fff; box-shadow:0 5px 0 rgba(0,0,0,0.3);}
.block.cta .box .btn.btn-default:hover, .block.cta .box .btn.btn-default:focus{ background:#fff; border-color:#fff; color:var(--primary-color-website); transform:translateY(3px); box-shadow:0 2px 0 rgba(0,0,0,0.3);}

/* contatti */

.block.contacts{ padding-top:0px; margin-top:40px;}
.block.contacts .box{ padding:60px 0; background:#fff; border:2px solid var(--o-line); border-radius:34px; box-shadow:0 26px 52px -30px rgba(92,50,30,0.4);}
.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:-11px; background:#fff; padding:0 10px; left:16px; z-index:2; border-radius:8px;}
.block.contacts .form .form-group input, .block.contacts .form .form-group textarea{ background:#fff;}
.block.contacts .form .item{ margin-top:32px;}
.block.contacts .form .item .btn{ margin-top:20px; height:58px; padding:0 55px; font-size:18px; 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(--o-ink); border:2px solid var(--o-line-strong); border-radius:50%; z-index:10; cursor:pointer; box-shadow:0 3px 0 var(--o-line-strong); -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(--primary-color-website); color:#fff; transform:translateY(2px); box-shadow:0 1px 0 var(--o-deep);}


/* footer — l'insegna del locale, con festoni in alto */

.footer{ width:100%; position:relative; z-index:2; display:inline-block; font-family:var(--o-sans); width:100%; float:left; background:var(--primary-color-website); margin-top:14px;}
.footer:before{ content:""; width:100%; height:12px; position:absolute; left:0px; top:-12px; z-index:3; background-image:radial-gradient(circle at 50% 100%, var(--primary-color-website) 12px, transparent 13px); background-size:28px 12px; background-repeat:repeat-x; pointer-events:none;}
.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;}
/* i titoli del footer sono scritti a mano */
.footer .footer-row .widget h4{ font-family:var(--o-hand); font-size:30px; line-height:1.2; color:#fff; font-weight:700; letter-spacing:0.01em; text-transform:none; 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(--o-sans); font-weight:600; font-size:15px; line-height:26px; margin-bottom:10px; color:rgba(255,255,255,0.92);}
.footer .footer-row .widget p:last-child{ margin-bottom:0px;}
.footer .footer-row .widget p a{ color:#fff; font-weight:800;}
.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:"\f004"; font-family:FontAwesome; position:absolute; left:0px; font-size:11px; color:#fff;}
.footer .footer-row .widget li a{ color:rgba(255,255,255,0.92); font-weight:inherit;}
.footer .footer-row .widget li a:hover{ color:#fff; text-decoration:underline wavy rgba(255,255,255,0.6); text-decoration-thickness:2px; text-underline-offset:4px;}
.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:#fff; border:0px;}
.footer .footer-row .social li a span.circle{width:40px;height:40px;float:left;color:var(--primary-color-website);text-align:center;}
.footer .footer-row .social li a span.circle i{font-size:15px;line-height:40px;vertical-align:top;}
.footer .footer-row .social li.facebook a{background:#fff}
.footer .footer-row .social li.instagram a{background:#fff}
.footer .footer-row .social li.linkedin a{background:#fff}
.footer .footer-row .social li.youtube a{background:#fff}
.footer .footer-row .social li.vimeo a{background:#fff}
.footer .footer-row .social li.tripadvisor a{background:#fff}
.footer .footer-row .social li a:hover{ background:var(--o-ink);}
.footer .footer-row .social li a:hover span.circle{ color:#fff;}
.footer .footer-row .social li a .fa-tripadvisor{ filter:none;}
.footer .footer-row .social li a:hover .fa-tripadvisor{ filter:brightness(0) invert(1);}

.footer .footer-extra{ padding:0px; padding-top:22px; padding-bottom:26px; background:none; text-align:center;}
.footer .footer-extra .row{ padding:0px;}
.footer .footer-extra .row p{ font-size:13px; line-height:23px; color:rgba(255,255,255,0.85); font-weight:600;}
.footer .footer-extra .row p span{ margin:0 6px; 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 wavy rgba(255,255,255,0.6); text-decoration-thickness:2px; text-underline-offset:4px;}

/* modal — cartolina */

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(--o-ink); z-index:99999;}
.modal{ z-index:999999;}
.modal .row + .row{ margin-top:30px;}
.modal .modal-content{ border-radius:34px; background:var(--o-paper); border:0px; box-shadow:0 40px 100px rgba(51,37,29,0.4), 0 8px 0 var(--o-tint-strong);}
.modal .modal-body{ border-radius:0px; padding:42px;}
.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:24px;}
.modal .modal-body .text ul li:last-child{ margin-bottom:0px;}
.modal .modal-body .text ul li:before{ content:"\f004"; font-family:FontAwesome; position:absolute; left:0px; top:2px; font-size:12px; color:var(--primary-color-website);}
.modal .close{ width:42px; height:42px; position:absolute; top:14px; right:14px; opacity:1; z-index:9999; background:var(--primary-color-website); border:0px; border-radius:50%; color:#fff; text-shadow:none; box-shadow:0 3px 0 var(--o-deep);}
.modal .close:before{ content:"\f00d"; font-family: 'FontAwesome'; width:100%; height:100%; position:absolute; left:0px; top:0px; font-size:16px; line-height:42px; text-align:center;}
.modal .close:hover{ background:var(--o-deep); color:#fff;}
.modal .image img{ border:8px solid #fff; border-radius:var(--o-radius); position:relative; z-index:2; box-shadow:0 18px 36px -18px rgba(92,50,30,0.4); transform:rotate(-2deg);}
.modal .text h3{ font-family:var(--o-hand); font-size:28px; line-height:1.2; color:var(--primary-color-website); font-weight:700; letter-spacing:0.01em; text-transform:none; margin:0px;}
.modal .text h2{ font-family:var(--o-display); font-size:32px; line-height:1.25; color:var(--o-ink); font-weight:400; margin:0px;}
.modal .text h2 strong{ font-weight:400; color:var(--primary-color-website); text-decoration:underline wavy var(--o-tint-strong); text-decoration-thickness:3px; text-underline-offset:7px;}
.modal .text h3 + h2{ margin-top:6px;}
.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-family:var(--o-sans); font-size:36px; line-height:1.15; color:var(--o-ink); font-weight:800; margin:0px; margin-bottom:20px;}
body.body-policy .block.policy h2{ font-family:var(--o-sans); font-size:28px; line-height:1.15; color:var(--o-ink); font-weight:800; margin:0px; margin-bottom:20px;}
body.body-policy .block.policy h1 strong, body.body-policy .block.policy h2 strong{ color:inherit; text-decoration:none;}
body.body-policy .block.policy h3{ font-family:var(--o-sans); font-size:24px; line-height:1.15; color:var(--o-ink); font-weight:800; margin:0px; margin-bottom:20px;}
body.body-policy .block.policy h4{ font-family:var(--o-sans); font-size:19px; line-height:1.15; color:var(--o-ink); font-weight:800; 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(--o-body); font-weight:400; margin:0px; margin-bottom:20px;}
body.body-policy .block.policy p strong, body.body-policy .block.policy li strong{ color:var(--o-ink); 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:var(--o-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(--o-sans); width:25px; text-align:left; content:counter(counter) "."; font-weight:400; position:absolute; left:0px; font-size:16px; color:var(--o-body); font-weight:700;}
body.body-policy .block.policy .text.text-disiscriviti{ text-align:center; padding:20px; background:var(--o-tint); border-radius:18px;}
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:28px; line-height:60px; text-align:center; color:#fff; box-shadow:0 5px 0 #128C4A; z-index:200; animation: pulse 1.5s infinite;}
.whatsappfixed:hover, .whatsappfixed:focus{ background:#128C4A; 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:16px; 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:15px;}
	p, li{ font-size:16px; line-height:27px;}

	.header .navbar-nav > li.homepage{ display:none;}
	.header .navbar-nav > li > a{ font-size:15px;}
	.header .navbar-nav > li.book > a{ font-size:15px;}

	.visual .text h1{ font-size:46px;}
	.visual .text h2{ font-size:18px; 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:48px;}

	.block h1, .block h2{ font-size:37px;}
	.block h3{ font-size:17px; line-height:29px;}

	.block.intro-page .menu-list ul li a{ font-size:14px;}

	.block.intro .text h2{ font-size:28px;}

	.block.contacts-icon .item .text .link{ font-size:20px; line-height:29px;}
	.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:28px;}

	.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:14px; 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 4px;}

	.header .navbar-nav > li.homepage{ display:none;}
	.header .navbar-nav > li > a{ margin:0 5px; font-size:13px;}
	.header .navbar-nav > li.book > a{ font-size:13px;}
	.header .navbar-nav > li.book{ margin-left:8px;}

	.visual{ padding:90px 0 140px 0;}
	.visual .text h1{ font-size:40px;}
	.visual .text h2{ font-size:17px; line-height:29px;}
	.visual .image img{ border-width:7px;}

	.block{ padding:70px 0;}

	.title{ padding-top:50px;}
	.title .text h1, .title .text h2{ font-size:40px;}

	.block h1, .block h2{ font-size:33px;}
	.block h3{ font-size:17px; line-height:28px;}
	.block h4{ font-size:18px; line-height:27px;}

	.block.intro .text h2{ font-size:26px;}

	.block.contacts-icon .item .text .link{ font-size:19px; 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:26px;}

	.whatsappfixed{ width:48px; height:48px; line-height:48px; 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:12px; margin:0 4px;}
	.header .navbar-nav > li.book > a{ font-size:12px; 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;}

	.hr-header{ display:none;}
	
	.topbar{ z-index:300;}
	
	.header{ background:rgba(255,255,255,0.9) !important; backdrop-filter:unset !important;}
	.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 30px 60px rgba(51,37,29,0.2);}
	.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:3px dotted var(--o-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:26px !important; font-size:17px; color:var(--o-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:16px;}
	


	.visual{ padding:60px 0; padding-bottom:0px;}
	.visual .image{ margin-bottom:48px;}
	.visual-wrap .down{ display:none;}

	.title{ padding-top:32px;}

	.block.cta-about .images .image2{ margin-top:5%;}
	.block.cta-about .images .image3{ margin-top:-20%;}

	.block.cta-coupon .image{ margin-bottom:48px;}
	.block.cta-about .images{ margin-bottom:48px;}

	.block.cta-menu .row.flex [class*="col-"].pull-right{ order:0;}
	.block.cta-menu .images{ margin-bottom:48px;}

	.block.testimonials.home .item{ padding-left:80px; padding-right:80px;}

	.block.intro-page .image{ margin-bottom:48px;}

	.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:48px;}

	.block.contacts-icon .item{ padding-bottom:22px; margin-bottom:22px; border:0px; border-bottom:3px dotted var(--o-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:48px;}
	.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:65px;}

	.block.gift .item .gifts{ margin-bottom:20px;}

	.footer .footer-extra .row p span{ margin:0 4px;}

	.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:32px;}
	.visual .text h2{ font-size:16px; line-height:28px;}
	.visual .image img{ border-width:6px;}

	.block h1, .block h2{ font-size:28px;}
	.block h3{ font-size:16px; line-height:28px;}
	.block h4{ font-size:17px; line-height:26px;}

	.title .text h1, .title .text h2{ font-size:32px;}

	.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.2;}
	.block.testimonials .item .text:before{ font-size:70px;}
	.block.testimonials.home .item{ padding-left:42px; padding-right:42px;}

	.block.cta .box{ padding:42px 26px;}

	.swiper-prev, .swiper-next{ width:36px; height:36px; 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-left-radius:0px; 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:30px; line-height:36px;}
	body.body-policy .block.policy h2{ font-size:25px; line-height:30px;}
	body.body-policy .block.policy h3{ font-size:21px; line-height:26px;}
	body.body-policy .block.policy h4{ font-size:17px; line-height:22px;}

	.block.gift{ padding-bottom:0px;}

	.modal.in .modal-dialog{ top:0px; transform:none;}
	.modal .modal-dialog{ width:100%;}
	.modal .text h2{ font-size:26px;}
	.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(--o-ink) 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(--primary-color-website); 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(--primary-color-website); 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;}
