/* for booking-forms */
.booking-form{
	margin:30px 0;
}
.booking-form .booking-form-wrapper{
	background-color: #fff;
	box-shadow: 0 0 10px rgba(0,0,0,0.2), 0 2px 3px rgba(0,0,0,0.4);
	border-radius: 4px;	
	font-size: 14px;	
	padding:20px;
}
.booking-form .icon {
	font-size: 24px;
	color: #fff;
	text-align: center;
}
/*buttons*/
.booking-form button {
	
}
.booking-form .button-big{
	height:46px;
	text-transform: uppercase;
	border: none;
	background-color: #404a58;
	color: #fff;
	display: block;
	box-shadow: 0 3px 5px rgba(0,0,0,0.2), 0 1px 2px rgba(0,0,0,0.8);
	border-radius: 2px;
	font-size: 15px;
	cursor: pointer;
	-webkit-transition: background-color 0.2s; 
	   -moz-transition: background-color 0.2s; 
		-ms-transition: background-color 0.2s; 
		 -o-transition: background-color 0.2s; 
			transition: background-color 0.2s; 
			width:100%;
}
/*placeholders hell*/
.booking-form .input-text input::-webkit-input-placeholder, .booking-form .input-text textarea::-webkit-input-placeholder {
	color:#999999;
	font-size: 14px;
}
.booking-form .input-text input::-moz-placeholder, .booking-form .input-text textarea::-moz-placeholder {
	color:#999999;
	font-size: 14px;
}
.booking-form .input-text input:-moz-placeholder, .booking-form .input-text textarea:-moz-placeholder {
	color:#999999;
	font-size: 14px;
}
.booking-form .input-text input:-ms-input-placeholder, .booking-form .input-text textarea:-ms-input-placeholder {
	color:#999999;
	font-size: 14px;
}


#overlay {
	z-index:3;
	position:fixed;
	background-color:#000; 
	opacity:0.8;
	width:100%; 
	height:100%; 
	top:0;
	left:0;
	display: none;
}

#datepicker {
	display: none;
}

/***** Calendar *****/

.calendar {
	width: 346px;
	height: 426px;
	position: fixed;
	top: 50%;
	left: 50%;
	margin-top: -213px;
	margin-left: -173px;
	z-index: 5;
	display: none;
}
.calendar .header {
	background-color: #404a58;
	color: #fff;
	font-size: 17px;
	height: 64px;
	line-height: 64px;
	text-align: center;
	position: relative;
}
.calendar .arr {
	position: absolute;
	width: 13px;
	height: 30px;
	cursor: pointer;
	top: 25px;
}
.calendar .prev {
	left: 38px;
}
.calendar .next {
	background-position: 0 -30px;
	right: 38px;

}
/*table*/
.calendar table {
	width: 287px;
	height: 248px;
	margin: 11px auto 20px auto;
	text-align: center;
	vertical-align: middle;
	color: #666666;
}
.calendar tr, td {
	width: 41px;
}
.calendar td:not(.notCurMonth) {
	cursor: pointer;
	-webkit-transition: background-color 0.2s; 
	   -moz-transition: background-color 0.2s; 
		-ms-transition: background-color 0.2s; 
		 -o-transition: background-color 0.2s; 
			transition: background-color 0.2s;
}
.calendar td:not(.notCurMonth):not(.curDay):hover {
	background-color: #f4f4f4;
	border-radius: 19px;
}
.calendar .holiday {
	font-weight: bold;
	color: #fb6362;
}
.calendar .curDay {
	font-weight: bold;
	color: #fff;
	background-color: #fb6362;
	border-radius: 19px;
}
.calendar .notCurMonth {
	color: #c5c5c5;
}

