/* FONTS
----------------------------------------------------------------------------------------------------*/

html {
	font-family: "Montserrat", Helvetica, Arial, "Lucida Grande", sans-serif;
    font-size:62.50%;
    font-weight:400;
    color:#333333;
}

body {
  overflow-x: hidden;
  overflow-y: scroll;
}

h1, h2, h3, h4 {
	font-weight:400;
}

h1, h2, h3 {
	font-family: "Martel", Helvetica, Arial, "Lucida Grande", sans-serif;
}

h1, h2 {
	font-size:4rem;
	color:#DC9267;
	margin-bottom:4.5rem;
	line-height:1.2;
}

h3 {
	font-size:2rem;
	line-height:1.2;
	margin-bottom:3rem;
}

h4 {
	font-size:1.8rem;
	line-height: 1.6;
	margin-bottom:1.5rem;
}

p {
	font-size:1.4rem;
	line-height:1.8;
	margin-bottom:2rem;
}

p strong {
	font-weight:700;
}

p:last-child {
	margin-bottom:0;
}

p a,
p a:link,
p a:focus {
	color:#29ABE2;
}

u {
	color:#068C3C;
}

/* FONT OPTIONS */

.text-center {
	text-align:center;
}


/** FONTS RESPONSIVE CSS
*****************************************************************************************************/

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

	h4 {
		font-size:1.4rem;
		line-height: 1.6;
		margin-bottom:1.5rem;
	}

}

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

	h1, h2 {
		font-size:3.5rem;
	}

	h3 {
		font-size:2rem;
	}

}

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

	h1, h2 {
		font-size:2.5rem;
	}

	h3 {
		font-size:1.8rem;
	}

}

/* MAIN LAYOUT
----------------------------------------------------------------------------------------------------*/

body, html {
	height:100%;
}

.content,
section {
	position:relative;
	display:block;
}

.content:after,
section:after {
	display:block;
	content: " ";
	clear: both;
	height:0;
	width:100%;
	*zoom: 1;
}

section {
	background-color:#ffffff;
	width:100%;
	z-index:10;
}

.content {
    padding:10rem 15px 20rem;
    margin:0 auto;
    max-width:1180px;
}

.container[id*="-content"] {
	min-height:300px;
}

section.full-screen {
	height:100vh;
	max-height:128rem;
	overflow:hidden;
}

section.full-screen .content {
	height:100%;
}

/* FOR BUTTER JS SCROLLER */

#scroll-wrapper {
	z-index:10;
}

/* FLEXBOX PRESETS */

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

.justify-center {
	justify-content:center;
}

.gap-3-2 {
	gap:3rem 2rem;
}

/** MAIN LAYOUT RESPONSIVE CSS
*****************************************************************************************************/

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

	.content {
	    padding:7rem 15px 10rem;
	}

}

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

	.content {
	    padding:10rem 15px;
	}

}

/* HEADER
----------------------------------------------------------------------------------------------------*/

#top-navigation .main-header {
    position:fixed;
    top:0;
    left:0;
    width:100%;
    box-shadow: 0 5px 8px 0 rgba(0,0,0,0.15);
    transform: translateY(-100%);
	transform-origin: top;
	transition: all ease 500ms;
    z-index:100;
}

#top-navigation .main-header.active {
    transform: translateY(0);
}

.main-header {
	background-color:#ffffff;
}

.main-header .content {
	padding:0;
}

/* HEADER MAIN */

#header-navigation-wrapper {
	display: flex;
	align-items: center;
	justify-content:space-between;
	height:8rem;
	padding:0 15px;
}

/* HEADER LOGO */

#logo {
	display:inline-block;
	transition: all 200ms;
	margin-right:4rem;
}

/* HEADER NAVIGATION */

ul.main-navigation {
	display:flex;
	align-items:center;
	gap:3rem;
	width:100%;
}

ul.main-navigation > li.footer-include {
	display:none;
}

ul.main-navigation > li > a {
	display:inline-block;
	font-weight:400;
	line-height:1.6;
	color:#DC9267;
	white-space:nowrap;
}

ul.main-navigation a {
	font-size:1.4rem;
	white-space: nowrap;
	outline:none;
	transition: all 200ms;
}

ul.main-navigation li a.active,
.enable-hover ul.main-navigation > li > a:not(.link-btn):hover {
    color:#4B576D;
}

.enable-hover ul.main-navigation > li > a.link-btn:hover {
	color:#ffffff;
}

/* HEADER EXPAND BUTTON FOR MOBILE */

a#expand-nav {
	position:fixed;
	top:20px;
	right:15px;
	display:none;
	width:40px;
	height:40px;
	padding:13px 11px;
	cursor:pointer;
	z-index:100;
	transition: all 200ms;
}

a#expand-nav div {
	display: flex;
	flex-direction: column;
  	justify-content: space-between;
	width:18px;
	height:14px;
}

a#expand-nav div span {
	display:block;
	width:18px;
	height:2px;
	background:#DC9267;
	-webkit-transform-origin: 100% 50%;
	-moz-transform-origin: 100% 50%;
	transform-origin: 100% 50%;
	-webkit-transition: all 200ms;
	-moz-transition: all 200ms;
	transition: all 200ms;
}

#top-navigation .main-header.mobile-nav-active a#expand-nav div span {
	background:#9a3434;
}

a#expand-nav.active div span:first-child,
#top-navigation .main-header.mobile-nav-active a#expand-nav div span:first-child {
	transform: translateX(-2px) rotate(-45deg) scaleX(1.1);
	right:10px;
}

a#expand-nav.active div span:nth-child(2),
#top-navigation .main-header.mobile-nav-active a#expand-nav div span:nth-child(2) {
	opacity:0;
}

a#expand-nav.active div span:last-child,
#top-navigation .main-header.mobile-nav-active a#expand-nav div span:last-child {
	transform: translateX(-2px) translateY(2px) rotate(45deg) scaleX(1.1);
}

