@charset "UTF-8";

/*
Theme Name: elegantescape
Theme URI:
Author: Alphasoft Limited
Author URI: https://alphasoft.ltd/
Description: Kawira Safaris Theme.
Text Domain: kawira
*/


@font-face {
  font-family: 'Glorify';
  src: url('inc/fonts/Glorify-Regular.ttf') format('truetype');
  font-weight: normal;
  font-style: normal;
}


h1, h2, h3, h4, h5, h6, .elementor-image-box-title a{
    font-family: 'Glorify', sans-serif;
}

body {
	margin: 0;
    overflow-x: hidden;
}
.wrap {
	max-width: 1350px;
    margin: auto;
    padding: 0 15px;
}

.rwanda:not(.active-cnt),
.uganda:not(.active-cnt), 
.kenya:not(.active-cnt),
.tanzania:not(.active-cnt),
.classic:not(.active-cnt),
.beach:not(.active-cnt),
.water:not(.active-cnt),
.private:not(.active-cnt),
.lastminute:not(.active-cnt),
.loyalty:not(.active-cnt),
.all:not(.active-cnt) {
	display: none;
}
.active-xtry {
	background:#ffab005c;
    padding: 5px 10px 5px;
    border-radius: 5px;
}
.active-xtry h3 a {
	color: #3e4e2a;
}
.active-xtry .elementor-icon {
	fill: #3e4e2a;
    color: #3e4e2a;
    border-color: #3e4e2a;
}

/* Tours Archive */
#tours-archive .wrap {
    display: flow-root;
}
.tours-sidebar {
    background: #EDEDED;
    padding: 16px;
    border-radius: 20px;
    border: 1px solid #188823;
    margin-right: 14px;
}
.filter-item {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    padding: 10px 0 15px;
    border-top: 1px solid #6f6f6f40;
}
.days-filter-item {
    border-top: 0;
    padding-top: 0;
}
.check-filter-item {
    flex-direction: row-reverse;
    justify-content: left;
    align-items: center;
    gap: 6px;
}
.check-filter-item label {
    width: auto !important;
    margin: 0 !important;
}
.check-filter-item input {
    margin: 0;
    height: 22px;
    width: 24px !important;
}
.filter-item label {
    width: 100%;
    margin-bottom: 5px;
}
.filter-item input, .filter-item select {
    padding: 5px 5px;
    border-radius: 5px;
    border: 1px solid #838383;
    color: #555555;
    font-family: outfit;
}
.filter-item input {
    width: 44%;
}
.filter-item select {
    width: 100%;
}
.tours-sidebar {
    position: sticky;
    top: 0;
}
span.active-filter {
    background: #18882312;
    padding: 0 0 0 12px;
    margin: 0 5px 4px 0;
    font-size: 14px;
    border: 1px solid #188823;
    display: inline-block;
    border-radius: 30px;
    line-height: 0;
}
span.remove-filter {
    background: #188823;
    padding: 9px 8px 12px;
    border-radius: 24px;
    cursor: pointer;
    color: #fff;
    display: inline-flex;
}
#tour-search {
    padding: 15px 20px;
    width: 89%;
    border-radius: 53px;
    margin: 0 0 15px;
    background: #ededed;
    border: 2px solid #848484;
    font-size: 17px;
    transition: .2s ease;
}
.home-tour-search {
    width: 80%;
    margin: auto;
    max-width: 600px;
    position: relative;
}
#tour-search-input {
    width: 100%;
    margin: auto;
    padding: 12px 25px;
    border-radius: 30px;
    background: #ededed;
    border: 2px solid #848484;
    font-size: 17px;
    font-family: 'Outfit';
    transition: .2s ease;
}
#tour-search:focus,
#tour-search:hover,
#tour-search-input:focus,
#tour-search-input:hover {
    background: #1888230d;
    border: 2px solid #188823;
}
#tour-search-input:focus,
#tour-search-input:hover {
    background: #ffffffcc !important;
    backdrop-filter: invert(1);
}
#tour-search-results {
    background: #fff;
    position: absolute;
    z-index: 5;
    box-shadow: 0px 0px 25px 5px #04700f40;
    border-radius: 0 0 20px 20px;
    width: 95%;
    left: 0;
    right: 0;
    margin: auto;
    padding-top: 15px;
}
.tour-result {
    display: flex;
    padding: 0 15px 15px;
    gap: 15px;
    text-align: left;
}
.tour-result img {
    height: 120px;
    width: auto;
    object-fit: cover;
}
.tour-result h3 {
    margin: 0 0 10px;
    font-size: 17px;
}
.tour-result p {
    font-size: 14px;
    color: #555555;
    margin: 0;
    font-weight: 300;
}
body .tour-result a.view-more-btn {
    padding: 7px 15px;
    font-size: 14px;
    font-weight: 300;
    margin-top: 10px;
}
body #tour-search-results a.view-more {
    background: #2E2E2E;
    box-shadow: 0 0 0 2px #2e2e2e !important;
    padding: 8px 19px;
    font-weight: 200;
    font-size: 15px;
    margin: 10px 0 20px;
}
body #tour-search-results a.view-more:hover {
    color: #fff !important;
    background: #3e4e2a !important;
}

