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

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

h1, h2 {
	font-size:3.6rem;
	font-weight:700;
	margin-bottom:4rem;
	line-height:1.2;
}

h3 {
	font-size:2.4rem;
	font-weight:400;
	line-height:1.2;
}

h4, h5 {
	font-weight:800;
}

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

h5 {
	font-size:1.4rem;
	margin-bottom:1rem;
}

h5.note {
	display: block;
	width:100%;
    color: #ffffff;
    font-weight: 400;
    line-height:1.3;
    margin: 0;
    background: #EC4176;
    padding: 3rem;
    border-radius: 5px;
    text-align:center;
}

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

p strong {
	font-weight:700;
}

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

em {
	font-style:italic;
}

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

u {
	color:#068C3C;
}

/* CUSTOM FONT CLASS */

.icon-heading img {
	vertical-align:bottom;
}

h5.hline {
	display:flex;
	align-items:center;
	font-weight:400;
	max-width:490px;
	margin-bottom:1.5rem;
	white-space:nowrap;
}

h5.hline:after {
	content:"";
	display:inline-block;
	width:100%;
	height:1px;
	margin-left:1rem;
	border-bottom:1px solid #E6E6E6;
}

/* FONT OPTIONS - COLOR */

.font-color-indigo {
	color:#541D8F;
}

.font-color-black {
	color:#000000;
}

/* FONT OPTIONS */

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


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

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

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

	h3 {
		font-size:2rem;
	}

	h5.hline {
		max-width:inherit;
	}

	h5.hline:before {
		content:"";
		display:inline-block;
		width:100%;
		height:1px;
		margin-right:1rem;
		border-bottom:1px solid #E6E6E6;
	}

}

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

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

	h3 {
		font-size:1.8rem;
	}

	h4 {
		font-size:1.8rem;
	}

	p {
		font-size:1.4rem;
	}

}

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

body, html {
	height:100%;
}

body.locked {
	overflow:hidden;
}

body {
	padding-top:170px;
}

.container,
.content,
section {
	position:relative;
	display:block;
	width:100%;
}

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

.container {
	background-color:#FAFAFA;
	z-index:10;
}

.content,
section {
    padding:6rem 15px 10rem;
    margin:0 auto;
    max-width:1210px;
}

section + section {
	padding-top:0;
}

section:not(:first-child):last-child {
	padding-bottom:20rem;
}

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

/* FLEXBOX PRESETS */

.flex-two {
	display: flex;
	flex-wrap:wrap;
	width:100%;
}

.flex-two > div {
	flex:0 0 50%;
}

div[class*="flexbox-"] {
	display: flex;
	flex-wrap: wrap;
	width:100%;
	/*width: calc(100% + 30px);
	margin-left:-15px;
	margin-right:-15px;*/
}

.flexbox-freesize {
  	justify-content: flex-start;
}

.flexbox-absolute-center {
	flex-direction: column;
  	justify-content: center;
	align-items: center;
}

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

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

/* LAYOUT OPTIONS - BACKGROUND COLOR */

.bg-lgrey {
	background-color:#F2F2F2;
}

/* GENERAL SPACINGS */

.mar0-b {
	margin-bottom:0rem !important;
}

.mar1-b {
	margin-bottom:1rem !important;
}

.mar2-b {
	margin-bottom:2rem !important;
}

.mar3-b {
	margin-bottom:3rem !important;
}

.mar4-b {
	margin-bottom:4rem !important;
}

.mar5-b {
	margin-bottom:5rem !important;
}

.mar6-b {
	margin-bottom:6rem !important;
}

.mar7-b {
	margin-bottom:7rem !important;
}

.mar8-b {
	margin-bottom:8rem !important;
}

.mar9-b {
	margin-bottom:9rem !important;
}

.mar10-b {
	margin-bottom:10rem !important;
}

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

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

	body {
		padding-top:150px;
	}

}

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

	body {
		padding-top:80px;
	}

	.content,
	section {
	    padding:7rem 15px 4rem;
	}

}

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

	.content,
	section {
	    padding: 7rem 15px 3rem;
	}

}

/* NICESCROLL DISABLE CUSTOM SCROLLBAR (UNLESS YOU WANT IT)(CURRENTLY DISABLED) */
/*
.nicescroll-rails {
	display:none !important;
}
*/

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

#header {
    position:fixed;
    top:0;
    left:0;
    box-shadow: 0 5px 8px 0 rgba(0,0,0,0.15);
    z-index:101;
}

#header section {
    padding:0;
    margin:0 auto;
}

/* HEADER MAIN */

#header-top-content,
#header-bottom-content {
	display: flex;
	align-items:center;
}

#header-top {
	background-color: #ffffff;
}

#header-bottom {
	background-color: #541D8F;
}

#header-top-content,
#header-bottom-content {
  	width: 100%;
  	max-width: 1210px;
  	margin: 0 auto;
  	transition: all 200ms;
}

#header-top-content {
  	height: 120px;
  	padding: 1.2rem 1.5rem;
  	justify-content: space-between;
}

#header-bottom-content {
  	height: 50px;
  	padding: 0.7rem 1.5rem;
}

/* HEADER LOGO */

#logo {
	display:flex;
	justify-content: center;
}

#logo {
	display: flex;
	flex-wrap: nowrap;
	align-items: center;
	max-height:9.1rem;
	height:100%;
	margin-right:4rem;
	transition: all 200ms;
}

#logo img {
	height:100%;
	width:auto;
	margin-right:2rem;
}

#logo #logo-text {
	font-size:1.2rem;
	color:#000000;
}

#logo #logo-text h1 {
	font-size:2rem;
	color:#000000;
	margin:0;
}

/* HEADER SUPPORTING LINKS */

#supporting-links {
	display: flex;
	align-items: center;
}

#supporting-links img {
	margin-right: 1.5rem;
	object-fit: contain;
}

#supporting-links a.contact-us {
	display:inline-block;
	margin-left:1.5rem;
}

#supporting-links a.contact-us img{
	width:100%;
	height:auto;
	margin-right:0;
}

/* HEADER NAVIGATION */

#header-navigation,
#header-navigation nav {
	width:100%;
}

#header-navigation nav {
	display: flex;
	justify-content:space-between;
}

/* HEADER NAVIGATION LINKS */

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

ul#main-navigation a {
	font-family: "Montserrat", Helvetica, Arial, "Lucida Grande", sans-serif;
	font-size:1.4rem;
	white-space: nowrap;
	outline:none;
	transition: all 200ms;
}

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

ul#main-navigation > li {
	display:inline-block;
	position:relative;
}

ul#main-navigation > li#external-links {
    display: flex;
    flex-grow: 1;
    gap:0.5rem;
    justify-content: flex-end;
    align-items: flex-end;
}

ul#main-navigation > li#external-links .link-btn {
	line-height:2;
	white-space: nowrap;
	color:#ffffff;
}

ul#main-navigation > li#external-links .link-btn.disabled {
	background-color:#cccccc;
	border-color:#cccccc;
	color:#ffffff;
	pointer-events: none;
}

ul#main-navigation > li.dropdown,
ul#main-navigation > li.dropdown > a:after {
	transition: all 200ms;
}

ul#main-navigation > li.dropdown > a:after  {
	display:inline-block;
	content: "";
	width:6px;
	height:6px;
	border-right:2px solid #ffffff;
	border-bottom:2px solid #ffffff;
	transform: rotate(45deg);
	margin:3px;
}

.enable-hover ul#main-navigation > li.dropdown a:hover:after {
    border-color:#E1A01C;
}

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

/* HEADER SUBNAVIGATION WRAPPER */

#header-subnavigation-wrapper {
	position:fixed;
	top:17rem;
    left:0;
    width: 100vw;
    background:#541D8F;
    z-index:10;
	transform: scaleY(0);
	transform-origin: top;
	transition: all 200ms;
}

#header-subnavigation-wrapper.expand {
	transform: scaleY(1);
}

/* HEADER SUBNAVIGATION */

/* HEADER SUBNAVIGATION CONTENT */

#header-subnavigation-content {
	display:flex;
	padding: 2.5rem 15px 4rem;
    margin:0 auto;
    max-width:1210px;
}

#header-subnavigation-content > div:first-child {
	margin-right:5rem;
}

#header-subnavigation-content h4 {
	color:#E1A01C;
}

#header-subnavigation-content h5 {
	color:#ffffff;
}

#header-subnavigation-content .icon-heading img {
	color:#E1A01C;
	filter: invert(75%) sepia(51%) saturate(1390%) hue-rotate(344deg) brightness(320%) contrast(94%);
}

/* HEADER SUBNAVIGATION CONTENT - ICON LIST */

#header-subnavigation-content ul.icon-list li a {
	color:#ffffff;
	font-weight:600;
	text-transform:uppercase;
}

.enable-hover #header-subnavigation-content ul.icon-list li a:hover {
    color:#E1A01C;
}

/* HEADER SUBNAVIGATION CONTENT - CITY LIST */

ul.city-list li.heading {
	text-transform:uppercase;
}

ul.city-list li.cities {
	display:flex;
	flex-wrap:wrap;
	margin-bottom:1rem;
}

ul.city-list li.cities a {
	display:inline-block;
	padding:0 2rem;
	margin: 0 1rem 1rem 0;
	border:1px solid #8237C5;
	color:#ffffff;
	border-radius:4px;
	text-transform:uppercase;
	font-weight:600;
	line-height:2;
	transition: all 200ms;
}

.enable-hover ul.city-list li.cities a:hover {
	color:#8237C5;
	background:#E1A01C;
	border-color:#E1A01C;
}