/* HEADER / HEADER NAVIGATION / HEADER SUB NAVIGATION RESPONSIVE CSS
**************************************************************************************/

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

	/* HEADER */

	#top-navigation .main-header {
	    transform: translateY(0);
	}

	/* HEADER LOGO */

	#logo {
	    margin-right: 2rem;
	}

	/* HEADER NAVIGATION LINKS */

	#top-navigation ul.main-navigation {
		gap:2rem;
	}

	#top-navigation ul.main-navigation a {
		font-size:1.4vw;
	}

	#top-navigation ul.main-navigation a.link-btn {
    	padding: 1rem;
	}

}

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

	/* HEADER LOGO */

	#logo {
	    margin-right: 0;
	}

	/* HEADER NAVIGATION */

	#top-navigation ul.main-navigation {
		position:fixed;
		justify-content: center;
		flex-wrap:wrap;
		gap: 1rem 2rem;
		background:rgba(0,0,0,0.85);
		top:80px;
		left:0;
		pointer-events: none;
		opacity:0;
		padding:1rem 15px;
		z-index:11;
		transition: all 200ms;
	}

	#top-navigation ul.main-navigation > li {
		margin:0;
		text-align:center;
		overflow:hidden;
	}

	#top-navigation ul.main-navigation > li > a {
		display:inline-block;
		font-size:1.4rem;
		color:#ffffff;
		white-space:normal;
	}

	#top-navigation ul.main-navigation > li > a,
	#top-navigation ul.main-navigation a.link-btn {
		padding: 0.5rem 1rem;
	}

	#top-navigation ul.main-navigation a.link-btn {
		border: none;
	}

	#top-navigation ul.main-navigation > li > a:after {
		display:none;
	}

	#top-navigation ul.main-navigation li.limit-height {
		max-height:40px !important;
	}

	#top-navigation ul.main-navigation > li.dropdown > a:after  {
		width:10px;
		height:10px;
		border-right:3px solid #ffffff;
		border-bottom:3px solid #ffffff;
		margin:4px;
	}

	#top-navigation ul.main-navigation li.active,
	#top-navigation ul.main-navigation li a.current,
	#top-navigation ul.main-navigation li a.active,
	.enable-hover #top-navigation ul.main-navigation li a:hover {
	    color:#E1A01C;
	}

	#top-navigation ul.main-navigation > li.dropdown ? a.active:after {
		border-color:#E1A01C;
	}

	/* HEADER NAVIGATION LINKS */

	#top-navigation ul.main-navigation > li {
		margin: 0;
	}

	#top-navigation ul.main-navigation a {
		font-size:1.4rem;
	}

	/* HEADER NAVIGATION - MOBILE NAV ACTIVE */

	#top-navigation .main-header.mobile-nav-active ul.main-navigation {
		opacity:1;
		pointer-events: inherit;
	}

	/* HEADER NAVIGATION WRAPPER */

	#header-subnavigation-wrapper {
		position:relative;
		top:0;
		left:0;
		transform: scaleY(1);
	}

	/* HEADER EXPAND BUTTON FOR MOBILE */

	a#expand-nav {
		display:block;
	}

}

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

	/* HEADER NAVIGATION */

	#top-navigation ul.main-navigation > li > a {
		font-size:1.2rem;
	}

	#top-navigation ul.main-navigation > li > a,
	#top-navigation ul.main-navigation a.link-btn {
		padding: 0.5rem;
	}

	/* HEADER LOGO */

	#logo img {
		max-height:1.6rem;
		width:auto;
	}

}

/* CONTENT - GENERAL
----------------------------------------------------------------------------------------------------*/

/* GENERAL CLASS */

a,
a:link,
a:focus {
	outline: 0;
	text-decoration:none;
}

.full-image {
	width:100%;
	height:auto;
}

/* BROWSER WARNING */

#browser-warning {
	position:fixed;
	top:0;
	left:0;
	right:0;
	bottom:0;
	width:100vw;
	height:100vh;
	background: rgba(0,0,0,0.95);
	display:flex;
	flex-direction:column;
	align-items:center;
	justify-content:center;
	text-align:center;
	font-size:2rem;
	line-height:1.4;
	color:#ffffff;
	z-index:9999;
}

#browser-warning a {
	color:#ffffff;
	text-decoration:underline;
}

/* LIST STYLE - BULLET LIST */

ul.bullet-list {
	margin-bottom:2rem;
}

ul.bullet-list > li {
	position:relative;
	font-size:1.4rem;
	line-height:1.8;
	text-align:left;
	padding-left:1.5rem;
}

ul.bullet-list > li.heading {
	padding-left:0;
}

ul.bullet-list > li > strong {
	font-weight:700;
}

ul.bullet-list:not(.no-bullet) > li:not(.heading):before {
	position:absolute;
	top:0;
	left:0;
	display:inline-block;
	content: "\2022";
	font-size: 3rem;
    line-height: 0.7;
}

/* PAGE ERROR (404, etc) */

#error {
	text-align:center;
}

#error h3 {
	margin-bottom:1.5rem;
}

/* PAGE HEADING */

.page-header {
	text-align:center;
}

.page-header span {
	display:flex;
	align-items: center;
    justify-content: center;
	gap:1.5rem;
	padding:0 4.5rem;
	font-size:1.4rem;
	color:#958F7F;
	margin-bottom:2rem;
}

.page-header span:before,
.page-header span:after {
	content:"";
	display:inline-block;
	height:1px;
	width:30px;
	background:#958F7F;
}

.page-header.dark span {
	color:#ffffff;
}

.page-header.dark span:before,
.page-header.dark span:after {
	background:#ffffff;
}

/* ICON WITH TEXT */

.icon-text {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 0 0.8rem;
    font-size: 1.4rem;
    color: #ffffff;
}

a.icon-text {
	text-decoration:underline;
}

/* LINKS AND BUTTONS */

.link-btn {
	display:inline-flex;
	flex-basis: 0;
	align-items:center;
    font-size:1.4rem;
    font-weight:700;
    line-height:2.5;
    color:#DC9267;
    cursor:pointer;
    padding:1rem 2rem;
    border:1px solid #DC9267;
    border-radius:5px;
	transition: all 200ms;
}

