html {
	overscroll-behavior: none;
}
body {
	font-family: "Helvetica Neue",Helvetica,Arial,sans-serif;
	font-size: 14px;
	line-height: 1.428571429;
	color: #333;
	background-color: #fff;
	text-align: inherit;
	overflow: hidden;
	overscroll-behavior: none;
}
#modal_input_empty .modal-body {
	height: auto;
}
#content {
	height: 100%;
	overflow-y: scroll;
	scrollbar-color: #d2d2d2 #807d7d !important;
	scrollbar-width: thin !important;
}
input:focus, textarea:focus, select:focus {
	outline: none;
	outline-style: none;
	box-shadow: none;
	border-color: transparent;
}
input, textarea, select {
	outline: none;
	outline-style: none;
	box-shadow: none;
	border-color: transparent;
}
.modal-open .bootbox {
	opacity: 1 !important;
}
#hidden {
	display: none;
}
.container {
	width: 100%;
	height: 100vh;
	padding: 0;
	max-width: none;
}
.row {
	margin: 0;
}
.hide {
	display: none;
}
.modal-backdrop.in {
	background: transparent;
}
.not-valid {
	background: #d45858;
	border-bottom: 1px solid red !important;
	color: #000;
}
.not-valid:focus {
	background: #fff !important;
	color: #000 !important;
}
#app_form, #wrapper {
	height: 100%;
}
#wrapper {
	display: flex;
	flex-wrap: wrap;
}
#content {
	padding: 0;
	padding-right: 10px;
	padding-left: 10px;
}
.panel-body {
	padding: 0;
}
.menu {
	margin: 0;
	padding: 0;
	text-align: right;
}
.menu-item {
	display: inline-block;
	padding: 10px;
}
.menu-item > a {
	position: relative;
	overflow: hidden;
	padding: 5px;
	color: #000;
	text-decoration: none;
}
.menu-item > a::after {
	content: "";
	position: absolute;
	left:0;
	top: 100%;
	height: 2px;
	background: #000;
	width: 0%;
	transition: .2s ease-out;
	overflow: hidden;
}
.menu-item > a:hover::after {
	width: 100%;
}

.logo-container {
	display: inline-block;
	height: 130px;
	text-align: center;
	padding-top: 15px;
}
.logo {
	display: block;
	height: 100%;
	max-width: 100%;
	object-fit: contain;
}
.menu-container {
	padding: 0;
}
.heading-block > .container-fluid {
	padding: 0;
}
.menu-container > .container-fluid {
	padding-right: 0;
}
.menu-2 {
	padding: 0;
}
.menu-2 > ul {
	text-align: right;
	padding: 0;
}
.dropdown-toggle {
	background: #fff;
}
.dropdown-item {
	display: inline-block;
	text-decoration: none;
	color: #000;
	width: 100%;
}
.dropdown-item:hover {
	text-decoration: none;
}
.login {
	transition: .3s ease-out;
}
.cart a {
	position: relative;
}
/*NOTE:
	è meglio inserire questa regola nel tpl per gestire il numero di oggetti nel carrello!!
*/
.cart a::before {
	content: "2";
	color: #fff;
	display: flex;
	justify-content: center;
	align-items: center;
	text-align: center;
	position: absolute;
	left: 70%;
	bottom: 70%;
	width: 17px;
	height: 17px;
	border-radius: 50%;
	background: #ffcc00;
}
.menu-tools-item a::after {
	content: "";
	background: transparent;
	width: 0 ;
	height: 0;
	left:0;
}
.menu-tools-item a:hover::after {
	width:0;
	left:0;
}
.menu-tools-item .dropdown-menu-button {
	color: #fff;
	background-color: #5a6268;
	border-color: #545b62;
}
.menu-tools-item .dropdown-menu-button:hover {
	color: #5a6268;
	background-color: #fff;
	border-color: #545b62;
}
#menu-login-ul {
	margin: 0;
	display: inline-block;
	padding-left: 5px;
	padding-right: 5px;
}
.relative {
	position: relative;
}
#menu-login-ul li {
	display: inline-block;
}
#menu-login {
	color: #000;
	text-decoration: none;
	text-transform: capitalize;
}
#menu-login-ul .navbar-text {
	text-transform: capitalize;
}
.login:hover {
	box-shadow: 2px 2px 14px 3px #a2a2a2;
}
#menu-login-li .popover .arrow {
	display: none;
}
#menu-login-li .popover .popover-header {
	font-size: 1.5rem;
	background: none;
	border: none;
}

