:root {
    --header-height: inherit;
}


body {
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
}
body.locked {
	overflow: hidden;
}


img {
	width: 100%;
}


@keyframes fadeIn {
    from {
        opacity: 0;
    }
    to {
        opacity: 1;
    }
}

.rotate {
	animation: rotate 20s linear infinite;
}
@-webkit-keyframes rotate {
    from {
        -webkit-transform: rotate(0);
        transform: rotate(0)
    }

    to {
        -webkit-transform: rotate(360deg);
        transform: rotate(360deg)
    }
}

@keyframes rotate {
    from {
        -webkit-transform: rotate(0);
        transform: rotate(0)
    }

    to {
        -webkit-transform: rotate(360deg);
        transform: rotate(360deg)
    }
}


/* Button*/
.elementor-widget-button:not(.with-arrow, .no-change) a.elementor-button {
    position: relative;
    overflow: hidden;
    display: inline-block;
    cursor: pointer;
}
.elementor-widget-button:not(.with-arrow, .no-change) a.elementor-button .elementor-button-text {
    display: block;
    position: relative;
    transform: translateY(0);
    transition: transform 0.3s ease;
}
.elementor-widget-button:not(.with-arrow, .no-change) a.elementor-button .elementor-button-content-wrapper:after {
    content: attr(text);
    position: absolute;
    bottom: -100%;
    left: 0;
    width: 100%;
    text-align: center;
    transition: bottom 0.3s ease;
    color: inherit;
}
.elementor-widget-button:not(.with-arrow, .no-change) a.elementor-button:hover .elementor-button-text {
    transform: translateY(-300%);
}
.elementor-widget-button:not(.with-arrow, .no-change) a.elementor-button:hover .elementor-button-content-wrapper:after {
    bottom: 38%;
}



#home-video.elementor-widget-button:not(.with-arrow, .no-change) a.elementor-button .elementor-button-content-wrapper::after {
	padding-left: 40px;
}




/* Small */
a.elementor-button .small {
	display: block;
    font-size: 12px;
    text-transform: none;
    letter-spacing: 0.5px;
    font-weight: 400;
}
.elementor-button svg path {
	fill: currentColor;
}

/* With Arrow */
.with-arrow .elementor-button .elementor-button-icon,
.with-arrow .jet-listing-dynamic-link__link .jet-listing-dynamic-link__icon {
	opacity: 0;
	width: 0;
	transition: 0.5s;
	position: relative;
	left: -10px;
}
.with-arrow .elementor-button:hover .elementor-button-icon,
.with-arrow .jet-listing-dynamic-link__link:hover .jet-listing-dynamic-link__icon {
	opacity: 1;
	width: 30px;
	left: 10px;
}
.with-arrow .elementor-button .elementor-button-icon svg,
.with-arrow .jet-listing-dynamic-link__link .jet-listing-dynamic-link__icon svg {
    width: 30px;
}


.disabled {
	visibility: hidden;
	opacity: 0;
}



.box {
	display: inline-table;
    overflow: hidden;
    position: relative;
}

.word {
	display: inline-block;
	transform: translate(0px, 100%);
	position: relative;
}




/* Header */
div[data-elementor-type="header"] {
	z-index: 2;
	width: 100%;
	height: var(--header-height);
    position: fixed;
    top: 0;
    transition: top 0.5s ease-in-out;
    width: 100%;
}
div[data-elementor-type="header"] .elementor-widget-theme-site-logo a {
	height: 45px;
    overflow: hidden;
    display: flex;
    align-items: end;
    justify-content: center;
}
div[data-elementor-type="header"] .elementor-widget-theme-site-logo img {
	filter: invert(1) brightness(300%);	
}

/* Home Header */
body.home div[data-elementor-type="header"] .elementor-widget-theme-site-logo a {
	height: auto;
}
body.home div[data-elementor-type="header"] .elementor-widget-theme-site-logo img {
	filter: invert(1) brightness(300%);	
}

/* Dark Header */
div[data-elementor-type="header"].dark .elementor-widget-theme-site-logo img {
	filter: unset;
}
div[data-elementor-type="header"].dark .menu-icon {
	color: var( --e-global-color-primary );
}
div[data-elementor-type="header"].dark .menu-icon .bars span {
	background-color: var( --e-global-color-primary );
}