/* 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;
	background:#000000;
    border-radius: 4px;
	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:#ffffff;
	-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;
}

#header.mobile-nav-active a#expand-nav {
	background-color:#E1A01C;
}

a#expand-nav.active div span:first-child,
#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),
#header.mobile-nav-active a#expand-nav div span:nth-child(2) {
	opacity:0;
}

a#expand-nav.active div span:last-child,
#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: 1140px) {

	/* HEADER SUPPORTING LINKS */

	#supporting-links > img {
		max-height:40px;
	}

	#supporting-links a.contact-us {
		margin-left:0;
	}

	#supporting-links a.contact-us img {
		max-height:60px;
	}

	/* HEADER NAVIGATION LINKS */

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

	ul#main-navigation a {
		font-size:1.2rem;
	}

	ul#main-navigation > li#external-links .link-btn {
		font-size:1.2rem;
		padding: 0 0.8rem;
	}

}

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

	/* HEADER */

	#header #header-top-content {
	  	height:100px;
	}

	/* HEADER LOGO */

	#logo {
		max-height:60px;
		margin-right:0;
	}

	#logo img {
		margin-right:1rem;
	}

	#logo #logo-text {
		font-size:1rem;
	}

	#logo #logo-text h1 {
		font-size:1.5rem;
	}

	/* HEADER NAVIGATION WRAPPER */

	#header-subnavigation-wrapper {
		top:15rem;
	}

	/* HEADER NAVIGATION CONTENT */

	#header-subnavigation-content {
	    padding: 2rem 15px;
	}

	#header-subnavigation-content h4 {
		font-size:1.4rem;
	}

	#header-subnavigation-content .icon-heading img {
		max-height:1.5rem;
	}

	/* HEADER SUBNAVIGATION CONTENT - CITY LIST */

	ul.city-list li.heading h5 {
		font-size:1.2rem;
	}

}


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

	/* HEADER NAVIGATION LINKS */

	ul#main-navigation {
		gap:1rem;
	}

	ul#main-navigation a {
		font-size:1rem;
	}

	/* HEADER EXTERNAL LINKS */

	#external-links .link-btn {
		font-size:1rem;
	}

	/* HEADER NAVIGATION CONTENT */

	#header-subnavigation-content h4 {
		font-size:1.2rem;
	}

	/* HEADER SUBNAVIGATION CONTENT - CITY LIST */

	ul.city-list li.heading h5 {
		font-size:1rem;
	}

}

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

	/* HEADER SUPPORTING LINKS */

	#supporting-links > img {
		max-height:25px;
		object-fit: contain;
	    height: 100%;
	    width: auto;
	}

	#supporting-links a.contact-us {
		margin-left:0;
	}

	#supporting-links a.contact-us img {
		max-height:45px;
	}

}

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

	/* HEADER */

	#header #header-top-content {
	  	height:80px;
	}

	/* HEADER MAIN */

	#header-bottom-content {
		height:0;
		padding:0;
	}
	/* HEADER LOGO */

	#header #logo {
		max-height:50px;
	}

	/* HEADER EXPAND BUTTON FOR MOBILE */

	a#expand-nav {
		display:block;
	}

	/* HEADER SUPPORTING LINKS */

	#supporting-links {
		display:none;
	}

	/* HEADER NAVIGATION */

	#header-navigation {
		position:fixed;
		top:0;
		left:0;
		height:100vh;
		width:100vw;
		background:#541D8F;
		padding:90px 0;
		pointer-events: none;
		opacity:0;
		overflow:scroll;
		z-index:10;
	}

	ul#main-navigation {
		display:block;
		gap:0;
	}

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

	ul#main-navigation > li#external-links {
		justify-content:center;
		margin-top:4rem;
		gap:1rem;
	}

	ul#main-navigation > li#external-links .link-btn {
		font-size: 1.4rem;
    	padding: 0 1rem;
	}

	ul#main-navigation a {
		white-space:normal;
	}

	ul#main-navigation > li > a {
		display:inline-block;
		font-size:2em;
		font-weight:700;
		line-height:40px;
		color:#ffffff;
		padding:0 15px;
	}

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

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

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

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

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

	/* HEADER NAVIGATION LINKS */

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

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

	/* HEADER NAVIGATION - MOBILE NAV ACTIVE */

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

	/* HEADER NAVIGATION WRAPPER */

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

	/* HEADER NAVIGATION CONTENT */

	#header-subnavigation-content {
		padding-bottom:0;
	    flex-direction:column;
	    background:#381260;
	}

	#header-subnavigation-content > div:first-child {
		margin-right:0;
	}

	#header-subnavigation-content h4 {
		font-size:1.5rem;
		line-height: 1.2;
	}

	#header-subnavigation-content .icon-heading img {
	    max-height: inherit;
	}

	/* HEADER SUBNAVIGATION CONTENT - CITY LIST */

	ul.city-list li.heading h5 {
		font-size:1.4rem;
	}

	/* HEADER SUBNAVIGATION CONTENT - ICON LIST */

	#header-subnavigation-content ul.icon-list {
		margin-bottom:2rem;
	}

	#header-subnavigation-content ul.icon-list li {
		display:block;
		text-align:center;
		margin-bottom:1rem;
	}

	/* HEADER SUBNAVIGATION CONTENT - CITY LIST */

	ul.city-list li.cities {
		display:inline-block;
	}

	ul.city-list li.cities a {
		font-size:1.2rem !important;
	}

}

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

	/* HEADER NAVIGATION */

	ul#main-navigation > li > a {
		font-size: 1.8rem;
	}

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

	ul#main-navigation > li.dropdown > a {
	    margin-left: 0;
	}

	/* HEADER LOGO */

	#header #logo {
		position:relative;
		width:100%;
	    justify-content: flex-start;
	}

	#logo img {
		margin:0;
	}

	#logo #logo-text {
		position: absolute;
	    display: block;
	    width: 100%;
	    padding-left:2rem;
	    text-align: center;
	}

	#logo #logo-text span {
		display:none;
	}

	/* HEADER SUBNAVIGATION */

	ul.header-subnavigation li a {
		font-size: 1.6rem;
	}

	/* HEADER BOTTOM NAVIGATION */

	ul#secondary-navigation > li > a {
		font-size:1.8rem;
	}

}

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

	/* HEADER LOGO */

	#header #logo {
		width:auto;
	}

	#logo #logo-text {
		display:none;
	}

}

/* 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;
}


/* 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:#000000;
    cursor:pointer;
    padding:0 1.5rem;
    border:1px solid #E1A01C;
    border-radius:4px;
    background:#E1A01C;
	transition: all 200ms;
}

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

/* LINK BUTTONS - RED */

.link-btn.red {
    border:1px solid #D4145A;
    background:#D4145A;
}

.enable-hover .link-btn.red:hover {
	border:1px solid #890E40;
	background:#890E40;
}

/* LINK BUTTONS - GREEN */

.link-btn.green {
    border:1px solid #8CC63F;
    background:#8CC63F;
}

.enable-hover .link-btn.green:hover {
	border:1px solid #5F7F2B;
	background:#5F7F2B;
}

/* LINK BUTTONS - PINK OUTLINE */

.link-btn.pink-outline {
	display:inline-block;
	border:1px solid #EC4176;
	color:#EC4176;
	background-color:transparent;
}

.enable-hover .link-btn.pink-outline:hover {
	color:#ffffff;
	background-color:#EC4176;
}

/* LIST STYLE - GENERIC */

ul a,
ol a {
	color:#29ABE2;
}

/* LIST STYLE - NUMBERED */

ol li {
	list-style:auto;
	list-style-position: inside;
	margin-bottom:1rem;
}

ol li:last-child {
	margin-bottom:0;
}

/* LIST STYLE - DEFAULT LIST */

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

ul.default-list:last-child {
	margin-bottom:0;
}

ul.default-list li {
	font-size:1.4rem;
	line-height:1.2;
	padding:0.5rem 0;
}

ul.default-list li a {
	display:block;
	color:#333333;
}

ul.default-list li.disabled a {
	color:#cccccc;
	pointer-events:none;
}

ul.default-list li.heading {
	color:#541D8F;
}

ul.default-list li.heading.font-color-black {
	color:#000000;
}

/* LIST STYLE - CHECK LIST */

ul.check-list {
	margin-bottom:3rem;
}

ul.check-list li {
	position:relative;
	font-size:1.4rem;
	line-height:1.2;
	padding:0.4rem 1.5rem;
}

ul.check-list li:before {
	position:absolute;
	top:8px;
	left:0;
	content:"";
	display:inline-block;
	width:9px;
	height:7px;
	margin-right:6px;
	background:url(../images/generic/icon-check.svg) no-repeat center center;
	background-size:cover;
}

/* LIST STYLE - CROSS LIST */

ul.cross-list {
	margin-bottom:3rem;
}

ul.cross-list li {
	position:relative;
	font-size:1.4rem;
	line-height:1.2;
	padding:0.4rem 1.5rem;
}

ul.cross-list li:before {
	position:absolute;
	top:8px;
	left:0;
	content:"";
	display:inline-block;
	width:9px;
	height:7px;
	margin-right:6px;
	background:url(../images/generic/icon-cross-list.svg) no-repeat center center;
	background-size:cover;
}

/* LIST STYLE - LINK LIST */

ul.link-list {
	margin-bottom:3rem;
}

ul.link-list li {
	position:relative;
	font-size:1.4rem;
	font-weight:500;
	line-height:1.2;
	padding:0.4rem 2rem;
}

ul.link-list li a {
	color:#541D8F;
}

ul.link-list li:before {
	position:absolute;
	top:4px;
	left:0;
	content:"";
	display:inline-block;
	width:14px;
	height:14px;
	margin-right:4px;
	background:url(../images/generic/icon-link.svg) no-repeat center center;
	background-size:cover;
}

ul.link-list li.heading {
	margin-bottom: 1rem;
	padding-left:0;
	color: #541D8F;
	font-weight:800;
}

ul.link-list li.heading:before {
	display:none;
	margin-bottom: 1.5rem;
	color: #541D8F;
	font-weight:800;
}

/* LIST STYLE - ICON LIST */

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

ul.icon-list li {
    font-size:1.4rem;
	font-weight:500;
	line-height:1.6;
	padding:0.1rem 0;
}

ul.icon-list li img {
	max-width:1.5rem;
	object-fit:contain;
	margin-right:0.5rem;
}

ul.icon-list li strong {
	font-weight:800;
}

ul.icon-list li a {
	color:#29ABE2;
}

/* 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-size:1.8rem;
	font-weight:700;
}

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

ul.bullet-list > li > a {
	color:#068C3C;
	text-decoration:underline;
}

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;
}

/* LIST STYLE - DEFAULT LIST */

ul.default-list li {

}

ul.default-list li.heading {
	font-weight:900;
	color:#541D8F;
}

/* LIST STYLE - LIST HEADING */

li.heading {
	font-weight:800;
}

/* LIST SPACINGS */

ul + .font-color-indigo {
	padding-top:3rem;
}

/* BACK TO TOP BUTTON */

#back-top {
	position:fixed;
	display:inline-block;
	bottom:100px;
	right:5rem;
	width:50px;
	height:50px;
	background-color:#CCCCCC;
	border-radius:100%;
	box-shadow: 0 0 8px 4px rgba(0, 0, 0, 0.1);
	opacity:0;
	pointer-events: none;
	z-index:20;
	transition: all 200ms;
}

#back-top:after {
	content:"";
	display:inline-block;
	transform: rotate(45deg);
	margin:2rem 0 0 1.8rem;
	width:14px;
	height:14px;
	border-left:3px solid #000000;
	border-top:3px solid #000000;
	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;
}