/* ==========================================================================
   loading overlay
   ========================================================================== */
.bmg_loading:after{
	content: "";
	display: block;
	position: absolute;
	top: 0;
	right: 0;
	bottom: 0;
	left: 0;
	background: rgba(255,255,255,.8) url(../img/ui-anim_basic_16x16.gif) 50% 50% no-repeat;
	z-index: 1;
}

/* ==========================================================================
   popover
   ========================================================================== */
.popover.fade {
	opacity: 1;
	width: 50%;
	position: absolute;
	left: 50% !important;
	transform: translateX(-50%) !important;
	max-width: none;
	padding: 10px;
}
.popover.fade .close {
	cursor: pointer;
}
.popover.fade label, .bootbox-body label {
	text-transform: capitalize;
}
.popover.fade input, .bootbox-body #email_forgot, #reg_password, #reg_retype_password {
	border: 1px solid #000;
}
.popover.fade .btn.btn-primary.btn-block, .bootbox-body .btn.btn-primary.btn-block, #confirm-data-btn {
	background: #4d4d4d;
	border: 1px solid #262525;
}
.popover .form-group label, .bootbox-body .form-group label {
	width: 100%;
}

/* ==========================================================================
   modal
   ========================================================================== */
h2.heading-title {
	margin-top: 15px;
}
/*
.bootbox .bootbox-close-button {
	margin: 0;
}
.bootbox .modal-title {
	padding: 1rem 1rem;
}
*/

/* ==========================================================================
   sub-menu
   ========================================================================== */
.sub-menu {
	padding: 0;
	position: absolute;
	height: 0;
	overflow: hidden;
	background: #fff;
	top: 100%;
	padding: 5px;
	transition: .3s ease-out;
}
.sub-menu li {
	display: inline-block;
	width: 100%;
	padding: 1px;
	text-align: right;
	white-space: nowrap;
}
.sub-menu a {
	position: relative;
	display: inline-block;
	color: #000;
	text-decoration: none;
	text-transform: capitalize;
}
.sub-menu a::after {
	content: "";
	position: absolute;
	left:0;
	top: 100%;
	height: 2px;
	background: #000;
	width: 0%;
	transition: .2s ease-out;
	overflow: hidden;
}
.sub-menu a:hover::after {
	width: 100%;
}
#menu-login-ul:hover .sub-menu {
	height: auto;
	border: 1px solid #000;
}

/* ==========================================================================
   footer-flex
   ========================================================================== */
.footer-flex {
	background-color: #F5F5F5;
	z-index: 1041;
}

/* ==========================================================================
   hall / guests
   ========================================================================== */
