/* ------------------------------------------------------------- */
/* ROOT                                                          */
/* ------------------------------------------------------------- */
:root {
	--col: 6.25vw;
	--fz: 16px;
}

.hidden {
	display: none;
}

.center {
	text-align: center !important;
}

small {
	font-size: 85%;
}

/* ------------------------------------------------------------- */
/* BODY /HTML                                                    */
/* ------------------------------------------------------------- */
body {
	color: black;
	background: white;
	font-family: 'mislab-std', serif;
	font-weight: 400;
	font-style: normal;
	font-size: var(--fz);
	line-height: 1.5;
	overscroll-behavior: contain;
}

/* ------------------------------------------------------------- */
/* HOME                                                          */
/* ------------------------------------------------------------- */
#home {
	position: fixed;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	background: black;
	overflow: hidden;
}

/* MASK */
#home .mask {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	background: rgba(0, 0, 0, 0.50);
}

/* TOOLS */
#home .tools {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	pointer-events: none;
}

#home .tools * {
	pointer-events: all;
}


/* LOGO */
#home .logo {
	position: absolute;
	top: 50%;
	left: 50%;
	width: 100%;
	max-width: 25vw;
	display: flex;
	flex-direction: column;
	-webkit-transform: translate(-50%, -50%);
	transform: translate(-50%, -50%);
	align-items: center;
	gap: 45px;
}

#home .logo.top {
	top: var(--col);
	left: 50%;
	width: auto;
	margin-top: 8px;
	-webkit-transform: translate(-50%, -100%);
	-moz-transform: translate(-50%, -100%);
	-ms-transform: translate(-50%, -100%);
	-o-transform: translate(-50%, -100%);
	transform: translate(-50%, -100%);

	a.book-button {
		display: none;
	}
}

#home .logo.zoom {
	top: var(--col);
	left: 50%;
	-webkit-transform: translate(-50%, -100%);
	transform: translate(-50%, -100%);
	width: auto;
}

#home .logo a:nth-of-type(1) {
	width: 100%;
}

#home .logo a img {
	width: 100%;
	height: auto;
}

#home .logo.top a img,
#home .logo.zoom a img,
#home .logo.zoom.top a img {
	width: auto;
	height: 2.60vw;
	min-height: 50px;
}

#home .logo a.book-button {
	display: none;
}

@media screen and (max-width:768px) {
	#home .logo a.book-button {
		display: block;
		font-size: 130%;
	}
}

#home .buttons_group_dx {
	position: absolute;
	top: var(--col);
	right: var(--col);
	display: flex;
	gap: calc(var(--col) / 2);
	align-items: center;
	transform: translate(0, -100%);
	transition: opacity 0.25s;
}

/* MENU */
#home .menu {
	-webkit-transition: opacity 0.25s;
	transition: opacity 0.25s;
}

#home .menu a {
	display: block;
	width: 2.0833vw;
	min-width: 40px;
	height: 1.3542vw;
	min-height: 26px;
	position: relative;
}

#home .menu a span {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	min-height: 2px;
	height: 0.104vw;
	-webkit-transform: translate(0, -0.104vw);
	transform: translate(0, -0.104vw);
	background: white;
	-webkit-transition: top 0.5s 0.5s, opacity 0s 0.5s, -webkit-transform 0.5s 0s;
	transition: top 0.5s 0.5s, opacity 0s 0.5s, -webkit-transform 0.5s 0s;
	transition: top 0.5s 0.5s, transform 0.5s 0s, opacity 0s 0.5s;
	transition: top 0.5s 0.5s, transform 0.5s 0s, opacity 0s 0.5s, -webkit-transform 0.5s 0s;
}

#home .menu a span:nth-child(2) {
	top: 50%;
}

#home .menu a span:nth-child(3) {
	top: 100%;
}

/* PRENOTA */
#home .book {
	transition: opacity 0.25s, -webkit-transform 1s;
	transition: opacity 0.25s, transform 1s;
	transition: opacity 0.25s, transform 1s, -webkit-transform 1s;
}

#home .book a {
	display: block;
}

#home .book a svg {
	display: block;
	height: 35px;
}

/* CONTATTI */
#home .contacts {
	-webkit-transition: opacity 0.25s, -webkit-transform 1s;
	transition: opacity 0.25s, -webkit-transform 1s;
	transition: opacity 0.25s, transform 1s;
	transition: opacity 0.25s, transform 1s, -webkit-transform 1s;
}

#home .contacts a {
	display: block;
}

#home .contacts a svg {
	display: block;
	height: 35px;
}

