@import url("../backend/css/jmo.css");

.overflow-visible {
	overflow: visible !important;
}

.sfumatura {
	background: rgb(184, 238, 174);
	background: radial-gradient(circle, rgba(184, 238, 174, 0.5) 37%, rgba(148, 187, 233, 0.5) 100%);
}

body:not(.admin-header) img {
	display: block;
	margin: auto;
}

body:not(.admin-header) a {
	color: #0886c5;
}

.col-0 {
	max-width: 30px !important;
}

.alert {
	width: 100%;
	margin-top: 20px;
	margin-bottom: 20px;
}

body:not(.admin-header) .container.content {
	margin-top: 5px;
	min-height: 170px;
	overflow-x: auto;
}

.steps .step {
	display: none;
}

.steps.uno .step.uno {
	display: initial;
}

.steps.due .step.due {
	display: initial;
}

.steps.tre .step.tre {
	display: initial;
}

.drop {
	max-height: 0px;
	transition: max-height .4s ease-out;
	overflow: hidden;
}

.drop.down {
	max-height: 500px;
	transition: max-height .7s ease-in;
}

.scrollwrap {
	overflow-x: hidden;
	overflow-y: auto;
	padding: 5px;
	padding-right: 10px;
}

.wrab {
	border: 2px solid #8080809c !important;
}

.cut-top {
	padding-top: 15px;
	border-top: 2px solid #8080809c !important;
}

.cut-bottom {
	padding-bottom: 15px;
	border-bottom: 2px solid #8080809c !important;
}

.noselect {
	-webkit-touch-callout: none;
	/* iOS Safari */
	-webkit-user-select: none;
	/* Safari */
	-khtml-user-select: none;
	/* Konqueror HTML */
	-moz-user-select: none;
	/* Firefox */
	-ms-user-select: none;
	/* Internet Explorer/Edge */
	user-select: none;
	/* Non-prefixed version, currently
                                  supported by Chrome and Opera */
}

.capi {
	text-transform: capitalize !important;
}

.darkbg {
	background-color: var(--sfondo-scuro) !important;
}

.dark {
	color: var(--main) !important;
}

.heavydark {
	font-weight: 700;
	color: var(--scuro) !important;
}

.solid {
	text-transform: uppercase;
	font-weight: 700;
}

.limitlogo {
	max-height: 160px;
}

.nowrap {
	white-space: nowrap;
}

.tavolo.guest .ordine-inner,
.tavolo.guest .distinct-inner {
	margin: auto;
	margin-bottom: 30px;
}

.tavolo.guest .ordine-inner h6,
.tavolo.guest .distinct-inner h6 {
	margin-top: 3px;
}

a:not(:hover)>.hovering,
a:hover>.not-hovering {
	display: none;
}

.def-popup.closed {
	display: none;
}

.def-popup {
	overflow: hidden;
	position: fixed;
	top: 5%;
	width: 90%;
	left: 5%;
	padding: 0;
	background: var(--menu-light);
	color: var(--body-text);
	border: 1px solid #cacaca;
	z-index: 9999;
	height: 90%;
	transition: .5s;
	transform: scale(0);
	box-shadow: 1px 1px 9px #777777;
	border-radius: 16px;
}

.def-popup.size-mobile {
	width: 400px;
	left: calc(50% - 200px);
}

.def-popup.open {
	transform: scale(1);
}

.def-popup .inner {
	width: 100%;
	height: calc(100% - 46px);
	overflow-y: scroll;
	-webkit-overflow-scrolling: touch;
}

.def-popup .closer {
	position: absolute;
	right: 0;
	top: 0px;
	background: var(--danger);
	color: white;
	cursor: pointer;
	width: 50px;
	height: 44px;
	padding-top: 10px;
	margin-top: -1px;
	font-size: 19px;
}

.def-popup .head>h4 {
	font-size: 20px;
	padding: 5px;
	display: inline-block;
	margin-bottom: 0;
	position: relative;
	bottom: 5px;
}

.def-popup .btn-md {
	margin: 10px auto;
	display: block;
}

.def-popup .head {
	background: var(--menu-lighter);
	color: var(--body-text);
	padding-top: 10px;
	text-align: center;
}

.def-popup .inner>.spacer {
	height: 70px;
	width: 1px;
}

.def-popup iframe {
	width: 100%;
	height: 100%;
}

.def-popup.with-iframe .inner {
	overflow: hidden;
}

.def-popup:not(.with-iframe) .head {
	border-bottom: 2px solid #8b8b8b;
}

