/* common  */
section.have-sboxed {
    padding-bottom: 0;
}
section.have-sboxed .sboxed {
	background: #fff;
	border-radius: 12px;
	box-shadow: 0px 0px 100px rgba(0, 0, 0, 0.05);
	position: relative;
	z-index: 1;
    margin-bottom: -300px;
}
section.have-sboxed + section {
    padding-top: 300px;
}

/* Destinations block */
.ratio-1-1 {
    aspect-ratio: 1/1;
}
.ratio-1-2 {
    aspect-ratio: 1/2;
}
.ratio-2-1 {
    aspect-ratio: 2/1;
}
.a1 { grid-area: a1; }
.a2 { grid-area: a2; }
.a3 { grid-area: a3; }
.a4 { grid-area: a4; }
.a5 { grid-area: a5; }
.a6 { grid-area: a6; }


@media screen and (min-width: 992px) {
    .grid-style1 {
        display: grid; 
        grid-template-columns: 1fr 1fr 1fr 1fr 1fr; 
        grid-template-rows: 1fr 1fr; 
        gap: 20px 20px; 
        grid-template-areas: 
        "a1 a1 a2 a3 a4"
        "a1 a1 a5 a6 a6"; 
    }
    .grid-style2 {
        display: grid;
        grid-template-columns: 1fr 1fr 1fr 1fr;
        grid-template-rows: 1fr 1fr;
        gap: 20px 20px;
        grid-auto-flow: row;
        grid-template-areas:
        "a1 a2 a3 a4"
        "a5 a2 a6 a6";
    }
    .grid-style5 {  
        display: grid;
        gap: 30px 30px;
        grid-auto-flow: row;
        grid-template-columns: 1fr 1fr; 
        grid-template-rows: 1fr 1fr 1fr; 
        grid-template-areas: 
        "a1 a2"
        "a3 a2"
        "a3 a2"; 
    }
}
@media screen and (min-width: 768px) and (max-width: 991px) {
    
}

@media screen and (max-width: 991px) {
    .grid-style1{
        display: grid; 
        grid-template-columns: 1fr 1fr 1fr; 
        grid-template-rows: 1fr 1fr 1fr 1fr; 
        gap: 15px 15px; 
        grid-template-areas: 
        "a1 a1 a2"
        "a1 a1 a3"
        "a4 a6 a6"
        "a5 a6 a6"; 
    }
    .grid-style2 {
        display: grid;
        grid-template-columns: 1fr 1fr;
        grid-template-rows: 1fr 1fr 1fr 1fr;
        gap: 20px 20px;
        grid-auto-flow: row;
        grid-template-areas:
        "a1 a2"
        "a3 a2"
        "a4 a5"
        "a6 a6";
    }
    

}

@media screen and (min-width: 768px) {
    
    .grid-style1 .destination-item:not(.a1):not(.a6) {
        aspect-ratio: 1/1;
    }

    .grid-style2 .destination-item:not(.a2):not(.a6) {
        aspect-ratio: 1/1;
    }
}

@media screen and (max-width: 767px) {
    .grid-style2,
    .grid-style1 {
        display: grid; 
        grid-template-columns: 1fr 1fr; 
        grid-template-rows: 1fr 1fr 1fr; 
        gap: 15px 15px; 
        grid-template-areas: 
        "a1 a2"
        "a3 a4"
        "a5 a6";
    }
    .grid-style2 > div,
    .grid-style1 > div{
        aspect-ratio: 1/1;
    }
}

@media screen and (max-width: 575px){
    .grid-style1,
    .grid-style2,
    .grid-style3 {
        display: block;
    }
    .grid-style1 > div,
    .grid-style2 > div,
    .grid-style3 > div {
        margin-bottom: 15px;
    }
    
    .a1,
    .a2,
    .a3,
    .a4,
    .a5,
    .a6 {
        
    }
}