/*Elementor Styles*/
.elementor-widget-tabs .elementor-tabs-wrapper {overflow:hidden;}
.elementor-widget-tabs .elementor-tab-title{display:table-cell;border:solid transparent;font-weight:700;line-height:1;padding: 10px 20px;position:relative;}
.elementor-widget-tabs .elementor-tab-title.elementor-active{border-bottom:3px solid #FFAB00;}
.elementor-widget-tabs .elementor-tab-content.elementor-active{display:block}
.elementor-widget-tabs .elementor-tab-title, .elementor-widget-tabs .elementor-tab-title a {color:#3e4e2a}
.elementor-widget-tabs .elementor-tab-title.elementor-active, .elementor-widget-tabs .elementor-tab-title.elementor-active a {color:#3e4e2a}
/*.elementor-widget-tabs.elementor-tabs-view-horizontal .elementor-tab-desktop-title.elementor-active:after, .elementor-widget-tabs.elementor-tabs-view-horizontal .elementor-tab-desktop-title.elementor-active:before {content:"";display:block;position: absolute;border-bottom-style:solid;bottom:0;height:0;width:999em;border-width:2px; border-color: #FFAB00;}*/
.elementor-widget-tabs.elementor-tabs-view-horizontal .elementor-tab-desktop-title.elementor-active:before {right:100%}
.elementor-widget-tabs.elementor-tabs-view-horizontal .elementor-tab-desktop-title.elementor-active:after {left: 100%}
.elementor-widget-tabs .elementor-tab-title {cursor:pointer;outline:var(--focus-outline, none);font-family:var(--e-global-typography-primary-font-family), Sans-serif;font-weight: var(--e-global-typography-primary-font-weight)}
.elementor-widget-tabs .elementor-tab-content{padding:20px 0px;}
@media( min-width: 768px ){
    
    #tours-archive .tour-item {
        width: 300px;
        min-width: 300px;
    }
    .tours-sidebar {
        float: left;
        width: 250px;
    }
    #tours-archive .tours-section {
        width: calc(100%);
        float: right;
    }
    #filterForm {
        display: flex;
        flex-direction: column;
    }

}

.tours-section{
    padding-bottom: 60px;
}
/** EXPERIENCES **/
.experiences-grid {
    display: grid;
    grid-template-columns: repeat(7, 1fr); /* 7 equal columns */
    grid-template-rows: auto;
    gap: 16px;
    grid-template-areas: 
        "item1  item1 item1  item2  item2  item3  item3"
        "item4  item4  item5  item5  item5  item6  item6"
        "item7  item7  item7  item8  item8  item9  item9"
        "item10 item10 item11 item11 item12 item12 item12"
        "item13 item13 item14 item14 item14 item15 item15"
        "item16 item16 item17 item17 item17 item18 item18";
}

/* Specific items span different columns and rows */
.experience-item:first-child { grid-area: item1; }
.experience-item:nth-child(2) { grid-area: item2; }
.experience-item:nth-child(3) { grid-area: item3; }
.experience-item:nth-child(4) { grid-area: item4; }
.experience-item:nth-child(5) { grid-area: item5; }
.experience-item:nth-child(6) { grid-area: item6; }
.experience-item:nth-child(7) { grid-area: item7; }
.experience-item:nth-child(8) { grid-area: item8; }
.experience-item:nth-child(9) { grid-area: item9; }
.experience-item:nth-child(10) { grid-area: item10; }
.experience-item:nth-child(11) { grid-area: item11; }
.experience-item:nth-child(12) { grid-area: item12; }
.experience-item:nth-child(13) { grid-area: item13; }
.experience-item:nth-child(14) { grid-area: item14; }
.experience-item:nth-child(15) { grid-area: item15; }
.experience-item:nth-child(16) { grid-area: item16; }