/* Scrolled Past */
div[data-elementor-type="header"].scrolled-past-100vh {
	background-color: var( --e-global-color-secondary );
}
div[data-elementor-type="header"].scrolled-past-100vh .elementor-widget-theme-site-logo a {
	height: 45px !important;
}
div[data-elementor-type="header"].scrolled-past-100vh .elementor-widget-theme-site-logo img {
	filter: unset !important;
}
div[data-elementor-type="header"].scrolled-past-100vh .menu-icon {
	color: var( --e-global-color-primary );
}
div[data-elementor-type="header"].scrolled-past-100vh .menu-icon .bars span {
	background-color: var( --e-global-color-primary );
}

div[data-elementor-type="header"].nav-up {
    top: calc(var(--header-height) * -1);
}


/* Mobile Menu */
.menu-icon {
	position: relative;
    width: 57px;
    aspect-ratio: 1;
    cursor: pointer;
    color: #fff;
    font-family: var(--e-global-typography-text-font-family), Sans-serif;
    font-size: 12px;
    text-transform: uppercase;
    font-weight: 500;
    letter-spacing: calc(1rem* 0.001* 250);
    display: flex;
    align-items: center;
    justify-content: center;
    text-align: center;
}
.menu-icon .bars {
	position: absolute;
    top: 14px;
    width: 42px;
    height: 8px;
}
.menu-icon .bars span {
	position: absolute;
	display: block;
	width: 100%;
	height: 1.5px;
	background-color: #fff;
	border-radius: 1px;
	transition: all 0.2s cubic-bezier(0.1, 0.82, 0.76, 0.965);
}
.menu-icon .bars span:first-of-type {
	top: 0;
	right: 0;
}
.menu-icon .bars span:last-of-type {
	bottom: 0;
	left: 0;
}
.menu-icon .word {
	font-weight: 500;
    position: absolute;
    bottom: 29px;
    left: 6px;
    opacity: 1;
    transition: 0.5s;	
}
.menu-icon:hover .bars span {
	width: 33px;
}
.menu-icon.active .bars span {
    background-color: var(--e-global-color-primary);
}
.menu-icon.active .bars span:first-of-type {
	transform: rotate(45deg);
	top: 9px;
	width: 42px;
}
.menu-icon.active .bars span:last-of-type {
	transform: rotate(-45deg);
	bottom: -2px;
	width: 42px;
}
.menu-icon.active .word {
	opacity: 0;
}


/* Mega Menu */
.mega-menu {
	position: fixed;
    top: -100%;
    left: 0;
    z-index: -1;
    transition: 0.5s;
}
.mega-menu.active {
	top: 0;
}


/* Main Menu */
ul#main-menu {
	list-style: none;
    padding: 0;
    margin: 0;
}
ul#main-menu > li {
	font-family: var(--e-global-typography-e79affb-font-family), Sans-serif;
    font-size: var(--e-global-typography-e79affb-font-size);
    font-weight: var(--e-global-typography-e79affb-font-weight);
    line-height: var(--e-global-typography-e79affb-line-height);
    color: var(--e-global-color-primary);
	margin: 40px 0;
	transition: opacity 0.3s ease;
	padding-left: 8.4%;
	width: 33.3333%;
	opacity: 0;
}
ul#main-menu:hover > li:not(:hover) {
    opacity: 0.3;
}
ul#main-menu > li:hover {
    opacity: 1;
}
ul#main-menu > li > a {
	color: inherit;
}

.mega-menu.active #main-menu > li {
    animation: fadeIn 0.5s ease forwards;
}

/* Fade in one by one with a delay */
.mega-menu.active #main-menu > li:nth-child(1) {
    animation-delay: 0.6s;
}
.mega-menu.active #main-menu > li:nth-child(2) {
    animation-delay: 0.8s;
}
.mega-menu.active #main-menu > li:nth-child(3) {
    animation-delay: 1s;
}
.mega-menu.active #main-menu > li:nth-child(4) {
    animation-delay: 1.2s;
}
.mega-menu.active #main-menu > li:nth-child(5) {
    animation-delay: 1.4s;
}
.mega-menu.active #main-menu > li:nth-child(6) {
    animation-delay: 1.6s;
}
.mega-menu.active #main-menu > li:nth-child(7) {
    animation-delay: 1.8s;
}
.mega-menu.active #main-menu > li:nth-child(8) {
    animation-delay: 2s;
}
.mega-menu.active #main-menu > li:nth-child(9) {
    animation-delay: 2.2s;
}
.mega-menu.active #main-menu > li:nth-child(10) {
    animation-delay: 2.4s;
}