.enable-hover .link-btn:hover {
	color:#ffffff;
	background:#DC9267;
}

/* LINK BUTTON - LIGHT */

.link-btn.light {
	color:#545A5A;
	background-color:#ffffff;
	border:1px solid #545A5A;
	padding:0.5rem 2rem;
}

.enable-hover .link-btn.light:hover {
	color:#ffffff;
	background-color:#545A5A;
}

/* LINK BUTTON - CLOSE */

.link-btn.close {
	padding: 1rem 1.8rem;
    line-height: 1;
}

.link-btn.close > div {
	display:flex;
	align-items:center;
}

.link-btn.close img {
	margin-right:1rem;
	transition: all 200ms;
}

.enable-hover .link-btn.close:hover img {
	filter: brightness(0) invert(1);
}

/* BACK TO TOP BUTTON */

#back-top {
	position:fixed;
	display:inline-block;
	bottom:100px;
	right:5rem;
	width:40px;
	height:40px;
	background-color:#CD9E8E;
	border-radius:100%;
	opacity:0;
	pointer-events: none;
	z-index:20;
	transition: all 200ms;
}

#back-top:after {
	content:"";
	display:inline-block;
	transform: rotate(45deg);
	margin: 1.6rem 0 0 1.4rem;
	width:12px;
	height:12px;
	border-left:3px solid #ffffff;
	border-top:3px solid #ffffff;
	transition: border-color 200ms;
}

#back-top.show {
	opacity:1;
	pointer-events: all;
}

.enable-hover #back-top:hover {
	background-color:#000000;
}

.enable-hover #back-top:hover:after {
	border-color:#ffffff;
}


/* GENERAL CLASS RESPONSIVE CSS
**************************************************************************************/

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

	/* BACK TO TOP BUTTON */

	#back-top {
		display:none;
	}

}

/* SLICK SLIDER OVERRIDES */

.slick-initialized .slick-slide {
	display:flex;
	justify-content:center;
	align-items: center;
	height:100vh;
	max-height:100vh;
}

.slick-slide img {
	width:100%;
	height:auto;
	object-fit:contain;
}

.slick-next,
.slick-prev {
	border-radius:100%;
	transition: all 200ms;
}

.slick-next:before,
.slick-prev:before {
	display:block;
	content: "";
	opacity:1;
	/*background: url("../images/arrow.svg") no-repeat center center;*/
}

.slick-next:before {
	transform: rotate(180deg); 
}

.slick-dots {
	bottom:2.5rem;
}

.slick-dots li button {
	background-color:#ffffff;
	border: 1px solid #ffffff;
}

.slick-dots li.slick-active button {
	background-color: #EC4176;
	border: 1px solid #EC4176;
}

/* SECTIONS - HOME
----------------------------------------------------------------------------------------------------*/

/* HOME SLIDER BACKDROP */

#home-slider-container {
	position:fixed;
	top:0;
	left:0;
}

#home-slider-container #backdrop .content {
	position:absolute;
	top:0;
	left:0;
	width:100%;
	padding:0 15px 8rem;
	max-width:unset;
	display:flex;
	flex-direction:column;
	align-items:center;
	justify-content:center;
	text-align:center;
}

#home-slider-container .content img {
	margin-bottom:1.5rem;
	object-fit:contain;
}

#home-slider-container .content h4 {
	display:inline-block;
	color:#ffffff;
	max-width:97.5rem;
	padding:0 2rem;
}

/* HOME HERO */

#home-hero .main-header {
    position:absolute;
    top:unset;
    bottom:0;
    width:100%;
    z-index:101;
    transition: all 200ms;
}

#home-hero {
	background-color:transparent;
}

/* HOME - MAIN SLIDER */

#backdrop {
	position:fixed;
	top:0;
	left:0;
	width:100vw;
	max-height:100vh;
}

#home-slider img {
	width:100%;
	height:auto;
	min-width:100vw;
	min-height:100vh;
	object-fit:cover;
}

/** SECTIONS - HOME RESPONSIVE CSS
*****************************************************************************************************/

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

	/* HOME SLIDER BACKDROP */

	#home-slider-container .content img {
		max-height:9rem;
	}

	/* HOME HERO */

	#home-hero .main-header {
	    display:none;
	}

	/* HOME - MAIN SLIDER */

	#backdrop {
		top:80px;
	}

}

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

	/* HOME SLIDER BACKDROP */

	#home-slider-container .content img {
	    max-height: 6rem;
	}

}

/* SECTIONS - ABOUT US
----------------------------------------------------------------------------------------------------*/

#about-us {
    background-image: url(../images/bg-about-us.webp);
    background-position: 0 100%;
    background-repeat: no-repeat;
    background-size: cover;
    overflow:hidden;
    transition: all 200ms ease-out;
}

#about-us .content {
	display: flex;
    flex-direction: column;
    justify-content: center;
}

#about-us img {
	width:100%;
	height:auto;
}

#about-us #iframe-video {
	display:flex;
	justify-content:center;
	margin-bottom:4rem;
}

#about-us #iframe-video div {
	border-radius:1rem;
	overflow:hidden;
	box-shadow: 3px 4px 10px 3px rgba(0, 0, 0, 0.3);
}

#about-us #iframe-video iframe {
    max-width: 90rem;
}

#about-us p {
	color:#ffffff;
}

/** SECTIONS - ABOUT US RESPONSIVE CSS
*****************************************************************************************************/

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

	#about-us {
		height:auto;
	}

	#about-us .content {
		display: block;
		padding-bottom:10rem;
	}

}

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

	#about-us #iframe-video iframe {
		width: 100vw;
	    height: calc(100vw / 1.8);
	}

}

/* SECTIONS - OUR ROOMS
----------------------------------------------------------------------------------------------------*/

#our-rooms .content {
	padding: 10rem 15px;
}

#room-amenities {
	padding-top:6rem;
}

#room-amenities .flex figure {
	flex:0 0 15%;
}

#room-amenities .flex figcaption {
	font-size:1.4rem;
	line-height:1.2;
}