.experience-item {
    border-radius: 8px;
    overflow: hidden;
    text-align: center;
    transition: transform 0.3s ease;
    position: relative;
    display: grid;
}
.experience-item img {
    width: 100%;
    height: 300px;
    object-fit: cover;
    position: relative;
    transition: 0.3s ease;
}
.experience-item:hover img {
    transform: scale(1.1);
}

.experience-item:hover {
    transform: translateY(-5px); /* Slight hover effect */
}

.item-content {
    padding: 15px;
    position: absolute;
    z-index: 2;
    top: 0;
    height: 100%;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    width: 100%;
}
.item-content h3 {
    text-align: right;
    font-size: 30px;
    color: #fff;
    margin: 10px;
}
.item-content h3:after {
    content: "";
    position: absolute;
    width: calc(100% - 50px);
    height: 6px;
    background: #fff;
    left: 0;
    right: 0;
    margin: auto;
    top: 160px;
    opacity: 0;
    transition: .3s ease;
}
.experience-item:hover h3:after {
    top: 80px;
    opacity: 1;
    display: none;
}
.item-content p {
    background: #ffab00;
    padding: 20px;
    font-weight: 300;
    color: #fff;
    backdrop-filter: grayscale(1);
    text-align: right;
    font-size: 16px;
    margin-bottom: -160px;
    opacity: 0;
    transition: .3s ease;
}
.experience-item:hover p {
    margin-bottom: 0;
    opacity: 1;
}

/* Responsive behavior */
@media (max-width: 768px) {
    .experiences-grid {
        grid-template-columns: repeat(4, 1fr); /* Adjust for tablets */
        grid-template-areas: 
            "item1 item1 item2 item2"
            "item3 item3 item3 item3"
            "item4 item4 item4 item4"
            "item5 item5 item6 item6"
            "item7 item7 item7 item7";
    }
}

@media (max-width: 480px) {
    .experiences-grid {
        grid-template-columns: repeat(1, 1fr); /* Adjust for mobile */
        grid-template-areas: 
            "item1 item1 item1 item1"
            "item2 item2 item2 item2"
            "item3 item3 item3 item3"
            "item4 item4 item4 item4"
            "item5 item5 item5 item5"
            "item6 item6 item6 item6"
            "item7 item7 item7 item7"
            "item8 item8 item8 item8"
            "item9 item9 item9 item9"
            "item10 item10 item10 item10"
            "item11 item11 item11 item11"
            "item12 item12 item12 item12"
            "item13 item13 item13 item13"
            "item14 item14 item14 item14"
            "item15 item15 item15 item15"
            "item16 item16 item16 item16";
            padding: 0px 20px;
    }
}


/* Destinations */
.destinations-block {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 25px;
}
.destinations-block .destination-item {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 15px;
    box-shadow: 0px 0px 8px 2px #dbdbdb;
    border-radius: 10px;
    overflow: hidden;
}
.destinations-block .destination-item .content-col {
    padding-right: 15px;
}
.destinations-block .tour-gallery .visible-images {
    display: flex;
    gap: 5px;
}
.destinations-block .tour-gallery > .visible-images > a {
    flex: 1;
}
.destinations-block .image-col > img {
    height: 150px !important;
    width: 100%;
    object-fit: cover;
}
.destinations-block .tour-gallery > .visible-images > a > img {
    height: 70px !important;
    width: 100%;
    object-fit: cover;
    display: block;
}
.destinations-block .destination-item .content-col h3 {
    text-transform: uppercase;
    margin-bottom: 8px;
    color: #000000;
}
.destinations-block .destination-item .content-col p {
    color: #555555;
    font-weight: 300;
	font-size: 15px;
    line-height: 20px;
    margin-top: 0;
}
@media (max-width: 786px) {
    .destinations-block {
        grid-template-columns: 1fr;
    }
}


/* POPUP */
.survey-popup {
    display: none;
    position: fixed;
    z-index: 1000;
    left: 0;
    top: 0;
    width: 100%;
    height: 100%;
    background-color: rgba(0, 0, 0, 0.6);
}