/* SOCIAL POPUP BUTTONS */

#social-popup {
	position:fixed;
	display:flex;
	flex-direction:column;
	gap:1rem;
	right:5rem;
	bottom:340px;
	max-height:50px;
	z-index:20;
	transition: all 200ms;
}

#social-popup.show {
	opacity:1;
	max-height:200px;
}

#social-popup a {
	display:block;
	min-width:50px;
	min-height:50px;
	border-radius:100%;
	box-shadow: 0 0 8px 4px rgba(0, 0, 0, 0.1);
	transition: all 200ms;
}

#social-popup a:not(#chat) {
	opacity:0;
	pointer-events: none;
}

#social-popup a:before {
	content:"";
	display:inline-block;
	transition: all 200ms;
}

#social-popup a#chat {
	display:flex;
	flex-direction:column;
	align-items:center;
	justify-content:center;
	background:#7A4791 url(../images/generic/icon-chat.svg) no-repeat center center;
	background-size: 24px;
	overflow:hidden;
}

#social-popup a#chat > div {
	display:block;
	width:50px;
	height:50px;
	background:#EC4176 url(../images/generic/icon-cross.svg) no-repeat center center;
	background-size:15px;
	opacity:0;
	transition: all 200ms;
}

#social-popup.active a:not(#chat) {
	pointer-events: inherit;
}

#social-popup.active a:not(#chat),
#social-popup.active a#chat div {
	opacity:1;
}

#social-popup a#email {
	background:#F15A24 url(../images/generic/icon-email.svg) no-repeat center center;
	background-size: 24px 20px;
}

#social-popup a#tel {
	background:#0090E0 url(../images/generic/icon-tel.svg) no-repeat center center;
	background-size: 26px;
}

#social-popup a#whatsapp {
	background:#30BD3E url(../images/generic/icon-whatsapp.svg) no-repeat center center;
	background-size: 28px;
}

/* TOUR GRID  */

.tour-grid {
	display:grid;
	grid-gap:4.5rem 2rem;
	grid-template-columns: repeat(auto-fit, minmax(290px, 1fr));
}

.tour-grid > a {
	position:relative;
	display:flex;
	flex-direction:column;
	border-radius:8px;
	text-align:left;
	color:#000000;
	border:1px solid #cccccc;
	transition: all 200ms;
}

.enable-hover .tour-grid > a:hover {
	border:1px solid #EC4176;
}

.tour-grid .image-holder {
	position:relative;
	display:flex;
	background-color:#4d4d4d;
	justify-content: center;
	align-items:center;
	width:100%;
	max-height:240px;
	border-top-right-radius: 8px;
	border-top-left-radius: 8px;
	overflow:hidden;
}

.tour-grid .image-holder img {
	width:100%;
	height:auto;
	z-index:10;
}

.tour-grid .tour-grid-details {
	display:flex;
	flex-direction:column;
	padding:2rem 2rem 0;
	flex-grow: 1;
}

.tour-grid .tour-grid-details h4 {
	color:#1A1A1A;
	font-weight:700;
	line-height:1.2;
	margin-bottom:0.8rem;
	text-transform:uppercase;
	transition: all 200ms;
}

.tour-grid  > a:hover .tour-grid-details h4 {
	color:#EC4176;
	text-decoration:underline;
}

.tour-grid .tour-grid-details > span {
	display:block;
	font-size:1.4rem;
	line-height:1.4;
	margin-bottom:0.2rem;
	text-transform:uppercase;
}

.tour-grid .tour-grid-details span.tour-code {
	margin-bottom:1.5rem;
}

.tour-grid .tour-grid-details .icon {
	display:inline-block;
	width:12px;
	height:16px;
	text-align:center;
}

.tour-grid .tour-grid-details .icon img {
	display:inline-block;
	height:14px;
	filter: brightness(0) saturate(100%);
	vertical-align:top;
}

.tour-grid .tour-grid-details span.tour-code span {
	display:inline-block;
	color:#E1A01C;
	border:1px solid #E1A01C;
	border-radius:5px;
	padding: 2px 1rem 0 1rem;
	line-height: 1.8;
	margin-left:0.5rem;
}

.tour-grid span.tour-price {
	display:block;
	font-size:1.4rem;
	padding: 2rem;
}

.tour-grid span.tour-price strong {
	font-size:2.4rem;
	font-weight:700;
	color:#541D8F;
}

.tour-grid a.hot:before {
	display:block;
	content: "";
	width:102px;
	height:102px;
	background:url(../images/generic/hot-selling.png) no-repeat center top;
	position:absolute;
	top:-3px;
	left:-2px;
	z-index:20;
}


.tour-grid a.day-tour .image-holder:after {
	display:block;
	content: "";
	width:65px;
	height:40px;
	background:url(../images/generic/icon-day-tour.png) no-repeat center top;
	position:absolute;
	bottom:10px;
	right:12px;
	z-index:10;
}

/* TOUR GRID - TOUR PACKAGE */

#tours.tour-grid {
	overflow:hidden;
}

.tour-grid.tour-package {
	display:block;
}

.tour-grid.tour-package a {
	margin:0 0 2rem;
	width:31.5%;
	min-height:450px;
	max-height:450px;
	overflow: hidden;
	transition: border-color 200ms;
}

.tour-grid.tour-package a.hide {
	height: 0;
    min-height: inherit;
    margin:0;
    border:none;
}

/* TOUR GRID - TOUR CONTROLS */

#tour-controls {
	display:flex;
	justify-content: center;
}

#show-more-results-btn {
	display:inline-block;
	font-family: "Montserrat", Helvetica, Arial, "Lucida Grande", sans-serif;
	font-size:1.4rem;
	font-weight:400;
	color:#ffffff;
	padding:1rem 2rem;
	margin-top:2rem;
	border:none;
	border-radius:5px;
	background:#D4145A;
	transition: all 200ms;
}

#show-more-results-btn.hide {
	display:none;
}

#show-more-results-btn:hover {
	background:#000000;
}

#show-more-results-btn:disabled {
    background:#cccccc;
}

/* GRID PANELS */

.grid-panels {
	display:grid;
	grid-gap:2rem;
}

/* GRID PANELS - DIVIDED THREE */

.grid-panels.three {
	grid-template-columns: repeat(auto-fit, minmax(250px, 1fr));
}

/* GRID PANELS - HOTELS */

.grid-panels.hotels img {
	width:100%;
	height:auto;
	border:1px solid transparent;
	border-radius:6px;
	transition: border-color 200ms;
}

.grid-panels.hotels > div:hover img,
.grid-panels.hotels > a:hover img {
	border-color:#EC4176;
}

.grid-panels.hotels figcaption {
	font-size:1.8rem;
	font-weight:800;
	line-height:1.2;
	text-transform:uppercase;
	padding:0.8rem 0;
	color:#1A1A1A;
	text-align:center;
	transition: all 200ms;
}

.grid-panels.hotels > div:hover figcaption,
.grid-panels.hotels > a:hover figcaption {
	color:#EC4176;
	text-decoration:underline;
}

/* GRID PANELS - RENTAL CARS */

p + .grid-panels.three.rental-cars {
	margin-top:3rem;
}

.grid-panels.rental-cars > div,
.grid-panels.rental-cars > a {
	background-color:#ffffff;
	border-radius:8px;
	overflow:hidden;
	box-shadow: 0 0 8px 0 rgba(0,0,0,0.08);
}

.grid-panels.rental-cars figure img {
	width:100%;
	height:auto;
	border-bottom:1px solid #F2F2F2;
}

.grid-panels.rental-cars figcaption,
.grid-panels.rental-cars .vehicle-type,
.grid-panels.rental-cars .rental-rates,
.grid-panels.rental-cars .cta {
	display:block;
	color:#1A1A1A;
}

.grid-panels.rental-cars .vehicle-type,
.grid-panels.rental-cars .cta {
	padding:0 2rem;
}

.grid-panels.rental-cars .vehicle-type,
.grid-panels.rental-cars .rental-rates,
.grid-panels.rental-cars .cta {
	font-size:1.4rem;
	font-weight:500;
}

.grid-panels.rental-cars figcaption {
	font-size:1.8rem;
	font-weight:800;
	line-height:1.2;
	padding: 1rem 2rem;
}

.grid-panels.rental-cars .vehicle-type {
	padding:0 2rem;
}

.grid-panels.rental-cars .vehicle-type img {
	margin-right:0.4rem;
}

.grid-panels.rental-cars .rental-rates {
	padding:2.5rem 2rem 1.5rem;
	line-height:1.2;
}

.grid-panels.rental-cars .rental-rates span {
	font-size:2.4rem;
	font-weight:800;
	color:#541D8F;
	margin-right:0.5rem;
}

.grid-panels.rental-cars .cta {
	padding: 0 2rem 2.5rem;
}

.grid-panels.rental-cars .cta button {
	display:inline-block;
	font-size:1.4rem;
	font-weight:800;
	color:#EC4176;
	background-color:#ffffff;
	padding:0 1.6rem;
	border-radius:5px;
	border:1px solid #EC4176;
	line-height:3;
	transition: all 200ms;
}

.grid-panels.rental-cars .cta button:hover {
	color:#ffffff;
	background-color:#EC4176;
}

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

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

	/* TOUR GRID - TOUR PACKAGE */

	.tour-grid.tour-package a {
		width:calc(((100vw - 90px) * 0.75) / 3);
	}

}

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

	/* TOUR GRID - TOUR PACKAGE */

	.tour-grid.tour-package a {
		width:calc(((100vw - 70px) * 0.75) / 2);
	}

}

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

	/* LIST STYLE - BULLET LIST & DASH LIST */

	ul.bullet-list > li,
	ul.dash-list > li {
		font-size:1.5rem;
	}

	/* BACK TO TOP BUTTON */

	#back-top {
		display:none;
	}

	/* SOCIAL POPUP BUTTONS */

	#social-popup {
		right:1.5rem;
	}

	/* TOUR GRID - TOUR PACKAGE */

	.tour-grid.tour-package a {
		width:calc((100vw - 70px) / 3);
	}

}

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

	/* BACK TO TOP BUTTON */

	#back-top {
		display:none;
	}

}

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

	/* LIST STYLE - BULLET LIST & DASH LIST */

	ul.bullet-list > li {
		font-size:1.4rem;
	}

	ul.bullet-list:not(.no-bullet) > li:before {
		font-size: 2.5rem;
    	line-height: 0.8;
	}

	/* SOCIAL POPUP BUTTONS */

	#social-popup {
		bottom:20rem;
	}

	#social-popup a {
		min-width:40px;
		min-height:40px;
	}

	#social-popup a#chat {
		background-size: 18px;
	}

	#social-popup a#chat > div {
		width:40px;
		height:40px;
		background-size:14px;
	}

	#social-popup a#email {
		background-size: 19px 16px;
	}

	#social-popup a#tel {
		background-size: 21px;
	}

	#social-popup a#whatsapp {
		background-size: 22px;
	}

	/* TOUR GRID - TOUR PACKAGE */

	.tour-grid.tour-package a {
		width:calc((100vw - 50px) / 2);
	}

	/* GRID PANELS - RENTAL CARS */

	.grid-panels.three.rental-cars {
		grid-template-columns: repeat(auto-fit, minmax(260px, 1fr));
	}

	.grid-panels.rental-cars figcaption,
	.grid-panels.rental-cars .vehicle-type,
	.grid-panels.rental-cars .rental-rates,
	.grid-panels.rental-cars .cta {
		text-align:center;
	}

}

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

	/* TOUR GRID - TOUR PACKAGE */

	.tour-grid.tour-package a {
		width:100%;
		min-height:inherit;
	}

}