#room-amenities .flex figure > div {
	display:flex;
	align-items: flex-end;
	justify-content: center;
	height:55px;
	margin-bottom:1.5rem;
}

#hidden-gallery-images {
	display:none;
}

/* OUR ROOMS GRID */

#our-rooms-grid {
	display:grid;
	grid-template-columns: repeat(auto-fit, minmax(320px, 1fr));
	grid-gap:1px;
	padding-bottom:20rem;
}

#our-rooms-grid figure > img {
	width:100%;
	height:auto;
	transform-origin:center;
	transform:scale(1);
	transition:all 300ms;
}

#our-rooms-grid figure {
	position:relative;
	overflow:hidden;
}

#our-rooms-grid figcaption {
	display:block;
	position:absolute;
	bottom:0;
	left:0;
	width:100%;
	height:9rem;
	padding:1rem;
	overflow:hidden;
	transition:all 300ms;
}

#our-rooms-grid .frame {
	display:flex;
	width:100%;
	padding:1rem;
	flex-direction:column;
	justify-content: center;
	overflow:hidden;
	transition:all 1000ms;
}

#our-rooms-grid span.read-more {
	opacity:1;
	transition:all 300ms;
}

#our-rooms-grid h3 {
	color:#ffffff;
	margin-bottom:1.2rem;
}

#our-rooms-grid .room-details {
	overflow:hidden;
	opacity:0;
	height:0;
	visibility:hidden;
	transform:translateY(3rem);
	transition: opacity 300ms, transform 300ms;
}

#our-rooms-grid .description {
	color:#4D4D4D;
	margin-bottom:2.5rem;
	line-height:1.6;
}

#our-rooms-grid .description img {
	margin-right:0.8rem;
}

#our-rooms-grid .link-btn {
	margin:0 0.8rem;
}

/* OUR ROOMS GRID - HOVER EFFECTS */

#our-rooms-grid figure.active > img,
.enable-hover #our-rooms-grid figure:hover > img {
	transform:scale(1.2);
}

#our-rooms-grid figure.active figcaption,
.enable-hover #our-rooms-grid figure:hover figcaption {
	display:flex;
	height:100%;
}

#our-rooms-grid figure.active .frame,
.enable-hover #our-rooms-grid figure:hover .frame {
	background:rgba(255,255,255,0.85);
}

#our-rooms-grid figure.active h3,
.enable-hover #our-rooms-grid figure:hover h3 {
	color:#4B576D;
}

#our-rooms-grid figure.active span.read-more,
.enable-hover #our-rooms-grid figure:hover span.read-more {
	opacity:0;
	pointer-events:none;
}

#our-rooms-grid figure.active .room-details,
.enable-hover #our-rooms-grid figure:hover .room-details {
	transform:translateY(0);
	opacity:1;
	height:100%;
	visibility:visible;
	transition-delay:300ms;
}

.enable-hover #our-rooms-grid figure.active .description,
.enable-hover #our-rooms-grid figure.active a,
.enable-hover #our-rooms-grid figure:hover .description,
.enable-hover #our-rooms-grid figure:hover a {
	pointer-events:all;
}

/* SECTIONS - OUR ROOMS RESPONSIVE CSS
**************************************************************************************/

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

	#room-amenities .flex figure {
		flex:0 0 25%;
	}

	/* OUR ROOMS GRID */

	#our-rooms-grid span.read-more {
		cursor:pointer;
	}

}

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

	#room-amenities .flex figure {
		flex:0 0 45%;
	}

	/* OUR ROOMS GRID */

	#our-rooms-grid {
		padding-bottom:0;
	}

}

/* SECTIONS - OUR DINING
----------------------------------------------------------------------------------------------------*/

#our-dining {
	background-image: url(../images/bg-our-dining.webp);
    background-position: 0 100%;
    background-repeat: no-repeat;
    background-size: cover;
    overflow:hidden;
}

#our-dining p {
	color:#ffffff;
}

#our-dining-grid {
	position:relative;
	width:100%;
	max-width:1160px;
	margin:0 auto;
	margin-top:11rem;
}

#our-dining-grid img {
	width:100%;
	height:auto;
}

.grid-item {
  display: block;
  position: absolute;
  width: calc(25% - 2rem);
  height: auto;
  margin: 0 1rem 1.8%;
  z-index: 1;
  background: #000;
  color: #fff;
}

.grid-item.double {
	width:calc(50% - 2rem);
}

.grid-item.double {
	display:flex;
	background-color:#CD9E8E;
}

.grid-item.double > div {
	flex:0 0 50%;
}

.grid-item.double > .image-content {
	display:flex;
	padding:0 2rem;
	flex-direction:column;
	align-items:center;
	justify-content:center;
}

.grid-item.double h3 {
	margin-bottom:0.8rem;
	line-height:1.4;
}

.grid-item.double span {
	color:#4B576D;
	font-size:1.4rem;
}

/* SECTIONS - OUR DINING RESPONSIVE CSS
**************************************************************************************/

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

	.grid-item.double h3 {
		font-size:1.8rem;
	}

}

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

	.grid-item {
		width: 31.3333333%;
		margin: 0 1% 2%;
	}

	.grid-item.double {
		width: 64.666666%;
	}

}

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

	.grid-item {
		margin: 0 0 1rem;
	}

	.grid-item,
	.grid-item.double {
		width:100%;
	}

	.grid-item.double h3 {
		font-size:1.4rem;
	}

	.grid-item.double span {
	    color: #4B576D;
	    font-size: 1.2rem;
	}

}

/* SECTIONS - OUR FACILITIES AND FEATURES
----------------------------------------------------------------------------------------------------*/

#facilities-features-grid {
	display:grid;
	grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
	grid-gap:3rem 2rem;
	margin-top:6.5rem;
}

#facilities-features-grid img {
	width:100%;
	height:auto;
}

#facilities-features-grid figcaption {
	font-size:1.4rem;
	color:#4B576D;
	padding:1.5rem 2.5rem;
	line-height:1.4;
}

/* SECTIONS - CONTACT US
----------------------------------------------------------------------------------------------------*/