.is-sent{
	animation: launch 1s ease-in-out forwards
} 
@keyframes launch {
  0% {
            transform: translateY(0);
  }
  10%, 15% {
            transform: translateY(20px);
  }
  100% {
            transform: translateY(-700px);
  }
  
}
.booking-form .header {
	position: relative;
	color: #000;
}
.booking-form .header div {
	padding: 0 10px 0 20px;
}
.booking-form .header h2 {
	font-size: 20px;
	margin:0;
}
.booking-form .header p {
	margin:0;
}
.booking-form .header .icon {
	background-position: 0 -60px;
	position: absolute;
	left: 4px;
	top: 35px;
}
.booking-form label:not(.checkbox) {
	display: block;
	margin-top: 5px;
	margin-bottom: -10px;
}

.booking-form .dates .persons .input-text {
	width: 300px;
}
.booking-form .input-text input {
	width: 100%;
	cursor: pointer;
	box-sizing: border-box;
	outline: none;
}

.booking-form .input-text {
    display: inline-block;
    width: 100%;    
	position: relative;
}

.booking-form .input-text input[type='text'] {
	border-radius: 2px;
	background-color: #f4f4f4;
	box-shadow: inset 0px 1px 1px 0px rgba(0, 0, 0, 0.25);
	padding-left: 11px;
	height: 46px;
	line-height: 46px;
	border: none;
	padding: 18px 40px 0 10px;
}

.booking-form .input-text .label {
	position: absolute;
	top: 5px;
	left: 10px;
	font-size: 12px;
	color:#999999;
	pointer-events: none;
	padding:0;
}

.booking-form .input-text .icon {
	position: absolute;
    right: 4px;
    top: 5px;
	width: 36px;
	height: 36px;
	background-color: #404a58;
	border-radius: 2px;
	background-position: 10px -80px;
	cursor: pointer;
}
.booking-form .input-text .icon svg {
	width: 24px;
	height: 24px;
	fill: #fff;
	margin-top: 5px;
}
/*selects*/
.booking-form .persons {
	position: relative;
	width: 100%;
}

.booking-form .persons li {
	display: inline-block;
	font-size: 0;
	width: 45%;
}
.booking-form .persons label {
	font-size: 14px;
}
.booking-form .persons .input-text {
	width: 100%;
	height: 45px;
	padding: 0;
}
.booking-form .persons select {
	font-size: 14px;
	width: 100%;
	height: 100%;
	background: transparent;
	border: none;
	font-size: 16px;
	color: #404a58;
	padding-left: 9px;
	position: relative;
	z-index: 1;
	-webkit-appearance: none;
	   -moz-appearance: none;
		-ms-appearance: none;
		 -o-appearance: none;
			appearance: none;
}
.booking-form .persons option {
	background-color: #f4f4f4;
} 
.booking-form .persons option:hover {
	background-color: red;
}
.booking-form .persons .icon {
	background-position: 15px -106px;
}

/*button*/
.booking-form .button-big {
	position: relative;
}
.booking-form .button-big svg {
    position: absolute;
    left: 40px;
    top: 13px;
    width: 16px;
	height: 16px;
	fill: #fff;
    font-weight: bolder;
}
.box-details {
	width: 350px;
	display: none;
	position: absolute;
	background-color: #f1f1f1;
	padding: 10px;
}
.box-details > div {
	margin-bottom: 8px;
}
.bui-list__icon {
	float: left;
	margin-right: 10px;
	vertical-align: middle;
}

.-selectable:hover {
	background-color: #e7cba6;;
	color: #eee;
}

.datepicker {
	font-size:0.9rem;
	line-height:0rem;
	min-height:6rem;
	padding: 1.6rem 1rem 1rem;
	background:#fff;
	color:#3d3d3d;
	box-shadow:0 0 6px 3px rgba(0,0,0,.24);
	border-radius:3px
}

.-vertical .datepicker{padding:0;max-width:318rem;height:100%;display:-ms-flexbox;display:flex;-ms-flex-direction:column;flex-direction:column}