.hall_select select {
	padding: 10px;
	background: #fff;
	border-bottom: 1px solid #000;
	border-radius: 5px;
	cursor: pointer;
}
#guests-select, .hall_select, #step_datepicker, .calendar-legend {
	display: none;
}
.guests-select {
	display: none;
}
#guests-select .input-group-prepend {
	float: left;
}
#guests-select button {
	padding: 0;
}
.pre-guests-select {
	display: flex;
	align-items: center;
}
.pre-guests-select ul {
	padding: 0;
}
.pre-guests-select ul li {
	display: inline-block;
	padding-left: 2px;
	padding-right: 2px;
}
.pre-guests-select label {
	width: 40px;
	font-size: 22px;
	cursor: pointer;
	padding: 0px;
	margin: 0;
}
.pre-guests-select label span {
	padding: 10px;
	width: 100%;
	background: #f9f9f9;
	border: 1px solid rgba(179, 179, 179, 0.50);
}
.pre-guests-select input:checked + span {
	border: 1px solid #000;
}
#ospiti {
	height: 50px;
}
#guests-select .form-group {
	display: flex;
	align-items: center;
	width: 100%;
}
.res-form-group {
	display: inline-block;
}
.res-form-group label {
	float: left;
	height: 100%;
	font-size: 22px;
	
}
.res-form-group .form-control {
	float: left;
	text-align: center;
	border: none;
	box-shadow: none;
}
.res-form-group .input-group {
	border: none;
	float: left;
	width: 45% !important;
	align-items: center;
}
.res-form-group	.bootstrap-touchspin-down, .res-form-group .bootstrap-touchspin-up {
	border: none;
	background: #f9f9f9;
	width: 50px;
	height: 50px;
	padding: 3px;
	font-size: 20px;
	border: 1px solid rgba(179, 179, 179, 0.50);
	padding: 0;
}
.loading, .loading-step {
	display: none;
	width: 100px;
	position: absolute;
	top: 0;
	right: 0;
	bottom: 0;
	left: 0;
	z-index: 1;
	text-align: center;
	margin: auto;
	background: #fff;
	height: 100px;
	display: flex;
	justify-content: center;
	align-items: center;
	box-shadow: 2px 2px 3px 3px gray;
	border-radius: 25px;
}
#step_datepicker {
	position: relative;
	overflow: hidden;
}
#step_datepicker::before {
	content: "";
	position: absolute;
	top:0;
	left: -100%;
	height: 100%;
	width: 100%;
	background: rgba(212, 175, 55, 0.56);
	z-index: 3;
	transition: .4s ease;
}
#step_datepicker::after {
	content: "";
	position: absolute;
	top:0;
	left: 100%;
	height: 100%;
	width: 100%;
	background: rgba(212, 175, 55, 0.56);
	z-index: 3;
	transition: .4s ease;
}
#step_datepicker.datepicker__prev_transition::before {
	left: 100%;
}
#step_datepicker.datepicker__next_transition::after {
	left: -100%;
}
#step_datepicker .datepicker {
	padding: 0;
}
#step_datepicker .datepicker .prev {
	float: left;
	background-position: center -30px;
}
#step_datepicker .datepicker .next {
	float: right;
	background-position: center 0px;
}
#step_datepicker .datepicker, #step_datepicker .table-condensed {
	width: 100%;
}
#step_datepicker .datepicker tbody td {
	padding: 15px !important;
}
#step_datepicker .datepicker .dow {
	font-weight: normal;
}
#step_datepicker .datepicker thead {
	border-bottom: 1px solid #000;
}
#step_datepicker .datepicker .today {
	background: #ffeeaa !important;
}
#step_datepicker .datepicker .day {
	border-radius:0;
}
#step_datepicker .datepicker .prev, #step_datepicker .datepicker .next, #step_datepicker .datepicker .datepicker-switch {
	position: absolute;
	top:0;
}
#step_datepicker .datepicker .datepicker-switch {
	left: 0;
	font-size: 22px;
	font-weight: normal;
}
#step_datepicker .datepicker th.datepicker-switch {
	width: 170px;
	text-align: left;
}
#step_datepicker .datepicker .next {
	left: calc(100% - 80px);
}
#step_datepicker .datepicker .prev {
	left: calc(85% - 80px);
}
#step_datepicker .datepicker .next, #step_datepicker .datepicker .prev {
	font-weight: normal;
	font-size: 25px;
	display: flex;
	align-items: center;
	justify-content: center;
	width: 80px;
	height: 50px;
	background: #f9f9f9 !important;
	border: 1px solid rgba(179, 179, 179, 0.50);
}
#step_datepicker .datepicker-days, #step_datepicker.datepicker-months, #step_datepicker .datepicker-years {
	position: relative;
}
#step_datepicker .datepicker .table-condensed thead tr:nth-child(1) {
	height: 50px;
}
#step_datepicker .datepicker .datepicker-chiusura,
#step_datepicker .datepicker td.old.datepicker-chiusura, #step_datepicker .datepicker td.new.datepicker-chiusura {
	background: #4d4d4d !important;
	color: #fff !important;
}
#step_datepicker .datepicker .datepicker-full {
	background: #ff0000 !important;
	color: #fff !important;
}

