/*
 Theme Name:   Africa Luxury Escapes
 Theme URI:    https://thewebsiteengineer.com
 Description:  Africa Luxury Escapes
 Author:       The Website Engineer
 Author URI:   https://thewebsiteengineer.com
 Template:     generatepress
 Version:      2.0
*/



/* Global Styling */
.secondary-navigation {
    background-color: #32383c!important;
}

h1, h2, h3, h4, h5, h6 {
    color: #23282d;
}

a.read-more, .paging-navigation a, .comments-area a, .page-header a {
    color: #f14f04;
}

.header-contact-details a:hover, .header-contact-details a:focus {
    color: #f14f04!important;
}

.inside-modal {
    padding: 20px;
}

.flex-center-align {
    display: flex;
    align-items: center;
}
.flex-bottom-align {
    display: flex;
    align-items: flex-end;
}
.no-margin {
    margin: 0px;
}
.no-padding {
    padding: 0px!important;
}
.justify {
  text-align: justify!important;
  text-justify: inter-word!important;
}

.white {
    color: #fff;
}
.logo-white svg {
    fill: #fff;
}

.fullwidth, .fullwidth a {
    width: 100%;
}

.home-intro-blocks {
    padding: 30px 30px 120px 30px;
    margin-top: -100px;
}
.text-shadow {
    text-shadow: 0px 10px 35px #000;
}
.breadcrumbs {
    text-shadow: 0px 0px 15px #000000;
}
.image-cover img {
    object-fit: cover;
    width: 100%;
    height: 250px;      
}

.copyright-bar {
    width: 100%;
}
.site-info {
    border-top: 1px solid #00000014;
    /*margin: 0px 20px;*/
}

.morecontent span {
    display: none;
}
.morelink {
    display: block;
}

svg, .svg-icon svg {
    width: 1em;
    height: auto;
}

.budget-svg-icon {
    display: inline-flex;
    align-items: center;
}

.budget-svg-icon svg {
    width: auto!important;
    height: 26px!important;
    align-items: center;
    display: inline-flex;
    padding-left: 5px;
    color: #f14f04;
    fill: #f14f04;
    padding-right: 10px;
}
.active .budget-svg-icon svg {
    color: #fff;
    fill: #fff;
}

.mobile-enquire-now svg {
    width: 2em;
    fill: #f14f04;
}

.inline-svg-icon svg {
    width: auto!important;
    height: 10px!important;
    align-items: center;
    display: inline-flex;
    padding-left: 5px;
    color: #f14f04;
    fill: #f14f04;
    padding-right: 10px;
}
.inline-svg-icon {
    display: inline-flex;
    align-items: center;
}

.button {
    border-radius: 50px;
    justify-content: center;
    text-align: center;    
    margin-bottom: 5px;
    display: inline-flex;
    align-items: center;    
}

.button-reset {
    display: none;
}

.whatsapp-button button {
    background-color: #25D366!important;
    border-color: #25D366!important;
}
.whatsapp-button button:hover {
    background-color: #fff!important;
    color: #25D366!important;
    border-color: #25D366!important;
}
.button .gb-icon {
    display: flex;
    align-items: center;
    fill: #fff;
    /*margin-right: 10px;*/
}
.intro-search-button {
    border-bottom-left-radius: 0px;
    border-top-left-radius: 0px;
}

.button a:visited, {
    color: #fff!important;
}

.cream-button {
    background-color: #f0ede6!important;
    color: #32393c!important;
    -webkit-transition: all 300ms ease;
    -moz-transition: all 300ms ease;
    -ms-transition: all 300ms ease;
    -o-transition: all 300ms ease;
    transition: all 300ms ease;     
}
.cream-button:hover {
    background-color: #32393c!important;
    color: #f0ede6!important;
    -webkit-transition: all 300ms ease;
    -moz-transition: all 300ms ease;
    -ms-transition: all 300ms ease;
    -o-transition: all 300ms ease;
    transition: all 300ms ease;     
}
.cream-button a:visited {
    color: #32393c!important;
}

.cream-button svg {
    fill: #32393c!important;
}

.cream-button:hover svg {
    fill: #f0ede6!important;
}




.conditional-show {
    display: none;
}
.slideout-overlay {
    background-color: rgba(0,0,0,0.5);
}



/* Lity Tweaks */ 
.lity-container {
    overflow: auto;
    border-radius: 10px;
}
.lity-close {
    font-family: Arial,Baskerville,monospace!important;
    font-size: 50px!important;
    -webkit-transition: all 300ms ease;
    -moz-transition: all 300ms ease;
    -ms-transition: all 300ms ease;
    -o-transition: all 300ms ease;
    transition: all 300ms ease;   
    width: 50px;
    height: 50px;        
}

.lity-close:hover {
    transform: rotate(180deg);
    -webkit-transition: all 300ms ease;
    -moz-transition: all 300ms ease;
    -ms-transition: all 300ms ease;
    -o-transition: all 300ms ease;
    transition: all 300ms ease;       
}

/*********************************************************************/
/* OFFLINE CHAT FORM */
/*********************************************************************/

.offline-chat-form {
    position: fixed;
    z-index: 9999;
    margin: 10px;
    background-color: #f14f04;
    padding: 10px;
    border-radius: 50px;
    width: 50px;
    height: 50px;
    right: 10px;
    bottom: 5px;
    text-align: center;
    line-height: 25px;  
}