/* PROFILO */
#home .profile {
	-webkit-transition: opacity 0.25s, -webkit-transform 1s;
	transition: opacity 0.25s, -webkit-transform 1s;
	transition: opacity 0.25s, transform 1s;
	transition: opacity 0.25s, transform 1s, -webkit-transform 1s;
}

#home .profile a {
	display: block;
}

#home .profile a svg {
	display: block;
	height: 35px;
}

#home .profile a svg #log {
	display: none;
}

#home .profile.in a svg #log {
	display: block;
}

/* LINGUE */
#home .languages {
	position: absolute;
	top: var(--col);
	left: var(--col);
	-webkit-transform: translate(0, -100%);
	transform: translate(0, -100%);
	-webkit-transition: opacity 0.25s;
	transition: opacity 0.25s;
}

#home .languages ul {
	list-style: none;
	display: flex;
	align-items: end;
	gap: 5px;
}

#home .languages ul li {
	display: inline-block;
}

#home .languages ul li:nth-child(1)::after {
	content: ' | ';
	color: white;
	font-weight: lighter;
	font-size: 150%;
	-webkit-transition: opacity 0.25s;
	transition: opacity 0.25s;
	vertical-align: bottom;
}

#home .languages ul li:nth-child(2) {
	margin-right: 50px;
}

#home .languages ul li a {
	color: white;
	text-decoration: none;
	font-size: 125%;
	-webkit-transition: opacity 0.25s;
	transition: opacity 0.25s;
	vertical-align: bottom;
}

#home .languages ul li.active a {
	font-weight: 600;
}

a.book-button {
	width: max-content;
	color: white;
	text-decoration: none;
	border: 1px solid rgba(255,255,255,0.4);
	padding: 10px 30px;
	border-radius: 5px;
	-webkit-transition: all 0.25s !important;
	-moz-transition: all 0.25s !important;
	-ms-transition: all 0.25s !important;
	-o-transition: all 0.25s !important;
	transition: all 0.25s !important;
}

a.book-button:hover {
	border: 1px solid rgba(255,255,255,1);
	-webkit-transition: all 0.25s !important;
	-moz-transition: all 0.25s !important;
	-ms-transition: all 0.25s !important;
	-o-transition: all 0.25s !important;
	transition: all 0.25s !important;
}

#home .languages_mobile {
	display: none;
}

/* PULSANTI SOCIAL */
#home .social {
	position: absolute;
	bottom: var(--col);
	left: var(--col);
}

#home .social ul {
	list-style: none;
}

#home .social ul li {
	margin-top: calc(var(--col) / 2.5);
}

#home .social ul li:first-child {
	margin-top: 0;
}

#home .social ul li a {
	width: 1.5625vw;
	min-width: 30px;
	display: block;
}

#home .social ul li a svg {
	fill: white;
	width: 100%;
	height: auto;
}

/* FRECCIA DX */
#home .arrow_dx {
	position: absolute;
	bottom: var(--col);
	right: var(--col);
	-webkit-transform: translate(0, -200%);
	transform: translate(0, -200%);
}

#home .arrow_dx a {
	width: 1.04vw;
	min-width: 15px;
	display: block;
}

/* FRECCIA SX */
#home .arrow_sx {
	position: absolute;
	bottom: var(--col);
	right: var(--col);
}

#home .arrow_sx a {
	width: 1.04vw;
	min-width: 15px;
	display: block;
	-webkit-transform: rotate(180deg);
	transform: rotate(180deg);
}

#home .arrow_dx.off,
#home .arrow_sx.off {
	opacity: 0.35;
}

/* FRECCIA DOWN */
#home .arrow_down {
	position: absolute;
	bottom: var(--col);
	left: 50%;
	-webkit-transform: translate(-50%, 0.5vw);
	transform: translate(-50%, 0.5vw);
}

#home .arrow_down a {
	width: 1.04vw;
	min-width: 15px;
	display: block;
	-webkit-transform: rotate(90deg);
	transform: rotate(90deg);
}

#home .arrow_down_path {
	position: absolute;
	bottom: var(--col);
	left: 50%;
	-webkit-transform: translate(-50%, 100%);
	transform: translate(-50%, 100%);
	width: 2px;
	height: 0px;
	background: white;
	-webkit-transition: height 0.5s;
	transition: height 0.5s;
}

#home .arrow_down:hover+.arrow_down_path {
	height: var(--col);
	-webkit-transition: height 0.5s;
	transition: height 0.5s;
}

#home .arrow_down_path.fix {
	height: var(--col);
}

/* MENU ZOOM */
#home .menu_zoom {
	position: fixed;
	bottom: 0;
	left: 0;
	width: 100%;
	padding: 0 var(--col);
	opacity: 0;
	-webkit-transition: bottom 0.5s, opacity 0.5s;
	transition: bottom 0.5s, opacity 0.5s;
}