.focused-div {
	transition: .3s;
	border-color: #80bdff;
	outline: 0;
	box-shadow: 0 0 0 0.2rem rgb(0 123 255 / 25%);
}

.no-more-focused-div {
	border-color: currentColor;
	box-shadow: 0 0 0 0.2rem rgb(0 123 255 / 0%);
}

.stars .star {
	display: inline-block;
	width: 25px;
	margin-right: -5px;
	position: relative;
	bottom: 6px;
	color: var(--main);
}

.stars.input .star {
	color: black;
	cursor: pointer;
}

.recensioni-locale {
	text-align: left;
}

.recensione-form {
	max-width: 390px;
}

.star:not(.is-full) .on-is-full,
.star:not(.is-half) .on-is-half,
.star:not(.is-empty) .on-is-empty {
	display: none;
}

.recensioni-w pre {
	font-family: 'Avenir-Roman';
	font-size: 16px;
	padding-bottom: 10px;
	border-bottom: 1px solid #c1c1c1;
	overflow: hidden;
	white-space: break-spaces;
}

.recensioni-w .metadata {
	color: var(--gray);
}

.frontend .social-shares {
	margin-bottom: 50px;
}

.name-stars {
	cursor: pointer;
}

.name-stars .star {
	color: white;
	width: 18px;
	bottom: 4px;
	left: 3px;
}

.recensione-form:not(.auth) .on-auth,
.recensione-form.auth .on-not-auth {
	display: none;
}

.piatto-name-stars {
	cursor: pointer;
}

.piatto-name-stars .star {
	width: 12px;
	bottom: 3px;
}

.piatto-review-w {
	display: inline-block;
	position: absolute;
	top: auto;
	bottom: 15px;
	right: 0;
	cursor: pointer;
}

.piatto-review-w .svg-icon.review {
	width: 25px;
	padding: 3px;
	color: var(--main);
	position: relative;
	top: 2px;
	left: 2px;
}

.piatto:not(.reviewing) .on-reviewing,
.piatto.reviewing .on-not-reviewing {
	display: none;
}

.review-dropdown {
	overflow-y: scroll;
	overflow-x: hidden;
	max-height: 530px;
	transition: .3s;
	width: 100%;
}

.piatto:not(.reviewing) .review-dropdown {
	overflow: hidden;
	max-height: 0;
}

.piatto .target-default-label,
#popup-product .target-default-label {
	display: none;
}

.piatto .render-recensioni .stars-wrap .star {
	width: 20px;
}

.with-tooltip {
	position: relative;
	cursor: pointer;
}

.with-tooltip ._tooltip {
	pointer-events: none;
	background: black;
	color: white;
	display: inline-block;
	position: absolute;
	z-index: 9999;
	font-size: 15px;
	border-radius: 10px;
	padding: 0 7px;
	left: 0;
	bottom: 22px;
}

.with-tooltip:not(:hover) ._tooltip {
	display: none;
}

.text-wol {
	color: #313F86;
}

.text-orange {
	color: var(--orange);
}

.icon-circle-button {
	height: 35px;
	width: 35px;
	display: flex;
	justify-content: center;
	align-self: center;
	background-color: #4361ee;
	background: linear-gradient(to right, #0081ff 0%, #0045ff 100%);
	border-radius: 50%;
	box-shadow: 0 10px 15px rgb(0 69 255 / 20%);
}

.icon-circle-button.big {
	height: 50px;
	width: 50px;
}

.icon-circle-button svg {
	font-size: 17px;
	vertical-align: middle;
	margin-right: 0;
	color: #fff;
	width: 19px;
	align-self: center;
}

.icon-circle-button.big svg {
	font-size: 25px;
	width: 28px;
	height: 28px;
}

.qrcode-wrapper {
	width: 200px;
	padding: 10px;
	background: white;
	margin: auto;
}

.qrcode-wrapper img,
.qrcode-wrapper canvas {
	width: 100%;
}

.text-18 {
	font-size: 18px;
}

.metodi-pagamento-digitali-icons {
	margin-bottom: 20px;
}

.metodo-pag-digitale {
	display: inline-block;
}

.metodo-pag-digitale img {
	width: 100px;
	height: 100px;
}

.draggable {
	position: absolute;
	z-index: 9;
}

.drag-handle {
	cursor: move;
	z-index: 10;
}

.full-draggable {
	cursor: move;
}

#yoconsent-popup {
	position: fixed;
	top: 0;
	left: 0;
	width: 100%;
	background: #000000d9;
	box-shadow: 0 0px 1px 1px #000000c4;
	z-index: 9999;
	color: white;
	padding: 19px;
	transition: top .6s;
}