.offline-chat-form svg {
    width: 2em;
    fill: #fff;
}

.offline-chat-form a {
    color: #FFFFFF;
    font-weight: bold;
}

.offline-chat-form a:hover {
    color: #f1f1f1;
}  

/***************************************/
/* Sliding Bar - Search Label */
/***************************************/

.search-label {
    width: 60px!important;
    height: 60px!important;
    top: 165px!important;
    background-color: #32383c;
    right: 0px;
    position: fixed;
    text-align: center;
    color: #fff;
    z-index: 9999999;
    padding: 7px;
    line-height: 14px;
    border-radius: 5px 0px 0px 5px!important;   
}
/*.search-label a {
    display: contents;
}*/
.search-label svg {
    fill: #fff;
    display: flex;
    margin: 0px auto;
}
.search-label span {
    color: #fff;
    /*display: block;*/
    font-size: 12px!important;
    z-index: 9999999;
    line-height: 14px;
    font-weight: 500;
    display: block;
    text-align: center;    
}
.search-label-link-close {
    display: none;
}

/* Mobile Styling */

/*https://stackoverflow.com/questions/2989263/disable-auto-zoom-in-input-text-tag-safari-on-iphone/6394497*/
@media screen and (-webkit-min-device-pixel-ratio:0) { 
  select,
  textarea,
  input {
    font-size: 16px;
  }
}

@media (max-width:769px) {

    .intro-hero:before {
        background-position: 20% -70px!important;
    }
    .intro-hero {
        background-image: linear-gradient(180deg, #000000 80%, #efede6 90%)!important;
    }    

    /* Sticky Buttons */
    .whatsapp-sticky-button {
        position: fixed!important;
        display: block!important;
        width: 50%!important;
        position: fixed!important;
        bottom: 0!important;
        left: 0!important;
        z-index: 10000000!important;
        border-radius: 0px!important;
        padding: 15px 10px!important;
        margin-bottom: 0px!important;
        background-color: #25D366!important;
    }
    .enquire-sticky-button {
        position: fixed!important;
        display: block!important;
        width: 50%!important;
        position: fixed!important;
        bottom: 0!important;
        right: 0!important;
        z-index: 1000000!important;
        border-radius: 0px!important;
        padding: 15px 10px!important;
        margin-bottom: 0px!important;  
        background-color: #32383c!important;

    }

    #secondary-navigation .inside-navigation {
        justify-content: center;
    }
    #secondary-navigation .inside-navigation .top-bar {
        margin: auto;
    }   
    .secondary-menu-toggle {
        display: none!important;
    }
    .remove-gradient{
        background-image: none!important;
    }
}

.search-item {
    z-index: 121!important;
}

.navigation-search {
    z-index: 120!important;

}

.inside-navigation input.search-field {
    height: 300px;
    font-size: 50px;
}

@media (max-width: 768px) {
    .inside-navigation input.search-field {
        height: 150px;
        font-size: 40px;
    }
}

.navigation-search input[type="search"]{
    opacity: 0.95!important;
    height: 250px!important;
}

.navigation-search button {
    border-bottom-left-radius: 10px;
    width: 100%;
    border-bottom-right-radius: 10px;    
}

@media (max-width: 460px){
    .main-navigation .site-logo.navigation-logo img, .mobile-header-navigation .site-logo.mobile-header-logo img {
        height: 40px!important;
    }
    .hide-xs {
        display: none!important;
    }

}

@media (min-width:461px) and (max-width: 520px){
    .main-navigation .site-logo.navigation-logo img, .mobile-header-navigation .site-logo.mobile-header-logo img, .navigation-search input[type="search"] {
        height: 50px!important;
    }
}

@media (max-width:1400px) and (min-width:900px) {
    .navigation-branding img, .site-logo.mobile-header-logo img {
        height: 50px!important;
    }
    .main-navigation .main-nav ul li a {
        padding-left: 10px!important;
    }    
}
@media (max-width:1179px) and (min-width:700px) {
    .conditional-hide {
        display: none;
    }  
    .conditional-show {
        display: initial;
    }     
}
/*.gb-button-wrapper .gb-button, .gb-button-wrapper .gb-button:visited {
    font-family: "Lato", sans-serif;
    font-weight: 700;
    text-transform: uppercase;
    font-size: 14px; 
    border-radius: 50px;     
}*/
/*.gb-button-wrapper .gb-button:hover, .gb-button-wrapper .gb-button:active, .gb-button-wrapper .gb-button:focus {*/
/*    background-color: #c94203;
    color: #ffffff;*/
/*}*/

.gb-button-wrapper-fullwidth {
    width: 100%;
    display: flex;
    flex-wrap: wrap;
    justify-content: flex-start;
    clear: both;
}

.gb-button-wrapper-fullwidth  .gb-button, .gb-button-wrapper-fullwidth .gb-button-light {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    text-align: center;
    text-decoration: none;
    flex: 1;
    padding: 10px 10px;
} 