.datepicker:after{content:"";width:100%;clear:both;display:block;box-sizing:border-box;}

.datepicker-wrapper{padding:0 7px;overflow:hidden;max-width: 764px; margin: 0 auto;}


.-vertical .datepicker-wrapper{height:inherit;padding:15% 10px}

@media(max-height: 700px){
.-vertical .datepicker-wrapper{padding:10% 10px}}

@media(max-height: 650px){
.-vertical .datepicker-wrapper{padding:5% 10px}}

.datepicker__nav{position:relative;width:100%}

.datepicker__prev {
	width: 1.2rem;
	height: 1.2rem;
	fill: #000;
}

.booking-form .datepicker__next {
	width: 1.2rem;
	height: 1.2rem;
	fill: #000;
	position: absolute;
	top:0;
	right:0;
}

.-vertical .datepicker__prev,.-vertical .datepicker__next{display:none}

.datepicker__prev.-disabled,.datepicker__next.-disabled{opacity:.5;pointer-events:none}

.datepicker__prev-icon,.datepicker__next-icon{transition:.6s opacity;opacity:.73;width:100%;height:100%}

.datepicker__prev:after,.datepicker__next:after{content:"";position:absolute;background-color:#075bba;background-color:var(--mainColor);width:100%;height:100%;top:0;opacity:0;transition:opacity .6s;	box-sizing:border-box;}


.datepicker__prev:hover .datepicker__prev-icon,.datepicker__prev:hover .datepicker__next-icon,.datepicker__next:hover .datepicker__prev-icon,.datepicker__next:hover .datepicker__next-icon{opacity:1}

.datepicker__prev:hover:after,.datepicker__next:hover:after{opacity:.16;box-sizing:border-box;}



.datepicker__calendars{-ms-flex-positive:1;flex-grow:1;-ms-flex-negative:1;flex-shrink:1;display:-ms-flexbox;display:flex;position:relative}

.-vertical .datepicker__calendars{display:block;padding:0 12rem 12rem;overflow-x:hidden;overflow-y:auto;-webkit-overflow-scrolling:touch}

.datepicker__header{position:relative;transition:box-shadow .3s;padding:12rem 12rem 6rem;-ms-flex-negative:0;flex-shrink:0}

.datepicker__header.-fixed{box-shadow:0 7px 14px rgba(0,0,0,.09)}

.datepicker__header-label{height:24rem;width:100%;font-weight:bold;margin-bottom:12rem;font-size:13.5rem}

.datepicker__header-label:first-letter{text-transform:uppercase}

.datepicker__header-label.-with-caption{margin-bottom:0}

.datepicker__close{position:absolute;top:6rem;color:rgba(61,61,61,.5);transition:color .3s;z-index:1;cursor:pointer}


.datepicker__close:hover{color:#3d3d3d}

.datepicker__close-icon{display:block;width:24rem;height:24rem}

.datepicker__footer {
    display: -ms-flexbox;
    display: flex;
    -ms-flex-direction: column;
    flex-direction: column;
    -ms-flex-negative: 0;
    flex-shrink: 0;
    margin: 1rem 0 0;
    padding: 1rem 0 0;
    border-top: 1px solid rgba(61,61,61,.12);
}

.datepicker__footer-hints {
    -ms-flex: 1 1 auto;
    flex: 1 1 auto;
    font-size: 1.1rem;
    line-height: 1.6rem;
}

.datepicker__footer-hints .date{font-weight:normal}

.datepicker__footer-hints .current{font-weight:bold;display:inline-block}

.datepicker__footer-hints .invalid{color:#cc2d2d}

.datepicker__footer-message {
    margin-bottom: 0.2rem;
}

.datepicker__footer-label {
    font-size: 1rem;
    line-height: 1.2rem;
    margin-bottom: 0.1rem;
    color: rgba(61,61,61,.5);
}

.datepicker__footer-note {
    font-size: 0.8rem;
    line-height: 1.2rem;
    font-style: italic;
    color: rgba(61,61,61,.5);
}

.datepicker__calendar{max-width:100%;width:48%}
.datepicker__calendar.current-month{
	margin-right:4%
}
.datepicker__month-name {
    text-align: center;
    font-weight: bold;
    margin-bottom: 1.8rem;
}

.datepicker__month-name:first-letter{text-transform:uppercase}


.datepicker__weeks{
	height: 20rem;
}

.-vertical .datepicker__weeks{height:auto}

.datepicker__week{display:-ms-flexbox;display:flex}

.datepicker__week-day-names {
    display: -ms-flexbox;
    display: flex;
    margin-bottom: 0.4rem;
    font-family: Verdana,sans-serif;
	justify-content: space-around;
}

.datepicker__week-day-name {
    width: 3.1rem;
    text-align: center;
    font-size: 0.8rem;
    line-height: 1rem;
}

.datepicker__week-day-name.-weekend{color:#fc6745}

.datepicker__day {
    position: relative;
    width: 14.2%;
    height: 3.1rem;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-direction: column;
    flex-direction: column;
    padding: 0.2rem;
    box-shadow: 1px 1px 0 0 #f3f3f3, 1px 0 0 0 #f3f3f3 inset, 0 1px 0 0 #f3f3f3 inset;
}

.datepicker__day.-outofrange,.datepicker__day.-empty{
	box-shadow:none;
}

.datepicker__day *{
	pointer-events:none
}

.-without-price .datepicker__day .datepicker__day-date{
	display:-ms-flexbox;
	display:flex;
	-ms-flex-align:center;
	align-items:center;
	-ms-flex-pack:center;
	justify-content:center;
	padding-top:0
}

.datepicker__day-date {
    -ms-flex: 1 1 auto;
    flex: 1 1 auto;
    text-align: center;
    font-weight: bold;
    font-size: 0.8rem;
    line-height: 0.6rem;
    padding-top: 1.2rem;
}

.datepicker__day-date span{
	z-index:1;
	position:relative
}

.datepicker__day-info{
	-ms-flex:0 0 auto;
	flex:0 0 auto;
	z-index:1
}

.datepicker__day.-selectable{
	cursor:pointer
}

.datepicker__day.-low-price{
	background:#f4f9ee
}

.datepicker__day.-low-price .datepicker__day-text{
	color:#61853c
}

.datepicker__day.-disabled{
	background:#eee
}

.datepicker__day.-disabled .datepicker__day-date{
	color:rgba(61,61,61,.73)
}

.datepicker__day.-disabled .datepicker__day-text{
	display:none
}

.datepicker__day.-forbidden.-hovered .datepicker__day-date,.datepicker__day.-forbidden.-hovered .datepicker__day-text{
	color:rgba(61,61,61,.73)
}

.datepicker__day.-forbidden.-hovered .datepicker__day-date:after{
	background:#eee;
	box-sizing:border-box;
}

.datepicker__day.-outofrange .datepicker__day-date{
	color:rgba(61,61,61,.24)
}

.datepicker__day.-muted:not(.-hovered):not(.-inrange) .datepicker__day-date{
	color:rgba(61,61,61,.24)
}

.datepicker__day.-muted:not(.-hovered):not(.-inrange) .datepicker__day-text{
	color:rgba(61,61,61,.24)
}

.datepicker__day.-hovered .datepicker__day-date,.datepicker__day.-hovered .datepicker__day-text,.datepicker__day.-hovered .datepicker__day-icon,.datepicker__day.-inrange .datepicker__day-date,.datepicker__day.-inrange .datepicker__day-text,.datepicker__day.-inrange .datepicker__day-icon{
	color:#fffdfd
}

.datepicker__day.-hovered .datepicker__day-icon,.datepicker__day.-inrange .datepicker__day-icon{
	opacity:1
}

.-without-price .datepicker__day.-hovered .datepicker__day-icon,.-without-price .datepicker__day.-inrange .datepicker__day-icon{
	opacity:.16
}


.datepicker__day.-hovered{
	background-color:rgba(0,0,0,0)
}
.datepicker__day.-inrange {
    background-color: #e7cba6;
}
.datepicker__day.-rangestart:before {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    width: 0;
    height: 0;
    border-width: 1.6rem 0.7rem;
    border-style: solid;
    z-index: 1;
    border-color: rgba(0,0,0,0) rgba(0,0,0,0) rgba(0,0,0,0) rgba(0,0,0,.3);
}
.datepicker__day.-rangeend:after {
    content: "";
    position: absolute;
    top: 0;
    right: 0;
    width: 0;
    height: 0;
    border-width: 1.6rem 0.7rem;
    border-style: solid;
    z-index: 1;
    border-color: rgba(0,0,0,0) rgba(0,0,0,.3) rgba(0,0,0,0) rgba(0,0,0,0);
	box-sizing:border-box;
}

.guests-select-wrapper {
	position: absolute;
	padding: 17px 7px 7px 7px;
	border-radius: 3px;
    display: flex;
    -ms-flex-align: center;
    align-items: center;
	min-width: 300px;
	background-color: #fff;
	display: none;
	z-index: 9999;
	box-shadow: 0 0 6px 3px rgba(0,0,0,.24);
}

.guests-select {
	width: 300px;
}

.guests-select__button {
    content: "";
    background-color: #404a58;
	color: #fff;
    width: 100%;
    transition: opacity .3s;
	font-size: 14px;
	font-weight: bold;
	width:100%
}

.btn-quantity {
	align-items: center;
    display: flex;
    justify-content: space-between;
	position: relative;
	padding: 10px 0px;
}

.btn-quantity .btn-label {
	font-size: 14px;
	line-height: 1.2;
	color: #3d3d3d;
	min-width:85px
}

.btn-quantity input {
	width: calc(100% - 153px);
}

.guests-select button {
	border: none;
	height:34px;
}

.guests-select .btn-quantity button{
width:34px;
}
/* .btn-quantity .btn-minus {
	position: absolute;
    top: 10px;
	right: 90px;
    margin: 8px;
    height: 26px;
	color: #a58461;
    cursor: pointer;
    border-radius: 3px;
    overflow: hidden;
    -webkit-tap-highlight-color: rgba(0,0,0,0);
	padding-top: 5px;
}

.btn-quantity .btn-plus {
	position: absolute;
    top: 10px;
	right: 20px;
    margin: 8px;
    height: 26px;
    color: #a58461;
    cursor: pointer;
    border-radius: 3px;
    overflow: hidden;
    -webkit-tap-highlight-color: rgba(0,0,0,0);
	padding-top: 5px;
} */
@media (min-width:1200px){
	.booking-form-wrapper > .row{
		align-items: center;
	}
}
.booking-date-wrapper{
	position:relative
}
.booking-date-wrapper .datepicker{
	position: absolute;
    z-index: 9999;
    width: 100%;
}
.booking-form button:hover{
	background: #fff;
    color: #404a58;
    border: 1px solid #404a58;
}
@media (min-width:768px) and (max-width:991px){
	.booking-form .button-big{
		margin-top:15px;
	}
}
@media (min-width:992px) and (max-width:1199px){
	.booking-form .header{
		margin-bottom:15px;
	}
}
@media (min-width:1200px) {

}
@media (max-width:1199px){
	.booking-form .header div{
		padding:0;
		text-align: center;
	}
}
@media (min-width:768px) and (max-width:991px){

}
@media (max-width:991px){
	.booking-form .header{
		margin-bottom:15px;
	}
}
@media (max-width:767px){
	.booking-form .header,
	.booking-form .input-text{
		margin-bottom:15px;
	}
}