#yoconsent-popup.closing {
	top: -500px;
}

#yoconsent-popup a {
	text-decoration: underline;
	color: #0886c5 !important;
}

#yoconsent-popup hr {
	border-color: white;
	margin-top: 20px;
	margin-bottom: 0px;
}

.yoconsent-banner-button {
	display: inline-block;
	background: #db2929;
	padding: 4px 12px;
	border-radius: 20px;
	margin-top: 11px;
	margin-left: 10px;
}

.yoconsent-banner-button-wrap {
	display: inline-block;
}

@media(max-width: 768px) {
	.yoconsent-banner-button-wrap {
		display: block;
		text-align: right;
	}
}

.yoconsent-close {
	width: 24px;
	font-size: 24px;
	margin-left: auto;
	margin-top: -20px;
	float: right;
}

.yoconsent-close,
.yoconsent-banner-button {
	cursor: pointer;
	transform: scale(1);
	transition: transform .3s;
}

.yoconsent-close:hover,
.yoconsent-banner-button:hover {
	transform: scale(1.1);
}

.yoconsent-close:active,
.yoconsent-banner-button:active {
	transform: scale(.9);
}

.yoconsent-banner-button.yoconsent-settings {
	background-color: transparent;
	border: 1px solid white;
}

#yoconsent-settings-floater {
	position: fixed;
	background: #303030;
	color: white;
	font-size: 20px;
	bottom: 20px;
	left: 20px;
	z-index: 200;
	font-size: 14px;
	padding: 5px;
	overflow: hidden;
	box-sizing: border-box;
	border-radius: 3px;
	max-width: 40px;
	transition: .3s;
	white-space: nowrap;
	cursor: pointer;
	opacity: 1;
}

#yoconsent-settings-floater:hover {
	max-width: 250px;
}

#yoconsent-settings-floater>span {
	display: inline-block;
	vertical-align: middle;
}

#yoconsent-settings-floater .icon svg {
	width: 30px;
	transition: .3s;
	transform: rotate(0deg);
}

#yoconsent-settings-floater .yoconsent-settings-text {
	margin-left: 6px;
	padding-right: 3px;
}

#yoconsent-settings-floater:hover .icon svg {
	transform: rotate(60deg);
}

/*
start: Fancy switch
*/

.fancy-knobs,
.fancy-layer {
	position: absolute;
	top: 0;
	right: 0;
	bottom: 0;
	left: 0;
}

.fancy-switch {
	position: relative;
	width: 74px;
	height: 36px;
	overflow: hidden;
}

.fancy-switch,
.fancy-switch .fancy-layer {
	border-radius: 100px;
}

.fancy-checkbox {
	position: relative;
	width: 100%;
	height: 100%;
	padding: 0;
	margin: 0;
	opacity: 0;
	cursor: pointer;
	z-index: 3;
}

.fancy-knobs {
	z-index: 2;
}

.fancy-layer {
	width: 100%;
	background-color: #fcebeb;
	transition: 0.3s ease all;
	z-index: 1;
}

.fancy-switch .fancy-knobs:before {
	content: 'NO';
	left: 42px;
	background-color: var(--danger);
	position: absolute;
	top: 4px;
	width: 20px;
	height: 10px;
	color: #fff;
	font-size: 10px;
	font-weight: bold;
	text-align: center;
	line-height: 1;
	padding: 9px 4px;
	border-radius: 50%;
	transition: 0.3s ease all, left 0.3s cubic-bezier(0.18, 0.89, 0.35, 1.15);
	box-sizing: content-box;
}

.fancy-switch .fancy-checkbox:active+.fancy-knobs:before {
	width: 46px;
	border-radius: 100px;
}

.fancy-switch .fancy-checkbox:checked:active+.knobs:before {
	margin-left: -26px;
}

.fancy-switch .fancy-checkbox:checked+.fancy-knobs:before {
	content: 'OK';
	left: 4px;
	background-color: var(--success);
}

.fancy-switch .fancy-checkbox:checked~.fancy-layer {
	background-color: #ebf7fc;
}

.fancy-switch.readonly {
	filter: saturate(0);
	pointer-events: none;
}

/*
end: Fancy switch
*/
.cookie-settings-popup .jmo-modal {
	width: 820px;
}

/*
start: cookie policy settings popup
*/
.tabs-wrap .content-item:not(.selected) {
	display: none;
}