/* Intro Home Page */
.intro-filter {
    opacity: 0;
    display: inline-flex;
    animation: fadeIn ease 600ms;
    -webkit-animation: fadeIn ease 600ms;
    animation-delay: 1.5s;
    animation-fill-mode: forwards;
}
@media (max-width: 769px) {
    .intro-filter {
        display: initial;
    } 
    .intro-filter .gb-button-wrapper {
        display: inherit;
    } 
    .intro-filter .facetwp-facet {
        margin-bottom: 10px!important;
        display: block!important;
    }
    .intro-filter .fwp-submit {
        border-bottom-left-radius: 50px!important;
        border-top-left-radius: 50px!important;
    }    
    .intro-filter .facetwp-dropdown {
        border-bottom-right-radius: 50px;
        border-top-right-radius: 50px;
    }    
}
.intro-filter .facetwp-dropdown {
    border-bottom-left-radius: 50px;
    border-top-left-radius: 50px;    
    padding: 9px 13px!important;
    font-weight: 700;
    font-family: "Lato", sans-serif;
}
.intro-filter .fwp-submit {
    border-bottom-right-radius: 50px!important;
    border-top-right-radius: 50px!important;
}

/* Sidebar */

.legal-menu ul {
    list-style: none;
    margin: 0;
    padding: 0;
    margin: 20px;
}
.legal-menu li.current_page_item a {
    border-left: 2px solid #f14f04;
    font-weight: 400;
}
.legal-menu li {
    margin: 0;
    padding: 0;
    display: block;
}
.legal-menu li a {
    border-bottom: 1px solid transparent;
    border-right-color: transparent;
    padding: 10px;
    display: block;
}

/* https://generatepress.com/forums/topic/move-sidebar-position-on-mobile/#post-830728 */
@media (max-width: 768px) {
    .left-sidebar .site-content, .right-sidebar .site-content {
        display: flex;
        flex-direction: column-reverse;
    }
    .is-left-sidebar.sidebar, .is-right-sidebar.sidebar {
        margin: 0px 20px -60px 20px;
    }
}

/* https://generatepress.com/forums/topic/how-to-make-the-sidebar-static/ */
@media (min-width: 769px) {
    #right-sidebar .inside-right-sidebar {
        position: -webkit-sticky;
        position: sticky;
        top: 180px;
    }
    #left-sidebar .inside-left-sidebar {
        position: -webkit-sticky;
        position: sticky;
        top: 90px;
        max-height: 90vh;
        overflow-y: scroll;        
    }    
    .separate-containers .inside-right-sidebar {
        margin-right: 20px;
        margin-left: -20px;
    }
     
    .separate-containers .inside-left-sidebar {
        margin-right: -20px;
        margin-left: 20px;
    }    
}
/*
.gb-button-wrapper a.gb-button-9869f0a5, .gb-button-wrapper a.gb-button-9869f0a5:visited {
    background-color: #f24f07;
    color: #ffffff;
    padding: 10px 20px;
    border-radius: 50px;
    margin: 5px 0;
    border-width: 0;
    display: inline-flex;
    align-items: center;
}*/

.sidebar-title {
    text-align: center;
    padding: 20px 10px;
    background: #efefef;
    border-top-left-radius: 10px;
    border-top-right-radius: 10px;   
    margin: -20px -20px 10px -20px; 
}

.sidebar-lodge-details {
    margin: 10px 0px;
}

.inside-right-sidebar .widget, .inside-left-sidebar .widget {
    box-shadow: 0px 5px 15px 0px rgba(0, 0, 0, 0.1);
    border-radius: 10px;
    margin-bottom: 40px!important;
}

.inside-left-sidebar .widget {
    margin: 10px;
}

.sidebar-button a {
    width: 100%;
    justify-content: center;
    text-align: center;    
    margin-bottom: 5px;
    display: inline-flex;
    align-items: center;
}
.sidebar-button .gb-icon, .facetwp-sidebar .gb-icon, .facetwp-flyout .gb-icon, .room-container .gb-icon {
    display: inline-flex;
    padding: 0 0.5em 0 0;
}
.sidebar-button a:visted {
    color:#fff!important;
}
.sidebar-button svg, .room-container svg {
    fill: #fff;
}

.content-box {
    margin: 10px 0px;
}


.content-box .title {
    margin-left: 5px;
}
.content-box .content {
   margin-left: 25px;
}

/* Listing templates */
/* LightSlider Additional CSS  */
ul.lightSlider li:not(:first-of-type) {
    /*display: none;*/
}
.lSSlideWrapper{
  transition-duration: 600ms;
  transition-timing-function: ease;
} 

.gallery-overlay {
  position: absolute;
  height: 250px;
  display: flex;
  align-items: center;
  justify-content: center; 
  background: rgba(37, 39, 46, 0.75);
  width: inherit;
}



/*Single Template Styling*/
.single-container {
    margin-top: 50px;
}


.flex-container {
    display: flex;
    position: relative;
    width: 100%;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    -ms-flex-line-pack: start;
    align-content: flex-start;
}

.intro-container {
    width: 75%;
    max-width: 75%;
}
.intro-container h6{
    display: flex;
    align-items: center;
}

.price-container {
/*    width: 25%;
    max-width: 25%; */  
    text-align: end; 
}
.minimum-lodge-price {
    line-height: 14px;
}
@media all and (max-width: 769px) {
    .minimum-lodge-price {
        text-align: center;
    }
    .price-container {
    display: flex;
    text-align: end; 
}
}

.rates-container {
    /*display: inline-grid;*/
}

.price-container .title {
    color: #f14f04;
    margin: 0px;
    line-height: 1.5em;
    font-size: 1.5em;
}