ul#main-menu > li ul.sub-menu {
	list-style: none;
    padding: 0;
    margin: 0;
    position: absolute;
    top: 15px;
    left: 33.3333%;
    opacity: 0;
    visibility: hidden;
    transition: 0.3s;
    width: 66.6666%;
    height: 100%;
    padding-left: 0;
    border-left: 1px solid #E4D5CC;
}
ul#main-menu > li ul.sub-menu > li {
	font-family: var(--e-global-typography-81313ef-font-family), Sans-serif;
    font-size: var(--e-global-typography-81313ef-font-size);
    font-weight: var(--e-global-typography-81313ef-font-weight);
    line-height: var(--e-global-typography-81313ef-line-height);
    color: var(--e-global-color-primary);
    margin: 35px 0;
    padding-left: 40px;
    width: 50%; 
}
ul#main-menu > li ul.sub-menu > li > a {
	color: inherit;	
}
ul#main-menu > li ul.sub-menu > li > a .label {
	position: relative;
}
ul#main-menu > li ul.sub-menu > li > a .label:before {
	content: '';
	background-color: var(--e-global-color-primary);
    height: 1px;
    position: absolute;
    width: 0;
    left: 0;
    bottom: 0;
    transition: 0.5s;
}
ul#main-menu > li ul.sub-menu > li .image {
	position: absolute;
    left: 50%;
    top: 0;
    opacity: 0;
    visibility: hidden;
    transition: 0.3s;
    background-color: red;
    width: 50%;
    height: 100%;
}
ul#main-menu > li ul.sub-menu > li .image img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	object-position: center center;
}
ul#main-menu > li ul.sub-menu > li:hover > a .label:before {
	width: 100%;
}
ul#main-menu > li ul.sub-menu > li:hover .image {
	opacity: 1;
    visibility: visible;
}
ul#main-menu > li:hover > ul.sub-menu {
	opacity: 1;
    visibility: visible;
}
    
#main-menu .hide-for-header {
	display: none;
}

main {
	overflow-x: hidden;	
}


/* Facilities Content */
.facilities-content ul {
	margin: 0;
    list-style: none;
    padding: 0;
}
.facilities-content ul li {
	border-top: 1px solid var( --e-global-color-primary );
	padding: 15px 0;
	display: flex;
	align-items: start;
}
.facilities-content ul li:before {
	content: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='26.87' height='26.87' viewBox='0 0 26.87 26.87'%3E%3Cg transform='translate(-872.581 -2469)'%3E%3Cg transform='translate(872.581 2469)'%3E%3Cpath d='M13.435,1.5A11.935,11.935,0,0,0,5,21.874,11.935,11.935,0,1,0,21.874,5a11.857,11.857,0,0,0-8.439-3.5m0-1.5A13.435,13.435,0,1,1,0,13.435,13.435,13.435,0,0,1,13.435,0Z' transform='translate(0 0)' fill='%236a2b0a'/%3E%3Cpath d='M12082.445,2438.667a.747.747,0,0,1-.53-.22l-3.383-3.383a.75.75,0,0,1,1.061-1.061l2.853,2.853,6.882-6.882a.75.75,0,0,1,1.061,1.061l-7.412,7.412A.747.747,0,0,1,12082.445,2438.667Z' transform='translate(-12071.159 -2420.706)' fill='%236a2b0a'/%3E%3C/g%3E%3C/g%3E%3C/svg%3E");
    position: relative;
    top: 5px;
    margin: 0 20px 0 0;
}