/* CUSTOM FANCYBOX CSS */

.full-screen {
	height:100%;
	overflow:hidden;
}

.full-screen .fancybox-slide--html {
    padding: 0;
}

.full-screen .fancybox-slide--html .fancybox-close-small {
	color:#ffffff;
	padding:0;
}

.full-screen .fancybox-button {
	width:auto;
	height:50px;
}

.full-screen .fancybox-button svg,
.full-screen .fancybox-button span {
	display: inline-block;
}

.full-screen .fancybox-button svg {
    width: auto;
    background:#1B5460;
}

.full-screen .fancybox-button span {
	font-size: 2.4rem;
    font-weight: 700;
    line-height: 2;
    vertical-align: top;
    padding: 0 1.5rem;
    color:#1B5460;
    text-decoration:underline;
}

/* SLICK SLIDER OVERRIDES */

.slick-initialized .slick-slide {
	display:flex;
	justify-content:center;
}

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

.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;
}

/* SLICK SLIDER CAROUSEL - NOTE THAT THE CLASS .carousel-arrow IS ADDED IN JS ON INIT */

.carousel-arrow {
	display: flex;
    flex-direction:column;
    align-items:center;
    justify-content:center;
    position: absolute;
	top:50%;
    width: 50px;
    height: 50px;
}

.carousel-arrow,
.carousel-arrow:focus {
	background:rgba(0,0,0,0.2);
}

.carousel-arrow.slick-next {
	right:5rem;
}

.carousel-arrow.slick-prev {
	left:5rem;
}

.carousel-arrow.slick-next:before,
.carousel-arrow.slick-prev:before {
	display:block;
	content:"";
	width:12px;
	height:12px;
	border-top:2px solid #ffffff;
	border-left:2px solid #ffffff;
	transition:all 200ms;
}

.carousel-arrow.slick-next:before {
	transform: rotate(135deg);
	margin-right:0.5rem;
}

.carousel-arrow.slick-prev:before {
	transform: rotate(-45deg);
	margin-left:0.5rem;
}

.carousel-arrow.slick-next:not(.slick-disabled):hover,
.carousel-arrow.slick-prev:not(.slick-disabled):hover {
    background:rgba(0,0,0,1);
}

/** SLICK SLIDER OVERRIDES RESPONSIVE CSS
*****************************************************************************************************/

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

	/* SLICK SLIDER CAROUSEL - NOTE THAT THE CLASS .carousel-arrow IS ADDED IN JS ON INIT */

	.carousel-arrow.slick-next {
		right:2rem;
	}

	.carousel-arrow.slick-prev {
		left:2rem;
	}

}

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

	/* SLICK SLIDER CAROUSEL - NOTE THAT THE CLASS .carousel-arrow IS ADDED IN JS ON INIT */

	.carousel-arrow.slick-next {
		right:1.5rem;
	}

	.carousel-arrow.slick-prev {
		left:1.5rem;
	}

	.carousel-arrow, .carousel-arrow:focus {
	    background: rgba(0,0,0,1);
	}


}

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

	/* CUSTOM FANCYBOX CSS */

	.full-screen .fancybox-button {
		height:40px;
	}

	.full-screen .fancybox-button svg {
	    height: 40px;
	}

	.full-screen .fancybox-button span {
		font-size: 2rem;
	    line-height: 2;
	    vertical-align: top;
	    padding-left:1rem;
	}

}

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

/* HOME - MAIN SLIDER */

#home-slider {
	height:620px;
}

#home-slider img {
	width:auto;
	height:100%;
}

/* HOME - HIGHLIGHTS / CUSTOMER FEEDBACK */

#home-highlights section,
#home-customer-feedback section {
	padding:6rem 15px;
}

/* HOME - DESTINATION CAROUSEL  */

#home-destinations section {
	width:100%;
	max-width:inherit;
	padding-left:0;
	padding-right:0;
	padding-bottom:0;
}

#home-destination-carousel.slick-initialized .slick-slide {
	padding:0 1rem;
}

#home-destination-carousel .image-wrapper {
	position:relative;
	border-radius:5px;
	overflow:hidden;
}

#home-destination-carousel .image-wrapper span {
	display:block;
	position:absolute;
	bottom:0;
	left:0;
	width:100%;
	padding:1.5rem 1rem;
	background: rgba(0,0,0,0.8);
	font-size:1.8rem;
	font-weight:700;
	color:#ffffff;
	text-transform:uppercase;
}

/* HOME OUR BRANCHES */

#home-our-branches section {
	padding:4% 15px 0;
	text-align:center;
}

#home-our-branches h1 {
	position: absolute;
    bottom:75%;
    z-index: 10;
    width: 100%;
}

#our-branches {
	position:relative;
}

#our-branches header {
	position: absolute;
    top: 3%;
    left: 0;
    width: 100%;
}

#our-branches h1 {
	margin:0;
}

#our-branches-bg > img {
	width:100%;
	height:auto;
}

#branch-locations {
	position:absolute;
	width:100%;
	height:100%;
	top:0;
	left:0;
	overflow:hidden;
}

#branch-locations-inner {
	position:relative;
	display:block;
	width:100%;
	height:100%;
}

#branch-locations .location-pin {
	position:absolute;
	display:inline-block;
	pointer-events:none;
}

#branch-locations .location-pin img {
	width:100%;
	height:auto;
	-webkit-animation-name: bounce;
	animation-name:bounce;
	-webkit-animation-duration: 2s;
	animation-duration: 2s;
	-webkit-animation-fill-mode: both;
	animation-fill-mode: both;
	-webkit-animation-timing-function: ease;
	animation-timing-function: ease;
	-webkit-animation-iteration-count: infinite;
	animation-iteration-count: infinite;
}

#mobile-message {
	position: absolute;
	display:none;
    bottom: 65%;
    left: 46%;
	padding:1rem;
	background:#6e6e6e;
	border-radius:0.4rem;
	color:#ffffff;
	transition:all 200ms;
}

#mobile-message.hide {
    opacity:0;
    pointer-events:none;
}

#mobile-message .bubble-tail {
	width: 0;
	height: 0;
	border-left: 0.8vh solid transparent;
	border-right: 0.8vh solid transparent;
	border-top: 2vh solid #6e6e6e;
	position: absolute;
	top: 93%;
    left: 70%;
	transform: rotate(-20deg);
}

#kl-location-pin {
	top: 29%;
    left: 23.5%;
}

#kk-location-pin {
	bottom: 61.5%;
    left: 63.7%;
    transform: scale(1.3);
}

#kk-location-pin img {
	-webkit-animation-delay: .1s;
	animation-delay: .1s;
}

#miri-location-pin {
	top: 45%;
    left: 55.4%;
    transform: scale(1.4);
}

#miri-location-pin img {
	-webkit-animation-delay: .2s;
	animation-delay: .2s;
}

#semporna-location-pin {
	bottom: 49.5%;
    left: 67.5%;
}

#semporna-location-pin img {
	-webkit-animation-delay: .32s;
	animation-delay: .3s;
}

#branch-locations .location-info {
	position:absolute;
	display:flex;
	flex-direction:column;
}

#kl-branch {
	top: 25.7%;
    left: 26.8%;
}

#kk-branch {
	bottom: 70%;
    left: 46.8%;
}

#miri-branch {
	top: 45.5%;
    right: 46%;
}

#semporna-branch {
	top: 56.5%;
    left: 63.8%;
}

#branch-locations .location-pin:before {
	content:"";
	display:block;
	width:56px;
	height:52px;
	background:url(../images/generic/icon-location-arrow.svg) no-repeat center center;
	background-size:cover;
	position:absolute;
}

#kl-location-pin.location-pin:before {
	transform: rotate(128deg) scale(1.25);
    top: -42px;
    left: 34px;
}

#kk-location-pin.location-pin:before {
	transform: scale(0.8);
    top: -9px;
    left: -50px;
}

#miri-location-pin.location-pin:before {
	transform: rotate(-45deg) scale(0.8);
    top: 20px;
    left: -45px;
}

#semporna-location-pin.location-pin:before {
	transform: rotate(-169deg) scale(0.85);
    top: 15px;
    left: 25px;
}

#branch-locations h4 {
	display:block;
	color:#541D8F;
	margin-bottom:0;
	font-size:1.2vw;
	line-height:1.5;
}

#branch-locations a {
	display:flex;
	align-items:center;
	justify-content:center;
	gap:0.3rem;
}

#branch-locations a span {
	display:inline-block;
	color:#541D8F;
	font-size:1.2vw;
	font-weight:700;
	background-color:#F6E131;
	padding:0.3rem 0.5rem;
}

/* HOME ABOUT BORNEO */

#home-about-borneo section {
	padding: 8rem 15px 0;
	/*padding-bottom:12rem;*/
}

#home-about-borneo h2 {
	margin-bottom:2rem;
}

#home-about-borneo {
	/*background:url(../images/home/bg-about-borneo.jpg) no-repeat center top;
	background-size:cover;*/
}

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

#home-about-borneo .flex-two {
	flex-wrap: wrap-reverse;
}

#home-about-borneo .flex-two > div {
	display:flex;
	flex-direction:column;
	justify-content: center;
}

#home-about-borneo .flex-two > div:first-child {
	padding-right:4.5rem;
}

#home-about-borneo .flex-two > div:last-child {
	padding-left:4.5rem;
}

/* HOME SUBSCRIBE NEWSLETTER */

#home-subscribe {
	background:#541D8F;
}

#home-subscribe section {
	padding: 6rem 15px 5rem;
}

#home-subscribe h2 {
	color:#ffffff;
}

#home-subscribe form {
	max-width:62rem;
	margin:0 auto;
}