#step_datepicker .datepicker td.old, .datepicker td.new,
#step_datepicker .datepicker td.old.datepicker-full, #step_datepicker .datepicker td.new.datepicker-full,
#step_datepicker .datepicker td.old.today, #step_datepicker .datepicker td.new.today {
	pointer-events: none;
	color: #ccc !important;
	background: none !important;
}
.calendar-legend {
	margin: .5em 0 1em 0;
	padding: 0;
	font-weight: normal;
	float: none;
	padding: 5px;
	padding-left: 0;
}
.calendar-legend .col-sm-2, .col-sm-3 {
	padding: 0;
}
.chiusura, .oggi, .ndisp {
	display: inline-block;
	width: 10px;
	height: 10px;
	margin-right: 10px;
}
#step_datepicker .datepicker .disabled {
	cursor: not-allowed !important;
}
.chiusura {
	background: #4d4d4d;
}
.oggi {
	background: #ffeeaa;
}
.ndisp {
	background: #ff0000;
}
.meal-select {
	display: none;
	align-items: center;
}
.meal-select label {
	font-size: 22px;
}
.meal-select label {
	cursor: pointer;
	padding: 5px;
}
.meal-select .btn-light {
	background: #f9f9f9;
	border: 1px solid rgba(179, 179, 179, 0.50);
}
.meal-select label span {
	padding: 5px;
}
.meal-select input:checked + span {
	border: 1px solid #000;
	background: #f0efef;
}
.meal-select li {
	display: inline-block;
	padding-left: 5px;
	padding-right: 5px;
}
.meal-select span {
	min-width: 90px;
	white-space: nowrap;
}
/*
	Time Select
*/
.time-select {
	display: none;
}
.time-select label {
	padding-top: 5px;
	font-size: 22px;
}
.time-select > div {
	padding-right: 0;
}
.hour-selection {
	padding: 0;
}
.hour-slider {
	width: 100%;
}
.hour-element {
	text-align: center;
	font-size: 20px;
	padding: 0 15px;
}
.hour-slider label {
	cursor: pointer;
	padding: 6px;
	font-weight: 700;
}
.hour-slider input:checked + span {
	border: 1px solid #000;
}
.hour-prev, .hour-next {
	padding: 5px;
	background: #f9f9f9;
	text-align: center;
	font-size: 20px;
}
.hour-prev:hover, .hour-next:hover {
	cursor: pointer;
}
.hour-prev::selection, .hour-next::selection {
	background: transparent;
}
.input-radios {
	display: none;
}
.time-disabled {
	display: none;
}
.slick-disabled {
	opacity: 0.5;
}
.slick-track {
	margin: 0;
}
.btn-res {
	cursor: pointer;
	background: #4d4d4d;
	color: #fff !important;
}
.step-1 .continue {
	display: none;
}
.continue {
	justify-content: flex-end;
	padding: 0;
}
.continue-prev {
	justify-content: space-between;
}
.continue .col-md-8 {
	width: 100%;
	display: inline-block;
}
.continue .col-md-6 {
	padding: 0;
}
.continue button, .continue a {
	border-radius: 0;
	background: #4d4d4d;
	color: #fff;
	position: relative;
	overflow: hidden;
	animation-name: gradient;
 	animation-duration: .5s;
	animation-delay: 2s;
 	animation-direction: normal;
	animation-iteration-count: 1;
	animation-timing-function: cubic-bezier(.77,0,.18,1);
}

