:root {
	--blue: #007bff;
	--indigo: #6610f2;
	--purple: #6f42c1;
	--pink: #e83e8c;
	--red: #dc3545;
	--orange: #fd7e14;
	--yellow: #ffc107;
	--green: #28a745;
	--teal: #20c997;
	--cyan: #17a2b8;
	--white: #fff;
	--gray: #6c757d;
	--gray-dark: #343a40;
	--primary: #007d80;
	--secondary: #cdd2b4;
	--tertiary: #dee3B3;
	--success: #28a745;
	--info: #17a2b8;
	--warning: #ffc107;
	--danger: #dc3545;
	--light: #f8f9fa;
	--dark: #343a40;
	--breakpoint-xs: 0;
	--breakpoint-sm: 576px;
	--breakpoint-md: 768px;
	--breakpoint-lg: 992px;
	--breakpoint-xl: 1200px;
	--font-family-sans-serif: "Source Sans Pro",-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol";
	--font-family-monospace: SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace;
}

html { visibility:hidden; }

body {
	font-family: "Public Sans",-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol";
}

@media (min-width: 1200px) {
    .container,
	.container-xl{
        max-width: 1180px;
    }
}

@keyframes animatefade {
  0% {
		opacity:.2;
	}
  100% {
		opacity:1;
	}
}

@keyframes animateslidetop {
	0% {
		transform: translateY(100%);
	  }
	100% {
		transform: translateY(0%);
	  }
  }

  .animatefade {
	animation-name: animatefade;
  	animation-duration: .2s;
  	animation-timing-function: linear;
}

.animateslidetop {
	animation-name: animateslidetop;
  	animation-duration: .8s;
  	animation-timing-function: linear;
}

a {
	color: var(--primary)!important;
  }

a:hover {
	color: #009294;
}

a, a:hover {
	transition: .2s linear all;
}

.text-primary {
	color: var(--primary)!important;
}

.text-tertiary {
	color: var(--tertiary)!important;
}

.bg-primary {
	background-color: var(--primary)!important;
}

.bg-secondary {
	background-color: var(--secondary)!important;
}

.bg-tertiary {
	background-color: var(--tertiary)!important;
}

.border-primary {
	border-color: var(--primary) !important;
}

.border-secondary {
	border-color: var(--secondary) !important;
}

.border-tertiary {
	border-color: var(--tertiary) !important;
}

.border-2 {
	border-width: 2px!important;
}

.badge-primary {
	background-color: var(--primary)!important;
}

.fs-1 {
	font-size: 2.7rem !important;
}

.fs-2 {
	font-size: 2rem !important;
}

.fs-3 {
	font-size: 1.75rem !important;
}

.fs-4 {
	font-size: 1.5rem !important;
}

.fs-5 {
	font-size: 1.25rem !important;
}

.fs-6 {
	font-size: 1rem !important;
}

.fw-normal {
	font-weight: 400!important;
}

.fw-medium {
	font-weight: 500!important;
}

.fw-semibold {
	font-weight: 600!important;
}

.fw-bold {
	font-weight: 700!important;
}

.rounded-xl {
	border-radius: .6rem!important;
}

.shadow-xl {
	box-shadow: 0px 5px 5px #0005!important;
}

.link-primary:hover {
	color: var(--primary)!important;
}

.link-dark {
	color: var(--dark)!important;
}

.dropdown-menu {
	margin-top: 0;
}

/* Header Styles */

.main-header {
	background-image: url('/static/img/page-header_green.webp');
	background-repeat: no-repeat;
	background-size: cover;
	background-position: center center;
	padding:1rem;
}

.layout-top-nav .wrapper .main-header .brand-image {
	height: unset;
	margin: 0;
	max-width: 250px;
	width: 100%;
}


/* Search Form Styles */


.searchform-header .header-tablinks {
	font-weight:400;
	padding: 5px 25px;
	margin:6px 8px 6px 0;
	background-color: transparent;
	border: 2px solid var(--tertiary);
	transition:.1s all linear;
}

.searchform-header .header-tablinks.active {
	font-weight:600;
	padding: 5px 60px;
	background-color:var(--tertiary);
	transition:.1s all linear;

}