#home .menu_zoom.show {
	bottom: var(--col);
	opacity: 1;
	-webkit-transition: bottom 1s, opacity 1s;
	transition: bottom 1s, opacity 1s;
}

#home .menu_zoom ul {
	list-style: none;
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-pack: justify;
	-ms-flex-pack: justify;
	justify-content: space-between;
}

#home .menu_zoom ul li a {
	color: white;
	text-decoration: none;
	position: relative;
	-webkit-transition: 1s;
	transition: 1s;
}

#home .menu_zoom ul li a span {
	color: #575756;
	padding-left: 0.26vw;
}

#home .menu_zoom ul li a:after {
	content: "";
	background: black;
	display: block;
	height: 0.104vw;
	min-height: 2px;
	width: 100%;
	position: absolute;
	bottom: -1.04vw;
	opacity: 0;
	-webkit-transition: opacity 0.375s;
	transition: opacity 0.375s;
}

#home .menu_zoom ul li.active a:after {
	background: #c88d00;
	background: -webkit-linear-gradient(left, #c88d00 0%, #f1c52a 50%, #fff4a4 100%);
	opacity: 1;
	-webkit-transition: opacity 0.375s;
	transition: opacity 0.375s;
}

/* ------------------------------------------------------------- */
/* SLIDER                                                        */
/* ------------------------------------------------------------- */
#home .slider {
	width: 1000vw;
	height: 100%;
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-pack: start;
	-ms-flex-pack: start;
	justify-content: flex-start;
	-webkit-transition: 1s;
	transition: 1s;
}

#home .slider .category {
	width: 100vw;
	height: 100vh;
	background-position: center center !important;
	background-repeat: no-repeat !important;
	background-size: cover !important;
	position: relative;
	opacity: 0.35;
	-webkit-transition: 1s;
	transition: 1s;
}

#home .slider .category.active {
	opacity: 1;
}

#home .slider .category .zoom_button {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	display: none;
}

#home .slider .category:first-child .zoom_button {
	display: block;
}

#home .slider.slide_0 {
	margin-left: 0;
}

#home .slider.slide_1 {
	margin-left: calc(var(--col) * -16 * 1);
}

#home .slider.slide_2 {
	margin-left: calc(var(--col) * -16 * 2);
}

#home .slider.slide_3 {
	margin-left: calc(var(--col) * -16 * 3);
}

#home .slider.slide_4 {
	margin-left: calc(var(--col) * -16 * 4);
}

#home .slider.slide_5 {
	margin-left: calc(var(--col) * -16 * 5);
}

#home .slider.slide_6 {
	margin-left: calc(var(--col) * -16 * 6);
}

#home .slider.slide_7 {
	margin-left: calc(var(--col) * -16 * 7);
}

#home .slider.slide_8 {
	margin-left: calc(var(--col) * -16 * 8);
}

#home .slider.slide_9 {
	margin-left: calc(var(--col) * -16 * 9);
}

#home .slider .category .info {
	color: white;
	position: absolute;
	top: 50%;
	left: calc(var(--col) * 3);
	width: 62.5%;
	-webkit-transform: translate(0, -25%);
	transform: translate(0, -25%);
	opacity: 0;
	z-index: 1;
	-webkit-transition: opacity 1s 0s, -webkit-transform 1s 0s;
	transition: opacity 1s 0s, -webkit-transform 1s 0s;
	transition: opacity 1s 0s, transform 1s 0s;
	transition: opacity 1s 0s, transform 1s 0s, -webkit-transform 1s 0s;
}

#home .slider .category .info.show {
	-webkit-transform: translate(0, -50%);
	transform: translate(0, -50%);
	opacity: 1;
	-webkit-transition: opacity 1s 1s, -webkit-transform 1s 1s;
	transition: opacity 1s 1s, -webkit-transform 1s 1s;
	transition: opacity 1s 1s, transform 1s 1s;
	transition: opacity 1s 1s, transform 1s 1s, -webkit-transform 1s 1s;
}

#home .slider .category .info h2 {
	line-height: 125%;
	font-size: 400%;
	font-weight: 700;
	font-family: 'mrs-eaves-xl-serif', serif;
}

#home .slider .category .info h2 span.index {
	font-weight: lighter;
	display: block;
}

#home .slider .category .info h2 span.index span {
	display: inline-block;
	width: calc(var(--fz) * 2);
	height: calc(var(--fz) * 2);
	border: 3px solid white;
	border-radius: 50%;
}

#home .slider .category .info h2 span.prodotti {
	font-size: 40%;
	font-weight: lighter;
	font-family: 'mislab-std', serif;
}

