@charset "utf-8";
/* Front page hero booking bar (Cloudbeds) */

.heroBlock .heroBooking
{
	display:flex;
	justify-content:center;
	margin-top:24px;
}
.heroBooking .hbForm
{
	display:flex;
	flex-direction:column;
	align-items:stretch;
	gap:6px;
	width:100%;
	max-width:360px;
	padding:6px;
	background:rgba(255,255,255,0.22);
	border:1px solid rgba(255,255,255,0.45);
	border-radius:24px;
	backdrop-filter:blur(10px);
	-webkit-backdrop-filter:blur(10px);
	box-shadow:0 8px 30px rgba(0,0,0,0.18);
	font-family:"Lexend", sans-serif;
	font-size:15px;
	font-weight:400;
	text-shadow:none;
}
.heroBooking .hbField
{
	position:relative;
	display:flex;
	align-items:center;
	justify-content:center;
	gap:8px;
	width:100%;
	height:40px;
	margin:0;
	padding:0 18px;
	background:var(--white);
	color:var(--darkblue);
	border:0;
	border-radius:999px;
	font:inherit;
	cursor:pointer;
	white-space:nowrap;
	transition:box-shadow ease-out 0.2s;
}
.heroBooking .hbField:hover,
.heroBooking .hbField:focus-visible,
.heroBooking .hbField.open
{
	box-shadow:0 0 0 2px var(--beige);
	outline:none;
}
.heroBooking .hbField svg
{
	width:17px;
	height:17px;
	flex:0 0 auto;
	stroke:currentColor;
	fill:none;
	stroke-width:1.7;
	stroke-linecap:round;
	stroke-linejoin:round;
}
.heroBooking .hbPlaceholder
{
	color:#6b7383;
}
.heroBooking .hbArrow
{
	opacity:0.55;
}
.heroBooking .hbRange
{
	position:absolute;
	top:0;
	left:0;
	width:100%;
	height:100%;
	opacity:0;
	pointer-events:none;
}

/* guests */
.heroBooking .hbGuestsWrap
{
	position:relative;
}
.heroBooking .hbPop
{
	display:none;
	position:absolute;
	top:calc(100% + 10px);
	left:50%;
	transform:translateX(-50%);
	z-index:120;
	width:100%;
	padding:4px 16px;
	background:#fff;
	color:var(--darkblue);
	text-align:left;
	box-shadow:0 10px 30px rgba(0,0,0,0.2);
}
.heroBooking .hbPop.open
{
	display:block;
}
.heroBooking .hbRow
{
	display:flex;
	align-items:center;
	justify-content:space-between;
	padding:10px 0;
}
.heroBooking .hbStep
{
	display:flex;
	align-items:center;
	gap:12px;
}
.heroBooking .hbStep button
{
	width:30px;
	height:30px;
	padding:0;
	border:1px solid var(--beige);
	border-radius:50%;
	background:#fff;
	color:var(--darkblue);
	font-size:16px;
	line-height:1;
	cursor:pointer;
}
.heroBooking .hbStep button:disabled
{
	opacity:0.35;
	cursor:default;
}
.heroBooking .hbStep output
{
	min-width:16px;
	text-align:center;
}

/* promo code */
.heroBooking .hbCode
{
	background:rgba(255,255,255,0.12);
	color:#fff;
	box-shadow:inset 0 0 0 1px rgba(255,255,255,0.55);
}
.heroBooking .hbCode:hover,
.heroBooking .hbCode.open
{
	box-shadow:inset 0 0 0 1px #fff;
}
.heroBooking .hbPromo
{
	width:0;
	padding:0;
	border:0;
	background:transparent;
	color:#fff;
	font:inherit;
	outline:none;
}
.heroBooking .hbPromo::placeholder
{
	color:rgba(255,255,255,0.75);
}
.heroBooking .hbCode.open .hbCodeLabel
{
	display:none;
}
.heroBooking .hbCode.open .hbPromo
{
	width:100%;
	text-align:center;
}