@keyframes gradient {
	0% {
		background: linear-gradient(150deg, #4d4d4d 0%, #b0acac 10% , #4d4d4d 100%);
	}
	10% {
		background: linear-gradient(150deg, #4d4d4d 10%, #b0acac 20% , #4d4d4d 100%);
	}
	20% {
		background: linear-gradient(150deg, #4d4d4d 20%, #b0acac 30% , #4d4d4d 100%);
	}
	30% {
		background: linear-gradient(150deg, #4d4d4d 30%, #b0acac 40% , #4d4d4d 100%);
	}
	40% {
		background: linear-gradient(150deg, #4d4d4d 40%, #b0acac 50% , #4d4d4d 100%);
	}
	50% {
		background: linear-gradient(150deg, #4d4d4d 50%, #b0acac 60% , #4d4d4d 100%);
	}
	60% {
		background: linear-gradient(150deg, #4d4d4d 60%, #b0acac 70% , #4d4d4d 100%);
	}
	70% {
		background: linear-gradient(150deg, #4d4d4d 70%, #b0acac 80% , #4d4d4d 100%);
	}
	80% {
		background: linear-gradient(150deg, #4d4d4d 80%, #b0acac 90% , #4d4d4d 100%);
	}
	90% {
		background: linear-gradient(150deg, #4d4d4d 90%, #b0acac 100% , #4d4d4d 100%);
	}
	100% {
		background: linear-gradient(150deg, #4d4d4d 100%, #b0acac 100% , #4d4d4d 100%);
	}
}
.continue button span:nth-child(1) {
	border-right: 0.5px solid #fff;
}
.continue button span:nth-child(2) {
	/*font-size: 18px;*/
}
.continue button::before {
		content: "";
		position: absolute;
		top:0;
		left: 0%;
		height: 100%;
		background: #fff;
		width:0;
		transition: .3s ease-out;
}
.continue button:hover::before {
	width: 100%;
}
.continue button:hover span:nth-child(1) {
	border-right: 0.5px solid #4d4d4d;
}
.prev-step, .next-step {
	width: 225px;
}
.prev-step span, .next-step span {
	padding: 0;
}
/*
		SIDEBAR
*/
#sidebar {
	padding: 0;
	border-right: 1px solid #4d4d4d;
	position: relative;
	height: 100vh;
}
#sidebar > .row {
	margin: 0;
}
#sidebar .card-body {
	padding-top: 0px;
}
#sidebar .card-header {
	padding-bottom: 5px;
}
.row-info {
	z-index: 1;
	padding: 10px;
	position: relative;
}
.menu-info {
	padding: 0;
	display: flex;
	align-items: center;
	transition: .5s ease-out;
}
.menu-info-icon {
	transition: .5s ease-out;
}
.menu-info:hover {
	/*background: rgba(77, 77, 77, 0.51);*/
	cursor: pointer;
	/*color: #fff;*/
	border-radius: 10px;
}
.menu-info:hover .menu-info-icon {
	transform: scale(0.5);
}
.menu-info > span {
	padding: 5px;
}
.menu-info-text {
	font-size: 20px;
}
.contacts {
	padding: 0;
	float: right;
	text-align: right;
}
.contacts span {
	width: 50px;
	display: inline-flex;
	height: 50px;
	background: #4d4d4d;
	justify-content: center;
	align-items: center;
	transition: .5s ease-out;
	color: #fff;
	cursor: pointer;
}
.contacts > span {
	margin-right: 10px;
}
.contacts span a, .contacts span button {
	color: #fff;
	width: 100%;
	height: 100%;
	display: flex;
	justify-content: center;
	align-items: center;
}
.contacts span a:hover, .contacts span button:hover {
	text-decoration: none;
}
.contacts span:hover {
	transform: scale(0.8);
}
.accordion-menu {
	display: none;
	position: absolute;
	width: 100%;
	height: 100%;
	z-index: 0;
	top:0;
	padding: 5px;
	padding-top: 60px;
	background: rgba(255, 255, 255, 0.75);
	overflow-y: scroll;
	scrollbar-color: #d2d2d2 #807d7d !important;
	scrollbar-width: thin !important;
}
/* START - Scrollbar for Chrome */
#content::-webkit-scrollbar, .accordion-menu::-webkit-scrollbar {
	width: 7.5px;
	height: 15px;
}
#content::-webkit-scrollbar-track-piece, .accordion-menu::-webkit-scrollbar-track-piece {
	background-color: #d2d2d2;
}
#content::-webkit-scrollbar-thumb:vertical, .accordion-menu::-webkit-scrollbar-thumb:vertical {
	height: 15px;
	background-color: #807d7d;
}
/* END - Scrollbar for Chrome */
.open-accordion-menu {
	display: block;
	transition: .5s ease-out;
}
#accordion h4 {
	font-size: 18px;
}
#accordion .icon {
	padding-right: 10px;
}
#accordion > div {
	padding-left: 20px;
}
#accordion .card, #accordion .card-header {
	border: none;
	background: transparent;
}
.opening-times td {
	padding: 3px;
	padding-left: 10px;
}
.restaurant-menu a {
	display: block;
	color: #000;
	text-decoration: none;
}
.restaurant-menu a:hover {
	text-decoration: underline;
}
.open-today {
	color: #668000;
}
.closed {
	color: #ff0000;
}
#accordion a {
	color: #000;
	font-size: 16px;
	padding: 2px;
}
#accordion a.btn {
	font-weight: bold;
}
#accordion a:hover {
	text-decoration: none;
}
#accordion a[data-toggle="collapse"] {
	position: relative;
}
#accordion a[data-toggle="collapse"]:before {
	display: block;
	content: ">";
	position: absolute;
	color: #000;
	font-size: 18px;
	line-height: 22px;
	right: 100%;
	top: calc(50% - 10px);
	padding-right: 5px;
	transition: .3s ease-out;
	-webkit-transform: rotate(90deg);
	-moz-transform: rotate(90deg);
	transform: rotate(90deg);
}
#accordion a[aria-expanded="false"]:before {
	-webkit-transform: rotate(0deg);
	-moz-transform: rotate(0deg);
	transform: rotate(0deg);
}
#accordion h5 span {
	display: inline-block;
	vertical-align: middle;
	font-size: 18px;
}
.opening-table td {
	padding: 1px 3px 1px 3px;
}
.card-body.booking {
	padding: 0px !important;
}
#payments_methods .card-body {
	padding: 5px !important;
}
/*
	MODAL WINDOW
*/
/*.empty-field-modal .modal-dialog {
	top: 50%;
	transform: translateY(-50%);
}
.map-modal .modal-body {
	height: 500px;
}
.modal-body > div {
	width: 100%;
	height: 100%;
	position: relative;
}
.modal-body iframe {
	width: 100%;
	height: 100%;
}
*/
/*------------
		STEP 1
----------------*/
.intro {
	font-size: 18px;
}
.form-restaurant {
	padding: 0;
}
.form-element {
	padding-bottom: 20px;
}
.form-element label:not(.i-accept),
.form-element > span {
	font-weight: normal;
	font-size: 17px;
}
.billingForm label,
label .txt {
	font-size: 15px;
}
.form-element > .inputField {
	font-size: 14px;
}
.form-element input, .form-element textarea, .phone-group {
	border: none;
	border-bottom: 1px solid #000;
	position: relative;
	overflow: hidden;
}
.flag-container, .selected-flag {
	background: #fff !important;
}
.phone-group {
	overflow: visible;
}
.phone-group input {
	border: none;
}
.form-element .text:focus {
	color: #fff;
	background: #424242;
	transition: .7s ease;
}
.form-element #pm_form_sca p {
	font-size: 15px;
}
#pm_form_sca label {
	/* same styles as h3 */
	font-size: 1.75rem;
	margin-bottom: 0.5rem;
	font-weight: 500;
	line-height: 1.2;
}
#pm_form_sca .panel-body > .row > * {
	/* single columns */
	flex: none;
	padding: 0;
	max-width: none;
}
#nexi-form .form-element label,
#stripe-form .form-element label {
	font-size: 14px;
}
#nexi-form .form-control,
#stripe-form .form-control {
	border: none;
	border-bottom: 1px solid #000;
	border-radius: 0;
	padding-left: 0;
	padding-right: 0;
	box-shadow: none!important;
}
#nexi-form .form-control + .input-group-addon,
#stripe-form .form-control + .input-group-addon {
	box-shadow: none!important;
}
#nexi-form .input-group,
#stripe-form .input-group {
	flex-wrap: nowrap;
}
#nexi-form button,
#stripe-form button {
	border-radius: 0;
}
#prefix {
	border: none;
	-webkit-appearance: none;
	-moz-appearance: none;
	appearance: none;
	position: relative;
}
.intl-tel-input {
	width: 100%;
}
.select-wrapper {
	position: relative;
}
.select-wrapper::after {
	content: "";
	position: absolute;
	width: 7px;
	height: 7px;
	border-left: 1px solid #000;
	border-bottom: 1px solid #000;
	transform: translateY(-50%) rotate(-45deg);
	top: 35%;
	left: 95%;
	z-index: 2;
}
.regimes > span {
	padding: 0;
}
.regimes label {
	padding: 10px;
	display: flex;
	align-items: center;
}
.register_guest input,
.regimes input,
.terms input,
#pm_form_sca input {
	display: none;
}
.register_guest .checkmark,
.regimes .checkmark,
.terms .checkmark,
#pm_form_sca .checkmark {
	width: 20px;
	height: 20px;
	display: inline-block;
	background: #eee;
	position: relative;
	cursor: pointer;
	margin-right: 10px;
}
.register_guest .checkmark:after,
.regimes .checkmark:after,
.terms .checkmark:after,
#pm_form_sca .checkmark:after {
	content: "";
	position: absolute;
	left: 6px;
	top: -5px;
	width: 10px;
	height: 20px;
	border: solid #000;
	border-width: 0 3px 3px 0;
	-webkit-transform: rotate(45deg);
	-ms-transform: rotate(45deg);
	transform: rotate(45deg);
	opacity: 0;
	transition: .5s ease;
}
input.checkbox:checked + .checkmark:after,
#pm_form_sca input.checkbox:checked + .checkmark:after {
	opacity: 1;
}
.intro {
	font-size: 20px;
}
#payments_methods {
	flex-direction: column;
}
#payments_methods .card-header, #payments_methods .res-button {
	padding: 0;
}
#payments_methods label{
	color:#333;
	font-size: 14px;
}
.payment-heading {
	width: 100%;
}
.payment .heading-block {
	padding: 0;
	text-align: left;
}
.payment-heading {
	background: #f5f5f5;
}
.payment-heading label {
	margin: 0;
	width: 100%;
	height: 100%;
	padding: 15px;
	cursor: pointer;
}
.payment-collapse {
	transition: height .35s ease-out;
}
#payment_method_cc_form .card-body > .form-horizontal {
	padding: 3px;
}
#payment_method_cc_form .row {
	width: 100%;
	margin-bottom: 1rem;
}
#payment_method_cc_form .row.form-horizontal {
	margin: 1.5rem 0;
}
#payment_method_cc_form .row .col {
	padding: 0;
}
#payment_method_cc_form .form-group > div {
	float: left;
	padding: 0;
}
#payment_method_cc_form input, #payment_method_cc_form select {
	border: none;
	border-bottom: 1px solid #000;
	border-radius: 0;
}
#payment_method_cc_form input:focus, #payment_method_cc_form select:focus {
	color: #fff;
	background: #424242;
	transition: .7s ease;
	box-shadow: none;
}
#payment_method_cc_form label {
	display: block;
	width: 100%;
	font-size: 20px;
}
#payment_method_cc_form img {
	object-fit: contain;
}
#payment_method_cc_form #accepted_cc > ul {
	text-align: center;
}
#payment_method_cc_form #accepted_cc ul > li {
	display: inline-block;
}
#accepted_cc ul li {
	transition: .3s ease-out;
}
#app_form .blurred li {
	opacity: 0.5;
}
#app_form .blurred li.has-success {
	opacity: 1;
	border: 1px solid #000;
}
.collapsed {
	transition: height .35s ease-out;
	position: relative;
}
.terms label {
	display: flex;
	padding: 10px;
	width: 100%;
}
.terms .txt {
	/*float: right;*/
	width: 90%;
}
.regimes label:hover, .terms label:hover {
	cursor: pointer;
}
.text-right {
	text-align: right;
}
.read-terms-cnt {
	padding: 10px;
}
.read-terms {
	color: #000;
	text-decoration: underline;
}
.mandatory-field-text {
	font-size: 18px;
	justify-content: flex-end;
}
.prev-button, .next-button {
	padding: 0;
}
/*
.next-button {
	float: right;
}
*/
.next-button-step-0 {
	float: right;
}
#state {
	color: #000;
	background: #fff;
}
/*
.help-block {
	display: none !important;
}
*/