#home .slider .category .info p {
	font-size: 133%;
	font-weight: 400;
	font-family: 'mislab-std', serif;
	font-style: italic;
	width: 100%;
	max-width: calc(var(--col) * 6);
	margin-top: 2vh;
	color: hsl(0, 0%, 80%);
}

#home .slider .category .info .circle {
	margin-top: 10vh;
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
}

#home .slider .category .info .circle a {
	-webkit-align-self: center;
	-ms-flex-item-align: center;
	-ms-grid-row-align: center;
	align-self: center;
}

#home .slider .category .info .circle a img {
	width: 40px;
	min-width: 4vw;
	-webkit-transition: -webkit-transform 0.5s;
	transition: -webkit-transform 0.5s;
	transition: transform 0.5s;
	transition: transform 0.5s, -webkit-transform 0.5s;
}

#home .slider .category .info .circle a:hover img {
	-webkit-transform: scale(1.25);
	transform: scale(1.25);
	-webkit-transition: -webkit-transform 0.5s;
	transition: -webkit-transform 0.5s;
	transition: transform 0.5s;
	transition: transform 0.5s, -webkit-transform 0.5s;
}

#home .slider .category .info .circle a:hover+span {
	margin-left: 5%;
	opacity: 1;
	-webkit-transition: 0.5s;
	transition: 0.5s;
}

#home .slider .category .info .circle span {
	-webkit-align-self: center;
	-ms-flex-item-align: center;
	-ms-grid-row-align: center;
	align-self: center;
	font-size: 100%;
	margin-left: 2.5%;
	opacity: 0;
	-webkit-transition: 0.5s;
	transition: 0.5s;
}

div#home div.slider div.category div.cat {
	display: none;
}

div#home div.slider div.category div.number {
	color: white;
	position: absolute;
	bottom: 50%;
	right: 0;
	z-index: 5;
	line-height: 1;
	font-size: 300%;
	font-family: 'mrs-eaves-xl-serif', serif;
	-webkit-transform: translate(0, 50%) rotate(90deg);
	transform: translate(0, 50%) rotate(90deg);
	opacity: 0;
	-webkit-transition: opacity 0s;
	transition: opacity 0s;
}

div#home div.slider div.category div.number.show {
	opacity: 1;
	-webkit-transition: opacity 1s 1s;
	transition: opacity 1s 1s;
}

div#home div.slider div.category div.number span.line {
	display: inline-block;
	width: 6.25vw;
	height: 2px;
	background: white;
	vertical-align: middle;
	margin: 0 1vw;
}

div#home div.slider div.category div.number span.zero {
	display: inline-block;
	width: 1.25vw;
	height: 1.25vw;
	min-width: 24px;
	min-height: 24px;
	border: 0.2vw solid white;
	border-radius: 50%;
	vertical-align: baseline;
}

/* ------------------------------------------------------------- */
/* SLIDER ZOOM                                                   */
/* ------------------------------------------------------------- */
#home.zoom .menu {
	opacity: 0.25;
}

#home.zoom .menu:hover {
	opacity: 1;
	-webkit-transition: opacity 0.25s;
	transition: opacity 0.25s;
}

#home.zoom .menu a span:nth-child(2) {
	opacity: 0;
}

#home.zoom .menu a span:nth-child(1) {
	top: 50%;
	-webkit-transform: rotate(45deg);
	transform: rotate(45deg);
	-webkit-transition: top 0.5s 0s, -webkit-transform 0.5s 0.5s;
	transition: top 0.5s 0s, -webkit-transform 0.5s 0.5s;
	transition: top 0.5s 0s, transform 0.5s 0.5s;
	transition: top 0.5s 0s, transform 0.5s 0.5s, -webkit-transform 0.5s 0.5s;
}

#home.zoom .menu a span:nth-child(3) {
	top: 50%;
	-webkit-transform: rotate(-45deg);
	transform: rotate(-45deg);
	-webkit-transition: top 0.5s 0s, -webkit-transform 0.5s 0.5s;
	transition: top 0.5s 0s, -webkit-transform 0.5s 0.5s;
	transition: top 0.5s 0s, transform 0.5s 0.5s;
	transition: top 0.5s 0s, transform 0.5s 0.5s, -webkit-transform 0.5s 0.5s;
}

#home.zoom .languages a {
	opacity: 0.4;
	-webkit-transition: opacity 0.25s;
	transition: opacity 0.25s;
}

#home.zoom .languages a:hover {
	opacity: 1;
	-webkit-transition: opacity 0.25s;
	transition: opacity 0.25s;
}