#contact-us {
	background:#5a5a5a url(../images/waves.png) repeat center center;
}

#contact-us .content {
    padding: 10rem 15px 19rem;
}

#contact-details {
	max-width:58rem;
	background:#CD9E8E;
	margin:0 auto;
	padding:5rem 2rem 4.5rem;
}

#contact-details span {
	display:inline-block;
	font-size:1.4rem;
	color:#4B576D;
	margin-bottom:1.2rem;
}

#contact-details a {
	color:#ffffff;
}

#contact-details .icon-text {
	line-height:1.4;
	margin:0 1.2rem 3rem;
}

#contact-details strong {
	font-weight:700;
}

#map-canvas {
	height:800px;
}

/* SECTIONS - CONTACT US RESPONSIVE CSS
**************************************************************************************/

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

	#contact-details .icon-text {
		font-size:1.3rem;
	}

}

/* CONTENT - FORMS
----------------------------------------------------------------------------------------------------*/

#ajax-form-container,
#ajax-form {
    width:100%;
}

#ajax-form-success-message {
	display:none;
}

.success-message {
	padding:4rem 0;
}

.success-message.newsletter {
	padding:2rem 0 4rem;
	color:#ffffff;
}

#ajax-form-container .show {
	display:block;
}

#ajax-form-container section {
	background: url(../images/pattern.png) no-repeat top right;
	padding:0 15px;
}

#ajax-form-success-message h3 {
	margin-bottom: 10px;
    display: inline-block;
    background-color: #32b508;
    padding: 10px 20px;
    border-radius: 5px;
}

#ajax-form #booking-details,
#ajax-form #personal-details,
#ajax-form #terms-conditions-submit,
#ajax-form-success-message {
	padding:3.5rem 3rem 10rem;
	border:1px solid #F2F2F2;
	border-radius:10px;
	background:#ffffff;
}

#ajax-form #booking-details h5,
#ajax-form #personal-details h5 {
	display:block;
	height: 30px;
    line-height: 30px;
	width:100%;
	font-weight:700;
	margin-bottom:0.5rem;
}

#personal-details .form-control {
	margin-right:0;
}

.form {
	position:relative;
	display:block;
	padding:0;
}

.form-row {
	margin-bottom:25px;
	justify-content: flex-start;
}

.form .field,
.form .field > div {
	display:flex;
	flex-wrap:wrap;
	justify-content: flex-start;
}

.form .field {
	gap:0 2rem;
}

.form .field > div {
	gap:0 1rem;
	margin-bottom:10px;
}

.form .field.single-column > div {
	flex-direction:column;
}

.form .field.single-column > label {
	font-weight:700;
}

.form .field.width-25 > div{
	flex: 0 0 25%;
}

.form .field.width-30 > div{
	flex: 0 0 30%;
}

.form .field.width-50 > div{
	flex: 0 0 48.5%;
}

.form .field.width-60 > div{
	flex: 0 0 60%;
}

.form .field.single-column.width-100 > div,
.form .field.width-100 > div{
	flex: 0 0 100%;
}

.form .field {
	position:relative;
	text-align:left;
	min-width:inherit;
	background:none;
	margin-bottom:15px;
	clear:both;
}

.form .field:last-child {
	margin-bottom:0;
}

.form.contact-form .field {
	margin-bottom:10px;
}

.form #message.field {
	margin-bottom:17px;
}

.form #captcha {
	overflow:hidden;
	margin:10px 0 15px;
}

.form.contact-form  #captcha {
	margin:20px 0 15px;
}

.form label,
.form-control,
.form .button {
	font-family: "Montserrat", Helvetica, Arial, "Lucida Grande", sans-serif;
	font-size:1.4rem;
	color:#000000;
	height:40px;
	line-height:40px;
}

.form label,
.form-control {
	font-weight:500;
}

.form label {
	display:inline-block;
}

.form label span {
	color:#ED1E79;
}

.form .field > label {
	min-width:110px;
	margin-right:10px;
}

#terms-conditions {
	margin-bottom:25px;
}

#terms-conditions label {
	display: flex;
    min-width: unset;
    align-items: center;
    margin:0 0 0.3rem 0;
    gap: 0.5rem;
    height:auto;
    line-height:inherit;
}

#terms-conditions label a {
	color:#EC4176;
	font-weight:700;
	text-decoration:underline;
}

.single-column label {
	height:30px;
	line-height:30px;
	font-weight:700;
	margin-bottom: 0.5rem;
}

.form h4 {
	text-align:left;
	color:#000000;
	margin-bottom:1.5rem;
}

.form-control {
	display:block;
	padding:0 10px;
	border:1px solid #DCD5CC;
	border-radius:4px;
	background-color:#ffffff;
	background-clip: padding-box;
	outline:none;
}

textarea.form-control {
	padding:10px 12px;
	line-height:1.2;
	height:200px;
} 

select.form-control {
	min-width:120px;
	padding: 0 30px 0 8px;
	background:url(../images/generic/icon-down-arrow.svg) no-repeat calc(100% - 1rem) center;
	-moz-appearance:none;
    -webkit-appearance:none;
    appearance:none;
}

.single-column select.form-control {
	width:100%;
}

.form-control::-ms-expand {
	background-color: transparent;
	border: 0;
}

.form-control:focus {
	color: #495057;
	background-color: #fff;
	border-color: #80bdff;
	outline: 0;
	box-shadow: 0 0 0 0.2rem rgba(0, 123, 255, 0.25);
}

.form-control::-webkit-input-placeholder {
	color: #6c757d;
	opacity: 1;
}

.form-control::-moz-placeholder {
	color: #6c757d;
	opacity: 1;
}

.form-control:-ms-input-placeholder {
	color: #6c757d;
	opacity: 1;
}

.form-control::-ms-input-placeholder {
	color: #6c757d;
	opacity: 1;
}

.form-control::placeholder {
	color: #6c757d;
	opacity: 1;
}

.form-control:disabled, .form-control[readonly] {
	background-color: #e9ecef;
	opacity: 1;
}

select.form-control:focus::-ms-value {
	color: #495057;
	background-color: #fff;
}