/* Farm */
.farm-items,
.farm-items .jet-listing-grid {
	height: 100%;
}
.farm-items .jet-listing-grid__items {	
	counter-reset: farmList;
	height: 100%;
}
.farm-items .jet-listing-grid__items .jet-listing-grid__item {
    counter-increment: farmList;
    position: absolute;
	width: max-content;
}
.farm-items .jet-listing-grid__items .jet-listing-grid__item .heading .jet-listing-dynamic-field__content:before {
	margin-right: 1em;
    content: counter(farmList, decimal-leading-zero);
    border: 2px solid var(--e-global-color-primary);
    border-radius: 1000px;
    display: inline-block;
    width: 45px;
    height: 45px;
    text-align: center;
    line-height: 38px;
}
.farm-items .jet-listing-grid__items .jet-listing-grid__item .content {
	transition: 0.5s;
    max-width: 600px;
    opacity: 0;
    visibility: hidden;
    bottom: -10px;
    display: block;
    width: 0;
    height: 0;
}
/* .farm-items .jet-listing-grid__items .jet-listing-grid__item:hover .content {
	opacity: 1;
	visibility: visible;
	bottom: 0;
	width: auto;
    height: auto;
} */
.farm-items .jet-listing-grid__items .jet-listing-grid__item .heading {
	padding: 0;
}
/* .farm-items .jet-listing-grid__items .jet-listing-grid__item:hover .heading {
	padding: 5px;
} */
.farm-items .jet-listing-grid__items .jet-listing-grid__item:nth-child(1) {
	bottom: 32%;
    left: 15%;
}
.farm-items .jet-listing-grid__items .jet-listing-grid__item:nth-child(2) {
	bottom: 10%;
    left: 64%;
}
.farm-items .jet-listing-grid__items .jet-listing-grid__item:nth-child(3) {
	bottom: 17%;
    left: 81%;
}
.farm-items .jet-listing-grid__items .jet-listing-grid__item:nth-child(4) {
	bottom: 27%;
    right: 13px;
}
.farm-items .jet-listing-grid__items .jet-listing-grid__item:nth-child(5) {
	bottom: 38%;
    right: 5%;
}
.farm-items .jet-listing-grid__items .jet-listing-grid__item:nth-child(6) {
	bottom: 57%;
    right: 19%;
}
.farm-items .jet-listing-grid__items .jet-listing-grid__item:nth-child(7) {
	bottom: 87%;
    right: 11%;
}
.farm-items .jet-listing-grid__items .jet-listing-grid__item:nth-child(8) {
	bottom: 90%;
    left: 50%;
}
.farm-items .jet-listing-grid__items .jet-listing-grid__item:nth-child(9) {
	bottom: 90%;
    left: 20%;
}
.farm-items .jet-listing-grid__items .jet-listing-grid__item:nth-child(10) {
	bottom: 77%;
    left: 5%;
}
.farm-items .jet-listing-grid__items .jet-listing-grid__item:nth-child(11) {
	bottom: 63%;
    left: 8%;
}
.farm-items .jet-listing-grid__items .jet-listing-grid__item:nth-child(12) {
	bottom: 54%;
    left: 45%;
}
.farm-items .jet-listing-grid__items .jet-listing-grid__item:nth-child(13) {
	bottom: 15%;
    left: 34%;
}


.farm-items-accordion .jet-accordion__inner {	
	counter-reset: farmList;
}
.farm-items-accordion .jet-accordion__inner .jet-accordion__item {
    counter-increment: farmList;
    position: relative;
}
.farm-items-accordion .jet-accordion__inner .jet-accordion__item .jet-toggle__label-text:before {
	margin-right: 1em;
    content: counter(farmList, decimal-leading-zero);
    display: inline-block;
}


/* Prviacy Policy */
.privacy-policy h2,
body.page-id-368 h2 {
	font-family: var( --e-global-typography-text-font-family ), Sans-serif;
	font-size: var( --e-global-typography-81313ef-font-size );
	font-weight: 600;
	margin: 60px 0 40px 0;
}
.privacy-policy h3,
body.page-id-368 h3 {
	font-family: var( --e-global-typography-text-font-family ), Sans-serif;
	font-size: var( --e-global-typography-a4b5e6f-font-size );
	font-weight: 600;
	margin: 40px 0 15px 0;
}
.privacy-policy p,
body.page-id-368 p {
	font-size: var( --e-global-typography-a4b5e6f-font-size );
}


/* Rates Table */
.rates table th {
	text-align: left;
	border-block-start: 0 !important;
	padding-bottom: 25px;
}
.rates table tbody tr td {
	border-top: 1px solid var( --e-global-color-text );
}

.rates table tbody tr td p:last-child {
	margin-bottom: 0;
}


.overflowed {
	overflow: hidden;
}
.overflowed .slick-list {
	overflow: visible;
}
.slick-disabled {
	opacity: 0.5;
}


/* Full Gallery */
.full-gallery {
	overflow: hidden;
    max-height: 100vh;
}
.full-gallery img {
	width: 100%;
    display: block;
    max-width: unset;
    height: 100%;
    object-fit: cover;
    object-position: center center;
}
.full-gallery figcaption {
	position: absolute;
    bottom: 25px;
    left: 25px;
} 
.full-gallery .elementor-swiper-button {
	background-color: rgba(0, 0, 0, 0.5);
    border-radius: 100%;
    width: 50px;
    text-align: center;
    aspect-ratio: 1;
    display: flex;
    align-items: center;
    justify-content: center;
    transition: left 0.5s ease-out, top 0.5s ease-out; 
}
   