input[type="text"],
input[type="email"],
input[type="url"],
input[type="password"],
/* input[type="search"], */
input[type="tel"],
input[type="date"],
input[type="time"],
input[type="number"],
textarea,
select {
	width:unset;
	margin: 8px 6px 8px 0;
	background:#DEE3B3;
	border-radius:5px;
	border:none;
	outline:0;
}

input[type="text"].city-input {
	text-transform:capitalize;
	min-width: 230px;
}

select.city-input {
	text-transform:capitalize;
	min-width: 270px;
}

button,
input[type="submit"],
html input[type="button"],
input[type="reset"],
a.button {
	color: #ffffff;
	background-color: #007D80;
	border: 0;
	border-radius:30px;
	padding:12px 50px;
	font-weight:700;
}

button:hover,
html input[type="button"]:hover,
input[type="reset"]:hover,
input[type="submit"]:hover,
a.button:hover,
button:focus,
html input[type="button"]:focus,
input[type="reset"]:focus,
input[type="submit"]:focus,
a.button:focus {
	color: #ffffff;
	background-color: #009294;
}

button.navbar-toggler:hover,
button.navbar-toggler:focus {
	background-color:unset;
}

button.tab-button {
	background:#DEE3B3;
	color:#333;
	padding:5px 30px;
	margin-bottom:20px;
	font-size:18px;
	font-weight:500;
}

::placeholder {
	color: #222;
	opacity: 1;
	text-transform: none;
}

:-ms-input-placeholder {
	color: #222;
}

::-ms-input-placeholder {
	color: #222;
}

input:focus::placeholder {
 color: transparent;
}

#reservation_date::first-letter {
	text-transform: uppercase;
}

/* Search Results Page Card Styles */

a.property-card-link {
	color: #343434;
}

a.property-card-link:hover {
	color: var(--primary);
}

.info-box.property-card {
	padding:0;
	border-radius: 0;
	min-height: 240px;
	max-height: 240px;
	transition: .2s all;
	offset-anchor: 30vh;
}

.info-box.property-card:hover {
	box-shadow: 2px 2px 12px #22222233 !important;
	transition: .2s all;
}

.info-box.property-card-sponsored {
	border-top: 20px solid var(--tertiary);
	border-radius: 20px 20px 0px 0px;
	max-height: unset;
	transition: .2s all;
}

.info-box.property-card-sponsored:hover {
	box-shadow: 2px 2px 12px #22222233 !important;
	transition: .2s all;
}