.survey-container {
    background-color: white;
    margin: 5% auto;
    padding: 20px;
    border: 1px solid #888;
    width: 50%;
    border-radius: 8px;
}

.survey-step {
    display: none;
}

#step-1 {
    display: block;
}

button.next-button, button.prev-button {
    background-color: #4CAF50;
    color: white;
    padding: 10px 20px;
    border: none;
    cursor: pointer;
    margin: 10px 0;
}

button.prev-button {
    background-color: #f44336;
}

button.next-button:hover, button.prev-button:hover {
    opacity: 0.8;
}
/**Deal**/
.latest-tour-content{
    display: flex;
    flex-flow: row wrap;
    justify-content: space-between;
    margin-bottom: 20px;
    background-color: #fff;
    box-shadow: 0 0 7px 3px rgb(27 81 32 / 11%);
    border-radius: 5px;
    border: 2px solid #188823;
    align-items: center;
    gap: 5px;
    padding: 0 17px;
    color: #000;
    width: 100%;
}
.destNations .elementor-image-box-img img{
    width: 395px;
    height: 460px;
    object-fit: cover;
    object-position: center;
}
.destNations .elementor-image-box-wrapper{
    position: relative;
}
.destNations .elementor-image-box-wrapper::before{
    background: linear-gradient(0deg, rgba(0, 0, 0, .9), transparent);
    content: "";
    display: block;
    height: 20%;
    left: 0;
    opacity: .53;
    position: absolute;
    bottom: 4px;
    transition: opacity .3s ease-in-out;
    width: 100%;
    z-index: 4;
    border-radius: 8px;
}
.destNations .elementor-image-box-content{
    position: absolute;
    bottom: 30px;
    padding: 0px 20px;
    z-index: 9;

}
.destNations .elementor-image-box-title{
    margin: 0px;
}
/*.latest-tour-item{width: -webkit-fill-available;}*/
.latest-tour-content h2{
    margin: 0;
    font-size: 16px;
    width: 35%;
}
.general-price{font-size: 16px;text-shadow: 0 2px 4px rgba(0, 0, 0, 0.6);}
.tour-sale-price{color: red;font-weight: 700; font-size: 16px;}
.tour-route img{
    width: 182px;
    padding-top: 5px;
}
.tour-route{width: 20%;}
.deal-date{width: 12%;}
.per-person{font-size: 13px;}
.deal-btn{
    font-size: 14px;
    color: #188823;
    width: 14%;
}
.latest-tour-content:hover{
    background-color: #effff0;
    transition: .3s ease;
    transform: scale(1.01);
}
.tour-dates{margin: 65px 0px 0px 25px;}
.dtour-price{font-size: 15px; font-weight: 300;}
.deal-tour-price{width: 10%;}
@media (max-width: 600px) {
    .tours-sidebar {
        position: unset;
    }
    .tour-includes, .tour-excludes{width: 82%!important;float: unset;justify-content: center;}
    .book_dates{display: grid!important;width: 100%;margin: auto;}
    .avai_dates{display: flex!important;column-gap: 24px;}
    .tours-grid{justify-content: center;display:grid!important;}
    .cta-inner{display: block!important;}
    .destination .featured-image h1{font-size: 30px!important;}
    .elementor-widget-tabs .elementor-tab-title{padding: 10px 15px;}
    .menu-xtry .elementor-icon-box-wrapper{align-items: center;}
    .tour-row{display: block!important;}
    .tour-row a{margin-top: 10px!important;}
    .tabs .tab, .dtabs .dtab {padding: 8px 10px!important;}
    .tour-sidebar{display: none;}
}
.tours-flex-container {
    display: flex;
    flex-direction: column;
    gap: 15px;
}

.tour-row {
    display: flex;
    align-items: center;
    box-shadow: 0 0 2px 4px rgb(27 81 32 / 5%);
    border-radius: 5px;
    border: 2px solid #188823;
    padding: 25px 20px;
    gap: 20px;
}

.tour-row div {
    flex: 1;
}

.tour-row a {
    padding: 6px 12px;
    background: #188823;
    color: #fff;
    text-decoration: none;
    border-radius: 5px;
    text-align: center;
}

.tour-row a:hover {
    background: #145e19;
}
.tour-row:hover{background-color: #effff0;
    transition: .3s ease;
    transform: scale(1.01);}