.form div#spamtrap {
	visibility:hidden
}

.form .error {
	position:relative;
	display:block;
	width:100%;
	margin:0;
	z-index:2;
	float:none;
	clear:both;
}

.form #ajax-form-server-errors {
	position:relative;
	color:#f00;
	visibility:visible;
}

.form #ajax-form-server-errors.error div {
	padding: 0 3rem;
}

.form .error div,
.form .error span {
	display:block;
	clear:both;
	font-size:1.2em;
	line-height:2;
	padding:0;
	margin:0;
    color:#f00;
}

.form.tour-booking .error div {
	position:absolute;
	left:0;
	white-space:nowrap;
}

.form #ajax-form-server-errors span:last-of-type {
	margin-bottom:20px;
}

.form .error:before {
	position:absolute;
	top:0;
	left:0;
	width: 0; 
	height: 0; 
	border-top: 10px solid transparent;
	border-bottom: 10px solid transparent; 
	border-right:10px solid blue; 
}

.form fieldset#antispam {
	padding:2px;
	border-top:1px solid #EEE;
	border-left:0;
	border-right:0;
	border-bottom:0;
	width:350px;
}

.form fieldset#antispam legend {
	font-size: 0.8em;
	font-weight:bold;
	color:#333;
}

.form .button {
	position:relative;
    background-color:#E1A01C;
    font-weight:700;
    padding:0 2rem;
    border:none;
    height:40px;
    width:auto;
    min-width:inherit;
    display:inline-block;
    color:#541D8F;
	cursor:pointer;
	border-radius:5px;
	border:none;
    -webkit-appearance: none;
    -moz-appearance: none;
	transition: all 200ms;
}

.form .button.processing {
	padding-right:2rem;
}

.form .button.processing > div {
	background: url(../assets/form/images/spinner.gif) no-repeat right 8px;
    background-size: 20px;
    padding-right: 3rem;
}

.form .button + .button {
	margin-left:1rem;
}

.form .button:hover {
	color:#ffffff;
	background:#000000;
}

.form .note {
	padding-top:1.5rem;
}

#ajax-form-recaptcha {
	position:relative;
	width: 290px;
	overflow:hidden;
	margin:0;
}

#ajax-form-recaptcha:before {
	content:"";
	display:block;
	position:absolute;
	top:0;
	left:0;
	border: 1px solid #d3d3d3;
	pointer-events: none;
	height:76px;
	width:290px;
	border-radius:2px;
	z-index:10;
}

#ajax-form-recaptcha > div {
	margin-left:-5px;
}

/* BOOKING FORM CONTROLS */
.booking-form-controls {
	padding-top:2rem;
}

.form .form-custom-controls {
	color:#EC4176;
	font-size:1.4rem;
	font-weight:700;
	border:1px solid #EC4176;
	border-radius:4px;
	background:none;
	padding:0 2rem;
	height:40px;
	transition: all 200ms;
}

.form .booking-form-prev {
	padding-left:1.5rem;
}

.form .booking-form-prev:before {
	content:"";
	display:inline-block;
	width:8.5px;
	height:8.5px;
	border-top:2px solid #EC4176;
	border-left:2px solid #EC4176;
	transform: rotate(-45deg);
	margin-right:1rem;
	transition: all 200ms;
}

.form .form-next {
	padding-right:1.5rem;
}

.form .form-next:after {
	content:"";
	display:inline-block;
	width:8.5px;
	height:8.5px;
	border-bottom:2px solid #EC4176;
	border-right:2px solid #EC4176;
	transform: rotate(-45deg);
	margin-left:1rem;
	transition: all 200ms;
}

.form .form-custom-controls:hover {
	color:#ffffff;
	background-color:#EC4176;
}

.form .form-custom-controls:hover:before,
.form .form-custom-controls:hover:after {
	border-color:#ffffff;
}

/* spam_trap: This input is hidden. This is here to trick the spam bots*/

.form .spmhidip {
	display:none;
	width:10px;
	height:3px
}
#fg_crdiv {
	font-size: 0.3em;
	opacity: .2;
	-moz-opacity: .2;
	filter: alpha(opacity=20);
}
#fg_crdiv p {
	display:none;
}

.form input[type=submit]:disabled,
.form button:disabled,
.form input[type=submit][disabled=disabled],
.form button[disabled=disabled],
.form input[type=text]:disabled,
.form input[type=text][disabled=disabled],
.form text:disabled,
.form text[disabled=disabled] {
	border-color:#cccccc !important;
    background:#cccccc !important;
}

.form input[type=submit]:disabled,
.form button:disabled,
.form input[type=submit][disabled=disabled],
.form button[disabled=disabled] {
	color:#999999 !important;
}

.form input[type=submit]:disabled .icon,
.form button:disabled .icon,
.form input[type=submit][disabled=disabled] .icon,
.form button[disabled=disabled] .icon {
	filter: brightness(0) saturate(100%) invert(53%) sepia(0%) saturate(1926%) hue-rotate(88deg) brightness(111%) contrast(83%);
}

/* SECTIONS - FORM RESPONSIVE CSS
**************************************************************************************/

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

}

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

	.form .field {
		margin-bottom:10px;
	}

	.form .field > div + div {
		margin-top:10px;
	}

	.form .field.single-column > div,
	.form .field.single-column.width-50 > div,
	.form .field.single-column.width-60 > div {
		flex: 0 0 100%;
	}

}

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

	/* DATEPICKER CSS */

	.datepicker>.datepicker_inner_container>.datepicker_calendar {
		width:14.3em;
	}

	.datepicker>.datepicker_inner_container>.datepicker_calendar>.datepicker_table>tbody>tr>td {
		padding: 8px 7.5px;
	}
	
}

/* CONTENT - HIDDEN CONTENT FOR POPUP (FANCYBOX)
----------------------------------------------------------------------------------------------------*/

#hidden-content {
	display:none;
}

.tc-pp-frame .fancybox__slide {
	padding:4rem;
}

.popup-controls {
	display: flex;
    justify-content: end;
    margin-bottom:3.5rem;
}