#home-subscribe #ajax-form-container {
	background:none;
	padding:0;
	min-height:inherit;
}

#home-subscribe .form-control {
	width:100%;
}

#home-subscribe .form .field {
	justify-content:space-between;
}

#home-subscribe .form .field > div {
    justify-content: space-between;
}

#home-subscribe .form .field > div:first-child {
    flex: 1 1 50%;
    margin-right:1rem;
}

#home-subscribe #ajax-form-recaptcha {
	border-radius: 5px;
	margin:0 auto;
	flex:none;
}

#home-subscribe #ajax-form-container.hidden {
	display:block;
}

/* HOME CUSTOMER FEEDBACK */

#customer-feedback {
	display:block;
}

#customer-feedback figure {
	display:block;
	width:calc((100% - 60px) / 4);
	padding:2.5rem 2rem 4rem;
	border-radius:0.5rem;
	background-color:#F5F5F5;
	text-align:left;
	margin-bottom:2rem;
}

#customer-feedback p {
	line-height:1.3;
}

.customer-feedback-header {
	display:flex;
	margin-bottom: 2.5rem
}

.customer-feedback-header img {
	border-radius:100%;
	margin-right:1.4rem;
}

.customer-details {
	display: flex;
    flex-direction: column;
    justify-content: center;
}

.customer-details span {
	display:block;
	font-size:1.4rem;
	line-height:1.4;
}

.customer-details span:first-child {
	font-weight:700;
}


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

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

	/* HOME ABOUT BORNEO */

	#home-about-borneo section {
	    padding-bottom: 6rem;
	}

	#home-about-borneo .flex-two > div:first-child {
		padding-right:2rem;
	}

	#home-about-borneo .flex-two > div:last-child {
		padding-left:2rem;
	}

}

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

	/* HOME - MAIN SLIDER */

	#home-slider,
	#home-slider .slick-slide img  {
		height:500px;
	}

	/* HOME - DESTINATION CAROUSEL  */

	#home-destination-carousel.slick-initialized .slick-slide {
		padding:0 0.5rem;
	}

}

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

	/* HOME ABOUT BORNEO */

	#home-about-borneo h2 {
		font-size:3rem;
	}

	#home-about-borneo h3 {
		font-size:2.4rem;
	}

	/* HOME OUR BRANCHES */

	#home-our-branches h1 {
	    bottom:unset;
	}

	#branch-locations .location-pin {
	    max-width: 20px;
	}

	#branch-locations .location-pin:before {
	    width: 40px;
	    height: 37px;
	}

	#kl-location-pin.location-pin:before {
	    top: -35px;
	    left: 22px;
	}

	#kk-location-pin.location-pin:before {
	    top: -12px;
	    left: -40px;
	}

	#miri-location-pin.location-pin:before {
	    top: 18px;
	    left: -32px;
	}

	#semporna-location-pin.location-pin:before {
	    left: 18px;
	}

	/* HOME CUSTOMER FEEDBACK */

	#customer-feedback figure {
		width:calc((100% - 40px) / 3);
	}

}

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

	/* HOME - MAIN SLIDER */

	#home-slider,
	#home-slider .slick-slide img  {
		height:400px;
	}

	/* HOME OUR BRANCHES */

	#home-our-branches section {
		padding:4% 0 0;
	}

	#home-our-branches h1 {
		position:relative;
		margin-bottom: 2rem;
	}

	#branch-locations h4,
	#branch-locations a span {
		font-size:1.2rem;
	}

	#kl-branch {
	    left: 28%;
	}

	#kk-branch {
	    bottom: 85%;
	    left: 50%;
	}

	#kk-location-pin.location-pin:before {
		transform: rotate(20deg) scale(0.8);
	    top: -38px;
	    left: -30px;
	}

	/* HOME ABOUT BORNEO */

	#home-about-borneo {
		text-align:center;
	}

	#home-about-borneo .flex-two > div {
		flex:0 0 100%;
	}

	#home-about-borneo .flex-two > div:first-child {
	    padding: 2rem;
	    background: rgba(255,255,255,0.7);
	    border-radius:1rem;
	}

	#home-about-borneo .flex-two > div:last-child {
		margin-bottom:3rem;
	}

	#home-about-borneo h2 {
		font-size:3.5rem;
	}

	#home-about-borneo h3 {
		font-size:2rem;
	}

	/* HOME - HIGHLIGHTS / CUSTOMER FEEDBACK */

	#home-highlights section,
	#home-customer-feedback section {
		padding:4rem 15px;
	}

}

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

	/* HOME CUSTOMER FEEDBACK */

	#customer-feedback figure {
		width:calc((100% - 20px) / 2);
	}

}

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

	/* HOME - MAIN SLIDER */

	#home-slider,
	#home-slider .slick-slide img {
		height:300px;
	}

	/* HOME OUR BRANCHES */

	#home-our-branches section {
		padding:4rem 0 0;
	}

	#mobile-message {
		display:inline-block;
		left: 42.5%;
	}

	#kk-location-pin,
	#miri-location-pin {
	    transform: scale(1);
	}

	#branch-locations-inner {
		min-width:600px;
	}

	#kl-branch,
	#kk-branch,
	#miri-branch,
	#semporna-branch {
		top:2rem;
	    bottom:unset;
	    left: unset;
	    right: unset;
	    width:100%;
	}

	#branch-locations .location-pin {
		pointer-events:all;
		z-index: 10;
	}

	#branch-locations .location-pin:before {
		display:none;
	}

	#branch-locations .location-info {
		opacity:0;
		pointer-events:none;
		transition:all 200ms;
	}

	#branch-locations .location-info.open {
		opacity:1;
		pointer-events:all;
	}

	#branch-locations .location-info:after {
		content: "";
	    display: block;
	    width: 56px;
	    height: 52px;
	    background: url(../images/generic/icon-location-arrow.svg) no-repeat center center;
	    background-size: cover;
	    position: absolute;
	    bottom: -5rem;
	}

	#kl-branch.location-info:after {
	    transform: rotateY(180deg) rotate(-30deg) scale(1.1);
	    left: 27%;
	    bottom: -4.5rem;
	}

	#kk-branch.location-info:after {
	    transform: rotate(-15deg);
	    left: 47%;
	}

	#miri-branch.location-info:after {
	    transform: rotate(20deg);
		left: 42%;
		bottom: -6.5rem;
	}

	#semporna-branch.location-info:after {
	    transform: rotate(0deg) scale(1.3);
	    left: 51%;
	    bottom: -6.5rem;
	}

	#our-branches-bg {
		display:flex;
		justify-content:center;
		overflow:hidden;
		padding-left:10%;
	}

	#our-branches-bg img {
		min-width:600px;
		object-fit:contain;
	}

	#branch-locations-inner {
		padding-left:10%;
		margin-left:calc((100vw - 600px) / 2);
	}

	#kl-branch,
	#kk-branch,
	#miri-branch,
	#semporna-branch {
		top:3rem;
		padding-right:10%;
	}

	#kl-location-pin {
		top: 80px;
    	left: 165px;
	}

	#kk-location-pin {
		top: 90px;
    	left: 410px;
	}

	#miri-location-pin {
		top: 135px;
    	left: 358px;
	}

	#semporna-location-pin {
		top: 125px;
    	left: 430px;
	}

	/* HOME ABOUT BORNEO */

	#home-about-borneo h2 {
		font-size:2.5rem;
	}

	#home-about-borneo h3 {
		font-size:1.8rem;
	}

	/* HOME - HIGHLIGHTS / CUSTOMER FEEDBACK */

	#home-highlights section,
	#home-customer-feedback section {
		padding:3rem 15px;
	}

}

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

	/* HOME CUSTOMER FEEDBACK */

	#customer-feedback figure {
		width:100%;
	}

}

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

	/* HOME OUR BRANCHES */

	#kl-location-pin {
		top: 80px;
		left: 155px;
	}

	#kk-location-pin {
		top: 85px;
    	left: 400px;
	}

	#miri-location-pin {
		top: 135px;
    	left: 348px;
	}

	#semporna-location-pin {
		left: 420px;
	}

	#kl-branch.location-info:after {
	    left: 26%;
	}

	#kk-branch.location-info:after {
		left: 49%;
	}

	#miri-branch.location-info:after {
	    left: 43%;
	}

	#semporna-branch.location-info:after {
		left: 50%;
	}


}

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

	/* HOME SUBSCRIBE NEWSLETTER */

	#home-subscribe .form .field {
		gap:1rem;
	}

	#home-subscribe .form .field > div {
	    flex: 0 0 100%;
	}

	#home-subscribe .form .field > div,
	#home-subscribe .form .field > div:first-child {
		margin-right:0;
	}

	#home-subscribe .form .button {
		width:100%;
	}

}

/* SECTIONS - CONTENT WITH SIDEBAR PAGES
----------------------------------------------------------------------------------------------------*/

#content-sidebar-flex {
	display:flex;
	gap:2rem;
}

#content-sidebar-flex header + img {
	margin-bottom:2.5rem;
}

#content-sidebar-flex p + ul.link-list {
	padding-top:3rem;
}

/* SECTIONS - TOUR PACKAGES SIDEBAR
----------------------------------------------------------------------------------------------------*/

#sidebar {
	position:relative;
	flex:0 0 24%;
	transition:all 200ms;
}

#sidebar h4,
#sidebar h5 {
	display:block;
	text-transform:uppercase;
	margin-bottom:0.5rem;
}

#sidebar h5 {
	color:#541D8F;
}

#sidebar h4 {
	font-size:1.6rem;
	font-weight:800;
	color:#541D8F;
}

#sidebar h4 + h5 {
	margin-top:2rem;
}

#sidebar label + h5 {
	margin-top:2rem;
}

#sidebar #expand-sidebar {
	position:absolute;
	display:none;
	flex-direction:column;
	justify-content:center;
	align-items:center;
	width:40px;
	height:50px;
	background: #EC4176 url(../images/generic/icon-hide.svg) no-repeat center center;
	top:80px;
	right:-40px;
	border-top-right-radius:10px;
	border-bottom-right-radius:10px;
	box-shadow: 4px 4px 8px 0 rgba(0,0,0,0.15);
	transition: all 200ms;
}

#sidebar #expand-sidebar > div {
	background: #8CC63F;
	transition: opacity 200ms
}

#sidebar #expand-sidebar img {
	width:25px;
}

#sidebar-form .field {
	border:1px solid #F2F2F2;
	background:none;
	border-radius:5px;
	padding:2.5rem 2rem;
}

#sidebar-form .flex-container {
	display:flex;
	flex-direction:column;
	gap:0;
}