@media(min-width:600px){
    .tours-sidebar {display: none!important;}
}
.related-tours{
    padding: 60px 0px;
}
.accommodation-location-country {
    display: flex;
    align-items: center;
    gap: 5px;
    margin-bottom: 8px;
    opacity: 0.7;
}

.location-icon {
    font-size: 20px; /* Adjust the size of the location icon */
}

.location, .country {
    font-size: 15px;
}

.accommodation-rating {
    margin-bottom: 20px;
    font-size: 18px;
    font-weight: bold;
}
.resort-rief {
    background-color: #effff0;
    padding: 10px 20px;
    border-radius: 5px;
    margin-top: 10px;
}
.related-accommodations{width: 1200px; margin: auto; padding: 60px 0px;}
.related-accommodation h3{z-index: 9;}
.related-accommodation-image img{height: 420px!important;object-fit: cover;}
.accommodation-rating {
    font-size: 20px; /* Adjust size as needed */
    color: #FFD700; /* Gold color for stars */
}

.accommodation-rating .rating-title {
    font-weight: bold;
    margin-right: 5px;
}

.accommodation-rating span:not(.rating-title) {
    line-height: 1;
}
.single-accommodation .description p{opacity: 0.7;}

/* Modal Overlay */
.book-popup-overlay {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: rgba(0, 0, 0, 0.5);
    z-index: 999;
    display: none;
}

/* Modal Content */
.book-popup {
    position: fixed;
    top: 52%;
    left: 50%;
    transform: translate(-50%, -50%);
    background: #fff;
    border-radius: 10px;
    z-index: 1000;
    width: 600px;
    padding: 12px 20px;
    text-align: left;
}

.popup-content {
    position: relative;
}

.popup-close {
    position: absolute;
    top: -15px;
    right: -15px;
    font-size: 24px;
    cursor: pointer;
    color: #fff;
    text-align: center;
    width: 30px;
    height: 30px;
    border-radius: 50%;
    display: flex;
    justify-content: center;
    align-items: center;
}

/* Form Container */
.form-container {
    max-width: 100%;
    margin: 0 auto;
    padding: 20px;
    text-align: left;
}

/* Labels */
.wpcf7-form-control-wrap label {
    display: block;
    font-weight: 600;
    margin-bottom: 5px;
    color: #333;
}

/* Input Fields */
.wpcf7-form .wpcf7-form-control {
    width: 100%;
    padding: 10px 15px;
    border: 1px solid #ccc;
    border-radius: 5px;
    font-size: 16px;
    box-sizing: border-box;
}

/* Input Fields on Focus */
.wpcf7-form .wpcf7-form-control:focus {
    outline: none;
    border-color: #188823;
    box-shadow: 0 0 5px rgba(24, 136, 35, 0.5);
}

/* Submit Button */
.book.enquire-form .wpcf7-form-control.wpcf7-submit, .enquire-form .wpcf7-form-control.wpcf7-submit {
    width: 20%!important;
}
.book.enquire-form .wpcf7-form-control.wpcf7-select{
	width: 86%!important;
}
/* Submit Button Hover */
.book.enquire-form .wpcf7-form .wpcf7-submit:hover {
    background-color: #145d1b;
}

/* Error Messages */
.book.enquire-form .wpcf7-not-valid-tip {
    color: #d9534f;
    font-size: 14px;
    margin-top: -10px;
}

/* Title */
.book.enquire-form .popup-title {
    font-size: 24px;
    font-weight: bold;
    color: #333;
    margin-bottom: 20px;
    text-align: center;
}

.book-form-flex{display: flex;column-gap: 10px;}
.book.enquire-form .wpcf7-form-control.wpcf7-textarea {height: 150px; width: 86%!important;}

/* Mobile-Specific Styling */
@media (max-width: 600px) {
    .book-popup{width: 90%;margin: 0px 15px 0px 0px; top:55%;align-items: center;}
}
.tour_name,
.start_date {
    display: block;
    font-weight: bold;
    margin-top: 5px;
    color: #333;
}

.wpcf7 p {
    margin-bottom: 4px;
}
p.tours-info{
    margin-bottom: 4px;
}
.aboutElegnat .elementskit-infobox{
	backdrop-filter: blur(14px);
    background: rgba(255, 255, 255, 0.05);
}