#home.zoom .languages ul li::after {
	opacity: 0.4;
	-webkit-transition: opacity 0.25s;
	transition: opacity 0.25s;
}

#home.zoom .profile {
	opacity: 0.4;
	-webkit-transition: opacity 0.25s;
	transition: opacity 0.25s;
}

#home.zoom .profile:hover {
	opacity: 1;
	-webkit-transition: opacity 0.25s;
	transition: opacity 0.25s;
}

#home.zoom .profile.in {
	opacity: 1;
	-webkit-transition: opacity 0.25s;
	transition: opacity 0.25s;
}

#home.zoom .contacts {
	opacity: 0.4;
	-webkit-transition: opacity 0.25s;
	transition: opacity 0.25s;
}

#home.zoom .contacts:hover {
	opacity: 1;
	-webkit-transition: opacity 0.25s;
	transition: opacity 0.25s;
}

#home.zoom .book {
	opacity: 0.4;
	-webkit-transition: opacity 0.25s;
	transition: opacity 0.25s;
}

#home.zoom .book:hover {
	opacity: 1;
	-webkit-transition: opacity 0.25s;
	transition: opacity 0.25s;
}

#home .arrow_sx.zoom {
	bottom: auto;
	right: auto;
	top: 50%;
	left: calc(var(--col) * 3);
	-webkit-transform: translate(0, -50%);
	transform: translate(0, -50%);
}

#home .arrow_dx.zoom {
	bottom: auto;
	right: auto;
	top: 50%;
	right: calc(var(--col) * 3);
	-webkit-transform: translate(0, -50%);
	transform: translate(0, -50%);
}

#home.zoom .slider {
	margin-top: 25vh;
	margin-left: calc(var(--col) * 4);
	-webkit-transition: 1s;
	transition: 1s;
}

#home.zoom .slider .category {
	width: 50vw;
	height: 50vh;
	-webkit-transition: 1s;
	transition: 1s;
	margin-right: calc(var(--col) * 2);
}

#home.zoom .slider .category.active {
	-webkit-transform: scale(1);
	transform: scale(1);
}

#home.zoom .slider.slide_1 {
	margin-left: calc(var(--col) * -6);
}

#home.zoom .slider.slide_2 {
	margin-left: calc(var(--col) * -16);
}

#home.zoom .slider.slide_3 {
	margin-left: calc(var(--col) * -26);
}

#home.zoom .slider.slide_4 {
	margin-left: calc(var(--col) * -36);
}

#home.zoom .slider.slide_5 {
	margin-left: calc(var(--col) * -46);
}

#home.zoom .slider.slide_6 {
	margin-left: calc(var(--col) * -56);
}

#home.zoom .slider.slide_7 {
	margin-left: calc(var(--col) * -66);
}

#home.zoom .slider.slide_8 {
	margin-left: calc(var(--col) * -76);
}

#home.zoom .slider.slide_9 {
	margin-left: calc(var(--col) * -86);
}

div#home.zoom div.slider div.category div.number.show {
	opacity: 0 !important;
	-webkit-transition: opacity 0.5s 0s !important;
	transition: opacity 0.5s 0s !important;
}

/* ------------------------------------------------------------- */
/* LOADER                                                        */
/* ------------------------------------------------------------- */
#loader {
	position: fixed;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	z-index: -1;
	display: none;
}

#loader span {
	position: absolute;
	top: 50%;
	left: 50%;
	width: 4vw;
	height: 4vw;
	min-width: 36px;
	min-height: 36px;
	-webkit-transform: translate(-50%, -50%);
	transform: translate(-50%, -50%);
}

#loader span img {
	-webkit-animation: loader_spin 1s linear infinite;
	animation: loader_spin 1s linear infinite;
}

@-webkit-keyframes loader_spin {
	100% {
		-webkit-transform: rotate(360deg);
		transform: rotate(360deg);
	}
}

@keyframes loader_spin {
	100% {
		-webkit-transform: rotate(360deg);
		transform: rotate(360deg);
	}
}

/* ------------------------------------------------------------- */
/* PAGINE                                                        */
/* ------------------------------------------------------------- */
#page {
	display: none;
}

/* ------------------------------------------------------------- */
/* PULSANTE CHIUSURA PAGINE                                      */
/* ------------------------------------------------------------- */
#page_close {
	position: fixed;
	top: var(--col);
	right: var(--col);
	width: 1vw;
	min-width: 15px;
	-webkit-transform: translate(2.5vw, 0%);
	transform: translate(2.5vw, 0%);
	display: none;
}

#page_close a img {
	-webkit-transform: rotate(-90deg);
	transform: rotate(-90deg);
	filter: invert(.5);
}