/* search */
.heroBooking .hbSearch
{
	height:40px;
	margin:0;
	padding:0 26px;
	background:var(--darkblue);
	color:#fff;
	border:0;
	border-radius:999px;
	font:inherit;
	font-weight:500;
	letter-spacing:0.3px;
	cursor:pointer;
	transition:background-color ease-out 0.3s;
}
.heroBooking .hbSearch:hover,
.heroBooking .hbSearch:focus-visible
{
	background:var(--beige);
	outline:none;
}

/* calendar skin, scoped to the booking calendar only */
.hbCalendar.flatpickr-calendar
{
	font-family:"Lexend", sans-serif;
	border-radius:0;
	box-shadow:0 10px 30px rgba(0,0,0,0.25);
}
.hbCalendar.flatpickr-calendar.arrowTop::before,
.hbCalendar.flatpickr-calendar.arrowTop::after,
.hbCalendar.flatpickr-calendar.arrowBottom::before,
.hbCalendar.flatpickr-calendar.arrowBottom::after
{
	display:none;
}
.hbCalendar .flatpickr-months .flatpickr-month,
.hbCalendar .flatpickr-current-month
{
	color:var(--darkblue);
	fill:var(--darkblue);
}
.hbCalendar .flatpickr-current-month
{
	font-size:15px;
	font-weight:500;
}
.hbCalendar span.flatpickr-weekday
{
	color:#8d8d8d;
	font-weight:400;
	font-size:12px;
}
.hbCalendar .flatpickr-day
{
	color:var(--darkblue);
	border-radius:0;
}
.hbCalendar .flatpickr-day:hover
{
	background:#f3f2ee;
	border-color:#f3f2ee;
}
.hbCalendar .flatpickr-day.today
{
	border-color:var(--beige);
}
.hbCalendar .flatpickr-day.selected,
.hbCalendar .flatpickr-day.startRange,
.hbCalendar .flatpickr-day.endRange,
.hbCalendar .flatpickr-day.selected:hover,
.hbCalendar .flatpickr-day.startRange:hover,
.hbCalendar .flatpickr-day.endRange:hover
{
	background:var(--darkblue);
	border-color:var(--darkblue);
	color:#fff;
}
.hbCalendar .flatpickr-day.inRange,
.hbCalendar .flatpickr-day.inRange:hover
{
	background:#ebe6d8;
	border-color:#ebe6d8;
	box-shadow:-5px 0 0 #ebe6d8, 5px 0 0 #ebe6d8;
}
.hbCalendar .flatpickr-day.selected.startRange + .endRange:not(:nth-child(7n+1)),
.hbCalendar .flatpickr-day.startRange.startRange + .endRange:not(:nth-child(7n+1)),
.hbCalendar .flatpickr-day.endRange.startRange + .endRange:not(:nth-child(7n+1))
{
	box-shadow:-10px 0 0 var(--darkblue);
}
.hbCalendar .flatpickr-day.flatpickr-disabled,
.hbCalendar .flatpickr-day.prevMonthDay,
.hbCalendar .flatpickr-day.nextMonthDay
{
	color:#c4c4c4;
}
.hbCalendar .flatpickr-months .flatpickr-prev-month:hover svg,
.hbCalendar .flatpickr-months .flatpickr-next-month:hover svg
{
	fill:var(--beige);
}

@media(min-width:768px)
{
	.heroBlock .heroBooking
	{
		margin-top:30px;
	}
	.heroBooking .hbForm
	{
		flex-direction:row;
		align-items:center;
		width:auto;
		max-width:none;
		border-radius:999px;
	}
	.heroBooking .hbField
	{
		width:auto;
		height:44px;
	}
	.heroBooking .hbDates
	{
		justify-content:flex-start;
		min-width:236px;
	}
	.heroBooking .hbSearch
	{
		height:44px;
	}
	.heroBooking .hbPop
	{
		width:220px;
	}
	.heroBooking .hbCode.open .hbPromo
	{
		width:110px;
		text-align:left;
		transition:width ease-out 0.25s;
	}
}
@media(min-width:992px)
{
	.heroBlock .heroBooking
	{
		margin-top:36px;
	}
}
