/****************************/
/*  VARIABLES		         /
/****************************/
:root {
    --cs-theme-color-red: #D64600;
    --cs-theme-color-red-dark: #c03e00;
    --cs-theme-color-white: #FFF;
    --cs-theme-color-black: #000;
	--cs-theme-color-blue: #082670;
    --cs-theme-color-text: #495057;
    --cs-theme-color-separator: #CED4DA;
    --cs-theme-color-gray-dark: #6C757D;
    --cs-theme-color-gray-darker: #545454;
	--cs-theme-color-background: #fbfdf0;
    --cs-theme-font-family-main: gillsansmt;
    --cs-theme-logo-width: 8rem;
    --cs-theme-mobile-header-height: 7.2rem;
    --cs-theme-color-border-radius: 0.6rem;
    --cs-theme-bullet-list-size: 0.6rem;
    --cs-theme-font-size-small: 1.2rem;
    --cs-theme-font-size-base-small: 1.4rem;
    --cs-theme-font-size-base: 1.6rem;
    --cs-theme-font-size-medium: 1.8rem;
    --cs-theme-font-size-h1: 8.2rem;
	--cs-theme-font-size-h3: 2.4rem;
}
/****************************/
/*  GENERAL			         /
/****************************/
img[loading="lazy"] {
    aspect-ratio: attr(width) / attr(height);
}
html {
    font-size: 62.5%;
}
body {
    font-family: var(--cs-theme-font-family-main);
    font-size: var(--cs-theme-font-size-base);
}
[id] {
    scroll-margin-top: 8rem;
}
input[type="date"] {
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
}
input[type="date"]::-webkit-calendar-picker-indicator {
    display: none;
}
select {
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
}
select::-ms-expand {
    display: none;
}
input[type="date"]:focus,
select:focus {
    outline: none;
}
/****************************/
/*  CONTENT LAYOUT           /
/****************************/
.container {
    padding: 0 1.6rem;
}
#page:not(.homepage) {
    margin-top: 10.7rem;
}
.btn {
    padding: 1.6rem 2.4rem;
    line-height: 1.4rem;
    text-transform: uppercase;
    border: 0.2rem solid;
    border-radius: 0.6rem;
    font-size: var(--cs-theme-font-size);
    font-weight: 600;
}
.btn-primary {
    --bs-btn-bg: --cs-theme-color-red;
    --bs-btn-border-color: --cs-theme-color-red;
    --bs-btn-hover-bg: --cs-theme-color-red-dark;
    --bs-btn-hover-border-color: --cs-theme-color-red-dark;
    --bs-btn-active-bg: --cs-theme-color-red-dark;
    --bs-btn-active-border-color: --cs-theme-color-red-dark;
}
.btn-primary {
    color: var(--cs-theme-color-white);
    background: var(--cs-theme-color-red);
    border-color: var(--cs-theme-color-red);
}
.btn.btn-primary:hover,
.btn.btn-primary:active,
.btn.btn-primary:focus,
.btn.btn-primary:hover: active,
.btn.btn-primary:hover:focus,
.btn.btn-primary:focus:active,
.btn.btn-primary:hover: active:focus {
    border-color: var(--cs-theme-color-red-dark);
    background: var(--cs-theme-color-red-dark);
	text-decoration: underline;
}
.btn-arrow {
    position: relative;
	background: transparent;
	border: none;
    padding: 0.8rem 2.4rem;
    font-size: var(--cs-theme-font-size-base-small);
    font-weight: 600;
	color: var(--cs-theme-color-gray-darker);
}
.btn-arrow:after {
    content: '';
    position: absolute;
    top: 0.1rem;
    right: 0;
    bottom: 0.1rem;
    width: 1.6rem;
    background: url('/wp-content/uploads/2025/08/arrow-right-icon.svg') center no-repeat;
    background-size: contain;
}
.btn-arrow:hover {
	background: transparent;
    text-decoration: underline;
}
@media (max-width: 992px) {
    .btn {
        padding: 1.2rem 1.8rem;
    }
}
@media (max-width: 992px) {
    #page:not(.homepage) {
        margin-top: var(--cs-theme-mobile-header-height);
    }
}
/****************************/
/*  TOP BAR		             /
/****************************/
#top-bar {
    display: flex;
    justify-content: flex-end;
    padding: 0 5rem;
    background: var(--cs-theme-color-red-dark);
}
#top-bar .top-bar-menu {
    display: flex;
    height: 3.5rem;
}
#top-bar .top-bar-menu .top-bar-link {
    height: 100%;
    padding: 1.2rem;
    display: flex;
    gap: 0.8rem;
    align-items: center;
    text-decoration: none;
}
#top-bar .top-bar-menu .top-bar-link:hover {
    background: rgba(0,0,0,0.1);
}
#top-bar .top-bar-menu .top-bar-link span {
    color: var(--cs-theme-color-white);
    font-size: var(--cs-theme-font-size-base-small);
    line-height: 1.4rem;
    font-weight: 400;
}
@media (max-width: 1400px) {
    #top-bar {
        padding: 0 0.4rem;
    }
}
@media (max-width: 991px) {
    #top-bar {
        display: none;
    }
}
/****************************/
/*  TOP MENU	             /
/****************************/
#wrapper-navbar {
    position: fixed;
    top: 0rem;
    right: 0;
    left: 0;
    padding: 0;
    z-index: 11;
}
#main-nav {
    padding: 0.8rem 0;
    background: var(--cs-theme-color-white);
}
#main-nav.homepage {
    background: transparent;
}
.navbar-brand {
    display: flex;
	align-items: center;
    min-width: var(--cs-theme-logo-width);
    width: var(--cs-theme-logo-width);
    height: 5.6rem;
    margin: 0;
    padding: 0;
}
.mobile-menu-wrapper {
    display: none;
    gap: 1.2rem;
    height: 6rem;
}
.mobile-menu-wrapper .btn-mobile-nav {
	position: relative;
    display: flex;
    align-items: center;
    justify-content: center;
    flex: 1;
    min-width: 7rem;
    padding: 0 2.4rem;
    border: 0;
    border-radius: 0;
	background: transparent;
	line-height: 1;
}
.mobile-menu-wrapper .btn-mobile-nav:focus,
.mobile-menu-wrapper .btn-mobile-nav:active {
    background: rgba(0,0,0,0.03);
    border: 0;
    outline: none !important;
    box-shadow: none;
}
.mobile-menu-wrapper .btn-mobile-nav span img {
    max-height: 1.8rem;
}
#main-nav .main-menu-wrapper {
    flex-basis: 100%;
    flex-grow: 1;
    display: flex;
    gap: 1.2rem;
}
#main-nav .menu-item .nav-link {
	position: relative;
    padding: 0.6rem 1.2rem;
    color: var(--cs-theme-color-text);
    font-weight: 500;
    transition: all 0.3s ease
}
#main-nav .menu-item .dropdown-menu .dropdown-item {
	font-weight: 500;
}
#main-nav.homepage .menu-item .nav-link {
    color: var(--cs-theme-color-white);
}
#main-nav.homepage.scrolled .menu-item .nav-link {
    color: var(--cs-theme-color-text);
}
#main-nav .menu-item.dropdown .nav-link {
    padding-right: 2.2rem;
}
#main-nav .menu-item.dropdown .nav-link:after {
    position: absolute;
    top: 1.5rem;
    right: 0.8rem;
    border-top-width: 0.6rem;
    border-right-width: 0.4rem;
    border-left-width: 0.4rem;
}
#main-nav .btn-book {
    padding: 1rem 1.2rem;
    background: var(--cs-theme-color-white);
    min-width: 10rem;
    border: 0;
    color: var(--cs-theme-color-red);
    border-radius: var(--cs-theme-color-border-radius);
    font-weight: 600;
    font-size: var(--cs-theme-font-size-small);
    line-height: 1.6rem;
    transition: all 0.3s ease
}
#main-nav .btn-book:hover {
	text-decoration: underline;
	    color: var(--cs-theme-color-red-dark);
}
#main-nav.scrolled .btn-book,
#main-nav:not(.homepage) .btn-book {
    color: var(--cs-theme-color-white);
    background: var(--cs-theme-color-red);
	transition: all 0.3s linear;
}
#main-nav.scrolled .btn-book:hover,
#main-nav:not(.homepage) .btn-book:hover {
	background: var(--cs-theme-color-red-dark);
	border: none;
}
.menu-icon {
    display: none;
}
@media (max-width: 1400px) {
    .navbar .container {
        max-width: 100%;
    }
}
@media (min-width: 992px) and (max-width: 1020px) {
	#main-nav .menu-item .nav-link {
		font-size: var(--cs-theme-font-size-base);
	}
}
@media (max-width: 991px) {
    #main-nav {
        padding: 0;
        min-height: var(--cs-theme-mobile-header-height);
    }
    .navbar .container {
        padding: 0;
    }
    .mobile-menu-wrapper {
        display: flex;
        height: var(--cs-theme-mobile-header-height);
    }
    .mobile-menu-wrapper .btn-mobile-nav:hover {
        background: none;
    }
    #wrapper-navbar {
        background: var(--cs-theme-color-white);
        max-height: 7.6rem;
        height: unset;
    }
    #main-nav .menu-item .nav-link {
        padding: 1.2rem;
        font-size: var(--cs-theme-font-size-medium);
    }
    #main-nav .menu-item .nav-link:after {
        content: unset;
    }
    #main-nav.homepage .menu-item .nav-link {
        color: var(--cs-theme-color-text);
    }
    #main-nav .main-menu-wrapper .navbar-nav {
        padding: 1.2rem;
    }
    #main-nav .main-menu-wrapper .btn-book {
        position: fixed;
        right: 8rem;
        bottom: -5rem;
        left: 0;
        padding: 1.8rem 0;
        margin: 0 1.6rem 1.6rem;
        border-radius: 1.2rem;
        font-size: var(--cs-theme-font-size-medium);
        color: var(--cs-theme-color-white);
        background: var(--cs-theme-color-red);
        opacity: 0;
        transition: all 0.3s ease;
        z-index: 1;
    }
    #main-nav .main-menu-wrapper .btn-book.visible {
        opacity: 1;
        bottom: 0;
    }
    .navbar-brand img {
        margin-left: 2.4rem;
        max-width: 7.2rem;
    }
    .menu-icon {
        display: flex;
        flex-direction: column;
        justify-content: space-between;
        width: 1.8rem;
        height: 1.75rem;
    }
    .menu-icon span {
        display: block;
        height: 0.25rem;
        border-radius: 0.1rem;
        transition: all 0.3s ease;
        transform-origin: center;
        background: var(--cs-theme-color-red);
    }
    .btn-mobile-nav:not(.collapsed) .menu-icon {
        width: 2.2rem;
    }
    .btn-mobile-nav:not(.collapsed) .menu-icon span:nth-child(1) {
        transform: translateY(7.5px) rotate(44deg);
    }
    .btn-mobile-nav:not(.collapsed) .menu-icon span:nth-child(2) {
        opacity: 0;
    }
    .btn-mobile-nav:not(.collapsed) .menu-icon span:nth-child(3) {
        transform: translateY(-7.5px) rotate(-44deg);
    }
}
/****************************/
/*  NAVBAR FIX	             /
/****************************/
@media (min-width: 992px) {
    #main-nav .dropdown:hover > .dropdown-menu,
    #main-nav .dropdown:focus-within > .dropdown-menu {
        display: block;
        visibility: visible;
        opacity: 1;
        border: 0;
    }
    #main-nav .dropdown > .dropdown-menu .dropdown-item {
        padding: 0.6rem 1.2rem;
        font-size: var(--cs-theme-font-size-base);
    }
    #main-nav .dropdown > .dropdown-menu .dropdown-item:active {
        color: var(--bs-dropdown-link-hover-color);
        background-color: var(--bs-dropdown-link-hover-bg);
        text-decoration: underline;
    }
    #main-nav .dropdown-menu {
        margin-top: 0;
    }
}
/****************************/
/*  SUBPAGE TITLE		 	 /
/****************************/
.subpage-title h1 {
	-webkit-text-stroke: 0.4rem var(--cs-theme-color-white);
    color: transparent!important;
}
/******************************/
/*  HOMEPAGE: BANNERS 		   /
/******************************/
.full-width::after {
    content: '';
    position:absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    background-image: linear-gradient(180deg, #3D80BE 10%, #FFCF9E 90%);
    opacity: 0.25;
}
.parallax::before {
	background-attachment: fixed;
}
.cta-btn {
	position: relative;
	z-index: 1;
}
.cta-btn .elementor-button:hover {
	text-decoration: none;
}
.cta-btn .elementor-button .elementor-button-text {
	-webkit-text-stroke: 0.3rem white;
    color: transparent !important;
	letter-spacing: 0.3rem;
	transition: all 0.5s linear; 
}
.cta-btn:hover .elementor-button .elementor-button-text {
	-webkit-text-stroke: 0.3rem #d64600;
}
@media (max-width: 992px) {
	.cta-btn .elementor-button .elementor-button-text {
		-webkit-text-stroke: 0.2rem white;
	}
	.cta-btn:hover .elementor-button .elementor-button-text {
		-webkit-text-stroke: 0.2rem #d64600;
	}
}
/****************************/
/*  HOMEPAGE: TOP BANNER	 /
/****************************/
.banner-top-form {
    position: relative;
    display: flex;
    gap: 1.2rem;
    font-size: var(--cs-theme-font-size-small);
}
.banner-top-form .btn-primary {
    padding: 2.4rem 3.6rem;
    border-radius: 1.2rem;
	font-size: 2rem;
}
.banner-top-form .input-field {
    position: relative;
    display: flex;
    width: 31rem;
    background: var(--cs-theme-color-white);
    border-radius: 1rem;
}
.banner-top-form .input-field:before {
    content: '';
    position: absolute;
    top: 2.2rem;
    right: 2.2rem;
    width: 2rem;
    height: 2rem;
    background-size: contain;
    background-repeat: no-repeat;
    background-position: center;
}
.banner-top-form .input-field.calendar:before {
    background-image: url('/wp-content/uploads/2025/10/calendar_icon.svg');
}
.banner-top-form .input-field.guest:before {
    background-image: url('/wordpress/wp-content/uploads/2025/10/guest_icon.svg');
}
.banner-top-form label {
    position: absolute;
    top: 1.2rem;
    left: 2.4rem;
    color: var(--cs-theme-color-black);
    text-transform: uppercase;
}
.banner-top-form input,
.banner-top-form select {
    flex: 1;
    padding: 2.4rem 2.4rem 0;
    border: 0;
    border-radius: 1rem;
    background: transparent;
    font-size: var(--cs-theme-font-size-medium);
    font-weight: 600;
    color: var(--cs-theme-color-text);
    z-index: 1;
}
.banner-top-form .btn-primary:hover,
.banner-top-form .btn-primary:active,
.banner-top-form .btn-primary:hover:active {
	color: var(--cs-theme-color-white);
    background: var(--cs-theme-color-red-dark);
	border-color: var(--cs-theme-color-red-dark);
}
#btnWhatsapp {
    display: none;
}
@media (max-width: 992px) {
	.banner-top-form .btn-primary {
    	padding: 1.8rem;
		opacity: 0.7;
		transition: all 0.3s ease;
	}
	.banner-top-form .btn-primary:hover,
	.banner-top-form .btn-primary:active {
		opacity: 1;
	}
    .banner-top-form .input-field {
        display: none;
    }
    #btnWhatsapp {
        display: flex;
    }
}
/****************************/
/*  HOMEPAGE: FEATURE LIST	 /
/****************************/
.feature-list a {
	padding: 1.2 rem;
	display: flex;
    flex-direction: column;
    align-items: center;
    gap: 1.6rem;
}
/****************************/
/*  HOMEPAGE: LINK BOX  	 /
/****************************/
.link-more {
	display: flex;
	flex-direction: column;
	gap: 0.8rem;
	
}
.link-more.center {
	align-items: center;
	
}
.link-more:hover {
	text-decoration: none!important;
}
.link-more h3 {
	font-size: var(--cs-theme-font-size-h3);
	color: var(--cs-theme-color-blue);
	font-weight: 600;
}
.link-more .btn-more {
	font-weight: 600;
	text-decoration: underline;
}
.link-more:hover .btn-more {
	font-weight: 700;
}
@media (max-width: 992px) {
	.link-more {
		align-items: center;
	}
}
/****************************/
/*  HOMEPAGE: ACTIVITY MAP 	 /
/****************************/
#activitiesMap {
    position: relative;
    width: 100%;
    padding-bottom: 88.37%;
    background: url('/wp-content/uploads/2025/10/activities-map.webp') no-repeat center;
    background-size: cover;
    border-radius: 1.2rem;
}
.map-marker {
    position: absolute;
    display: flex;
    width: 5.4rem;
    height: 5.4rem;
    border-radius: 50%;
    background-color: white;
    cursor: pointer;
    background-repeat: no-repeat;
    background-size: 3.8rem;
    background-position: center;
    box-shadow: -0.1rem 0.1rem 0.3rem 0 rgba(0, 0, 0, 0.25);
}
.map-marker.hole-in-the-wall {
    background-image: url('/wp-content/uploads/2025/08/trip_icon_hole_in_the_wall.svg');
    top: 61%;
    left: 54%;
}
.map-marker.mapuzi-cliff {
    background-image: url('/wp-content/uploads/2025/08/trip_icon_mapuzi_cliff.svg');
    top: 39%;
    left: 72%;
}
.map-marker.surf-lessons {
    background-image: url('/wp-content/uploads/2025/08/trip_icon_surf_lessons.svg');
    top: 51%;
    left: 67%;
}
.map-marker.xhosa-culture {
    background-image: url('/wp-content/uploads/2025/08/trip_icon_xhosa_culture.svg');
    top: 47%;
    left: 55%;
}
.map-marker span {
    display: none;
    position: absolute;
    top: 1.4rem;
    left: 6.5rem;
    padding: 0.4rem 0.8rem;
    font-size: var(--cs-theme-font-size-base-small);
    font-weight: 500;
    white-space: nowrap;
    color: var(--cs-theme-color-white);
    letter-spacing: 0.1rem;
    line-height: 1.6rem;
    background: var(--cs-theme-color-red);
    border-radius: 0.3rem;
}
.map-marker span:before {
    content: '';
    display: block;
    width: 0;
    height: 0;
    position: absolute;
    border-top: 0.6rem solid transparent;
    border-bottom: 0.6rem solid transparent;
    border-right: 0.8rem solid var(--cs-theme-color-red);
    left: -0.6rem;
    top: 0.7rem;
}
.map-marker:hover span {
    display: block;
}
/****************************/
/* HOMEPAGE: GOOGLE VIEW 	 /
/****************************/
#googleView {
	border: 0;
    height: auto;
    aspect-ratio: 16 / 9;
}
/******************************/
/* ACCOMMODATION PAGE		   /
/******************************/
.accom-tags ul {
    display: flex;
    flex-wrap: wrap;
    white-space: nowrap;
    padding: 0 0.4rem;
    margin: 0;
    list-style-type: none;
	line-height: 2.4rem;
}
.accom-tags.rtl ul {
    direction: rtl;
}
.accom-tags ul li {
    position: relative;
    padding: 0 1.4rem;
}
.accom-tags ul li:before {
    content: '';
    position: absolute;
    top: calc(50% - var(--cs-theme-bullet-list-size) / 2);
    left: calc(var(--cs-theme-bullet-list-size) / -2);
    width: var(--cs-theme-bullet-list-size);
    height: var(--cs-theme-bullet-list-size);
    border-radius: calc(var(--cs-theme-bullet-list-size) / 2);
    background: var(--cs-theme-color-red);
}
.accom-tags.rtl ul li:before {
    left: unset;
    right: -0.4rem;
}
@media (max-width: 992px) {
    .accom-tags ul {
        justify-content: center;
    }
    .accom-tags.rtl ul {
        direction: ltr;
    }
    .accom-tags.rtl ul li:before {
        left: -0.4rem;
        right: unset;
    }
}
/******************************/
/* FACILITIES PAGE		       /
/******************************/
.facility-feature {
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 1.2rem;
}
.facility-feature h4 {
	font-size: var(--cs-theme-font-size-base-small);
    font-weight: 600;
	color: var(--cs-theme-color-gray-darker);
}
/******************************/
/* CONTACT PAGE: MAP		   /
/******************************/
#contactMapContainer {
	position: relative;
	border-radius: 2rem;
	overflow: hidden;
}
#contactMapContainer:before {
	content: '';
	position: absolute;
	top: calc(50% - 1.2rem);
	left: calc(50% - 1.2rem);
	width: 2.4rem;
	height: 2.4rem;
	border: 0.3rem solid var(--cs-theme-color-separator);
  	border-top: 0.3rem solid var(--cs-theme-color-red);
	border-radius: 50%;
  	animation: spin 1s linear infinite;
}
@media (max-width: 992px) {
	#contactDonkeyBanner {
		background-position: 25%;
	}
}
/******************************/
/* CONTACT PAGE: ROUTES		   /
/******************************/
.route-list li {
	padding: 1rem 0;
} 
.route-link:hover {
	text-decoration: underline;
	cursor: pointer;
}
.route-link.active {
	font-weight: 600;
}
.route-link img {
	margin-left: 1rem;
}
/******************************/
/*  FOOTER					   /
/******************************/
.footer-wrapper {
    background: url('/wp-content/uploads/2026/09/footer_bg_tile.webp') repeat;
}
.footer-beach-graphic {
    padding-bottom: 28%;
    background: url('/wp-content/uploads/2026/09/waves_footer_bg.webp') no-repeat center center;
    background-size: cover;
}
.site-info {
    margin-top: 5rem;
    padding: 3rem 0;
    border-top: 1px solid #FFFFFF;
    color: var(--cs-theme-color-white);
    font-size: 1.2rem;
    text-align: center;
}
.footer-widget .wp-block-column {
    display: flex;
    flex-direction: column;
    gap: 4.8rem;
    color: var(--cs-theme-color-white);
}
.footer-widget .widget,
.footer-widget .widget .menu {
    display: flex;
    flex-direction: column;
    gap: 1rem;
    margin: 0;
    list-style: none;
    font-size: 1.2rem;
    font-weight: 400;
    line-height: 1.5;
    letter-spacing: 1px;
}
.footer-widget .widget .menu {
    padding: 0 0 0 1.2rem;
}
.footer-widget .widget .widgettitle {
    margin: 0;
    font-size: 1.6rem;
    font-weight: 600;
    letter-spacing: 0;
    color: var(--cs-theme-color-white);
}
.footer-widget .widget .widget-box {
    display: flex;
    gap: 1.6rem;
    padding: 0 0 0 1.2rem;
}
.footer-widget .widget .menu .menu-item a {
    padding: 0.5rem 0;
    color: var(--cs-theme-color-white);
    text-decoration: none;
    font-size: var(--cs-theme-font-size-base);
    line-height: 2rem;
}
.footer-widget .widget .menu .menu-item a:hover {
    text-decoration: underline;
}
.footer-widget .widget .btn-arrow {
    padding: 0 2.4rem 0 0;
    font-size: var(--cs-theme-font-size-small);
    color: var(--cs-theme-color-white);
    letter-spacing: 0.2rem;
	text-transform: uppercase;
}
.footer-widget .widget .btn-arrow:after {
    background-image: url('/wp-content/uploads/2025/08/arrow-right-icon-white.svg')
}
@media (max-width: 1400px) {
	.footer-beach-graphic {
		padding-bottom: 70%;
	}
    #footer .container {
        max-width: 100%;
    }
}
@media (max-width: 992px) {
	.footer-widget .wp-block-columns {
		margin-bottom: 0;
	}
    .footer-widget .wp-block-column {
        margin-bottom: 4.8rem;
    }
	.footer-widget .wp-block-column .widgettitle, 
	.footer-widget .wp-block-column .menu, 
	.footer-widget .widget .widget-box {
		padding: 0;
		text-align: center;
		justify-content: center;
	}
	.site-info {
        padding-bottom: 8rem;
    }
}
/******************************/
/* SCROLL TOP BUTTON		   /
/******************************/
.btn-scroll-top {
    position: fixed;
    right: 0rem;
    bottom: 9rem;
    width: 7rem;
    height: 6rem;
    border-radius: 0.3rem 0 0 0.3rem;
    background: var(--cs-theme-color-white);
    cursor: pointer;
  	opacity: 0;
  	visibility: hidden;
  	transition: all 0.3s ease;
  	z-index: 11;
	box-shadow: gray 0 0 0.5rem;
}
.btn-scroll-top::after {
  	content: '';
    position: absolute;
    left: 3rem;
    top: 2.5rem;
    width: 1.415rem;
    height: 1.415rem;
    border-right: 0.4rem solid var(--cs-theme-color-blue);
    border-bottom: 0.4rem solid var(--cs-theme-color-blue);
    opacity: 1;
    transition: all 1s ease;
    transform: rotate(225deg);
}
.btn-scroll-top.visible {
    visibility: visible;
	opacity: 1;
}
.btn-scroll-top.visible:hover {
  opacity: 1;
}