.settings-logo {
	width: 180px;
	max-width: 100%;
	margin-bottom: 20px !important;
	margin-left: 0 !important;
	margin-top: 0 !important;
}

.cookie-settings-popup .nav-icon {
	width: 20px;
}

.cookie-settings-popup .nav-item>div {
	display: inline-block;
	vertical-align: middle;
}

.cookie-settings-popup .nav-item {
	padding: 15px 10px;
	border: 1px solid gray;
	border-radius: 5px;
	margin-bottom: 10px;
	cursor: pointer;
}

.cookie-settings-popup .nav-item.selected {
	background: var(--danger);
	color: white;
}

.cookie-settings-popup .nav-item .nav-text {
	margin-top: 4px;
	margin-left: 2px;
}

.cookie-list {
	vertical-align: top;
	margin-bottom: 30px;
}

.cookie-list td,
.cookie-list th {
	padding: 5px;
}

.cookie-list tr {
	border-bottom: .8px solid gray;
}

.cookie-settings-popup .policy-link {
	color: var(--info) !important;
	margin-right: 10px;
}

.cookie-settings-popup .policy-link:hover {
	text-decoration: underline;
}

.cookie-banner-open #yoconsent-settings-floater {
	opacity: 0;
}

/*
end:cookie policy settings popup
*/
.booking-filter .on-loading {
	opacity: 1;
	transition: .3s;
	display: block !important;
}

.booking-filter:not(.loading) .on-loading {
	opacity: 0;
}

.booking-filter:not(.nores) .on-nores {
	display: none;
}

.bookable-option-selector .bookable-option {
	cursor: pointer;
}

.bookable-option-selector .bookable-option:hover {
	text-decoration: underline;
}

.fc-textual-event .fc-event>div:not(.fc-event-title) {
	display: none;
}

.fc-textual-event.fc .fc-daygrid-day-events {
	position: absolute !important;
	top: 0px;
	left: 3px;
	pointer-events: none;
}

.fc-textual-event .fc-event .fc-event-title {
	color: inherit;
}

.fc-textual-event-toast .fc-event {
	color: white !important;
	background: var(--danger);
	width: 17px;
	height: 17px;
	font-size: 10px;
	border-radius: 50% !important;
	text-align: center;
	position: relative;
	top: 5px;
}

.layout-spacing-up {
	padding-top: 40px;
}

.qta-switch-group {
	position: relative;
	white-space: nowrap;
}

.qta-switch-group>* {
	display: inline-block;
	vertical-align: top !important;
	position: relative;
	z-index: 2;
}

.qta-switch-button svg {
	width: 23px !important;
	height: 23px !important;
	vertical-align: middle;
}

.qta-switch-button svg path {
	fill: currentColor !important;
}

.qta-switch-button {
	padding: 5px;
	cursor: pointer;
	color: var(--main);
}

.qta-switch-button.disabled {
	color: gray;
	cursor: not-allowed;
}

.qta-switch-group .form-control {
	background: transparent;
	border: none;
	z-index: 0;
	pointer-events: none;
	padding: 0;
	height: 37px !important;
	width: 20px !important;
	-moz-appearance: textfield;
	text-align: center;
}

.qta-switch-group .form-control::-webkit-outer-spin-button,
.qta-switch-group .form-control::-webkit-inner-spin-button {
	margin: 0;
	-webkit-appearance: none;
}

img.select2-option-icon {
	width: 21px;
	height: 21px;
	display: inline-block;
	vertical-align: text-top;
}

.op-5 {
	opacity: .5;
}

.apexcharts-legend-marker {
	margin-right: 5px;
	top: 1px !important;
}

.vertical-center-wrap {
	display: flex;
	justify-content: center;
	align-items: center;
	min-height: 100%;
}

.vertical-center-wrap-left {
	justify-content: left;
}

.text-underline {
	text-decoration: underline !important;
}

.visibility-hidden {
	visibility: hidden !important;
}

.booking-filter button.but {
	font-size: 18px;
	padding: 5px;
}

.booking-filter {
	border-radius: 10px;
}

#menu .booking-filter {
	margin-top: -115px;
	position: relative;
	z-index: 1;
}

.booking-filter label {
	margin-top: 0.5rem;
	margin-bottom: 0.2rem;
}

@media(max-width: 768px) {
	.booking-filter button {
		margin-top: 20px;
	}
}

.space-between {
	justify-content: space-between;
}

.min-width-185 {
	width: 185px;
	max-width: 100%;
}

.mb-03 {
	margin-bottom: 0.3rem;
}