/**
 * All of the CSS for your public-facing functionality should be
 * included in this file.
 */

.h1, .h2, .h3, .h4, .h5, .h6 {
	font-family: 'Playfair Display',Georgia,"Times New Roman",serif !important;
}
h1 a, h2 a, h3 a, h4 a, h5 a, h6 a {
	color: #000000 !important;
}
h1 a:hover, h2 a:hover, h3 a:hover, h4 a:hover, h5 a:hover, h6 a:hover {
	color: #2f4155 !important;
}

#top-menu li {
	padding-right: 18px !important;
}

body.page-template-property-detail .swiper-slide {
	display: flex !important;
	justify-content: center;
	align-items:center;
}

.modal {
	z-index: 100000;
}

.modal-header {
	background-color: #000000;
	color: #fff;
}

.modal-title {
	color: #fff;
}

.modal-body {
	background-color: #ededed;
}

.input-group-text,
input.form-control {
	border-radius: 0px !important;
}

.d-flex {
	display: flex;
}

.gap-1 {
	grid-gap: 1rem;
}

.justify-content-between {
	justify-content: space-between;
}

.flex-wrap {
	flex-wrap: wrap;
}

.text-danger {
	color: red;
	font-weight: 600;
}

.calendar {
	width: 100%;
	text-align: center;
}

.calendar .mask-start,
.calendar .mask,
.calendar .mask-end {
	background-color: #ff6347;
	color: #fff;
}

.calendar .day:not(.bookable-start,.mask, .mask-end, .booked-dates, .notbookable) .cal-day-box:hover,
.calendar .day:not(.bookable-start,.mask, .mask-end, .booked-dates, .notbookable) .cal-day-box:focus,
.calendar .day.selected .cal-day-box,
.calendar .day.selectend .cal-day-box {
	background-color: #3cb371; /* green*/
	color: white;
}