.btn-scroll-top.visible:hover::after {
    animation: scrollTopArrow 0.8s linear infinite;
}
@keyframes scrollTopArrow {
    0%   { top: 2.5rem; opacity: 1; }
    40%  { top: 1.5rem; opacity: 0; }
    41%  { top: 3.5rem; opacity: 0; }
    100% { top: 2.5rem; opacity: 1; }
}
@media (max-width: 992px) {
	.btn-scroll-top {
		bottom: -5rem;
		box-shadow: none;
        background: var(--cs-theme-color-blue);
        margin: 1.6rem;
        height: 5.2rem;
		width: 6.4rem;
        border-radius: 1.2rem;
	}
	.btn-scroll-top.visible {
		bottom: 0;
	}
	.btn-scroll-top::after {
		top: 2.2rem;
		left: 2.6rem;
		border-right: 0.4rem solid var(--cs-theme-color-white);
		border-bottom: 0.4rem solid var(--cs-theme-color-white);
	}
	.btn-scroll-top.visible:hover::after {
		animation: none;
	}
}
/******************************/
/* ACORDION FIX 			   /
/******************************/
.elementor-widget-n-accordion .e-n-accordion-item-title-icon {
	width: 1.6rem;
}
/******************************/
/* BOOKING MODAL		       /
/******************************/
body.booking-modal {
    overflow: hidden;
}
#bookingModal {
    display: none;
    position: fixed;
    top: 3.5rem;
    right: 0;
    bottom: 0;
    left: 0;
    z-index: 12;
    background: var(--cs-theme-color-white);
}
#bookingModal .booking-modal-header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 0.8rem 0;
}
#bookingModal .btn-close-modal {
    padding: 1.1rem 1.2rem;
    border: 0;
    font-size: var(--cs-theme-font-size-small);
}
@media (min-width: 992px) {
	#bookingModal .btn-close-modal:hover,
	#bookingModal .btn-close-modal:active {
		background: var(--cs-theme-color-red-dark);
	}
}
.booking-modal-content {
	position: relative;
}
.booking-modal-content .loader {
	background: var(--cs-theme-color-white);
    position: absolute;
    left: 0;
    right: 0;
    top: 0;
    bottom: 0;
	display: flex;
    align-items: center;
    justify-content: center;
	transition: opacity 1s ease-out; 
	opacity: 1;
}
.booking-modal-content .loader .loader-box {
	display: flex;
	flex-direction: column;
	align-items: center;
    justify-content: center;
	gap: 0.8rem;
	transition: opacity 150ms ease-in;
	opacity: 0;
}
.booking-modal-content .loader .loader-box.show {
	opacity: 1;
}
.progress-bar {
    width: 24rem;
    height: 1.6rem;
    background: var(--cs-theme-color-separator);
    border-radius: 0.8rem;
    overflow: hidden;
    margin-bottom: 0.8rem;
    box-shadow: inset 0 0.2rem 0.4rem rgba(0,0,0,0.1);
}
.progress-fill {
    height: 100%;
    width: 0;
    background: linear-gradient(90deg, #c03e00, #e65a26);
    border-radius: 0.8rem;
    animation: loadProgress 1250ms cubic-bezier(0.2, 0.8, 0.4, 1) forwards;
    box-shadow: 0 0 10rem rgba(0, 180, 216, 0.5);
}
@keyframes loadProgress {
    0%   { width: 0%; }
    40%  { width: 0%; }
    100% { width: 100%; }
}
.booking-modal-content .loader.hide {
   opacity: 0;
}
.booking-modal-content .loader.hidden {
	display: none;
}
.booking-modal-content h2 {
	margin: 1.2rem 0;
	text-align: center;
    font-size: 2.4rem;
    text-transform: uppercase;
    font-weight: 700;
}
.booking-modal-content iframe {
    width: 100%;
    height: 100%;
}
.enqiry-form-wrapper {
	height: calc(100vh - 7.2rem);
	overflow-x: hidden;
    overflow-y: auto;
	padding-bottom: 6.4rem;
}

.enqiry-form-wrapper .enquiry-info {
	margin: 2rem 0;
    text-align: center;
    color: var(--cs-theme-color-blue);
	font-weight: 500;
}
.booking-modal-content .form-checkbox-wrapper {
	padding: 0.8rem 1.6rem;
    margin-bottom: 1rem;
    border: 0.2rem solid var(--cs-theme-color-separator);
    border-radius: .375rem;
}
.booking-modal-content .form-checkbox-wrapper p {
    margin-bottom: 0;	
}
.booking-modal-content .form-checkbox-wrapper label {
	color: var(--cs-theme-color-gray-dark);
}
@media (max-width: 1400px) {
    #bookingModal .booking-modal-header.container {
        max-width: 100%;
    }
}
@media (max-width: 992px) {
    #bookingModal {
        top: 0;
    }
    #bookingModal .container {
        max-width: 100%;
    }
    #bookingModal .booking-modal-header {
        padding: 0;
        height: var(--cs-theme-mobile-header-height);
    }
    #bookingModal .booking-modal-header.container {
        padding: 0;
    }
    #bookingModal .btn-primary.btn-close-modal {
        display: none;
	}
}
/******************************/
/* OWL CAROUSEL / SWIPER       /
/******************************/
.elementor-widget-owl-carousel-elementor .owce-carousel-container {
    padding: 0;
}
.elementor-widget-owl-carousel-elementor .owce-carousel-container  .owce-carousel .owl-stage-outer {
    padding: 0;
    border-radius: 1.2rem;
}
.elementor-widget-owl-carousel-elementor .owce-carousel-container .owce-carousel .owl-nav {
    margin: 0;
}
.elementor-widget-owl-carousel-elementor .owce-carousel-container .owce-carousel .owl-nav .owl-prev i ,
.elementor-widget-owl-carousel-elementor .owce-carousel-container .owce-carousel .owl-nav .owl-next i {
	padding: 0;
	display: inline-block;
    width: 2rem;
    height: 2rem;
    border-right: 0.5rem solid var(--cs-theme-color-white);
    border-bottom: 0.5rem solid var(--cs-theme-color-white);
    opacity: 0.6;
    border-radius: 0.2rem;
    transition: all 0.3s ease;
}
.elementor-widget-owl-carousel-elementor .owce-carousel-container .owce-carousel .owl-nav .owl-prev:hover i ,
.elementor-widget-owl-carousel-elementor .owce-carousel-container .owce-carousel .owl-nav .owl-next:hover i {
    opacity: 1;
}
.elementor-widget-owl-carousel-elementor.nav-dot-top .owce-carousel-container .owce-carousel .owl-nav .owl-prev,
.elementor-widget-owl-carousel-elementor.nav-dot-top .owce-carousel-container .owce-carousel .owl-nav .owl-next {
	top: 17rem;
}
.elementor-widget-owl-carousel-elementor .owce-carousel-container .owce-carousel .owl-nav .owl-prev,
.elementor-widget-owl-carousel-elementor .owce-carousel-container .owce-carousel .owl-nav .owl-next {
	top: calc(50% - 2rem);
}
.elementor-widget-owl-carousel-elementor .owce-carousel-container .owce-carousel .owl-nav .owl-prev {
    left: 2rem;
}
.elementor-widget-owl-carousel-elementor .owce-carousel-container .owce-carousel .owl-nav .owl-next {
    right: 2rem;
}
.elementor-widget-owl-carousel-elementor .owce-carousel-container .owce-carousel .owl-nav .owl-prev i {
	transform: rotate(135deg);
}
.elementor-widget-owl-carousel-elementor .owce-carousel-container .owce-carousel .owl-nav .owl-next i {
	transform: rotate(-45deg);
}
.elementor-widget-owl-carousel-elementor .owce-carousel-container .owce-carousel .owl-dots {
    margin: 1rem;
}
.elementor-widget-owl-carousel-elementor .owl-carousel .owl-item .owl-link:hover {
    text-decoration: none;
}
.elementor-widget-owl-carousel-elementor:not(.no-min-height) .owl-carousel .owl-item .owl-thumb {
	position: relative;
	min-height: 18rem;
}
.elementor-widget-owl-carousel-elementor .owl-carousel .owl-item .owl-thumb:before {
	content: '';
	position: absolute;
	top: calc(50% - 1.2rem);
	left: calc(50% - 1.2rem);
	width: 2.4rem;
	height: 2.4rem;
	border: 0.3rem solid var(--cs-theme-color-separator);
  	border-top: 0.3rem solid var(--cs-theme-color-red);
	border-radius: 50%;
  	animation: spin 1s linear infinite;
}
.elementor-widget-owl-carousel-elementor .owl-carousel .owl-item .owl-thumb img {
	position: relative;
	z-index: 1;
}
.elementor-widget-owl-carousel-elementor .owl-carousel .owl-item .owl-content {
	margin: 2rem 1rem 0;
    font-style: normal;
}
.owl-carousel.owce-carousel-testimonial .owl-stage-outer {
    padding-top: 4.8rem;
}
.owl-carousel.owce-carousel-testimonial .owl-rating-icon {
    display: flex;
    justify-content: center;
    gap: 0.8rem;
}
.owl-carousel .owl-item .owl-content .title {
	display: block;
	padding-bottom: 1.2rem;
    color: var(--cs-theme-color-blue);
	line-height: 2.4rem;
    font-weight: 600;
}
.owl-carousel .owl-item .owl-content .subtitle {
	display: inline-block;
	width: 100%;
    color: var(--cs-theme-color-red);
    font-size: var(--cs-theme-font-size-medium);
	line-height: 1.8rem;
	font-weight: 500;
}
.owl-carousel .owl-item .owl-content .description {
    display: inline-block;
	padding-bottom: 0.6rem;
	line-height: 2.4rem;
}
.owl-carousel .owl-item .owl-content .btn-arrow {
    display: inline-block;
}
.nav-dot-top .owl-carousel.owl-loaded {
    display: flex;
    flex-direction: column-reverse;
}
.owl-carousel.owce-carousel-testimonial .item img {
    height: unset;
    width: 12rem;
    padding: 1.2rem 0;
    border-radius: unset;
}
.owl-carousel.owce-carousel-testimonial .item .owl-subtitle {
    font-size: 1.2rem;
}
.custom-testimonial .owl-carousel.owce-carousel-testimonial .owl-item .item,
.custom-testimonial .owl-carousel.owce-carousel-testimonial .owl-item .item .owl-link {
	display: flex;
    flex-direction: column;
    align-items: center;
}
.custom-testimonial .owl-carousel.owce-carousel-testimonial .owl-item .item .owl-rating-icon {
	order: 1;
}
.custom-testimonial .owl-carousel.owce-carousel-testimonial .owl-item .item .owl-title {
	order: 2;
}
.custom-testimonial .owl-carousel.owce-carousel-testimonial .owl-item .item .owl-subtitle {
	order: 3;
}
.custom-testimonial .owl-carousel.owce-carousel-testimonial .owl-item .item .owl-content {
	order: 4;
}
.elementor-lightbox .swiper .elementor-swiper-button {
    position: absolute;
	top: 0;
	opacity: 1;
	z-index: 1;
}
.elementor-lightbox .swiper .elementor-swiper-button svg {
	height: 3rem;
}
.elementor-lightbox .swiper .elementor-lightbox-image {
	border-radius: 1.2rem;
}
@media (max-width: 992px)  {
	.elementor-widget-owl-carousel-elementor .owce-carousel-container .owce-carousel .owl-nav {
		display: none;
	}
}
/******************************/
/* CONTACT FORM 			   /
/******************************/
.wpcf7 .screen-reader-response {
	position: absolute;
	overflow: hidden;
	clip: rect(1px, 1px, 1px, 1px);
	clip-path: inset(50%);
	height: 1px;
	width: 1px;
	margin: -1px;
	padding: 0;
	border: 0;
	word-wrap: normal !important;
}
.wpcf7 .hidden-fields-container {
	display: none;
}
.wpcf7 form .wpcf7-response-output {
	padding: 1.2rem;
    border-radius: 0.6rem;
	border: 2px solid #00a0d2; /* Blue */
}
.wpcf7 form.init .wpcf7-response-output,
.wpcf7 form.resetting .wpcf7-response-output,
.wpcf7 form.submitting .wpcf7-response-output {
	display: none;
}
.wpcf7 form.sent .wpcf7-response-output {
	border-color: #46b450; /* Green */
	background: rgba(70, 180, 80, 0.1);
}
.wpcf7 form.failed .wpcf7-response-output,
.wpcf7 form.aborted .wpcf7-response-output {
	border-color: #dc3232; /* Red */
	background: rgba(220, 50, 50, 0.1);
}
.wpcf7 form.spam .wpcf7-response-output {
	border-color: #f56e28; /* Orange */
}
.wpcf7 form.invalid .wpcf7-response-output,
.wpcf7 form.unaccepted .wpcf7-response-output,
.wpcf7 form.payment-required .wpcf7-response-output {
	border-color: #ffb900; /* Yellow */
}
.wpcf7-form-control-wrap {
	position: relative;
}
.wpcf7-not-valid-tip {
	color: var(--cs-theme-color-red-dark);
	font-size: var(--cs-theme-font-size-base);
	font-weight: normal;
	display: block;
}
.use-floating-validation-tip .wpcf7-not-valid-tip {
	position: relative;
	top: -2ex;
	left: 1em;
	z-index: 100;
	border: 1px solid #dc3232;
	background: #fff;
	padding: .2em .8em;
	width: 24em;
}
.wpcf7-list-item label {
    display: flex;
    align-items: center;
	gap: 1.2rem;
	margin: 0 0 0 1em;
}
.wpcf7-list-item-label::before,
.wpcf7-list-item-label::after {
	content: " ";
}
.wpcf7 .enqiry-form-btn-container {
	position: relative;
	border-radius: var(--cs-theme-color-border-radius);
    overflow: hidden;
	margin-bottom: 3.2rem;
}
.wpcf7 .enqiry-form-btn-container p {
	margin: 0;
}
.wpcf7 .enqiry-form-btn-container .wpcf7-spinner {
	position: absolute;
	inset: 0;
	margin: 0;
}
.wpcf7-spinner {
	display: none;
	background-color: var(--cs-theme-color-red-dark);
}
form.submitting .wpcf7-spinner {
	display: block;
}
.wpcf7-spinner::before {
	content: '';
	position: absolute;
	top: calc(50% - 1.2rem);
	left: calc(50% - 1.2rem);
	width: 2.4rem;
	height: 2.4rem;
	border: 0.3rem solid var(--cs-theme-color-separator);
  	border-top: 0.3rem solid var(--cs-theme-color-red);
	border-radius: 50%;
  	animation: spin 1s linear infinite;
}
.wpcf7 [inert] {
	opacity: 0.5;
}
.wpcf7 .wpcf7-submit:disabled {
	cursor: not-allowed;
}
.wpcf7-reflection > output {
	display: list-item;
	list-style: none;
}
.wpcf7-reflection > output[hidden] {
	display: none;
}
.wpcf7 {
    max-width: 100%;
}
.wpcf7 .wpcf7-form label {
	font-size: var(--cs-theme-font-size-base);
	color: var(--cs-theme-color-gray-darker);
	line-height: 2.8rem;
}
.wpcf7 input[type=text],
.wpcf7 input[type=email],
.wpcf7 textarea {
    padding: 0.8rem 1.6rem;
    background: transparent;
    border: 0.2rem solid var(--cs-theme-color-separator);
    color: var(--cs-theme-color-text);
    font-size: var(--cs-theme-font-size-base);
}
.wpcf7 input[type=text]:focus,
.wpcf7 input[type=email]:focus,
.wpcf7 textarea:focus {
    background: transparent;
    box-shadow: none;
    border: 0.2rem solid var(--cs-theme-color-separator);
}
.wpcf7 input[type=text],
.wpcf7 input[type=email] {
    height: 4rem;
}
.wpcf7 textarea {
    height: 12rem;
	resize: vertical;
    overflow: auto;
}
.wpcf7 .wpcf7-form-control::placeholder {
    color: var(--cs-theme-color-gray-dark);
}
.wpcf7 .btn-submit-container {
    display: flex;
    justify-content: flex-end;
}
.wpcf7 .btn-submit-container .btn-arrow {
	padding: 0.8rem 2.4rem;
}
.wpcf7 .btn-submit-container .btn-arrow:hover,
.wpcf7 .btn-submit-container .btn-arrow:active,
.wpcf7 .btn-submit-container .btn-arrow:focus,
.wpcf7 .btn-submit-container .btn-arrow:hover:active,
.wpcf7 .btn-submit-container .btn-arrow:hover:focus,
.wpcf7 .btn-submit-container .btn-arrow:active:focus,
.wpcf7 .btn-submit-container .btn-arrow:hover:active:focus {
	background: transparent;
}
.wpcf7 .wpcf7-submit.btn-book {
    width: 100%;
	padding: 1.6rem;
	background: var(--cs-theme-color-red);
    border: 0;
    color: var(--cs-theme-color-white);
    border-radius: var(--cs-theme-color-border-radius);
    font-weight: 600;
    font-size: var(--cs-theme-font-size-base);
    line-height: 1.6rem;
    transition: all 0.3s ease;
	text-transform: uppercase;
}
.wpcf7 input[type=submit].wpcf7-submit:hover,
.wpcf7 input[type=submit].wpcf7-submit:active,
.wpcf7 input[type=submit].wpcf7-submit:focus,
.wpcf7 input[type=submit].wpcf7-submit:hover:active,
.wpcf7 input[type=submit].wpcf7-submit:hover:focus,
.wpcf7 input[type=submit].wpcf7-submit:active:focus,
.wpcf7 input[type=submit].wpcf7-submit:hover:active:focus {
    color: var(--cs-theme-color-white);
	background: var(--cs-theme-color-red-dark);
	box-shadow: none;
}
.wpcf7-form-control.wpcf7-checkbox {
	display: flex;
    flex-direction: column;
    gap: 0.6rem;
}
.wpcf7-form.submitting .btn-arrow {
	pointer-events: none;
  	cursor: not-allowed;
	color: color-mix(in srgb, var(--cs-theme-color-gray-darker) 50%, white);
}
.wpcf7-form.submitting .btn-arrow:after {
	top: calc(50% - 0.7rem);
    width: 1.4rem;
    height: 1.4rem;
    border: 0.2rem solid var(--cs-theme-color-separator);
    border-top: 0.2rem solid var(--cs-theme-color-black);
    border-radius: 50%;
    animation: spin 1s linear infinite;
    background: none;
}