.info-container {
    border-top: 1px solid #E7EBF0;
    border-bottom: 1px solid #E7EBF0;
    display: flex;
    justify-content: space-between;
    padding: 0px 10px;
}
@media all and (max-width: 620px) {
    .info-container {
        display: block;
    }
}
.info-icon-item {
    /*width: 33%;*/
    padding: 20px 0px;
}
.info-container .info-icon-box-wrapper {
    display: flex;
    align-items: center;
    padding: 20px 0px;
}
.info-container .icon-box .title, .info-container .icon-box p {
    margin: 0px;
    line-height: 1.5em;
    padding: 0px 10px;
}
.info-container svg {
    width: auto;
    height: 2em;
}


.acf-map {
    width: 100%;
    height: 400px;
    border: #ccc solid 1px;
    margin: 20px 0;
}

/*// Fixes potential theme css conflict.*/
.acf-map img {
   max-width: inherit !important;
}

#facetwp-map {
    width: 100%!important;
    height: 400px!important;
}

@media (max-width:768px) {
    .map-directions {
        display: block;
    }
    .map-directions h6 {
        text-align: left!important;
        margin-top: 15px;
    }    
}

.room-container {
    padding: 20px;
    margin-top: 10px;
    margin-bottom: 0px;
    /*border-right: 20px solid #f14f04;*/
}
.room-container p {
    margin: 10px 0px;
    color: #333333;
    font-size: 14px;
}
@media (min-width:769px) {
    .room-container {
        padding: 20px 0px 20px 20px;
        margin-bottom: 10px;
        /*border-right: 20px solid #f14f04;*/
    }    
    .room-featured-img {
        margin: -20px 0px;
    }
    .room-featured-img img {
        border-bottom-left-radius: 0px!important;
        border-top-left-radius: 0px!important;
    }    
}
@media (max-width:768px) {
    .room-container .gb-button-wrapper {
        text-align: center;
    }      
}

.room-featured-img img {
    height: 100%;
    object-fit: cover;
}

.dates-tag-container {
    display: inline-flex;
    border-radius: 5px;
    padding: 2px 20px;
    border: 1px solid #ececec;
    align-items: center;
    margin: 2px 5px;
}

/*Adding Buttons in Navigation*/
/*https://docs.generatepress.com/article/adding-buttons-navigation/*/
@media (min-width:769px) {
    .main-navigation .main-nav ul li.nav-button a {
        line-height: 20px; /*this number will likely need to be adjusted*/
        color: #ffffff;
        background-color: #f14f04;        
        font-family: "Lato", sans-serif;
        font-weight: 700;
        text-transform: uppercase;
        font-size: 14px;  
        padding: 10px 20px;   
        border-radius: 1.55em; 
        -webkit-transition: all 300ms ease;
        -moz-transition: all 300ms ease;
        -ms-transition: all 300ms ease;
        -o-transition: all 300ms ease;
        transition: all 300ms ease;          
    }
    .main-navigation .main-nav ul li.nav-button a:hover {
        color: #ffffff;
        background-color: #c94203;  
        -webkit-transition: all 300ms ease;
        -moz-transition: all 300ms ease;
        -ms-transition: all 300ms ease;
        -o-transition: all 300ms ease;
        transition: all 300ms ease;            
    }    

        
}

.footer-button a {
    background-color: transparent;
    border: 2px solid #fff;
    color: #fff;
    line-height: 35px; /*this number will likely need to be adjusted*/
    display: block;
    text-align: center;
    border-radius: 50px;
    margin-bottom: 5px;
    opacity: 0.7;
}
.footer-button a:hover {
    background-color: rgba(0, 0, 0, .1);
    border: 2px solid #D74603;
    color: #D74603!important;  
    opacity: 1;  
}

.copyright-bar svg {
    width: 16em;
}
.copyright-bar .logo-white {
    float: left;
}   
.copyright-bar .copyright-text {
    float: right;
}   
@media (max-width:769px) {
    .copyright-bar .logo-white, .copyright-bar .copyright-text {
        float: none;
    }   
}

.footer-africa-icon {
    position: absolute;
    left: -100px;
    transform: rotate(5deg);
    overflow: hidden;
    pointer-events: none;
}

.footer-africa-icon svg {
    width: 300px;
    fill: rgba(255,255,255,0.05);
}

/*Drop shadow on header*/
/*https://generatepress.com/forums/topic/drop-shadow-on-header/*/
.ale-shadow,
/*.main-navigation, */
.sticky-enabled .main-navigation.is_stuck, 
/*.inside-navigation, */
.main-navigation ul ul 
{
    background-color: rgb(242 242 242);
    -webkit-box-shadow: 0px -2px 10px rgba(0, 0, 0, .4);
    -moz-box-shadow: 0px -2px 10px rgba(0, 0, 0, .4);
    box-shadow: 0px -2px 10px rgba(0, 0, 0, .4);
}

/*Make Search Icon Larger*/
.main-navigation .search-item .icon-search {
    font-size: 22px;
}
   

.shadow {
    box-shadow: 0px 5px 15px 0px rgba(0, 0, 0, 0.1);
    -webkit-box-shadow: 0px 5px 15px 0px rgba(0, 0, 0, 0.1);
    -moz-box-shadow: 0px 5px 15px 0px rgba(0, 0, 0, 0.1);
}

.rounded-10, .rounded-10 img, .rounded-10 .teaser   {
    border-radius: 10px;
}