.info-box.property-card-sponsored::after {
	position: absolute;
	bottom: -25px;
	content: "";
	display: block;
	background: radial-gradient(circle, transparent 12px,#dee3b3 12px);
	background-size: 40px 60px;
	background-position: -20px 55px;
	width: 100%;
	height: 25px;
	z-index: 0;
}

.info-box.property-card .info-box-img {
	width:50%;
	align-items: center;
	display: -ms-flexbox;
	display: flex;
	-ms-flex-pack: center;
	justify-content: center;
	text-align: center;
}

.info-box.property-card .info-box-img img {
object-fit: cover;
		width: 100%;
		height: 100%;
}

/*
.info-box.property-card .info-box-content img {
	max-width: 250px;
	max-height: 74px;
}
*/

/* Pagination */

.pagination {
	display:flex;
	justify-content: center;
}

.page-link {
	background-color: transparent;
	color: var(--primary);
	border: none;
	border-radius: none;
	box-shadow: none;
}

.page-link:active,
.page-link:focus {
	box-shadow: none;
}

.page-link:hover {
	color: var(--primary);
}

.page-item.active .page-link {
	z-index: 3;
	color: var(--white)!important;
	background-color: var(--primary);
	border-color: var(--primary);
}

.page-item.disabled .page-link {
	background-color: transparent;
}

/* Search Results Page Search Filter Styles */

.pages-search-filter {
	position: sticky;
	top: 20px;
}

.refine-search-box .refine-tablinks {
	color: #333;
  background-color:unset;
	border-radius:0;
	padding: 10px 5px;
  font-weight: 400;
	margin-bottom:25px;
	margin-right:10px;
	transition:.3s padding;
}

.refine-search-box .refine-tablinks.active {
	font-weight: 700;
		padding: 10px 30px;
	border-bottom:2px solid #007d80;
		transition:.3s padding;
}

[class*="icheck-"] {
	min-height: 22px;
	margin-top: 4px !important;
	margin-bottom: 6px !important;
	padding-left: 0;
}

[class*="icheck-"] > input:first-child + input[type="hidden"] + label::before, [class*="icheck-"] > input:first-child + label::before {
	content: "";
	display: inline-block;
	position: absolute;
	width: 20px;
	height: 20px;
	border: 2px solid #9ea289;
	border-radius: 5px;
	margin-left: -29px;
}

.icheck-turquoise > input:first-child:not(:checked):not(:disabled):hover + input[type="hidden"] + label::before, .icheck-turquoise > input:first-child:not(:checked):not(:disabled):hover + label::before {
	border-color: #007d80;
}

.icheck-turquoise > input:first-child:checked + input[type="hidden"] + label::before, .icheck-turquoise > input:first-child:checked + label::before {
	background-color: #007d80;
	border-color: #007d80;
}

[class*="icheck-"] > input:first-child:checked + input[type="hidden"] + label::after, [class*="icheck-"] > input:first-child:checked + label::after {
	content: "";
	display: inline-block;
	position: absolute;
	top: 0;
	left: 0;
	width: 7px;
	height: 10px;
	border: 2px solid #fff;
	border-left: none;
	border-top: none;
	transform: translate(6.5px,3.2px) rotate(45deg);
	-ms-transform: translate(6.5px,3.2px) rotate(45deg);
}

.cursor-pointer {
	cursor: pointer;
}

.pe-none {
	pointer-events: none;
}

/* Custom Checkbox & Radio */

input[type=checkbox] {
	appearance: none;
	border: 2px solid var(--gray);
	border-radius: 4px;
	accent-color: var(--primary);
	width: 1.15rem;
	height: 1.15rem;
	vertical-align: text-bottom;
	cursor: pointer;
}

input[type=checkbox]:checked {
	appearance: checkbox;
}

input[type=radio] {
	appearance: none;
	border: 2px solid var(--secondary);
	border-radius: 100%;
	accent-color: var(--primary);
	width: 1.30rem;
	height: 1.30rem;
	vertical-align: text-bottom;
	cursor: pointer;
}

input[type=radio]:checked {
	appearance: radio;
}

input[type=checkbox]:hover {
	appearance: none;
	/* background-color: var(--tertiary); */
  	border: 2px solid var(--primary);
	border-radius: 4px;
	/* box-shadow: inset 0 0 0px 5px var(--secondary); */
}

input[type=checkbox]:checked:hover {
	appearance: checkbox;
	box-shadow: none;
}

input[type=radio]:hover {
	appearance: none;
	/* background-color: var(--tertiary); */
  	border: 2px solid var(--primary);
	border-radius: 100%;
	/* box-shadow: inset 0 0 0px 5px var(--secondary); */
}

input[type=radio]:checked:hover {
	appearance: radio;
	box-shadow: none;
}


/* Single Property Page Styles */

/*
.property-single-logo img {
	max-width: 250px;
	max-height: 95px;
}
*/

.property-single-services .property-services-box {
	height: 100%;
	border-radius: 5px;
	padding:20px;
	background-color:#f5f5f5;
	font-size:17px;
	line-height: 1.6;
}

.property-single-services h3 {
	font-size: 20px;
	color:var(--primary);
	margin-bottom: 15px;
}

.property-single-services .big-dot {
	display: inline;
	color: #007d80;
}

.property-single-services .property-services-box svg {
	fill:#007d80;
	font-size:15px;
	margin-right: 5px;
	vertical-align: -2px;
}
/* BX Slider */

.bxslider li {
    display:none;
}

.bxslider li:first-child {
    display:block;
}

.bx-wrapper {
	box-shadow: none;
  	border: none;
	margin-bottom: 30px;
}

.bx-wrapper img {
	height:450px;
	width:100%;
	object-fit:cover;
	object-position:50% 50%;
}

.bx-wrapper .bx-prev {
	display: inline-block;
  	width: 2rem;
  	height: 2rem;
  	background-repeat: no-repeat;
	opacity: .7;
	background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%23fff'%3e%3cpath d='M11.354 1.646a.5.5 0 0 1 0 .708L5.707 8l5.647 5.646a.5.5 0 0 1-.708.708l-6-6a.5.5 0 0 1 0-.708l6-6a.5.5 0 0 1 .708 0z'/%3e%3c/svg%3e");
	background-position: unset!important;
	background-size: 100% 100%;
}

.bx-wrapper .bx-next {
	display: inline-block;
  	width: 2rem;
  	height: 2rem;
  	background-repeat: no-repeat;
	opacity: .7;
	background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%23fff'%3e%3cpath d='M4.646 1.646a.5.5 0 0 1 .708 0l6 6a.5.5 0 0 1 0 .708l-6 6a.5.5 0 0 1-.708-.708L10.293 8 4.646 2.354a.5.5 0 0 1 0-.708z'/%3e%3c/svg%3e");
	background-position: unset!important;
	background-size: 100% 100%;
}

.bx-wrapper .bx-prev:hover,
.bx-wrapper .bx-next:hover {
	background-position: unset!important;
	opacity: .9;
}

#bx-pager {
    text-align: left;
    margin-top: -25px;
	margin-bottom: 40px;
  }

  #bx-pager a {
    margin: 0;
  }

  #bx-pager a img {
    max-width: 180px;
	margin-right: 5px;
  }

  #bx-pager a.active img {
    border: solid #5280DD 2px;
	box-sizing: content-box;
  }