.calendar .mask-end.bookable,
.calendar .bookable.bookable-start {
	background-image: linear-gradient(135deg, #ff6347 0%, #ff6347 50%, white 50%, white 101%);
	color: rgb(102, 102, 102);
}
.calendar .mask-end.bookable:not(.selected,.selectend,.notbookable) .cal-day-box,
.calendar .bookable.bookable-start:not(.selected,.selectend,.notbookable) .cal-day-box {
	background: -webkit-linear-gradient(135deg, rgb(102, 102, 102) 0%, rgb(102, 102, 102) 50%, #fff 50%, #fff 100%);
	-webkit-background-clip: text;
	-webkit-text-fill-color: transparent;
}
.calendar .bookable.bookable-start.selected,
.calendar .bookable.bookable-start:hover,
.calendar .bookable.bookable-start:focus {
	background-image: linear-gradient(135deg, #ff6347 0%, #ff6347 50%, #3cb371 50%, #3cb371 101%);
	color: #fff;
}
.calendar .bookable.bookable-start.selected .cal-day-box,
.calendar .bookable.bookable-start:not(.notbookable) .cal-day-box:hover,
.calendar .bookable.bookable-start:not(.notbookable) .cal-day-box:focus,
.calendar .bookable + .mask-start.booked-dates:not(.notbookable):hover .cal-day-box,
.calendar .bookable + .mask-start.booked-dates:not(.notbookable):focus .cal-day-box {
	background-color: transparent;
	color: #fff !important;
}
.calendar .bookable + .mask-start.booked-dates {
	background-image: linear-gradient(135deg, white 0%, white 50%, #ff6347 50%, #ff6347 101%);
}
.calendar .bookable + .mask-start.booked-dates:not(.notbookable) .cal-day-box {
	background: -webkit-linear-gradient(135deg, white 0%, white 50%, rgb(102, 102, 102) 50%, rgb(102, 102, 102) 100%);
	-webkit-background-clip: text;
	-webkit-text-fill-color: transparent;
}
.calendar .bookable + .mask-start.booked-dates.selectend,
.calendar .bookable + .mask-start.booked-dates:hover,
.calendar .bookable + .mask-start.booked-dates:focus {
	background-image: linear-gradient(135deg, #3cb371 0%, #3cb371 50%, #ff6347 50%, #ff6347 101%);
}
/*.calendar .mask-start.booked-dates {
	background: linear-gradient(to left top, #F0F0F0 50%, #FFF 50%) !important;
}*/
.calendar .notbookable,
.calendar .notbookable:hover,
.calendar .notbookable:focus {
	background: #ededed !important;
	color: #cccccc !important;
}

.calendar .day:not(.mask, .mask-end.mask-start, .notbookable) .cal-day-box {
	cursor: pointer;

}
.calendar .cal-event-box {
	position: absolute;
	opacity: 0;
	z-index: -1;
	transition: all 0.2s linear;
}

.calendar .cal-day:not(.mask-start,.mask):hover .cal-event-box,
.calendar .cal-day:not(.mask-start,.mask):focus .cal-event-box {
	background-color: #000;
	color: #fff;
	font-size: 0.8rem;
	padding: 0 5px;
	border-radius: 500px 500px 500px 0;
	margin-top: -50px;
	margin-left: 10px;
	opacity: 1;
	z-index: 2;
	pointer-events: none;
}

.calendar .day.selectmask .cal-day-box {
	background-color: #9fffa9;
}

.form-group {
	display: flex;
	flex-wrap: wrap;
	margin: 0.5rem 0;
}
.form-group label {
	padding-right: 0.5rem;
	min-width: 70px;
}

.form-group input {
	flex-grow: 1;
	border: 1px solid #ccc;
	border-radius: 3px;
	padding: 0 5px;
	font-size: 1em;
}
.form-group input:invalid {
	border: 2px solid red;
}

.form-group .text-danger {
	width: 100%;
}

.button-wrap {
	gap: 0.5rem;
}
.button-wrap button {
	flex-grow: 1;
}

.accordion-header {
	margin: 0;
	padding: 0;
}

.accordion-item {
	background-color:#FAFAFA !important;
}
.accordion-button {
	background-color:#000000;
	color: #ffffff;
}
.accordion-button:after {
	filter: invert(1);
}
.accordion-button:not(.collapsed) {
	background-color:#8fa7c1;
}

button, button.btn-primary, a.btn-primary {
	background-color:  #000000 !important;
	color: #fff !important;
	border: 0px;
	padding: 0.5em 1em;
	font-weight: 700;
	transition: all 0.2s linear;
	cursor: pointer;
	border-radius: 0;
}
button.btn-secondary, a.btn-secondary {
	background-color: #8fa7c1 !important;
	color: #fff !important;
	border: 0px;
	padding: 0.5em 1em;
	font-weight: 700;
	transition: all 0.2s linear;
	cursor: pointer;
	border-radius: 0;
}
button:hover,
button:focus,
button.btn-primary:hover,
button.btn-primary:focus,
button.btn-secondary:hover,
button.btn-secondary:focus,
a.btn-primary:hover,
a.btn-primary:focus,
a.btn-secondary:hover,
a.btn-secondary:focus {
	background-color: #1f1f1f !important;
	color: #fff !important;
}

button:disabled,
button.btn-primary:disabled,
a.btn-secondary:disabled {
	opacity: 0.5;
	background-color:  #000000 !important;
	color: #fff !important;
	cursor: not-allowed;
}

#calendar-container,
.availability-wrap {
	position: relative;
}
.availability-wrap {
	height: 100%;
}

#booking-availability-rates {
	position: sticky;
	top: 0;
	border: 2px solid #6e8daf;
	border-radius: 3px;
	padding: 1em;
	background-color: #fff;
}

#bookingconfirmation {
	border: 2px solid #6e8daf;
	background-color: #fff;
	border-radius: 3px;
	padding: 1em;
}

#calendar-container {
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
}

#finalisebooking .reload {
	opacity: 0;
	width: 0;
	display: inline-block;
}
#finalisebooking .reload.active {
	opacity: 1;
	width: auto;
}
#calendar-container .reload,
.availability-wrap .reload {
	position: absolute;
	top: 0;
	bottom: 0;
	left: 0;
	display: flex;
	right: 0;
	justify-content: center;
	align-items: center;
	font-size: 2rem;
	opacity: 0;
	z-index: -1;
}
#calendar-container .reload.active,
.availability-wrap .reload.active {
	background-color: rgba(255,255,255,0.5);
	z-index:10;
	opacity: 1;
	margin-top: 1.5rem;
}

/* This was copied straight from the original plugin */
body.page.page-id-149 #main-header {
	background-color: #000000;
	min-height: 76px;
}

body.page.page-id-149,
body.page-template-property-detail {
	border-top: 96px solid #000000;
}
/*body.page.page-id-149 .et_pb_section_first {
	padding-top: 42px !important;
}*/
.text-sansserif {
	font-family: 'Lato',Helvetica,Arial,Lucida,sans-serif !important;
}
.page-template-property-detail #main-content {
	background-color: #FAFAFA !important;
}
.properties-list .property {
	margin: 20px 0;
}
.properties-list .property img {
	width: 100%;
	height: 100%;
	max-height: 260px;
	object-fit: cover;
}