/* Footer */
#footer-menu {
	padding: 0;
    margin: 0;
    list-style: none;
    display: flex;
    color: #FAF4EF70;
    font-size: 17px;
    font-weight: 300;
    justify-content: space-between;
}
#footer-menu > li > a > span.label {
	color: var(--e-global-color-accent);
    text-transform: uppercase;
    font-weight: 500;
    font-size: 15px;
    letter-spacing: calc(1rem* 0.001* 100);
    margin-bottom: 25px;
    display: block;
}
#footer-menu a {
	color: inherit;
}
#footer-menu .hide-for-footer {
	display: none;
}
#footer-menu > li > ul.sub-menu {
	padding: 0;
    margin: 0;
    list-style: none;
}
#footer-menu ul.sub-menu > li {
	margin: 15px 0;
}
#footer-menu ul.sub-menu > li > a {
	display: block;
    max-width: 170px;
}
#footer-menu .btn a {
	padding: 12px 26px;
    background-color: var(--e-global-color-accent);
    color: var(--e-global-color-primary);
    text-align: center;
    font-size: 15px;
    font-weight: 500;
    text-transform: uppercase;	
}
#footer-menu .btn a:hover {
	background-color: #C34D0F;
    color: var(--e-global-color-primary);
}


.booking .elementor-button-icon {
	display: none;
}


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

	.elementor-widget-jet-listing-grid.reverse .jet-listing-grid__item:nth-child(even) .e-con-inner {
		flex-direction: row-reverse;
	}
	.elementor-widget-jet-listing-grid.reverse .jet-listing-grid__item:nth-child(even) .e-con-inner .content-holder {
		align-items: end;
	}
	
}

@media screen and (min-width: 881px) {

	.elementor-widget-image-box.reverse .elementor-image-box-wrapper {
	    flex-direction: column-reverse;
        align-items: start;
	}	
	
}

@media screen and (max-width: 880px) {
	
	#footer-menu {
		flex-wrap: wrap;
		justify-content: start;
		font-size: 15px;
	}
	#footer-menu > li {
		width: 50%;
	}
  
    #footer-menu ul.sub-menu > li > a {
		max-width: max-content;
	}
	
	#footer-menu > li > a > span.label {
	    margin-top: 25px;
	}

	.ololo-safaris .elementor-image-box-wrapper {
		display: flex;
        align-items: center;
        gap: 20px;
	}

}

@media screen and (max-width: 768px) {
	
	div[data-elementor-type="header"] .elementor-widget-theme-site-logo a {
	    height: 34px;
	}
	
	div[data-elementor-type="header"].scrolled-past-100vh .elementor-widget-theme-site-logo a {
	    height: 34px !important;
	}

    .mega-menu {
	    top: 0;
	    left: 100%;
	}
	.mega-menu.active {
		left: 0;
	}

	div[data-elementor-type="header"] nav {
		height: 100vh;
		overflow: scroll;
		padding-top: 100px;
	}
	
	
	ul#main-menu > li {
	    padding-left: 0;
	    width: 100%;
	    opacity: 1;
	    animation: none !important;
	}
	ul#main-menu > li > a {
	    display: block;
	    padding: 0 30px;
	}
    ul#main-menu > li ul.sub-menu {
	    position: relative;
        top: 0;
        left: 0;
        width: 100%;
        height: auto;
        border-left: 0;
        display: none;
        opacity: 1;
        visibility: visible;
	}
	ul#main-menu > li ul.sub-menu.active {
		display: block;
	}
	ul#main-menu > li ul.sub-menu li {
		width: 100%;
        padding: 0;
	}
	ul#main-menu > li ul.sub-menu > li > a {
		display: block;
	    padding: 0 30px;
	}
    ul#main-menu > li ul.sub-menu > li .image {
	    display: none;
	}
	
	.newsletter .elementor-size-xl {
	    min-height: 60px !important;
	}
	.newsletter .elementor-field-type-submit {
		padding-left: 0 !important;
	}
	
	.rates .elementor-widget-container {
		overflow: auto;
	}
	.rates table {
		width: 650px;
		margin-right: 30px;
	}
    
}

@media (max-width: 479px) {
    
	.elementor-image-gallery .gallery-columns-3 .gallery-item {
        max-width: 33.33% !important;
    }
    
    .elementor-image-gallery .gallery-columns-5 .gallery-item {
	 	max-width: 50% !important;   
    }
    
}