#sidebar-form label,
.form-control,
.form .button {
	height: 25px; 
	line-height: 25px; 
}

#sidebar-form .button {
	width:100%;
	color:#000000;
}

#sidebar-form .button:hover {
	color:#ffffff;
}

/* EXPANDED SIDEBAR */

.expanded #expand-sidebar > div {
	opacity:0;
}

/* SECTIONS - TOUR PACKAGES MAIN CONTENT
----------------------------------------------------------------------------------------------------*/

#main-content {
	position:relative;
	flex:0 0 75%;
	transition: opacity 200ms;
}

#main-content h5 {
	margin-bottom:1.5rem;
}

#main-content.blur {
	opacity:0.3;
}

/** SECTIONS - TOUR PACKAGES RESPONSIVE CSS
*****************************************************************************************************/

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

	/* SIDEBAR */

	#sidebar {
		position:fixed;
		left:0;
		top:0;
		width:100%;
		max-width:0;
		z-index:20;
	}

	#sidebar #expand-sidebar {
		display:flex;
	}

	#sidebar-links {
		height:100vh;
		background:#EC4176;
		padding:100px 0;
		overflow:scroll;
		box-shadow: 4px 0 8px 0 rgba(0,0,0,0.15);
	}

	#sidebar.expanded {
		max-width:235px;
	}

	#tour-details #sidebar h4,
	#sidebar h4 {
		color:#541D8F;
		margin-bottom:1rem;
	}

	#sidebar h5 {
		color:#ffffff;
	}

	#sidebar h4 + h5 {
	    margin-top: 1rem;
	}

	#sidebar #expand-sidebar > div {
		background-color:#EC4176;
	}

	#sidebar-form .field {
		border:none;
		padding-bottom:0;
		margin-bottom:0;
	}

	#sidebar-form label,
	#sidebar-form .form-control,
	#sidebar-form .form .button {
		color:#ffffff;
	}

	#sidebar-form label {
		white-space:nowrap;
	}

	/* MAIN CONTENT */

	#main-content {
		flex:0 0 100%;
		min-height: 100vh;
	}

}


/* SECTIONS - TOUR DETAILS PAGE
----------------------------------------------------------------------------------------------------*/

/* TOUR DETAILS PAGE - FONTS */

#tour-details h1 {
	font-size:2.4rem;
	font-weight:800;
	color:#000000;
	text-transform:uppercase;
	margin-bottom:1rem;
}

#tour-details h4 {
	font-weight:800;
	text-transform:uppercase;
	margin-bottom:2rem;
}

#tour-details h4,
#tour-details em {
	color:#541D8F;
}

/* TOUR DETAILS PAGE - INFO HEADER */

#tour-info-header {
	display:flex;
	gap:2rem;
	margin-bottom:3.5rem;
}

#tour-info-header > div > img {
	height:14px;
	filter: brightness(0%);
	margin-right:0.3rem;
}

#tour-info-header > div {
	display:flex;
	align-items:center;
	font-size:1.4rem;
	font-weight:400;
	text-transform:uppercase;
}

#tour-info-header > div > span {
	display:inline-block;
	color:#E1A01C;
	border:1px solid #E1A01C;
	border-radius:5px;
	padding:0.5rem 1.2rem;
	margin-left:1rem;
}

/* TOUR DETAILS PAGE - TOUR GALLERY */

#tour-gallery {
	display:grid;
	grid-template-columns: repeat(auto-fit, minmax(120px, 170px));
	grid-gap:0.6rem;
	margin-bottom:1.5rem;
}

#tour-gallery > a {
	border:1px solid #F2F2F2;
	padding:5px;
}

#tour-gallery img {
	width:100%;
	height:auto;
}

#tour-gallery + h4 {
	margin-top:5rem;
}

/* TOUR DETAILS PAGE - TOUR DESCRIPTION */

#tour-description {
	margin-bottom:4.5rem;
}

/* TOUR DETAILS PAGE - TOUR ITINERARY */

#tour-itinetary {
	margin-bottom:3rem;
}

#tour-itinetary > div {
	position:relative;
	background:url(../images/generic/bg-tour-itinerary.png) repeat-y center left;
	padding-bottom:3rem;
}

#tour-itinetary > div:last-child {
	background:none;
	padding-bottom:0;
}

#tour-itinetary .icon-heading-flex {
    display:block;
    position:relative;
    padding: 1rem 0 0 5rem;
    line-height:1.4;
    z-index:10;
}

#tour-itinetary .icon-heading-flex > div {
	position:absolute;
	top:0;
	left:0;
	display:flex;
	flex-direction:column;
	align-items:center;
	justify-content: center;
	width:40px;
	height:40px;
	background:#541D8F;
	border-radius:100%;
}

#tour-itinetary .icon-heading-flex span {
	margin-right:2rem;
}

#tour-itinetary .icon-heading-flex img {
	margin:0;
}

#tour-itinetary .icon-heading-flex.itinerary-icons span {
	font-size:1.4rem;
}

#tour-itinetary p {
	margin-bottom:2.5rem;
	padding-left:5rem;
}

#tour-itinetary p + .icon-heading-flex.itinerary-icons {
	margin-top:-2rem;
}

#tour-itinetary p span {
	display:block;
	font-weight:700;
	color:#541D8F;
}

#tour-itinetary .icon-heading-flex.itinerary-icons {
	padding-left:5rem;
}

#tour-itinetary p:last-child {
	margin-bottom:0;
}

#tour-itinetary .itinerary-time {
	margin-bottom:0;
}

#tour-itinetary .itinerary-time > div {
	padding-left:5rem;
}

/* TOUR DETAILS PAGE - TOUR ITINERARY TIME */

.itinerary-time,
.itinerary-time > div {
	display:flex;
}

.itinerary-time {
	flex-direction:column;
	gap:0.6rem;
	margin-bottom:3rem;
}

.itinerary-time > div {
	font-size:1.4rem;
	gap:0.5rem;
}

.itinerary-time strong {
	font-weight:700;
	min-width:44px;
}

/* TOUR DETAILS PAGE - ITINERARY LINKS */

#itinerary-links {
	display:flex;
	gap:1rem;
	flex-wrap:wrap;
	padding-top:1.5rem;
	margin-bottom:7rem;
}

#itinerary-links a {
	font-size:1.4rem;
	font-weight:700;
	padding:1rem 1.5rem;
	border:1px solid;
	border-radius:4px;
	line-height:1.2;
	transition: all 200ms;
}

#itinerary-links a:not(.disabled):hover {
	color:#ffffff;
}

#itinerary-links a.disabled {
	background-color:#EBEBEB;
	border-color:#EBEBEB;
	color:#ffffff;
	pointer-events: none;
}

#itinerary-links .itinerary-eng {
	color:#29ABE2;
	border-color:#29ABE2;
}

#itinerary-links .itinerary-eng:not(.disabled):hover {
	background-color:#29ABE2;
}

#itinerary-links .itinerary-ch {
	color:#D4145A;
	border-color:#D4145A;	
}

#itinerary-links .itinerary-ch:not(.disabled):hover {
	background-color:#D4145A;
}

#itinerary-links .itinerary-bm {
	color:#39B54A;
	border-color:#39B54A;	
}

#itinerary-links .itinerary-bm:not(.disabled):hover {
	background-color:#39B54A;
}

/* TOUR DETAILS PAGE - RATES */

#rates {
	padding:3rem 2rem;
	background:#ffffff;
	border:1px solid #F2F2F2;
	border-radius:10px;
	margin-bottom:3.5rem;
}

#rates h4 {
	margin-bottom:0.6rem;
}

/* TOUR DETAILS PAGE - TOUR RATES TABLE GENERAL STYLE */

.tour-rates {
	width:100%;
	margin-bottom:2rem;
}

.tour-rates td {
	padding:1.2rem 1rem;
	font-size:1.4rem;
	color:#000000;
	border-bottom:1px solid #E6E6E6;
}

.tour-rates tr:first-child td {
	border-top:1px solid #E6E6E6;
	white-space:nowrap;
}

.tour-rates.cell-count-2 td:first-child {
	width:100%;
}

.tour-rates thead td {
	border:none;
	background:#541D8F;
	font-weight:700;
	color:#ffffff;
	vertical-align:middle;
	line-height:1.2;
	text-transform:capitalize;
}

.tour-rates thead + tbody tr:first-child td {
	border-top:none
}

.tour-rates thead + tbody tr td:first-child {
	padding-right:1rem;
	width:auto;
}

.tour-rates .secondary-label {
	display:none;
}

.tour-rates .rate-link {
	display:flex;
	gap:0.6rem;
	align-items: center;
	font-weight:700;
	height:100%;
}

.tour-rates .rate-link button {
	display:inline-block;
	font-weight:700;
	color:#EC4176;
	padding:0.4rem 0.8rem;
	background:none;
	border:1px solid #EC4176;
	border-radius:4px;
}

.tour-rates .rating {
	display:inline-block;
	height:12px;
	background:url(../images/generic/icon-star.png) repeat-x center left;
	margin-left:0.5rem;
}

.tour-rates .rating.one-star {
	width:15px;
}

.tour-rates .rating.two-star {
	width:calc(15px * 2);
}

.tour-rates .rating.three-star {
	width:calc(15px * 3);
}

.tour-rates .rating.four-star {
	width:calc(15px * 4);
}

.tour-rates .rating.five-star {
	width:calc(15px * 5);
}

/* TOUR DETAILS PAGE - TOUR RATES TABLE - DAY TOURS */

.tour-rates.day-tours:not(.cell-count-3) tr td:first-child {
	padding-right:2rem;
	width:5%;
}

.tour-rates.day-tours.cell-count-3 tr td:first-child {
	width:45%;
}

/* TOUR DETAILS PAGE - NOTES */

.note {
	display:block;
	font-size:1.4rem;
	color:#000000;
	padding:0.8rem 0;
	line-height:1.2;
}

.note.pink {
	color:#EC4176;
}

.note.footer-note {
	display:block;
	color:#ffffff;
	background:#EC4176;
	border-radius:5px;
	padding:2rem 2rem 3rem;
	margin-top:5rem;
	line-height:1.4;
}

.note.footer-note .icon-heading-flex span {
	font-size:1.8rem;
	color:#ffffff;
	line-height:1;
}

/* ININERARY DATE AND TIME */

.icon-heading-flex {
	display:flex;
	align-items:flex-end;
	margin-bottom:1rem;
}

.icon-heading-flex img {
	height:18px;
	width:auto;
	margin-right:6px;
}

.icon-heading-flex {
	font-size:1.8rem;
	color:#541D8F;
}

.icon-heading-flex span {
	font-weight:800;
}