/* Single Property Reservation Form */

.reservation-box h3 {
	font-size: 20px;
	font-weight: 600;
	color: #007d80;
	margin-bottom: 10px;
}

.reservation-item {
	background-color: #f8f9fa !important;
	transition: .05s all;
}

.reservation-item select,
.reservation-item input[type="number"],
.reservation-item input[type="text"] {
	pointer-events: none;
	opacity: 0.2;
}

.reservation-item:has(input[type="radio"]:checked) {
	background-color: #eaeebd !important;
	border-color: #007d80 !important;
	transition: .05s all;
}

.reservation-item:has(input[type="radio"]:checked) select,
.reservation-item:has(input[type="radio"]:checked) input[type="number"],
.reservation-item:has(input[type="radio"]:checked) input[type="text"] {
	border: 1px solid #007d80 !important;
	background-color: var(--white);
	pointer-events: auto;
	opacity: 1;
}

input[type="text"].invalid, input[type="email"].invalid, input[type="tel"].invalid {
	background-color: #ffe6e6;
}

.reservation-item:has(input[type="radio"]:checked) select.invalid {
	background-color: #ffe6e6;
}

.reservation-box .error-message {
	color: #dc3545;
	font-weight: 600;
	margin: 0;
	margin-top: 4px;
}

.reservation-box input,
.reservation-items input,
.reservation-items select {
	display: block;
	/*
	width: 100%;
	padding: 12px 15px;
	*/
	margin: 0;
}

.reservation-box select {
	padding: 12px 15px;
	margin: 0;
}

.reservation-items input[type="number"] {
	padding: 9px 15px;
}

.reservation-items label {
	color: #007d80;
	margin-bottom: 2px;
}

/* Reservation Confirmation Page */

.spa-reservation-confirmation-page .searchform-header {
	display: none;
}

/* Footer Styles */

.main-footer {
	color: #333333;
	background-color: #91CFAC;
	border-top: 2px solid var(--primary);
	padding: 1rem;
}


/* Mobile Styles */


@media only screen and (max-width: 768px) {

	.layout-top-nav .wrapper .main-header .brand-image {
		max-width: 220px;
		width: 100%;
	}

	.searchform-header input[type=text] {
		display:block;
		width:100%;
		margin: 10px auto;
	}

	.searchform-header select {
		display:block;
		width:100%;
		margin: 10px auto;
	}

	.searchform-header input[type=date] {
		display:block;
		width:100%;
		margin: 10px auto;
	}

	.searchform-header input[type=time] {
		margin: 0 auto 10px;
	}

	.info-box.property-card {
		flex-direction: column;
		min-height: unset;
		max-height: unset;
	}

	.info-box-inner {
		flex-direction: column;
		min-height: unset;
		max-height: unset;
	}

	.info-box.property-card .info-box-img {
		width:100%;
	}

	.info-box.property-card .info-box-img img {
		max-height: 200px;
		object-fit: cover;
		width: 100%;
		height: 100%;
	}

	.info-box.property-card .info-box-content {
		padding: 30px 10px 20px;
	}

	.bx-wrapper img {
	height:250px;
	width:100%;
	object-fit:cover;
	object-position:50% 50%;
	}

	.property-single-logo img {
		width:auto;
		/* height:100px; */
	}

}