/* ------------------------------------------------------------- */
/* PARTNER                                                       */
/* ------------------------------------------------------------- */
div.partner {
	padding: calc(var(--col) * 2);
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	font-size: 80%;
	display: none !important;
}

div.partner div.logo_lucores {
	width: calc(var(--col) * 4);
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
}

div.partner div.logo_lucores div {
	-webkit-align-self: center;
	-ms-flex-item-align: center;
	-ms-grid-row-align: center;
	align-self: center;
}

div.partner div.logo_lucores div.cerchio img {
	width: 1.5625vw;
	min-width: 20px;
	height: 1.5625vw;
	min-height: 20px;
}

div.partner div.logo_lucores div.etichetta {
	margin-left: 2.5%;
}

div.partner div.logo {
	width: calc(var(--col) * 3);
	border-right: 1px solid #ccc;
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	padding: 1.04vw 0;
}

div.partner div.logo:last-child {
	border-right: none;
}

div.partner div.logo img {
	-webkit-align-self: center;
	-ms-flex-item-align: center;
	-ms-grid-row-align: center;
	align-self: center;
	width: 100%;
	height: auto;
}

/* ------------------------------------------------------------- */
/* FOOTER                                                        */
/* ------------------------------------------------------------- */
.footer {
	color: white;
	background: black;
	padding: 6.25vw;
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	font-size: 100%;
}

.footer .footer_social {
	width: calc(var(--col) * 2);
}

.footer .footer_social a {
	display: block;
	width: 100%;
	min-width: 30px;
	max-width: 1.5625vw;
	margin-bottom: 3vh;
}

.footer .footer_social a:last-child {
	margin-bottom: 0;
}

.footer .footer_social a svg {
	fill: white;
	width: 100%;
	height: auto;
}

.footer .footer_dx {
	width: calc(var(--col) * 12);
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
}

.footer .footer_dx .footer_logo {
	width: calc(var(--col) * 3);
}

.footer .footer_dx .footer_info {
	width: calc(var(--col) * 8);
	margin-left: var(--col);
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-pack: justify;
	-ms-flex-pack: justify;
	justify-content: space-between;
}

.footer .footer_dx .footer_info a {
	color: white;
	text-decoration: none;
}

.footer .footer_dx .footer_info>div svg {
	display: inline-block;
	width: 1.05vw;
	min-width: 20px;
	height: auto;
	margin-right: 2%;
}

.footer .footer_dx .footer_info .footer_riservata {
	width: 20%;
}

.footer .footer_dx .footer_info .footer_riservata a {
	display: block;
}

.footer .footer_dx .footer_info div.footer_riservata svg #log {
	display: none;
}

.footer .footer_dx .footer_info div.footer_riservata.in svg #log {
	display: block;
}

/* ------------------------------------------------------------- */
/* CREDITS                                                       */
/* ------------------------------------------------------------- */
.credits {
	text-align: center;
	padding: 2.5vw var(--col);
	font-size: 90%;
}

.credits span::after {
	content: ' | ';
}

.credits span:last-child::after {
	content: '';
}

.credits a {
	font-weight: 700;
	text-decoration: none;
	color: black;
}

/* ------------------------------------------------------------- */
/* REGOLE RESPONSIVE SCHERMI AD ALTA RISOLUZIONE                 */
/* ------------------------------------------------------------- */
@media only screen and (min-width: 1921px) {
	:root {
		--col: 6.25vw;
		--fz: 0.8333vw;
	}

	#home .slider .category .info h2 span.index span {
		border: 0.1563vw solid white;
	}

	div.partner div.logo {
		border-right: 0.05208vw solid #ccc;
		padding: 1.0417vw;
	}
}

/* ------------------------------------------------------------- */
/* DESKTOP 1600px                                                */
/* ------------------------------------------------------------- */
@media only screen and (max-width: 1600px) {
	#home .menu_zoom {
		padding: 0 calc(var(--col) / 2);
	}
}