.icon-heading-flex + p {
	margin-bottom:3rem;
}

.icon-heading-flex.itinerary-icons {
	margin-bottom:2rem;
}

.icon-heading-flex.itinerary-icons img {
	height:24px;
	padding-left:0.5rem;
}

.icon-heading-flex.itinerary-icons span {
	font-size:1.4rem;
	font-weight:400;
}

/* ININERARY DATE AND TIME - STYLES */

.icon-heading-flex.lblue {
	color:#29ABE2;
}

.icon-heading-flex.lblue img {
	filter: invert(54%) sepia(99%) saturate(850%) hue-rotate(165deg) brightness(92%) contrast(91%);
	transform: rotate(180deg);
}

.icon-heading-flex.green {
	color:#006837;
}

.icon-heading-flex.pink {
	color:#EC4176;
}

.icon-heading-flex.pink img {
	filter: invert(41%) sepia(39%) saturate(2999%) hue-rotate(315deg) brightness(93%) contrast(100%);
}

/* TOUR DETAILS PAGE - ADDITIONAL NOTES */

#additional-notes {
	display:block;
	font-size:1.4rem;
	padding:3rem 2rem;
	border-radius:5px;
	border:1px solid #F2F2F2;
	background-color:#ffffff;
}

.additional-note {
	display:block;
	line-height:1.4;
	margin-bottom:4rem;
}

.additional-note:last-child {
	margin-bottom:0;
}

.additional-note .icon-heading-flex {
	align-items: inherit;
	font-size:1.4rem;
}

.additional-note .icon-heading-flex.itinerary-icons img {
	height:18px;
	padding-left:0.5rem;
}

/** SECTIONS - TOUR DETAILS PAGE RESPONSIVE CSS
*****************************************************************************************************/

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

	/* TOUR DETAILS PAGE - TOUR GALLERY */

	#tour-gallery {
		grid-template-columns: repeat(auto-fit, minmax(120px, 1fr));
	}

	/* TOUR DETAILS PAGE - TOUR RATES TABLE - TOUR PACKAGES */

	.tour-rates.day-tours.cell-count-3 tr td:first-child {
		width:35%;
	}

}

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

	#tour-details section {
		padding-bottom:5rem;
	}

	/* TOUR DETAILS PAGE - ASSORTED CLASS */

	.note {
		line-height:1.5;
	}

}

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

	/* TOUR DETAILS PAGE - RATES */

	#rates {
		padding:0;
		background:none;
		border:none;
	}

	/* TOUR DETAILS PAGE - TOUR RATES TABLE GENERAL STYLE */

	.tour-rates {
		border-top:1px solid #e6e6e6;
	}

	/* TOUR DETAILS PAGE - TOUR RATES TABLE - DAY TOURS */

	.tour-rates.day-tours.cell-count-3 tr td:first-child {
		width:100%;
	}

	/* TOUR DETAILS PAGE - TOUR RATES TABLE - TOUR PACKAGES */

	.tour-rates thead {
		display:none;
	}

	.tour-rates.label-bind tbody td {
		display:flex;
		flex-wrap:wrap;
		border:none;
		padding:0 0 0.5rem;
	}

	.tour-rates td,
	.tour-rates td > span,
	.tour-rates td > span > span {
		text-transform: uppercase;
	}

	.tour-rates td > span {
		line-height:1.2;
	}

	.tour-rates td > span {
		display:flex;
		align-items:center;
		font-size:1.4rem;
		font-weight:700;
		margin-right:0.5rem;
	}

	.tour-rates td > span > span {
		font-weight:400;
		margin-left:0.5rem;
	}

	.tour-rates.label-bind tbody td:first-child {
		padding-top:1rem;
	}

	.tour-rates.label-bind tbody td:last-child {
		border-bottom:1px solid #e6e6e6;
		padding-bottom:1rem;
	}

	.tour-rates.cell-count-2 tbody td:last-child,
	.tour-rates.cell-count-3 tbody td:nth-child(2),
	.tour-rates.cell-count-3 tbody td:nth-child(3) {
		justify-content:space-between;
	}

	.tour-rates td,
	.tour-rates td > span,
	.tour-rates td > span > span {
		font-size:1.2rem;
	}
}

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

	/* TOUR DETAILS PAGE - TOUR ITINERARY */

	#tour-itinetary > div {
		background:url(../images/generic/bg-tour-itinerary.png) repeat-y -5px 0;
	}

	#tour-itinetary .icon-heading-flex {
	    padding: 0.3rem 0 0 4rem;
	}

	#tour-itinetary .icon-heading-flex > div {
		width:30px;
		height:30px;
	}

	#tour-itinetary .icon-heading-flex {
		font-size:1.6rem;
	}

	#tour-itinetary .icon-heading-flex span {
		margin-right:1rem;
	}

	#tour-itinetary p,
	#tour-itinetary .itinerary-time > div,
	#tour-itinetary .icon-heading-flex.itinerary-icons {
		padding-left:4rem;
	}

	/* TOUR DETAILS PAGE - INFO HEADER */

	#tour-info-header {
		gap:1.5rem;
	}

	#tour-info-header > div {
		font-size:1.3rem;
	}

	/* TOUR DETAILS PAGE - TOUR RATES TABLE - DAY TOURS */

	.tour-rates.day-tours:not(.cell-count-3) tr td:first-child {
	    padding-right: 2rem;
	    width: auto;
	}

	.tour-rates.day-tours:not(.cell-count-3) tr td:last-child .rate-link {
	    justify-content: flex-end;
	}

}

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

	/* TOUR DETAILS PAGE - ITINERARY LINKS */

	#itinerary-links a {
		width:100%;
		text-align:center;
	}

	/* TOUR DETAILS PAGE - TOUR RATES TABLE - TOUR PACKAGES */

	.tour-rates.cell-count-2 tbody td:last-child {
		flex-direction:column;
	}

	.tour-rates.tour-packages.cell-count-3 td > span {
		flex-direction:column;
		align-items:flex-start;
	}

	.tour-rates.tour-packages.cell-count-3 td > span > span {
		margin-left:0;
	}

	.tour-rates.cell-count-2 td > span {
		margin-bottom:0.5rem;
	}
}


/* SECTIONS - TERMS AND CONDITIONS
----------------------------------------------------------------------------------------------------*/

.terms-conditions-pages h1 {
	font-size:2.4rem;
	font-weight:800;
	margin-bottom:3rem;
}

#privacy-policy h1 {
	margin-bottom:2rem;
}

#privacy-policy p {
	margin-bottom:3rem;
}

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

#contact-us p:first-of-type {
	margin-bottom:5rem;
}

#map-canvas {
	height:550px;
}

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

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

	#contact-us-body .flex-custom > div:first-child {
		flex:0 0 50%;
	}

}

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

	#contact-us-body .flex-custom > div {
		padding:0;
	}

	#contact-us-body .flex-custom > div:first-child {
		flex:0 0 100%;
		margin-bottom:3rem;
	}

}

/* SECTIONS - BOOKING PAGE
----------------------------------------------------------------------------------------------------*/

/* BOOKING FORM HEADER */
#booking-form-header {
	display:flex;
	flex-direction:column;
	margin-bottom:3rem;
}

#booking-form-header h1,
#booking-form-header p {
	text-align:center;
}

#booking-form-header h1 {
	font-size:2.4rem;
	margin-bottom:0.5rem;
}


#booking-form-header p {
	margin-bottom:4rem;
}

/* BOOKING FORM STEPS */
#booking-form-steps,
#booking-form-steps > div,
#booking-form-steps > div > div {
	display:flex;
}

#booking-form-steps {
	position:relative;
	width:100%;
	padding:0 3rem;
	gap:1.5rem;
	justify-content: space-between;
	overflow:hidden;
}

#booking-form-steps > div {
	align-items:center;
	gap:1rem;
	background:#FAFAFA;
	padding:0 1.5rem;
	z-index:10;
}

#booking-form-steps > div:first-child {
	padding-left:0;
}

#booking-form-steps > div:last-child {
	padding-right:0;
}

#booking-form-steps > div > div {
	flex-direction:column;
	align-items:center;
	justify-content:center;
	min-width:40px;
	min-height:40px;
	font-size:1.8rem;
	font-weight:700;
	color:#cccccc;
	border:1px solid #cccccc;
	border-radius:100%;
	transition: all 200ms;
}

#booking-form-steps > div > span {
	font-size:1.4rem;
	font-weight:700;
	color:#cccccc;
	white-space:nowrap;
	transition: color 200ms;
}

#booking-form-steps:before {
	position:absolute;
	width:calc(100% - 6rem);
	top:50%;
	left:3rem;
	content:"";
	display:inline-block;
	height:1px;
	border-bottom:1px solid #E6E6E6;
	z-index:1;
}

#booking-form-steps > div:last-child:after {
	display:none;
}

#booking-form-steps > div:first-child > div,
#booking-form-steps > div.active > div {
	background-color:#541D8F;
	border-color:#541D8F;
	color:#ffffff;
}

#booking-form-steps > div:first-child > span,
#booking-form-steps > div.active > span {
	color:#000000;
}

/* BOOKING FORM SLIDER */
#booking-form-slider.slick-initialized .slick-slide {
	display:block;
}


/* TOUR INFO */
#tour-info {
	margin-bottom:2.5rem;
}

#tour-info,
#tour-info span {
	display:block;
}

#tour-info span {
	font-size:1.4rem;
	line-height:1.4;
}

#tour-info span strong {
	font-weight:700;
}

/* SECTIONS - BOOKING PAGE RESPONSIVE CSS
**************************************************************************************/

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

	/* BOOKING FORM STEPS */

	#booking-form-steps {
		padding:0;
	}

	#booking-form-steps > div {
		padding:0 0.5rem;
	}

	#booking-form-steps > div > div {
		min-width:30px;
		min-height:30px;
		font-size:1.4rem;
	}

	#booking-form-steps > div > span {
		font-size:1.2rem;
	}

	#booking-form-steps:before {
		/*display:none;*/
	}

}

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

	/* BOOKING FORM HEADER */

	#booking-form-header {
		margin-bottom:6rem;
	}

	#booking-form-header p {
	    margin-bottom: 0;
	}

	/* BOOKING FORM STEPS */

	#booking-form-steps {
		display:none;
	}

}

/* SECTIONS - CAR RENTAL
**************************************************************************************/

#rental-cars p + h4 {
	padding-top:2rem;
}

/* RENTAL CARS FILTER */

#rental-cars-filter {
    display: flex;
    gap: 1rem;
    flex-wrap: wrap;
    margin-bottom: 7rem;
}