.count-title, .center-align {
    text-align: center;
}

.partners-gallery li {
    padding: 15px;
 }

.partners-gallery figure {
    -webkit-box-align: center!important;
    -ms-flex-align: center!important;
    align-items: center!important;
    -webkit-box-pack: center!important;
    -ms-flex-pack: center!important;
    justify-content: center!important;
    display: -webkit-box!important;
    display: -ms-flexbox!important;
    display: flex!important;
}

.wp-block-button__link, .letter-spacing {
    letter-spacing: 1.3px;
}

/* Header */
.header-contact-details {
    display: flex;
}

.header-contact-details .svg-icon, .header-contact-details a {
    display: flex!important;
    align-items: center;
}
.header-contact-details .svg-icon {
    padding-right: 5px;
}
.header-contact-details .svg-icon svg {
    width: 1.3em;
    height: auto;
}

.header-contact-details span {
    padding-right: 15px;
    /*padding-left: 5px;*/
}

.menu-item-has-children .dropdown-menu-toggle {
    padding-left: 5px;
}
.dropdown-menu-toggle .gp-icon svg {
    width: 1em;
    height: auto;
    top: .125em;
}
.main-navigation.has-branding:not(.grid-container) .inside-navigation:not(.grid-container) .navigation-branding {
    margin-left: 20px!important;
}
@media (max-width: 940px) {
    .navigation-branding .main-title, .mobile-header-navigation .site-logo {
        margin-left: 20px!important;
    }    
}
.secondary-nav-aligned-right .secondary-navigation .top-bar .inside-top-bar .widget {
    margin: 0 20px;
}

/* Mobile Menu */
@media (max-width: 940px) {
    .main-navigation.has-branding .inside-navigation.grid-container {
        padding: 0px!important;
    }
}

.main-navigation.offside {
    width: 320px!important;
}
.offside-js--is-right.slide-opened .slideout-overlay button.slideout-exit {
    right: 320px!important;
}
.offside--right {
    right: -320px!important;
}
.offside--right.is-open, .offside-js--is-right .offside-sliding-element {
    transform: translate3d(-320px,0,0)!important;
}

/* Generatepress Mega Menu */
/* https://docs.generatepress.com/article/building-simple-mega-menu/ */

.view-all{
    text-decoration: underline;
    font-weight: 400;
}
.menu-highlight-label {
    padding: .15em .35em;
    line-height: 1;
    margin-left: .75em;
    font-size: .7em;
    border: .1em solid transparent;
    background-color: #31393c;
    border-color: #31393c;
    color: #ffffff;
    border-radius: 5px;
    display: inline-flex;
}
@media (min-width: 769px) {

    .mega-menu ul.sub-menu
    {
        background-color: rgb(242 242 242);
        -webkit-box-shadow: 0px -2px 10px rgba(0, 0, 0, .4);
        -moz-box-shadow: 0px 5px 10px rgba(0, 0, 0, .4);
        box-shadow: 0px 5px 10px rgba(0, 0, 0, .4);
    }    

    nav .main-nav .mega-menu {
        position: static;
    }

    nav .main-nav .mega-menu > ul {
        position: absolute;
        left: 0 !important;
        border-bottom-right-radius: 10px;
        border-bottom-left-radius: 10px;
        margin: 0px 30px;
        width: calc(100% - 60px);        
    }

    /* Top Menu Headings */
    nav .main-nav .mega-menu > ul > li > a {
        border-bottom: 1px solid #eee;
        font-weight: bold;
        padding: 1em 0px!important;
        margin: 5px 10px;
        color: #828282!important;
        text-transform: uppercase!important;
        font-weight: 900!important;
        font-size: 12px;
        line-height: 1em;
        letter-spacing: .05rem;   
        -webkit-transition: all 300ms ease;
        -moz-transition: all 300ms ease;
        -ms-transition: all 300ms ease;
        -o-transition: all 300ms ease;
        transition: all 300ms ease;                
    }

      /* Mega menu sub headings */
    nav .main-nav .mega-menu > ul > li > a:hover, 
    nav .main-nav .mega-menu > ul > li > a:focus,
    nav .main-nav .mega-menu > ul > li[class*="current-"] > a
    {
        border-bottom: 1px solid #f14f04;
        color: #f14f04!important;  
        -webkit-transition: all 300ms ease;
        -moz-transition: all 300ms ease;
        -ms-transition: all 300ms ease;
        -o-transition: all 300ms ease;
        transition: all 300ms ease;             
    }    

    

    /* Mega Menu Sub Items */
    nav .main-nav .mega-menu ul ul li a {
        padding: .35em 10px!important;
        color: #272727;
        border-bottom: none;
        font-weight: 300;
        font-size: 16px;
        line-height: 1.5rem;
        text-transform: none;
        -webkit-transition: all 300ms ease;
        -moz-transition: all 300ms ease;
        -ms-transition: all 300ms ease;
        -o-transition: all 300ms ease;
        transition: all 300ms ease;          
    }  
    nav .main-nav .mega-menu ul ul li:hover > a, 
    nav .main-nav .mega-menu ul ul li:focus > a, 
    nav .main-nav .mega-menu ul ul li.sfHover > a, 
    nav .main-nav .mega-menu ul ul li.current-menu-item {    
        border-radius: 5px;
        color: #f14f04;
        -webkit-transition: all 300ms ease;
        -moz-transition: all 300ms ease;
        -ms-transition: all 300ms ease;
        -o-transition: all 300ms ease;
        transition: all 300ms ease;          
    }  

    .main-navigation .main-nav .mega-menu ul ul li[class*="current-menu-"] > a {
        border-radius: 5px;
    }

    nav .main-nav .mega-menu>ul>li {
        padding: 0px 30px 10px 30px ;
        display: inline-block;
        width: 24.5%;
        vertical-align: top;
    }

    nav .main-nav .mega-menu.mega-menu-col-2>ul>li {
        width: 49.5%;
    }

    nav .main-nav .mega-menu.mega-menu-col-3>ul>li {
        width: 33.3333%;
    }

    nav .main-nav .mega-menu.mega-menu-col-5>ul>li {
        width: 20%;
    }

    nav .main-nav .mega-menu > ul > li:hover > a,
    nav .main-nav .mega-menu > ul > li:focus > a,
    nav .main-nav .mega-menu > ul > li[class*="current-"] > a,
    nav .main-nav .mega-menu ul ul {
        background-color: transparent !important;
        color: inherit;
        -webkit-transition: all 300ms ease;
        -moz-transition: all 300ms ease;
        -ms-transition: all 300ms ease;
        -o-transition: all 300ms ease;
        transition: all 300ms ease;          
    }

    nav .main-nav .mega-menu ul .sub-menu {
        position: static;
        display: block;
        opacity: 1;
        visibility: visible;
        width: 100%;
        box-shadow: 0 0 0;
        left: 0;
        height: auto;
    }

    nav .main-nav .mega-menu ul.toggled-on .sub-menu {
        pointer-events: auto;
    }

    nav .main-nav .mega-menu .sub-menu .menu-item-has-children .dropdown-menu-toggle {
        display: none;
    }
}