/* ------------------------------------------------------------- */
/* DESKTOP 1440px                                                */
/* ------------------------------------------------------------- */
@media only screen and (max-width: 1280px) {

	#home .buttons_group_dx {
		gap: calc(var(--col) / 1.5);
	}

	/* MENU ZOOM */
	#home .menu_zoom {
		display: none;
	}

	/* MENU ZOOM MOBILE */
	#home .menu_zoom_mobile {
		position: fixed;
		bottom: 0;
		width: 100%;
		opacity: 0;
		-webkit-transition: 0.5s;
		transition: 0.5s;
	}

	#home .menu_zoom_mobile.show {
		bottom: 6.25vw;
		opacity: 1;
		-webkit-transition: 1s;
		transition: 1s;
	}

	#home .menu_zoom_mobile div.fill {
		width: 100%;
		height: 1px;
		background: #4b4b4b;
	}

	#home .menu_zoom_mobile div.position {
		position: absolute;
		left: 0;
		height: 3px;
		background: #c88d00;
		background: -webkit-linear-gradient(left, #c88d00 0%, #f1c52a 50%, #fff4a4 100%);
		-webkit-transform: translate(0, -2px);
		transform: translate(0, -2px);
		/*cursor: move;*/
		-webkit-transition: 0.5s;
		transition: 0.5s;
	}

	/* SLIDER */
	div#home div.slider div.category div.cat {
		position: absolute;
		bottom: -30px;
		color: white;
		text-align: center;
		width: 200%;
		font-size: 100%;
		opacity: 0;
		-webkit-transition: 0.5s;
		transition: 0.5s;
		display: block;
		-webkit-transform: translate(-25%, 0);
		transform: translate(-25%, 0);
	}

	div#home div.slider div.category.active div.cat {
		bottom: -30px;
		opacity: 1;
		-webkit-transition: 0.5s;
		-webkit-transition: 0.5s 0.25s;
		transition: 0.5s 0.25s;
	}
}

/* ------------------------------------------------------------- */
/* REGOLE RESPONSIVE TABLET ORIZZONTALE                          */
/* ------------------------------------------------------------- */
@media only screen and (max-width: 1024px) {

	#home .buttons_group_dx {
		gap: calc(var(--col) / 1.5);
		transform: translate(0, 0);
	}

	#home .buttons_group_dx svg {
		transform: scale(0.8);
	}

	#home .languages ul li:nth-child(3) {
		display: none;
	}

	/* LOGO */
	#home .logo {
		max-width: calc(var(--col) * 11);
	}

	#home .logo.top {
		transform: translate(-50%, -40%);
		left: 50%;
	}

	#home .logo.zoom {
		-webkit-transform: translate(-50%, -120%);
		transform: translate(-50%, 120%);
		margin-top: 8px;
	}

	#home .logo.zoom.top {
		-webkit-transform: translate(-50%, -50%);
		transform: translate(-50%, -50%);
		margin-top: 8px;
	}

	#home .logo.top a img,
	#home .logo.zoom a img,
	#home .logo.zoom.top a img {
		width: calc(var(--col) * 5);
		height: auto;
		max-height: none;
	}

	div#home div.slider div.category div.number {
		display: none;
	}

	#home .menu a {
		min-width: 30px;
		min-height: 19.5px;
	}

	/* CONTATTI */
	#home .contacts {
		opacity: 0;
		pointer-events: none;
	}

	#home.zoom .contacts {
		pointer-events: all;
	}

	#home .contacts a {
		min-width: 30px;
	}

	/* PROFILO */
	#home .profile {
		opacity: 0;
		pointer-events: none;
	}

	#home.zoom .profile {
		pointer-events: all;
	}

	/* PRENOTA */
	#home .book {
		opacity: 0;
		pointer-events: none;
	}

	#home.zoom .book {
		pointer-events: all;
	}

	#home .profile a {
		min-width: 30px;
	}

	/* LINGUE */
	#home .languages {
		-webkit-transform: translate(0, 0);
		transform: translate(0, 0);
	}

	#home .languages ul li a,
	#home .languages ul li::after {
		font-size: 120%;
	}

	/* SLIDER */
	#home .slider .category .info {
		font-size: 85%;
	}

	#home .slider .category .info p {
		max-width: calc(var(--col) * 9);
	}

	#home .slider .category .info h2 span.index span {
		display: inline-block;
		width: calc(var(--fz) * 1.7);
		height: calc(var(--fz) * 1.7);
		border: 3px solid white;
		border-radius: 50%;
	}

	.footer {
		font-size: 90%;
	}

	.footer .footer_dx {
		-ms-flex-wrap: wrap;
		flex-wrap: wrap;
	}

	.footer .footer_dx .footer_logo {
		width: 100%;
	}

	.footer .footer_dx .footer_logo img {
		width: 100%;
		max-width: calc(var(--col) * 3);
	}

	.footer .footer_dx .footer_info {
		margin-left: 0;
		margin-top: 5%;
		width: 100%;
	}
}

/* ------------------------------------------------------------- */
/* REGOLE RESPONSIVE TABLET VERTICALE                            */
/* ------------------------------------------------------------- */
@media only screen and (max-width: 768px) {

	#home .logo.top,
	#home .logo.zoom,
	#home .logo.zoom.top {
		margin-top: 12px;
	}

	#home .slider .category .info .circle {
		margin-top: 5vh;
	}

	.footer .footer_dx .footer_info {
		-ms-flex-wrap: wrap;
		flex-wrap: wrap;
	}

	.footer .footer_dx .footer_info div:not(.footer_riservata) {
		width: 50%;
	}

	.footer .footer_dx .footer_info div.footer_riservata {
		width: 100%;
		margin-top: 5%;
	}

	#home .languages ul li a.book-button {
		display: none;
	}
}