#rental-cars-filter button {
	font-size:1.4rem;
	font-weight:500;
	text-transform: uppercase;
	color:#4d4d4d;
	padding:0 2rem;
	border-radius:4px;
	border:1px solid #4d4d4d;
	background:#ffffff;
	line-height:2;
	transition:all 200ms;
}

.enable-hover #rental-cars-filter button:not(.active):hover {
	background-color:#4d4d4d;
	border-color:#4d4d4d;
	color:#ffffff;
}

#rental-cars-filter button.active {
	background-color:#8237C5;
	border-color:#8237C5;
	color:#ffffff;
}

 #rental-cars-filter button.disabled {
	pointer-events: none;
	color:#E6E6E6;
	border-color:#E6E6E6;
}

/* RENTAL CARS GRID */

#rental-cars-grid {
	display:block;
}

#rental-cars-grid > div {
	width:31.5%;
}

#rental-cars-grid > div,
#rental-cars-grid > a {
	background-color:#ffffff;
	border-radius:8px;
	overflow:hidden;
	box-shadow: 0 0 8px 0 rgba(0,0,0,0.08);
}

#rental-cars-grid .image-holder {
	position:relative;
	background:#4d4d4d;
}

#rental-cars-grid figure img {
	position:relative;
	width:100%;
	height:auto;
	border-bottom:1px solid #F2F2F2;
}

#rental-cars-grid figcaption,
#rental-cars-grid .vehicle-type,
#rental-cars-grid .vehicle-location,
#rental-cars-grid .rental-rates,
#rental-cars-grid .cta {
	display:block;
	color:#1A1A1A;
	text-transform:uppercase;
}

#rental-cars-grid .vehicle-type,
#rental-cars-grid .vehicle-location,
#rental-cars-grid .cta {
	padding:0 2rem;
}

#rental-cars-grid .vehicle-type,
#rental-cars-grid .vehicle-location,
#rental-cars-grid .rental-rates,
#rental-cars-grid .cta {
	font-size:1.4rem;
	font-weight:500;
}

#rental-cars-grid figcaption {
	font-size:1.8rem;
	font-weight:800;
	line-height:1.2;
	padding: 1rem 2rem;
}

#rental-cars-grid .vehicle-type,
#rental-cars-grid .vehicle-location {
	padding:0 2rem;
	margin-bottom:1rem;
}

#rental-cars-grid .vehicle-type img,
#rental-cars-grid .vehicle-location img {
	margin-right:0.4rem;
}

#rental-cars-grid .vehicle-details {
	display: grid;
    grid-template-columns: 25px auto;
    padding: 0 2rem;
    font-size: 1.4rem;
    text-transform: uppercase;
    align-items: center;
    grid-gap: 0.8rem 0.8rem;
}

#rental-cars-grid .vehicle-details img {
	margin:0 auto;
}

#rental-cars-grid .rental-rates {
	padding:1.5rem 2rem;
	line-height:1.2;
}

#rental-cars-grid .rental-rates span {
	font-size:2.4rem;
	font-weight:800;
	color:#541D8F;
	margin-right:0.5rem;
}

#rental-cars-grid .cta {
	padding: 0 2rem 2.5rem;
}

#rental-cars-grid .cta button {
	display:inline-block;
	font-size:1.4rem;
	font-weight:800;
	color:#EC4176;
	background-color:#ffffff;
	padding:0 1.6rem;
	border-radius:5px;
	border:1px solid #EC4176;
	line-height:3;
	transition: all 200ms;
}

.enable-hover #rental-cars-grid .cta button:hover {
	color:#ffffff;
	background-color:#EC4176;
}

#rental-cars-grid .cta button:disabled,
#rental-cars-grid .cta button[disabled] {
	color:#E6E6E6;
	border-color:#E6E6E6;
	pointer-events:none;
}


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

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

		/* RENTAL CARS GRID */

		#rental-cars-grid > div {
			width:calc(((100vw - 90px) * 0.75) / 3);
		}

	}

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

		/* RENTAL CARS GRID */

		#rental-cars-grid > div {
			width:calc(((100vw - 70px) * 0.75) / 2);
		}

	}

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

		/* RENTAL CARS FILTER */

		#rental-cars-filter {
		    margin-bottom: 5rem;
		}

		/* RENTAL CARS GRID */

		#rental-cars-grid > div {
			width:calc((100vw - 70px) / 3);
		}

	}

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

		/* RENTAL CARS FILTER */

		#rental-cars-filter {
		    justify-content: center;
		    gap: 1.5rem;
		    margin-bottom: 4rem;
		}

		/* RENTAL CARS GRID */

		#rental-cars-grid > div {
			width:calc((100vw - 50px) / 2);
		}

	}

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

		/* RENTAL CARS GRID */

		#rental-cars-grid > div {
			width:100%;
		}

	}

}

/* SECTIONS - ONLINE PAYMENT
**************************************************************************************/

#online-payment h3 {
	font-weight:700;
	margin-bottom:1.2rem;
}

#online-payment header + p {
	margin-bottom:5rem;
}

/* 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%;
	text-transform:capitalize;
}

select#vehicle-choice-field option {
	display:none;
	pointer-events:none;

}

select#vehicle-choice-field option.default,
select#vehicle-choice-field option.show {
	display:unset;
	pointer-events:all;

}

.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:2rem 0;
}

.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;
}

/* ONLINE PAYMENT FORM */

.online-payment-form label {
	display:block;
	text-align:right;
	font-weight:700;
}

.form.online-payment-form .field {
	display:flex;
	justify-content: space-around;
	margin-bottom:15px;
}

.form.online-payment-form .field > div {
	display:inline-block;
	flex: 0 0 49.5%;
}

.form.online-payment-form #captcha {
	margin: 30px 0 20px;
}

/* PAYPAL ONLINE PAYMENT FORM (online-payment.php) */

.form.online-payment .booking-form-controls {
    padding-top: 0;
}

/* 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) {

	#ajax-form-container section {
		background-position: top center;
		padding:0;
	}

	#booking-details {
		margin-bottom:5rem;
	}

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

	.booking-form .field,
	.form .field.single-column {
		justify-content: space-between;
	}

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

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

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

	.booking-form .field > label {
		width:100%;
	}

	#booking-details .field > div,
	#booking-details .field > .form-control {
	    margin-right: 0;
	}

	#booking-details .field:not(.single-column) > div {
		display: flex;
    	flex-wrap: nowrap;
    	flex: 0 0 31%;
    	margin-right: 0;
	}

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

	/* ONLINE PAYMENT FORM */

	.form.online-payment-form .field {
		flex-wrap:nowrap;
		justify-content: space-between;
	}

	.form.online-payment-form .form-control {
		width:100%;
	}

}

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

	#ajax-form #booking-details,
	#ajax-form #personal-details,
	#ajax-form-success-message {
		padding:0;
		border:none;
		background:none;
	}

	.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%;
	}

	.booking-form .field > div {
		margin-bottom:25px;
	}

	#booking-details .field:not(.single-column) > div,
	.form .field.single-column > div {
		flex: 0 0 100%;
	}

	.form .note {
		font-size:1.2rem;
	}

	/* ONLINE PAYMENT FORM */

	.online-payment-form label {
	    text-align: left;
	}

	.form.online-payment-form .field {
		flex-wrap:wrap;
	}

	.form.online-payment-form .field > div {
		flex: 0 0 100%;
	}

	/* PAYPAL ONLINE PAYMENT FORM (online-payment.php) */

	.form.online-payment .booking-form-controls {
	    padding-top: 0.5rem;
	}

}

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

	#booking-details .field:not(.single-column) > div {
		flex: 0 0 100%;
	}

	/* 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 - 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 */

.animated.delay-02s {
	-webkit-animation-delay: .2s;
	animation-delay: .2s;
}

.animated.delay-04s {
	-webkit-animation-delay: .4s;
	animation-delay: .4s;
}

.animated.delay-06s {
	-webkit-animation-delay: .6s;
	animation-delay: .6s;
}

.animated.delay-08s {
	-webkit-animation-delay: .8s;
	animation-delay: .8s;
}

/* 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 {
	background-color:#F5F5F5;
}

#footer section {
    padding: 4.5rem 15px 3rem;
}

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

#footer .flex-two > div:first-child {
	display:flex;
}

#footer .flex-two ul.default-list {
	flex:0 0 50%;
}

/* FOOTER LOGOS */

.footer-logos {
	display:flex;
	align-items: center;
	flex-wrap:wrap;
	gap:1.5rem;
	margin-bottom:2.5rem;
}

/* FOOTER LINKS */

#footer-links {
	margin-bottom:1rem;
}

#footer-links li {
	display:inline-block;
	border-right:1px solid #333333;
	padding:0 0.5rem;
}

#footer-links li:last-child {
	border:none;
}

#footer-links li a {
	font-size:1.4rem;
	font-weight:700;
	color:#EC4176;
	text-decoration:underline;
	
}

/* FOOTER COPYRIGHT */

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

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

#footer .copyright p {
	color:#333333;
	margin:0;
	line-height:1.4;
	margin-bottom:0.5rem;
}

#footer .copyright p:last-child {
	margin-bottom:0;
}

#footer .copyright p span {
	display:block;
}

#footer .copyright p span,
#footer .copyright p span a {
	color:#F5F5F5;
}

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

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

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

	#footer .flex-two > div {
		flex:0 0 100%;
	}

	#footer .flex-two > div:first-child {
		margin-bottom:4rem;
		flex-wrap:wrap;
	}

	#footer .flex-two ul.default-list {
		display:flex;
		flex-wrap:wrap;
	    flex: 0 0 100%;
	    gap:1rem;
	    justify-content: center;
	    margin-bottom:2rem;
	}

	#footer .flex-two ul.default-list li {
		border:1px solid #333333;
		border-radius:4px;
	}

	#footer .flex-two ul.default-list li.heading {
		border:none;
		text-align:center;
		flex:0 0 100%;
	}

	#footer .flex-two ul.default-list li a {
		padding:0 1rem;
	}

	#footer .flex-two ul.default-list li.disabled {
		border-color:#cccccc;
	}

	/* FOOTER LOGOS */

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

}

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

	/* FOOTER LINKS */

	#footer-links {
		margin-bottom:2rem;
	}

	#footer-links li {
		display:block;
		margin:0 0 1rem 0;
		border:none;
	}

	#footer-links li a {
		font-size:1.4rem;
		line-height:1.2;
	}

	/* FOOTER COPYRIGHT */

	#footer .copyright p {
		font-size:1.2rem;
		margin-bottom:2rem;
	}

	#footer .copyright img {
		width:100%;
		height:auto;
	}

}

body {
    line-height: 1; 
}