nav .gp-icon svg {
    height: 2em;
    width: 2em;
    top: .5em;
}

nav .search-item svg {
    color: #f14f04;
}



/* Destination Cards */
.destination-card {
    height: 220px;
    margin-top: 5px;
    margin-bottom: 5px;
}
.destination-card h3 {
    margin-bottom: 0px;
}
.teaser {
    position: relative;
    background-position: center;
    background-size: cover;
    display: flex;
    width: 100%;
    padding: 1.5em;
    color: #fff;
}
.teaser .overlay {
    width: 100%;
    height: 100%;
    position: absolute;
    z-index: 1;
    left: 0;
    top: 0;
    opacity: .35;
    filter: alpha(opacity=35);
}
.destination-card .overlay {
    top: auto;
    bottom: 0;
    height: 100px;
    -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=1)";
    filter: alpha(opacity=1);
    -moz-opacity: 1;
    -khtml-opacity: 1;
    opacity: 1;
    background: 0 0;
    background: -moz-linear-gradient(top,rgba(0,0,0,0) 0,rgba(0,0,0,.87) 100%);
    background: -webkit-linear-gradient(top,rgba(0,0,0,0) 0,rgba(0,0,0,.87) 100%);
    background: linear-gradient(to bottom,rgba(0,0,0,0) 0,rgba(0,0,0,.87) 100%);
    border-bottom-left-radius: 10px;
    border-bottom-right-radius: 10px;
}

.destination-card .teaser {
    height: 100%;
    -moz-border-radius: 10px;
    -webkit-border-radius: 10px;
    border-radius: 10px;
}

.destination-card .content, .destination-card .content h3 {
    align-self: flex-end;
    text-align: left;
    text-decoration: none;
    color: #fff;
    z-index: 10;
}

@media screen and (max-width: 768px) {
    .destination-card .footer {
        display: flex;
    }
    .menu-bar-items .search-item a {
        padding-right: 0px;
    }     
}

.destination-card .footer {
    position: relative;
    display: none;
    align-items: center;
    justify-content: center;
    height: 60px;
    padding: 10px;
    background-color: #f0f0f0;
    border-bottom-left-radius: 3px;
    border-bottom-right-radius: 3px;
}

.destination-card .footer p {
    color: #272727;
    margin-bottom: 0;
    text-align: center;
    font-size: 1.5rem;
    line-height: 1.2em;
    font-weight: 300;
}

/* Accommodation Type & Activities Boxes */
.accommodation-type, .activities-grid {
    margin: 10px 0px;
    text-align: center;
    padding: 20px 10px;
    -webkit-transition: all 300ms ease;
    -moz-transition: all 300ms ease;
    -ms-transition: all 300ms ease;
    -o-transition: all 300ms ease;
    transition: all 300ms ease;    
}
.accommodation-type:hover, .activities-grid:hover {
    background-color:  rgba(0,0,0,0.05);
    -webkit-transition: all 300ms ease;
    -moz-transition: all 300ms ease;
    -ms-transition: all 300ms ease;
    -o-transition: all 300ms ease;
    transition: all 300ms ease;  
}
.activities-grid .read-more {
    display: inline-flex;
}
.activities-grid .inline-svg-icon svg {
    height: 15px!important;
}

/* Documentation Grid  */
.documentation-grid {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin: 10px 0px;
    padding: 20px 10px;
    -webkit-transition: all 300ms ease;
    -moz-transition: all 300ms ease;
    -ms-transition: all 300ms ease;
    -o-transition: all 300ms ease;
    transition: all 300ms ease;
}
.documentation-grid:hover {
    background-color:  rgba(0,0,0,0.05);
    -webkit-transition: all 300ms ease;
    -moz-transition: all 300ms ease;
    -ms-transition: all 300ms ease;
    -o-transition: all 300ms ease;
    transition: all 300ms ease;  
}