.destinations-block .destination-thumbnail {
	background-position: center center;
	background-repeat: no-repeat;
	background-size: cover;
	position: relative;
	overflow: hidden;
    margin: 0;
	height: 100%;
}
.destinations-block .destination-thumbnail:before {
    content: "";
    background-image: url(../img/dash-line-1.png), url(../img/dash-line-2.png);
    background-position: right top, left bottom;
    background-repeat: no-repeat, no-repeat;
    background-color: rgba(0, 0, 0, 0.7);
    background-size: 40%, 40%;
    position: absolute;
    width: 100%;
    height: 100%;
    bottom: 0;
    transition: all .25s linear;
    display: none;
}
.destinations-block .destination-item:hover .destination-thumbnail:before {
    display: block;
}

.destinations-block .destination-thumbnail .destination-inner {
    background: linear-gradient(180deg, rgba(0, 0, 0, 0) 0%, #000000 100%);
    height: 100px;
    width: 100%;
    position: absolute;
    bottom: 0;
    transition: all .25s linear;
    
    text-align: center;
}
.destinations-block .destination-item a.item-link,
.destinations-block .destination-item a.item-link:active,
.destinations-block .destination-item a.item-link:visited {
    color: var(--brand-01);
}
.destinations-block .destination-thumbnail h4 a{
    color: #fff;
}
.destinations-block .destination-thumbnail .item-link{
    display: none;
}
.destinations-block .destination-item:hover fieldset{
    height: 100%;
    background: transparent none;
}
.destinations-block .destination-item:hover .item-link{
    display: block;
    text-decoration: none;
    outline: none;
    border-bottom: 0 none;
}

.destinations-block-inner.style3 {
	margin-bottom: 50px;
}
.style3 .destination-item {
    aspect-ratio: 1/1.5;
}

.destinations-block .flickity-page-dots {
    /* bottom: -60px; */
    margin-top: 60px;
}
.style3 .destinations-block .destination-thumbnail {
    height: calc(100%-100px);
}
.style3 .destination-item:nth-child(2n) .destination-thumbnail {
	margin-top: 50px;
	/* z-index: 1;
	overflow: visible; */
}
/* home under banner widget */
.home-under-banner {
    background: rgba(65, 175, 172, 0.15);
    padding: 6.8rem 0 4rem;
    position: relative;
}
.widget.AjaxSearchLiteWidget {
	/* position: absolute; */
	/* top: -24px; */
	margin-top: -140px;
}
.AjaxSearchLiteWidget div.asl_m.asl_w {
	border: 15px solid rgb(255, 255, 255) !important;
	border-radius: 8px 8px 8px 8px !important;
	box-shadow: none !important;
	outline: 10px solid rgba(255,255,255,.4);
    max-width: calc(100% - 30px);
}
.AjaxSearchLiteWidget .proinput {
    padding-left: 20px !important;
}
.AjaxSearchLiteWidget .asl_m .probox .innericon {
    border-radius: 4px;
    
}
.AjaxSearchLiteWidget .proinput::before {
	content: "location_on";
	font-family: "Material Icons Outlined";
	position: absolute;
	left: 0;
	font-size: 16px;
	color: var(--placeholder-colour);
	top: 5px;
}
#ajaxsearchlite1 .probox .proinput input, 
div.asl_w .probox .proinput input {
	font-size: 16px !important;
	line-height: 24px !important;
}
/* home about us block */
.aboutus-block {
    background: #FEF7EF;
}
.aboutus-block .intro-text{
    margin-bottom: 5rem;
}

/* home testi block */
.home-testi-content {
    font-style: italic;
    margin-bottom: 1.5rem;
}
.home-testi-item.review-post {
    position: relative;
    padding-left: 2rem;
    background: transparent;
}
.home-testi-item::after, 
.home-testi-item::before {
	content: "";
	width: 5px;
	top: 0px;
	left: 0px;
	display: block;
	position: absolute;
	border-radius: 10px;
}
.home-testi-item::before {
	z-index: 2;
	height: 34%;
	background-color: #41afac;
}
.home-testi-item::after {
	height: 100%;
	background-color: #E3E5EC;
}
/* Page Reviews */
.review-post .review-body {
	padding: 30px;
	position: relative;
	overflow: hidden;
}
.review-post {
	background: var(--ui-02);
	margin-bottom: 30px;
}
.review-post .review-content {
	padding: 1rem 0 0.5rem;
	overflow: hidden;
}
.review-post .review-body .review-meta {
	color: var(--placeholder-colour);
	padding: 25px 0 0;
}
.review-post .review-client img {
	width: 55px;
	height: 55px;
	margin-bottom: 10px;
	border-radius: 50%;
	margin-right: 1rem;
    display: inline-block;
	vertical-align: middle;
}
.review-post .review-client .review-client-meta {
	/* overflow: hidden; */
	display: inline-block;
	vertical-align: middle;
}
.review-post .review-address,
.review-post .review-review-date{
    font-size: 14px;
    color: var(--light-text-colour);
}
.review-post .review-name{
    margin-bottom: 0;
}
.review-post .review-body .review-source-link {
	color: var(--light-text-colour);
	padding: 4px 12px;
	border-radius: 15px;
	background: #fff;
	font-size: 14px;
	line-height: 19px;
}


/* about page */
.page-aboutus {}
.about-intro {
    margin-bottom: 4rem;
}
.about-vision-mission {
    position: relative;
	z-index: 1;
}
.about-vision-mission .sboxed {
	background: #fff;
	border-radius: 12px;
	box-shadow: 0px 0px 100px rgba(0, 0, 0, 0.05);
	position: relative;
	z-index: 1;
    margin-bottom: -300px;
}
.page-aboutus section.have-sboxed .sboxed {
    margin-bottom: -300px;
}
.about-vision-mission .section-image{
    overflow: hidden;
    object-fit: cover;
    border-radius: 0 12px 12px 0;
}

@media (min-width: 768px) {
    .about-vision-mission .section-image img{
        border-radius: 0 12px 12px 0;
        height: 100%;
        max-width: none;
    }
}
@media (max-width: 767px) {
    .about-vision-mission .section-image {
        margin-bottom: 0;
    }
    .about-vision-mission .section-image img{
        border-radius: 0 0 12px 12px;
    }
}
.about-corevalue.bg-brand-01 *{
    color: #FFF;
    text-shadow: 0.05rem 0.05rem rgba(0,0,0,0.3);
}
.about-corevalue .dropcap {
	float: left;
	font-size: 120px;
	font-weight: 500;
	opacity: 0.2;
	line-height: 120px;
	margin-right: 1rem;
}
.about-corevalue .section-content {
}
.whyus-item {
    margin-bottom: 2.5rem;
}
.team-item p {
    margin-bottom: 0.5rem;
}
.team-item img {
	margin-bottom: 1rem;
}

/* Contact us */
.page-contactus .header-banner {
    align-items: start !important;
}
/* .sboxed-container {
    position: relative;
    z-index: 1;
} */
.page-contactus section.have-sboxed .sboxed {
    padding: 4rem 6rem;
    margin-bottom: -300px;
}
.branch-item {
    margin-bottom: 3rem;
}
.branch_details {
    padding-left: 1.5rem;
}
.branch-item h6{
    color: var(--light-text-colour);
}
.branch-detail {
    margin-bottom: 12px;
}
.branch-detail i {
    font-size: inherit;
    color: var(--brand-01);
}
.branch-detail a{
    color: var(--text-colour);
}

/* Page Booking Form */
.page-booking-form.type-start {
    counter-reset: num;        
}
.page-booking-form h2,
.page-booking-form h1 {
    text-align: center;
}
.wpcf7 .form-group {
    margin-bottom: 1.5rem;
}

.wpcf7 .wpcf7-checkbox .wpcf7-list-item {
    padding-bottom: 5px;
    padding-top: 5px;
}
.wpcf7 form .trx_mscf_step ~ .trx_mscf_step.trx_mscf_active {
    animation: none !important;
}
ul.range_slide{
    list-style: none;
    display: flex;
    justify-content: space-between;
    padding: 0;
    margin-top: 4rem;
}
ul.range_slide li{
    -ms-flex-preferred-size: 0;
    flex-basis: 0;
    -ms-flex-positive: 1;
    flex-grow: 1;
    max-width: 100%;
    position: relative;
    padding: 16px 24px;
    cursor: pointer;
}
ul.range_slide li:before {
    content: "";
    width: 12px;
    height: 12px;
    color: #FFF;
    background: #fff;
    text-align: center;
    border-radius: 50%;
    position: absolute;
    z-index: 0;
    top: -6px;
    left: 50%;
    transform: translateX(-50%);
}
ul.range_slide li.active:before {
    width: 16px;
    height: 16px;
    top: -8px;
    background: var(--brand-03);
}
ul.range_slide li:after {
    content: "";
    height: 2px;
    background: #fff;
    position: absolute;
    z-index: -1;
    top: 0;
    left: 0;
    right: 0;
}
.page-booking-form.type-form .wpcf7 .trx_mscf_progressbar {
    display: flex;
    background: rgba(255,255,255,.5);
    position: fixed;
    z-index: 1 !important;
    list-style: none;
    padding: 0;
    margin-bottom: 50px;
    left: 15px;
    right: 15px;
    bottom: 0;
}
.wpcf7 .trx_mscf_progressbar li {
    position: relative;
    z-index: 1;
    color: transparent !important;
    height: 3px !important;
}
.wpcf7 .trx_mscf_progressbar li.active {
    background: #fff;
}
.wpcf7 .trx_mscf_next, .wpcf7 .trx_mscf_prev {
    color: #fff;
}
.wpcf7 form .trx_mscf_step {
    position: absolute;
    top: 0;
    bottom: 0;
    left: 0;
    right: 0;
    z-index: 1;
}
.wpcf7 form .trx_mscf_step .wrapper {
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    z-index: -1;
    
}
.scr-x {
    overflow-x: auto;
}
.step-header {
    margin-bottom: 3rem;
}

@media (max-width: 767px) {
    .page-booking-form{
        position: relative;
        background-image: none !important;
        background-color: #F7F7F9;
    }
    .page-form-logo {
        display: none;
    }
    .page-booking-form.type-start ul{
        list-style: none;
        text-align: left;
    }
    .page-booking-form.type-start ul li{
        position: relative;
        margin-bottom: 1rem;
        display: -ms-flexbox;
        display: flex;
    }
    .page-booking-form.type-start ul li::before {
        counter-increment: num;
        content: counter(num);
        width: 24px;
        height: 24px;
        font-size: 16px;
        line-height: 24px;
        color: var(--brand-03);
        background: #fff;
        text-align: center;
        border-radius: 50%;
        margin-right: 10px;
        flex-shrink: 0;
    }
    .page-booking-form.type-start ul li:after {
        display: none;
    }
    .step-header {
        margin-bottom: 2rem;
    }

    .page-booking-form.type-form .wpcf7 .trx_mscf_progressbar {
        background: #E3E5EC;
        position: absolute;
        padding: 0;
        margin: 0;
        left: 0;
        right: 0;
        top: 0;
        bottom: auto;
        max-width: none;
    }
    .wpcf7 .trx_mscf_progressbar li {
    }
    .wpcf7 .trx_mscf_progressbar li.active {
        background: var(--brand-01);
    }
    .wpcf7 form .trx_mscf_step {
        height: calc(100vh - 92px);
    }
    body.admin-bar .wpcf7 form .trx_mscf_step {
        height: calc(100vh - 255px);
        position: fixed;
        top: 142px;
        overflow: scroll;
    }
    .wpcf7 form .trx_mscf_step .wrapper {
        /* background: #F7F7F9; */
        position: static;
        padding: 2rem 0;
    }
    .page-booking-form.type-form .wpcf7-submit,
    .wpcf7 .trx_mscf_next:not(.notpos) {
        position: fixed;
        z-index: 1;
        bottom: 0px;
        left: 0;
        right: 0;
        width: 100%;
        border-radius: 0;
    }
    ul.range_slide {
        padding-top: 0.5rem;
        margin-top: 1rem;
        margin-top: 0.5rem;
    }
    ul.range_slide li:before,
    ul.range_slide li:after {
        background: var(--ui-03);
    }
    ul.range_slide li.active:before {
        background: var(--brand-03);
    }
    .wpcf7 .trx_mscf_prev {
        color: var(--brand-01);
    }
    .wpcf7 .trx_mscf_prev {
        position: fixed;
        z-index: 1;
        bottom: 50px;
        left: 50%;
        transform: translateX(-50%);
    }
    .wpcf7 .wpcf7-checkbox .wpcf7-list-item {
        width: 100%;
    }
    .page-booking-form.type-form .wpcf7 p {
        margin: 0;
    }
}
@media (min-width: 768px) {
    .page-booking-form:not(.type-form) {
        position: fixed;
        z-index: 1;
        height: 100vh;
        top: 0;
        right: 0;
        bottom: 0;
        left: 0;
        background-color: var(--ui-07);
        background-repeat: no-repeat;
        background-position: center;
        background-size: cover;
        color: #fff;
        padding-top: 200px;
        overflow-y: auto;
    }
    .page-booking-form:not(.type-form):before {
        content: "";
        position: fixed;
        top: 0;
        left: 0;
        z-index: -1;
        width: 100%;
        height: 100%;
        background: rgba(0, 0, 0, 0.5);
    }
    .page-form-logo {
        filter: drop-shadow(0px 4px 8px rgba(0, 0, 0, 0.1));
        text-align: center;
        position: absolute;
        z-index: 2;
        left: 50%;
        top: 0px;
        transform: translateX(-50%);
    }
    .page-booking-form h2,
    .page-booking-form h1 {
        color: #FFF;
        text-align: center;
    }
    .page-booking-form h1 {
        margin-bottom: 5rem;
    }
    
    .page-booking-form.type-start ul{
        list-style: none;
        display: flex;
        justify-content: space-between;
        padding: 0;
    }
    .page-booking-form.type-start ul li{
        -ms-flex-preferred-size: 0;
        flex-basis: 0;
        -ms-flex-positive: 1;
        flex-grow: 1;
        max-width: 100%;
        position: relative;
        padding: 36px 30px;
    }
    .page-booking-form.type-start ul li:before {
        counter-increment: num;
        content: counter(num);
        width: 48px;
        height: 48px;
        font-size: 20px;
        line-height: 46px;
        color: var(--brand-03);
        background: #fff;
        text-align: center;
        border-radius: 50%;
        position: absolute;
        z-index: 0;
        top: -24px;
        left: 50%;
        transform: translateX(-50%);
    }
    .page-booking-form.type-start ul li:after {
        content: "";
        height: 2px;
        background: #fff;
        position: absolute;
        z-index: -1;
        top: 0;
        left: 0;
        right: 0;
    }
    .page-booking-form.type-start ul li:first-child:after {
        left: 25%;
    }
    .page-booking-form.type-start ul li:last-child:after {
        right: 25%;
    }
    
    /* type form */
    .page-booking-form.type-form {
        position: fixed;
        z-index: 1;
        top: 0;
        left: 0;
        width: 100%;
        min-height: 100vh;
    }
    
    
    .back-wrapper {
        
        
    }
    .wpcf7 .trx_mscf_next, .wpcf7 .trx_mscf_prev {
        color: #fff;
    }
    .wpcf7 .trx_mscf_prev {
        position: absolute;
         z-index: 1;
        bottom: 10px;
        left: 7%;
    }
    
    .wpcf7 .trx_mscf_next:not(.notpos) {
        position: absolute;
        z-index: 1;
        left: 50%;
        transform: translateX(-50%);
        bottom: 90px;
    }
    
    .wpcf7 form .trx_mscf_step {
        background-repeat: no-repeat;
        background-position: center bottom;
        background-size: cover;
        color: #fff;
    }
    .intl-tel-input .country-list li.country {
        color: initial;
    }
    .wpcf7 form .trx_mscf_step .wrapper {
        display: flex !important;
        align-items: center;
        justify-content: center;
        
    }
    
    .wpcf7 form .trx_mscf_step::before {
        content: "";
        position: absolute;
        z-index: -1;
        width: 100%;
        height: 100%;
        background: rgba(0, 0, 0, 0.5);
        top: 0;
        bottom: 0;
        left: 0;
    }
    .wpcf7 form .trx_mscf_step[data-step="1"]{
        background-image: url(../img/bg_form1.jpg)
    }
    .wpcf7 form .trx_mscf_step[data-step="2"]{
        background-image: url(../img/bg_form2.jpg)
    }
    .wpcf7 form .trx_mscf_step[data-step="3"]{
        background-image: url(../img/bg_form3.jpg)
    }
    .wpcf7 form .trx_mscf_step[data-step="4"]{
        background-image: url(../img/bg_form4.jpg)
    }
    .wpcf7 form .trx_mscf_step[data-step="5"]{
        background-image: url(../img/bg_form5.jpg)
    }
    .wpcf7 form .trx_mscf_step[data-step="6"]{
        background-image: url(../img/bg_form6.jpg)
    }
    .wpcf7 form .trx_mscf_step[data-step="7"]{
        background-image: url(../img/bg_form7.jpg)
    }
    .wpcf7 form .trx_mscf_step[data-step="8"]{
        background-image: url(../img/bg_form8.jpg)
    }
    
    .wpcf7 .wpcf7-checkbox.d-md-flex {
        flex-wrap: wrap;
        justify-content: space-around;
    }
    .wpcf7 .wpcf7-checkbox.d-md-flex .wpcf7-list-item {
        margin: 0;
        width: 50%;
        min-width: 150px;
        padding: 8px 24px;
    }
    .wpcf7 .wpcf7-checkbox .wpcf7-list-item.first.last {
        padding: 8px 0;
        width: auto;
    }
    .page-booking-form .wpcf7-acceptance input[type="checkbox"] + .wpcf7-list-item-label::before, 
    .page-booking-form .wpcf7-checkbox input[type="checkbox"] + .wpcf7-list-item-label::before {
        color: #FFF;
    }
}

/* other pages */
.contact-boxes {
    padding-top: 30px;
}
.contact-box a:visited,
.contact-box a {
    color: var(--text-colour);
}
.contact-box a:hover {
    color: var(--brand-01);
    text-decoration: none;
}
.contact-box .contact-label {
    font-size: 20px;
    font-weight: bold;
    
}
@media (min-width: 768px) {
    .contact-boxes {
        padding-top: 50px;
        justify-content: center;
    }
    .contact-box {
        border-radius: 8px;
        padding: 50px;
        flex-shrink: 1;
    }
    .contact-box span{
        display: block;
    }
    .contact-box .contact-label {
        margin: 30px 0 8px;
        
    }
}
@media (max-width: 767px) {
    .contact-box {
        padding: 15px;
        margin-bottom: 30px;
        text-align: left;
    }

    .contact-box span{
        display: inline-block;
    }
    .contact-box img {
        width: 50px;
        height: 50px;
        float: left;
        margin: 0 10px 10px 0;
    }
    .contact-box .contact-label {
        font-size: 18px;
    }
    .page-contactus section.have-sboxed .sboxed {
        padding: 1rem;
        margin-bottom: -300px;
    }
}