.popup-controls.footer {
	display: flex;
    justify-content: flex-start;
    margin-bottom:0;
    padding-top:2rem;
}

.popup-content {
	max-width:120rem;
	padding:3rem 3.5% 8rem;
}

.popup-content h1 {
	margin-bottom:1.5rem;
}

.popup-content h3 {
	margin-bottom:1rem;
}

.popup-content p,
.popup-content ul {
	margin-bottom:2.5rem;
}

.popup-content p a {
	color:#DC9267;
}

/* COOKIES CONSENT POPUP SECTION */

.fancybox__container.cookies-disclaimer-popup .fancybox__slide {
	display:block;
	padding:0;
}

#cookies-disclaimer {
	width:100%;
	padding: 2.5rem 2rem;
}

#cookies-disclaimer > div {
	display:flex;
	gap:0 4rem;
	max-width:1180px;
	margin:0 auto;
}

#cookies-disclaimer > div > div:last-child {
	padding-top:3rem;
}

#cookies-disclaimer h3 {
	color:#DC9267;
	margin-bottom:0.5rem;
}

#cookies-disclaimer p {
	line-height:1.5;
	color:#000000;
}

#cookies-disclaimer p a {
	color:#DC9267;
}

#cookies-disclaimer a {
	line-height:1.5;
	white-space:nowrap;
}


/* SECTIONS - HIDDEN CONTENT FOR POPUP RESPONSIVE CSS
**************************************************************************************/

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

	.tc-pp-frame .fancybox__slide {
		padding:0;
	}

	.popup-content {
		max-width:unset;
	}

	/* COOKIES CONSENT POPUP SECTION */

	#cookies-disclaimer {
		text-align:center;
	}

	#cookies-disclaimer h3 {
		margin-bottom:2rem;
	}

	#cookies-disclaimer > div {
		gap:0 4rem;
		flex-direction:column;
	}

	#cookies-disclaimer > div > div:last-child {
	    padding-top: 2rem;
	}

}

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

	.popup-controls {
		margin-bottom:2rem;
	}

	.popup-content {
		padding:3rem 1.5rem 8rem;
	}

}

/* CONTENT - ERROR PAGE
----------------------------------------------------------------------------------------------------*/

#error-content h1 {
	text-transform:uppercase;
}

/* CONTENT - ANIMATION STYLES - SELECTED FROM ANIMATE.CSS (ZOOMIN,FADEINUP,FADEINLEFT)
----------------------------------------------------------------------------------------------------*/

.animated {
	-webkit-animation-duration: 1s;
	animation-duration: 1s;
	-webkit-animation-fill-mode: both;
	animation-fill-mode: both;
	-webkit-animation-timing-function: ease;
	animation-timing-function: ease;
}

.animated.infinite {
	-webkit-animation-iteration-count: infinite;
	animation-iteration-count: infinite;
}

@keyframes bounce {
	0% {
		transform: translateY(0);
	}
	25% {
		transform: translateY(-5px);
	}
	50% {
		transform: translateY(0);
	}
	100% {
		transform: translateY(0);
	}
}

.bounce {
	-webkit-animation-name: bounce;
	animation-name: bounce;
}

@keyframes pulse {
	0%, 100% {
		transform: scale(1);
	}
	50% {
		transform: scale(1.1);
	}
}

.pulse {
	-webkit-animation-name: pulse;
	animation-name: pulse;
}

@-webkit-keyframes fadeInUp {
	from {
		opacity: 0;
		-webkit-transform: translate3d(0, 100%, 0);
		transform: translate3d(0, 100%, 0);
	}

	to {
		opacity: 1;
		-webkit-transform: translate3d(0, 0, 0);
		transform: translate3d(0, 0, 0);
	}
}

@keyframes fadeInUp {
	from {
		opacity: 0;
		-webkit-transform: translate3d(0, 100%, 0);
		transform: translate3d(0, 100%, 0);
	}

	to {
		opacity: 1;
		-webkit-transform: translate3d(0, 0, 0);
		transform: translate3d(0, 0, 0);
	}
}

.fadeInUp {
	-webkit-animation-name: fadeInUp;
	animation-name: fadeInUp;
}

@-webkit-keyframes fadeInLeft {
	from {
		opacity: 0;
		-webkit-transform: translate3d(-100%, 0, 0);
		transform: translate3d(-100%, 0, 0);
	}

	to {
		opacity: 1;
		-webkit-transform: translate3d(0, 0, 0);
		transform: translate3d(0, 0, 0);
	}
}

@keyframes fadeInLeft {
	from {
		opacity: 0;
		-webkit-transform: translate3d(-100%, 0, 0);
		transform: translate3d(-100%, 0, 0);
	}

	to {
		opacity: 1;
		-webkit-transform: translate3d(0, 0, 0);
		transform: translate3d(0, 0, 0);
	}
}

.fadeInLeft {
	-webkit-animation-name: fadeInLeft;
	animation-name: fadeInLeft;
}

@-webkit-keyframes zoomIn {
	from {
		opacity: 0;
		-webkit-transform: scale3d(0.3, 0.3, 0.3);
		transform: scale3d(0.3, 0.3, 0.3);
	}

	50% {
		opacity: 1;
	}
}

@keyframes zoomIn {
	from {
		opacity: 0;
		-webkit-transform: scale3d(0.3, 0.3, 0.3);
		transform: scale3d(0.3, 0.3, 0.3);
	}

	50% {
		opacity: 1;
	}
}

.zoomIn {
	-webkit-animation-name: zoomIn;
	animation-name: zoomIn;
}

/* CUSTOM ANIMATE CSS ADDITION */

.animation-delay-20ms {
	-webkit-animation-delay: .2s;
	animation-delay: .2s;
}

.animation-delay-40ms {
	-webkit-animation-delay: .4s;
	animation-delay: .4s;
}

.animation-delay-60ms {
	-webkit-animation-delay: .6s;
	animation-delay: .6s;
}

.animation-delay-80ms {
	-webkit-animation-delay: .8s;
	animation-delay: .8s;
}