.accommodation-type svg {
    width: 6em;
    height: auto;
}
.activity svg {
    width: 2em;
}


.read-more {
    font-weight: 700;
    font-size: 12px;
    text-transform: uppercase;
    letter-spacing: 1px;
}

/* Accommodation Listing */
.facetwp-template {
    opacity: 0;
}
.accommodation-card {
    border-radius: 10px;
    margin-top: 10px;
    margin-bottom: 10px;
}
.accommodation-image img {
    border-top-left-radius: 10px;
    border-top-right-radius: 10px;
}
.accommodation-widget-container {
    padding: 20px;
}

.accommodation-widget-container {
    display: flex;
    position: relative;
    width: 100%;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    -ms-flex-line-pack: start;
    align-content: flex-start;
}
a.card-link {
    color: initial!important;
    width: 100%;
    clear: both;
    margin-bottom: 10px;
}
.accommodation-widget-element span {
    display: flex;
    align-items: center;
}

.accommodation-widget-element.title {
    width: 100%;
    max-width: 100%;
}
.accommodation-widget-element.accommodation-price {
    width: 100%;
    max-width: 100%;
    display: flex;
    align-items: flex-end;
    padding: 10px 0px;
}
.accommodation-widget-element.location {
    text-transform: uppercase;
    font-size: 14px;
    font-weight: 600;
    display: inline-flex;
}
.accommodation-widget-element.location svg {
    height: 16px!important;    
    padding-right: 5px;
    padding-left: 0px;
}
.accommodation-price .title {
    color: #f14f04;
    margin: 0px;
    line-height: 1em;
    padding: 0px 5px;
}
.accommodation-widget-element.star-rating {
/*    width: 50%;
    max-width: 50%;*/
}
.accommodation-widget-element.button {
    width: 100%;
    max-width: 100%;
    padding: 0;
}

.accommodation-widget-element.star-rating {
    color: #f0ad4e;
}
.accommodation-widget-element.description {
    font-size: 12px;
    margin-top: 5px;
}


/* Specials Listing  */
.specials-card {
    margin-left: 10px;
    margin-right: 10px;
}
.specials-listing-logo {
    position: absolute;
    left: 0;
    bottom: 0;
    width: 30%; 
    border-bottom-left-radius: 10px;
    border-top-right-radius: 10px;    
}

.specials-listing-img {
    height: 100%;
    border-top-left-radius: 10px;
    border-bottom-left-radius: 10px;   
    background-color: #fff; 
}
.specials-listing-img img:not(.specials-listing-logo) {
    border-top-left-radius: 10px;
    border-bottom-left-radius: 10px;
    width: auto;
    max-width: 100%;
    object-fit: cover;
    height: 100%;
    min-height: 300px;     
}

.specials-lodge {
    width: 100%;
}
    
.specials-lodge a {
    font-weight: 500;
}




/* Fade In */
@keyframes fadeIn {
0% {opacity:0;}
100% {opacity:1;}
}

@-moz-keyframes fadeIn {
0% {opacity:0;}
100% {opacity:1;}
}

@-webkit-keyframes fadeIn {
0% {opacity:0;}
100% {opacity:1;}
}

@-o-keyframes fadeIn {
0% {opacity:0;}
100% {opacity:1;}
}

@-ms-keyframes fadeIn {
0% {opacity:0;}
100% {opacity:1;}
}



/*Loading Spinner*/
.spinner-container {
    width: 100%;
    height: 100%;
    position: fixed;
    top: 0;
    z-index: 9000;
}

.c-filter_input__loading_indicator {
    position: relative;
    width: 100%;
    height: 100vh;
    display: flex;
    align-items: center;
    /*background: rgba(255, 255, 255, 0.8);*/
}

.c-payment_input__loading_indicator {
    position: absolute;
    top: 0;
    width: 100%;
    height: 100%;
    display: flex;
    align-items: center;
    justify-content: center;
    background: rgba(255,255,255,0.8);
}

.c-infinite_spinner {
    position: relative;
    margin: 0 auto;
    width: 75px;
    height: 75px;   

} 

.c-infinite_spinner__spinner {
    animation-duration: .6s;
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    transform: rotate(-45deg);
    animation: c-infinite_spinner__spin 1.2s cubic-bezier(.25, .29, .54, .86) 0s infinite normal none;
} 

.c-infinite_spinner__tail {
    animation: c-infinite_spinner__spin 1.2s cubic-bezier(.41, .24, .64, .69) 0s infinite normal none;
} 

.c-infinite_spinner__bg {
    fill: none;
    opacity: .2;
    stroke-width: 8;
    stroke: grey;
}   

.c-infinite_spinner__path {
    stroke: #f24f08;
    fill: none;
    stroke-width: 8;
    stroke-dasharray: 55, 200;
    stroke-dashoffset: 90;
    stroke-linecap: round;
} 

@keyframes c-infinite_spinner__spin {
    0% {
        transform: rotate(0deg)
    }

    to {
        transform: rotate(1turn)
    }
}

/* SEO campaign pages */
.ale-campaign-active .page-hero {
    display: none;
}