/******************************/
/* POPUP BRAVE	 			   /
/******************************/
.brave_popup {
	font-family: var(--cs-theme-font-family-main)!important;
}
.brave_popup .popup-title .brave_element__text_inner {
	font-family: var(--cs-theme-font-family-main)!important;
	font-weight: 900!important;
}
.brave_popup .popup-info .brave_element__text_inner {
	font-family: var(--cs-theme-font-family-main)!important;
	font-weight: 700!important;
}
.brave_popup popup-promo-code:hover {
	cursor: pointer
}
.brave_popup .brave_popup__step .brave_popup__close.brave_popup__close--inside_right {
	right: 1rem!important;
    top: 0rem !important;
}
.popup-toast {
	position: fixed;
	left: 1.6rem;
	bottom: 1.6rem;
	right: 1.6rem;
	padding: 1.2rem;
	background: var(--cs-theme-color-blue);
	color: var(--cs-theme-color-white);
	z-index: 999;
	font-size: 1.4rem;
	border-radius: var(--cs-theme-color-border-radius);
	text-align: center;
}
/******************************/
/* 404			 			   /
/******************************/
.error-404 .page-header {
	display: flex;
    flex-direction: column;
    align-items: center;
}
.error-404 .page-title {
	margin-bottom: 2.4rem;
    max-width: 72rem;
	font-weight: 900;
    color: var(--cs-theme-color-blue);
    line-height: 1.5;
}
.error-404 img {
	-webkit-mask-image: linear-gradient(to bottom, transparent 0%, black 5%, black 95%, transparent 100%), linear-gradient(to right, transparent 0%, black 5%, black 95%, transparent 100%);
	mask-image: linear-gradient(to bottom, transparent 0%, black 5%, black 95%, transparent 100%), linear-gradient(to right, transparent 0%, black 5%, black 95%, transparent 100%);
	mask-size: 100% 100%;
	mask-composite: intersect;
	-webkit-mask-composite: destination-in;
}
.error-404 a {
	text-decoration: none;
    color: var(--cs-theme-color-red);
}
.error-404 a:hover {
	text-decoration: underline;
}
/******************************/
/* ANIMATIONS    			   /
/******************************/
@keyframes spin {
  0% {
    transform: rotate(0deg);
  }
  100% {
    transform: rotate(360deg);
  }
}

.ripple {
	overflow: hidden;
}

.ripple-wave {
  position: absolute;
  border-radius: 50%;
  transform: scale(0);
  animation: ripple-animation 0.55s linear;
  background-color: rgba(200, 30, 30, 0.22);
  pointer-events: none;
}

@keyframes ripple-animation {
  to {
    transform: scale(4);
    opacity: 0;
  }
}
/* FadeIn from e-animation-fadeIn-css*/
@keyframes fadeIn{from{opacity:0}to{opacity:1}}.fadeIn{animation-name:fadeIn}