/*
	YOUR BOOKINGS
*/
.toolbar {
	width: 100%;
}
#data_table_paginate, #data_table_length {
	float: left;
	width: 50%;
}
#data_table_info {
	width: 100%;
	height: auto;
	float: right;
}
.pagination li {
	padding: 10px;
	border: 1px solid #c4c4c4;
	border-radius: 2px;
	background: #eee;
}
#login_cnt div {
	padding:0;
}
#login_cnt input {
	border: 1px solid gray;
}
/*
	REGISTRATION
*/
.registration input{
	height: auto;
	padding-bottom:0;
	padding-top:0;
	border-radius:0;
	background: transparent;
}
.registration input.checkbox:checked + .registration .checkmark:after {
	opacity: 1;
}
.registration .btn-registration{
	background:#4d4d4d;
	color:#fff;
	padding-left:0 !important;
	border:none;
}
@media (min-width:992px) and (max-width:1299px) {
	.slick-list {
		max-width: 230px;
	}
	.next-button {
		width: 100% !important;
	}
}
@media (max-width:991px) {
	body > .container {
		height: auto;
	}
	input:focus, textarea:focus, select:focus {
		outline: none;
		outline-style: none;
		box-shadow: none;
		border-color: transparent;
	}
	#content {
		/*height: 100vh;*/
		width: 100%;
		max-width: none;
		flex: none;
		overflow-y: visible;
	}
	#sidebar {
		width: 100%;
		height: 600px;
		max-width: none;
		flex: none;
	}
	.menu-info {
		width: 60%;
	}
	.contacts {
		width: 40%;
	}
	.heading-title {
		font-size: 25px;
	}
	.intro {
		font-size: 15px;
	}
	.regimes label, .terms .txt {
		font-size: 15px;
	}
	.booking .form-horizontal > .col-md-4, .booking .form-horizontal > .col-md-8 {
		flex: 50%;
	}
}
@media (max-width:767px) {
	input:focus, textarea:focus, select:focus {
		outline: none;
		outline-style: none;
		box-shadow: none;
		border-color: transparent;
	}
	#content {
		padding: 3px;
		overflow-y: visible;
		display: block;
	}
	.pre-logo-container {
		text-align: center;
	}
	#pre-guests-select .col-md-8 ul {
		margin: auto !important;
	}
	#pre-guests-select .col-md-11 {
		text-align: center;
	}
	#guests-select .bootstrap-touchspin, .childrenSelector .bootstrap-touchspin{
		padding-left: 5px;
	}
	#time-select > div:nth-child(2) {
		padding: 0;
	}
	#meal-select .col-md-3:not(:first-child) {
		flex: 0 0 33%;
		max-width: none;
	}
	#meal-select ul {
		text-align: center;
	}
	.continue .col-md-6 {
		flex: 0 0 50%;
	}
	.next-button-step-0 {
		width: 100% !important;
		float: right;
	}
	.next-button {
		width: 100% !important;
	}
	.next-button button {
		float: right;
	}
	.slick-list {
		width: 70%;
	}
	.phone-group #state, .phone-group .select-wrapper, .phone-group #phone {
		float: left;
	}
	.phone-group #state, .phone-group .select-wrapper {
		width: 15%;
	}
	.phone-group #phone {
		width: 65%;
	}
	.continue .col-md-6 {
	}
}
@media (max-width:575px) {
	.hour-slider {
		display: flex;
		justify-content: center;
	}
	#data_table_paginate, #data_table_length {
		width: 100%;
	}
}
@media (max-width:500px) {
	.datepicker .prev {
		left: 65%;
	}
	.calendar-legend div {
		width: 25%;
	}
	#my_bookings {
		overflow: auto;
	}
}
@media (max-width:470px) {
	.step-1 .col-md-6 {
		flex: 50%;
	}
	#label-guest-select, #label-children-select {
		font-size: 18px;
	}
	.slick-list, .slick-track {
		width: 100%;
	}
	.popover.fade, #popover382574 {
		width: 80%;
	}
	#login_cnt .col-sm-6.control-label {
		width: 100%;
	}
}