.ale-campaign-page {
    color: #263028;
}

.ale-campaign-hero {
    margin: 0 0 32px;
    padding: clamp(36px, 7vw, 76px) clamp(20px, 5vw, 64px);
    background: #1f2f25;
    color: #fff;
    position: relative;
    overflow: hidden;
}

.ale-campaign-hero:before {
    content: "";
    position: absolute;
    inset: 0;
    background-image: linear-gradient(90deg, rgba(20, 27, 22, .92), rgba(20, 27, 22, .58)), url("https://luxuryescapes.africa/wp-content/uploads/2020/12/african-sunset-africa-luxury-escapes.jpg");
    background-position: center;
    background-size: cover;
    z-index: 0;
}

.ale-campaign-hero > * {
    position: relative;
    z-index: 1;
    max-width: 850px;
}

.ale-campaign-eyebrow,
.ale-campaign-section-heading span,
.ale-campaign-final-cta span {
    display: block;
    color: #f24f07;
    font-size: 13px;
    font-weight: 700;
    letter-spacing: .08em;
    text-transform: uppercase;
    margin-bottom: 8px;
}

.ale-campaign-hero h1 {
    color: #fff;
    font-size: clamp(36px, 5vw, 62px);
    line-height: 1.04;
    margin: 0 0 18px;
}

.ale-campaign-hero p {
    color: #f5f2e9;
    font-size: 19px;
    line-height: 1.65;
    margin: 0 0 26px;
}

.ale-campaign-actions,
.ale-campaign-card-actions,
.ale-campaign-related {
    display: flex;
    flex-wrap: wrap;
    gap: 12px;
}

.ale-campaign-actions .button,
.ale-campaign-final-cta .button {
    background: #f24f07;
    border-radius: 3px;
    color: #fff;
    font-weight: 700;
}

.ale-campaign-actions .ale-campaign-button-secondary {
    background: rgba(255, 255, 255, .12);
    border: 1px solid rgba(255, 255, 255, .45);
}

.ale-campaign-section {
    margin: 0 0 42px;
}

.ale-campaign-snapshot {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 14px;
}

.ale-campaign-snapshot-card,
.ale-campaign-card,
.ale-campaign-empty,
.ale-campaign-faqs details {
    border: 1px solid #e1ded5;
    background: #fff;
}

.ale-campaign-snapshot-card {
    padding: 18px;
}

.ale-campaign-snapshot-card span,
.ale-campaign-card-meta {
    color: #f24f07;
    font-size: 12px;
    font-weight: 700;
    text-transform: uppercase;
}

.ale-campaign-snapshot-card p {
    margin: 8px 0 0;
    line-height: 1.5;
}

.ale-campaign-section-heading {
    margin-bottom: 18px;
}

.ale-campaign-section-heading h2,
.ale-campaign-copy-block h2,
.ale-campaign-final-cta h2 {
    margin: 0 0 10px;
    color: #202820;
    line-height: 1.18;
}

.ale-campaign-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 22px;
}

.ale-campaign-card {
    display: flex;
    flex-direction: column;
    min-height: 100%;
}

.ale-campaign-card-image {
    display: block;
    aspect-ratio: 16 / 10;
    background: #ece6d8;
    overflow: hidden;
}

.ale-campaign-card-image img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
}

.ale-campaign-card-body {
    padding: 18px;
    display: flex;
    flex-direction: column;
    flex: 1;
}

.ale-campaign-card h3 {
    font-size: 22px;
    line-height: 1.2;
    margin: 8px 0 10px;
}

.ale-campaign-card h3 a {
    color: #202820;
}

.ale-campaign-card-body p {
    margin: 0 0 16px;
}

.ale-campaign-card-actions {
    margin-top: auto;
}

.ale-campaign-card-actions a,
.ale-campaign-related a {
    color: #202820;
    border-bottom: 2px solid #f24f07;
    font-weight: 700;
    text-decoration: none;
}

.ale-campaign-copy {
    display: grid;
    gap: 22px;
}

.ale-campaign-copy-block {
    max-width: 920px;
}

.ale-campaign-copy-block p,
.ale-campaign-copy-block li,
.ale-campaign-faqs p,
.ale-campaign-final-cta p {
    font-size: 17px;
    line-height: 1.7;
}

.ale-campaign-copy-block ul {
    margin: 14px 0 0 22px;
}

.ale-campaign-related {
    align-items: center;
}

.ale-campaign-faqs details {
    padding: 18px 20px;
    margin-bottom: 10px;
}

.ale-campaign-faqs summary {
    cursor: pointer;
    font-weight: 700;
    color: #202820;
}

.ale-campaign-faqs p {
    margin: 12px 0 0;
}

.ale-campaign-final-cta,
.ale-campaign-empty {
    background: #f6f1e7;
    padding: clamp(24px, 4vw, 42px);
}

.ale-campaign-final-cta {
    display: flex;
    gap: 22px;
    align-items: center;
    justify-content: space-between;
}

.ale-campaign-final-cta > div {
    max-width: 760px;
}

@media (max-width: 960px) {
    .ale-campaign-snapshot,
    .ale-campaign-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 640px) {
    .ale-campaign-hero {
        padding: 34px 20px;
    }

    .ale-campaign-snapshot,
    .ale-campaign-grid {
        grid-template-columns: 1fr;
    }

    .ale-campaign-final-cta {
        display: block;
    }
}