/* ------------------------------------------------------------- */
/* REGOLE RESPONSIVE TABLET CELLULARE                            */
/* ------------------------------------------------------------- */
@media only screen and (max-width: 640px) {

	#home .slider .category .info h2 {
		line-height: 100%;
		font-size: 200%;
		font-weight: 700;
		font-family: 'mrs-eaves-xl-serif', serif;
	}

	#home .slider .category .info h2 span.index span {
		width: calc(var(--fz) * 1);
		height: calc(var(--fz) * 1);
		border: 2px solid white;
	}

	#home .slider .category .info h2 span.prodotti {
		font-size: 50%;
	}

	#home .slider .category .info p {
		font-size: 115%;
	}

	.credits span {
		display: block;
	}

	.credits span::after {
		content: '';
	}

	div.partner {
		-ms-flex-wrap: wrap;
		flex-wrap: wrap;
	}

	div.partner div.logo_lucores {
		width: 100%;
		margin-bottom: 10%;
	}

	div.partner div.logo_lucores div.cerchio {
		display: none;
	}

	div.partner div.logo_lucores div.etichetta {
		margin: 0;
		width: 100%;
		text-align: center;
	}

	div.partner div.logo {
		width: calc(100% / 3);
	}
}

@media only screen and (max-width: 480px) {
	.footer {
		text-align: center;
	}

	.footer .footer_dx {
		-webkit-box-ordinal-group: 2;
		-ms-flex-order: 1;
		order: 1;
	}

	.footer .footer_social {
		-webkit-box-ordinal-group: 3;
		-ms-flex-order: 2;
		order: 2;
		-ms-flex-item-align: end;
		align-self: flex-end;
	}

	.footer .footer_social a {
		margin: 0 0 0 auto;
		min-width: 26px;
	}

	.footer .footer_social a:nth-child(1) {
		margin: 0 0 20% auto;
	}

	.footer .footer_dx {
		padding-left: 12.5vw;
	}

	.footer .footer_dx .footer_logo img {
		margin: 0 auto;
		max-width: calc(var(--col) * 8);
	}

	.footer .footer_dx .footer_info div:not(.footer_riservata) {
		width: 100%;
	}

	.footer .footer_dx .footer_info div {
		margin-top: 10% !important;
	}
}

/* ------------------------------------------------------------- */
/* SPECIAL POPUP                                                 */
/* ------------------------------------------------------------- */

div.special_popup {
	position: fixed;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	background: rgba(44, 44, 44, 0.4);
	color: white;
	text-align: center;
	display: flex;
	justify-content: center;
	align-items: center;
	-webkit-backdrop-filter: blur(10px);
	backdrop-filter: blur(10px);
}

div.special_popup div.popup_content {
	width: 100%;
	max-width: 1024px;
	padding: 0 20px 80px 20px;
	background: black;
	display: grid;
	gap: 30px;
}

div.special_popup div.popup_content div.popup_close_container {
	display: flex;
	justify-content: flex-end;
}

div.special_popup div.popup_content div.popup_close_container a {
	color: white;
	text-decoration: none;
	font-size: 200%;
	font-weight: 100;
}

div.special_popup div.popup_content div.popup_inner {
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 50px;
}

div.special_popup div.popup_content div.popup_inner div.popup_text {
	display: grid;
	gap: 30px;
}

div.special_popup div.popup_content div.popup_inner div.popup_text a {
	color: white;
	font-weight: 700;
	letter-spacing: 0.05em;
	text-decoration: underline;
	text-decoration-thickness: 1px;
	text-underline-offset: 8px;
	line-height: 1.8;
}

div.special_popup div.popup_content div.popup_inner img {
	max-width: 300px;
}

div.special_popup div.popup_content div.popup_inner span.popup_text_span {
	display: block;
}

@media only screen and (max-width: 1024px) {
	div.special_popup picture {
		width: 100%;
		max-width: calc(var(--col) * 12);
		align-self: center;
	}
}

@media only screen and (max-width: 680px) {
	div.special_popup {
		padding: calc(var(--col) * 1);
		overflow: auto;
	}

	div.special_popup picture {
		max-width: calc(var(--col) * 14);
		align-self: flex-start;
	}

	div.special_popup picture a.close {
		font-size: 400%;
		color: #fff;
	}
}