#srvrs-overlay-wrapper .et_pb_code_inner {
	display: flex;
	justify-content: space-around;
}
.srvrs-overlay {
	background-color: rgba(0,0,0,0.5);
	padding: 30px;
	color: #fff !important;
	max-width: 90%;
	position: absolute;
	top: -200px;
	margin: 0 auto !important;
}
.srvrs-overlay h2 {
	font-family: 'Playfair Display',Georgia,"Times New Roman",serif!important;
	text-transform: uppercase!important;
	font-size: 32px!important;
	letter-spacing: 5px!important;
	text-align: center!important;
	text-shadow: 0em 0em 0.3em rgba(0,0,0,0.4)!important;
	color: #fff !important;
}
.srvrs-overlay p {
	text-align: center !important;
	font-size: 18px !important;
}
.properties-list .property h2 {
	margin: 10px auto 0;
}
.properties-list .property p {
	padding-bottom: 0;
}
.properties-list .property a {
	color: #2ea3f2;
}
body.page-template-property-detail #main-header {
	background: #000000;
}
.page-template-property-detail .top-header {
	height: 65vh;
	background-size: cover;
	background-position: center;
}
.page-template-property-detail .gallery .image {
	padding: 0 5px;
}
.page-template-property-detail.et_right_sidebar #main-content .container:before {
	display: none;
}
.property-detail .gallery {
	margin-top: 30px;
}
.property-detail .amenities-container .col-md-4 {
	padding: 5px 15px 0;
}
.property-title {
	padding: 10px 50px;
	display: flex;
	justify-content: space-around;
	color: #fff;
	background: #000;
	align-items: center;
}
.property-title p {
	padding-bottom: 0;
}
.property-title .property-name {
	color: #fff;
	font-size: 16px !important;
	text-transform: uppercase !important;
	padding: 0 !important;
}
.property-detail .amenities-container {
	margin-top: 40px;
}
.property-detail .amenities-container .amenity .fas.fa-check {
	margin-right: 10px;
}
.property-detail .description-wrapper .short-description {
	text-transform: uppercase;
	font-weight: 600;
	line-height: 1.8em;
}
.image-gallery .swiper-button-prev, .image-gallery .swiper-button-next {
	color: #fff;
	transform: rotateY(45deg);
}
.image-gallery {
	overflow: hidden;
}
.image-gallery img {
	width: 100%;
	display: block;
}
#main-content {
overflow: auto;
}
.property-detail .content {
	padding: 30px 30px;
	margin-bottom: 30px;
	box-shadow: 0px 3px 30px #0000001F;
	background: #fff;
}

@media only screen and (min-width: 1035px) {
	.swiper-container {
		height: 690px;
	}
}

.inactive {
	display: none;
}

@media only screen and (min-width: 980px) {
	.svrs-booknow a {
		border: 1px solid white;
		padding: 10px 20px !important;
		margin-top: -10px;
	}
}

@media only screen and (max-width: 991px) {
	.svrs-search .input-group {
		flex-direction: column;
	}
	.svrs-search .input-group .form-control {
		width: 100% !important;
		border-radius: 0 0 5px 5px !important;
	}
	.svrs-search .input-group-text {
		border-radius: 5px 5px 0 0 !important;
	}
}

@media only screen and (min-width: 901px) {
	/*#home-slider {
		height: calc(100vh - 148px) !important;
	}*/
	#home-searchbar {
		position: absolute;
		top: calc(100vh - 200px);
		left: 0;
		width: 100%;
		/*background-color: #000000 !important;*/
		background-color: rgba(255,255,255,0) !important;
		right: 0;
		z-index: 100000;
		padding: 0 !important; /*1em 0 !important; */
	}
	#home-searchbar .input-group-text {
		border-width: 2px;
		border-color: white;
		background-color: rgba(0,0,0,0.5);
		color: white;
		font-weight: 700;
		backdrop-filter: blur(5px);
		border-radius: 0px !important;
	}
	#home-searchbar input.form-control {
		border-width: 2px;
		border-color: white;
		background-color: rgba(0,0,0,0.3);
		color: white;
		color-scheme: dark;
		backdrop-filter: blur(5px);
		border-radius: 0px !important;
	}

}