.animation-delay-100ms {
	-webkit-animation-delay: 1s;
	animation-delay: 1s;
}

.animation-delay-120ms {
	-webkit-animation-delay: 1.2s;
	animation-delay: 1s;
}

.animation-delay-140ms {
	-webkit-animation-delay: 1.4s;
	animation-delay: 1s;
}

.animation-delay-160ms {
	-webkit-animation-delay: 1.6s;
	animation-delay: 1s;
}

/* ANIMATED SPINNER */

/* ROLLER ANIMATION */

#lds-roller {
	display: inline-block;
	position: absolute;
	width: 80px;
	height: 80px;
	top:5rem;
	left:calc(50% - 80px);
}

#lds-roller div {
	animation: lds-roller 1.2s cubic-bezier(0.5, 0, 0.5, 1) infinite;
	transform-origin: 40px 40px;
}

#lds-roller div:after {
	content: " ";
 	display: block;
 	position: absolute;
 	width: 7px;
 	height: 7px;
 	border-radius: 50%;
 	background: #ccc;
 	margin: -4px 0 0 -4px;
}

#lds-roller div:nth-child(1) {
	animation-delay: -0.036s;
}

#lds-roller div:nth-child(1):after {
	top: 63px;
	left: 63px;
}

#lds-roller div:nth-child(2) {
	animation-delay: -0.072s;
}

#lds-roller div:nth-child(2):after {
	top: 68px;
	left: 56px;
}

#lds-roller div:nth-child(3) {
	animation-delay: -0.108s;
}

#lds-roller div:nth-child(3):after {
	top: 71px;
	left: 48px;
}

#lds-roller div:nth-child(4) {
	animation-delay: -0.144s;
}

#lds-roller div:nth-child(4):after {
	top: 72px;
	left: 40px;
}

#lds-roller div:nth-child(5) {
	animation-delay: -0.18s;
}

#lds-roller div:nth-child(5):after {
	top: 71px;
	left: 32px;
}

#lds-roller div:nth-child(6) {
	animation-delay: -0.216s;
}

#lds-roller div:nth-child(6):after {
	top: 68px;
	left: 24px;
}

#lds-roller div:nth-child(7) {
	animation-delay: -0.252s;
}

#lds-roller div:nth-child(7):after {
	top: 63px;
	left: 17px;
}

#lds-roller div:nth-child(8) {
	animation-delay: -0.288s;
}

#lds-roller div:nth-child(8):after {
	top: 56px;
	left: 12px;
}

@keyframes lds-roller {
	0% {
    	transform: rotate(0deg);
	}
	100% {
    	transform: rotate(360deg);
	}
}

/* ELLIPSIS ANIMATION */

.center-animation {
	position:absolute;
	top:0;
	left:0;
	display: flex;
    justify-content: center;
    align-items: center;
	width:100%;
	height:100%;
}

.lds-ellipsis {
	display: inline-block;
	position: relative;
	width: 80px;
	height: 80px;
}

.lds-ellipsis div {
	position: absolute;
	top: 33px;
	width: 13px;
	height: 13px;
	border-radius: 50%;
	background: #fff;
	animation-timing-function: cubic-bezier(0, 1, 1, 0);
}

.lds-ellipsis div:nth-child(1) {
	left: 8px;
	animation: lds-ellipsis1 0.6s infinite;
}

.lds-ellipsis div:nth-child(2) {
	left: 8px;
	animation: lds-ellipsis2 0.6s infinite;
}

.lds-ellipsis div:nth-child(3) {
	left: 32px;
	animation: lds-ellipsis2 0.6s infinite;
}

.lds-ellipsis div:nth-child(4) {
	left: 56px;
	animation: lds-ellipsis3 0.6s infinite;
}

@keyframes lds-ellipsis1 {
	0% {
		transform: scale(0);
	}
	100% {
		transform: scale(1);
	}
}

@keyframes lds-ellipsis3 {
	0% {
		transform: scale(1);
	}
	100% {
		transform: scale(0);
	}
}

@keyframes lds-ellipsis2 {
	0% {
		transform: translate(0, 0);
	}
	100% {
		transform: translate(24px, 0);
	}
}

/* CONTENT - FOOTER
----------------------------------------------------------------------------------------------------*/

#footer {
	text-align:center;
	background-color:#DC9267;
}

#footer .content {
    padding: 3rem 15px 2rem;
}

/* FOOTER IMAGE */

#footer .content > img {
	margin-bottom:3rem;
}

/* FOOTER LINKS */

#footer ul.main-navigation {
	flex-wrap:wrap;
	justify-content: center;
	gap: 1.5rem 4rem;
	margin-bottom:1.5rem;
}

#footer ul.main-navigation > li.footer-exclude {
	display:none;
}

#footer ul.main-navigation > li.footer-include {
	display:inline-block;
}

#footer ul.main-navigation > li > a {
	color:#ffffff;
}

.enable-hover #footer ul.main-navigation > li > a:hover {
	color:#4B576D;
}

/* FOOTER FLEX LINKS */

#footer .flex {
	margin-bottom:1.5rem;
}

#footer .flex a {
	font-size: 1.4rem;
	font-weight:400;
	color:#ffffff;
	padding: 0 1.2rem;
	border-right:1px solid #ffffff;
	transition: all 200ms;
}

#footer .flex a:last-child {
	border:none;
}

.enable-hover #footer .flex a:hover {
	color:#4B576D;
}

/* FOOTER COPYRIGHT */

#footer .copyright {
	text-align:center;
}

#footer .copyright img {
	margin-bottom:4rem;
}

#footer p {
	color:#ffffff;
	margin:0;
	line-height:2;
	margin-bottom:0;
}

#footer p span {
	display:block;
}

#footer p span,
#footer p span a {
	color:#DC9267;
}

#footer p span a {
	text-decoration:none;
}

/** CONTENT - FOOTER RESPONSIVE CSS
*****************************************************************************************************/

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

	/* FOOTER LINKS */

	#footer ul.main-navigation {
	    gap: 1.5rem 3rem;
	}

	#footer ul.main-navigation > li > a {
		font-size:;
	}

}