/* stripe payment box adaptation */
#payment_method_sca_form .panel-default {
	margin-top: 10px!important;
	padding: 1rem 0.3rem;
	border: 1px solid #ddd;
	border-radius: 4px;
}
#payment_method_sca_form label {
	font-weight: bold;
}
/*
#payment_method_sca_form div.row {
	display: initial;
}
#payment_method_sca_form .col-xs-7 {
	float: left;
	padding-left: 0;
}
#payment_method_sca_form .pull-right {
	float: right;
	padding-right: 0;
}
#payment_method_sca_form label {
	font-weight: bold;
}
#payment_method_sca_form .panel-default {
	border: 1px solid #ddd;
	border-radius: 4px;
	margin-top: 10px!important;
}
#payment_method_sca_form .panel-body {
	padding: 15px;
}
#payment_method_sca_form .panel-body::before,
#payment_method_sca_form .panel-body::after {
    display: table;
    content: " ";
    clear: both;
}
#payment_method_sca_form .input-group-addon {
    font-size: 14px;
    font-weight: 400;
    line-height: 1;
    color: #555;
    text-align: center;
    background-color: #eee;
    border: 1px solid #ccc;
    border-radius: 4px;
}
*/

/* alert messages */
#content div.alert.alert-danger.alert-dismissible pre {
	width: 100%;
	height: auto;
	font-family: "Helvetica Neue",Helvetica,Arial,sans-serif;
	font-size: 14px;
	white-space: break-spaces;
}
#content div.alert.alert-danger.alert-dismissible ul {
	padding: 0.5em;
	margin: 0;
}
#content div.alert.alert-danger.alert-dismissible li {
	list-style-type: none;
}

/* ==========================================================================
   loading overlay
   ========================================================================== */
.bmg-loading:after{
	content: "";
	display: block;
	position: absolute;
	top: 0;
	right: 0;
	bottom: 0;
	left: 0;
	background: rgba(255,255,255,.8) url(../img/ui-anim_basic_16x16.gif) 50% 50% no-repeat;
	z-index: 1;
}
