/*
Theme Name: Oliver holidays
Theme URI: https://dyquo.com
Author: Dyquo Labs
Author URI: https://dyquo.com
Description: Tema para Oliver holidays. 
Tags: holiday
Version: 1.0
Requires at least: 5.0
Tested up to: 5.4
Requires PHP: 7.0
Text Domain: tmh
*/

html {
    box-sizing: border-box;
    scroll-behavior: smooth;
}

*, *:before, *:after {
    box-sizing: inherit;
    margin: 0;
    padding: 0;
}

a {
    font-weight: 400;
    text-decoration: none;
    color: #3E3E3E;
}

a:visited {
    color: #3E3E3E;
}

/* For mobile phones: */
[class*="col-"] {
    width: 100%;
}

.container-ss { display: flex; flex-direction: row; }
.col-ss-6 { width: 50%; }
.col-ss-3 { width: 25%; }

@media only screen and (min-width: 600px) {
    /* For tablets: */
    .col-s-1 {width: 50%;}
    .col-s-2 {width: 50%;}
    .col-s-3 {width: 50%;}
    .col-s-4 {width: 50%;}
    .col-s-5 {width: 50%;}
    .col-s-6 {width: 50%;}
    .col-s-7 {width: 100%;}
    .col-s-8 {width: 100%;}
    .col-s-9 {width: 100%;}
    .col-s-10 {width: 100%;}
    .col-s-11 {width: 100%;}
    .col-s-12 {width: 100%;}
}

@media only screen and (min-width: 900px) {
    /* For desktop: */
    .col-1 {width: 8.33%;}
    .col-2 {width: 16.66%;}
    .col-3 {width: 25%;}
    .col-4 {width: 33.33%;}
    .col-5 {width: 41.66%;}
    .col-6 {width: 50%;}
    .col-7 {width: 58.33%;}
    .col-8 {width: 66.66%;}
    .col-9 {width: 75%;}
    .col-10 {width: 83.33%;}
    .col-11 {width: 91.66%;}
    .col-12 {width: 100%;}
}

.vtop { align-items: flex-start; }
.vbottom { align-items: flex-end; }
.vcenter { align-items: center; }
.desktop { display: none; }
.mobile { display: block; }
.cover { object-fit: cover; }

body {
    margin: 0;
    font-family: 'Hind Madurai', sans-serif;
    font-size: 18px;
    color: #707070;
}

h1 {
    font-family: 'Lora', serif;
    font-size: 32px;
    color: #444444;
    margin: 20px 0;
}

h2 {
    font-family: 'Lora', serif;
    font-size: 30px;
    font-weight: 400;
    color: #444444;
    margin-bottom: 20px;
}


.FullContent {
    width: 100%;
}

.Content {
    padding-left: 20px; 
    padding-right: 20px;
}

.ContentPadding {
    padding-left: 20px;
    padding-right: 20px;
}

.Section2 { 
    padding-top: 20px; 
    padding-bottom: 20px; 
}

.Section4 { 
    padding-top: 40px; 
    padding-bottom: 40px; 
}

.Primary {
    background-color: white;
    text-align: center;
    padding: 20px;
}

.Secondary {
    background-color: #EFEFEF;
    text-align: center;
    padding: 20px;
}

.Button {
    display: inline-block;
    border: none;
    background-color: #2D2D2D;
    padding: 20px 50px;
    text-transform: uppercase;
    color: white;
    font-size: 16px;
    font-family: 'Montserrat', sans-serif;
    font-weight: 600;
    white-space: nowrap;
    cursor: pointer;
}

a.Button { color: white; }
a:visited.Button { color: white; }

header {
    display: flex; 
    flex-direction: row;
    justify-content: space-between;
    align-items: center;
    background-color: none;
}

header .LogoFront {
    width: 100px;
}

header .LogoWrapper {
    padding-top: 10px;
}

header .Logo {
    width: 70px;
}

footer {
    background-color: #F0F0F0;
}

footer #Logo {
    margin-top: 20px;
    height: 200px;
    background: url('assets/images/logo/logo-full.png') no-repeat left top;
    background-size: 120px;
}

footer #Links {
    text-transform: uppercase;
}

footer #Help {
    text-transform: uppercase;
}

footer a:hover {
    text-decoration: underline;
}

footer .Whatsapp {
    margin: 20px 0;
    font-weight: 600;
    display: block;
    padding-left: 30px;
    background: url('assets/images/icons/whatsapp.svg') no-repeat left center;
    background-size: 25px;
}

footer .Email {
    margin: 10px 0;
    display: block;
    padding-left: 30px;
    background: url('assets/images/icons/email.svg') no-repeat left center;
    background-size: 25px;
}

footer .Phone {
    margin: 10px 0;
    display: block;
    padding-left: 30px;
    background: url('assets/images/icons/phone.svg') no-repeat left center;
    background-size: 25px;
}

footer .Instagram {
    margin: 10px 0;
    display: block;
    padding-left: 30px;
    background: url('assets/images/icons/instagram.svg') no-repeat left center;
    background-size: 25px;
}


#BurguerButton {
    display: block;
    margin-top: 10px;
    width: 60px;
    height: 60px;
    background: url('assets/images/icons/burguer.png') no-repeat center center;
    background-size: 35px;
}

.FrontMenu #BurguerButton {
    background: url('assets/images/icons/burguerw.png') no-repeat center top;
    background-size: 35px;
}

.Wys {
    margin-bottom: 30px;
}

#Front.Hero { background-image: url("assets/images/hero/rocas.jpg"); }
#Properties.Hero { background-image: url("assets/images/hero/terrace3.jpg"); }
#Cars.Hero { background-image: url("assets/images/hero/car.png"); }
#Services.Hero { background-image: url("assets/images/hero/sailboat.jpg"); }
#NotFound.Hero { background-image: url("assets/images/hero/dirt.jpg"); }
#Contact.Hero { background-image: url("assets/images/hero/terrace2.jpg"); }

.Hero {
    width: 100%;
    height: 100vh;
    color: white;
    background-size: cover;
    background-repeat: no-repeat;
    background-position: center;
}

.Hero.Half {
    height: 400px;
}

.Hero .Motto {
    text-align: center;
    font-family: 'Lora', serif;
    font-size: 40px;
    font-weight: 600;
}

.HeroWrapper {
    position: relative;
    height: 70vh;
    display: flex;
    align-items: center;
    justify-content: center;
}

.DetailsTopWrapper {
    width: 100%;
}


.DetailsTitle h1 {
    margin: 0;
    font-family: 'Montserrat', sans-serif;
    font-size: 35px;
    font-weight: 800;
}

.DetailsDescription h2 {
    font-family: 'Montserrat', sans-serif;
    font-size: 16px;
    font-weight: 600;
    margin-bottom: 20px;
}

.DetailsFeatures2 li {
    display: block;
    list-style: none;
    text-align: left;
    padding: 11px 0;
    padding-left: 36px;
    background-repeat: no-repeat;
    background-position: center left;
    background-size: 24px;
}

.DetailsFeatures2 li.hvac { background-image: url('assets/images/icons/hvac.png');}
.DetailsFeatures2 li.hotpool { background-image: url('assets/images/icons/water-ladder.png');}
.DetailsFeatures2 li.wash { background-image: url('assets/images/icons/washing-machine.png');}
.DetailsFeatures2 li.smarttv { background-image: url('assets/images/icons/smart-tv.png');}
.DetailsFeatures2 li.billar { background-image: url('assets/images/icons/pool-balls.png');}
.DetailsFeatures2 li.hamacas { background-image: url('assets/images/icons/generic.png');}
.DetailsFeatures2 li.sombrillas { background-image: url('assets/images/icons/umbrella.png');}
.DetailsFeatures2 li.games { background-image: url('assets/images/icons/gamepad.png');}
.DetailsFeatures2 li.wifi { background-image: url('assets/images/icons/wifi.png');}
.DetailsFeatures2 li.work { background-image: url('assets/images/icons/laptop-house.png');}
.DetailsFeatures2 li.parking { background-image: url('assets/images/icons/parking.png');}
.DetailsFeatures2 li.privparking { background-image: url('assets/images/icons/parking.png');}
.DetailsFeatures2 li.terrace { background-image: url('assets/images/icons/generic.png'); }
.DetailsFeatures2 li.barbecue { background-image: url('assets/images/icons/barbecue.png');}
.DetailsFeatures2 li.oven { background-image: url('assets/images/icons/oven.png');}
.DetailsFeatures2 li.mw { background-image: url('assets/images/icons/microwave.png');}
.DetailsFeatures2 li.coffee { background-image: url('assets/images/icons/coffee.png');}
.DetailsFeatures2 li.fridge { background-image: url('assets/images/icons/fridge.png');}
.DetailsFeatures2 li.craddle { background-image: url('assets/images/icons/generic.png');}
.DetailsFeatures2 li.trona { background-image: url('assets/images/icons/generic.png');}
.DetailsFeatures2 li.chbath { background-image: url('assets/images/icons/toyduck.png');}




.MainDetails1 {
    padding-left: 20px;
    padding-right: 20px;
}

.MainDetails2 {
    padding: 0 20px;
    background-color: #F9F9F9;
}

.MainImage {
    width: 100%;
    background-color: #DDD;
    height: 50vh;
}

.MainImage img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.AreaImage {
    height: 350px;
}

.AreaImage img {
    object-fit: cover;
    width: 100%;
    height: 100%;
}

.FrontMenu a {
    color: white;
}

.Menu .trp-language-switcher {
    margin: 0;
}

.Menu .trp-language-switcher div {
    border: none;
    background-color: transparent;
    padding-left: 0;
    background-image: none;
}

.Menu .trp-language-switcher div a {
    color: #3E3E3E;
}

.FrontMenu .trp-language-switcher div a {
    color: white;
}

.Menu .trp-ls-shortcode-language a {
    padding-left: 25px;
    display: block !important;
}


.MenuWrapper.mobile {
    visibility: hidden;  /* WAITING FOR JAVASCRIPT  */ 
    position: fixed;
    top: 0;
    right: -100vw;
    width: 102vw;
    height: 100vh;
    background-color: #E2F3FC;
    padding: 40px;
    z-index: 1000;
    transition: visibility 0s, right 0.15s linear;
}

.MenuWrapper.mobile.visible {
    visibility: visible;
    right: -1px;
    transition: visibility 0s, right 0.15s linear;
}

.MenuWrapper.mobile .Menu {
    display: flex;
    flex-direction: column;
}

.MenuWrapper.mobile .Menu a {
    font-size: 25px;
    display: inline-block;
    text-transform: uppercase;
    margin-top: 35px;
    color: #3E3E3E;
}

.MenuWrapper.mobile #CloseButton {
    user-select: none;
    position: absolute;
    top: 40px;
    right: 20px;
    width: 50px;
    height: 50px;
    background: url('assets/images/icons/close.png') no-repeat center center;
    background-size: 35px;
} 

.Feature {
    padding-left: 40px;
    background: no-repeat left center;
    padding-top: 14px;
    padding-bottom: 14px;
    min-height: 36px;
    background-size: 28px;
}

.Feature.People { background-image: url('assets/images/icons/people.png'); }
.Feature.Bedrooms { background-image: url('assets/images/icons/bed.png'); }
.Feature.Bathrooms { background-image: url('assets/images/icons/bath.png'); }
.Feature.Rooms { background-image: url('assets/images/icons/room.png'); }
.Feature.Garage { background-image: url('assets/images/icons/ca1_16.png'); }
.Feature.Surface { background-image: url('assets/images/icons/ca1_03.png'); }
.Feature.Kitchen { background-image: url('assets/images/icons/kitchen.png'); }
.Feature.Type { background-image: url('assets/images/icons/ca1_13.png'); }



.swiper {
    width: 100%;
    height: 400px;
    user-select: none;
}

.swiper-slide {
    text-align: center;
    font-size: 18px;
    background: #fff;

    /* Center slide text vertically */
    display: flex;
    justify-content: center;
    align-items: center;
}

.swiper-slide img {
    display: block;
    width: 100%; 
    height: 100%;
    object-fit: cover;
}

.swiper-pagination-fraction {
    text-align: right !important;
    padding-right: 20px;
    color: white;
    font-family: 'Montserrat', sans-serif;
}

.swiper-pagination-current {
    font-size: 46px;
    font-weight: 100;
}

.swiper-pagination-total {
    font-size: 25px; 
    font-weight: 900;
}

.swiperNavWrapper {
    display: none;
    justify-content: space-between;
}

.swiperButton {
    width: 40px;
    height: 40px;
    border: 1px solid #C5C5C5;
    cursor: pointer;
    background: no-repeat center center;
}

.swiperButton.Next { background-image: url('assets/images/icons/next.png');}
.swiperButton.Prev { background-image: url('assets/images/icons/prev.png');}

.featuredSwiper {
    margin: 20px auto;
    position: relative;
    overflow: hidden;
    list-style: none;
    padding: 0;
    z-index: 1;
    height: 302px;
}

.calendarSwiper {
    margin: 20px auto;
    position: relative;
    overflow: hidden;
    list-style: none;
    padding: 0;
    z-index: 1;
}



.PriceBox {
    color: #8D8D8D;
}

.PriceBox .Price {
    font-family: 'Lora', serif;
    color: #363636;
    font-size: 37px;
}



.FeaturedProperty {
    width: 100%;
    height: 300px;
    background-repeat: no-repeat;
    background-size: cover;
    border: 1px solid #DDD;
    text-align: left;
    background-color: #EEE;
    position: relative;
}

.FeaturedProperty .Header {
    padding: 15px;
    color: white;
}

.FeaturedProperty .Header .Title {
    font-family: 'Montserrat', sans-serif;
    font-size: 18px;
    font-weight: 800;
    text-transform: uppercase;
}

.FeaturedProperty .PriceBox {
    background-color: white;
    font-size: 0.8em;
    padding: 10px 15px;
    max-width: 140px;
    position: absolute;
    bottom: 20px;
    right: 20px;
    margin-right: 0 !important;
}


.LocationMap {
    height: 500px; 
    background-color: #AADAFF;
}

.NoResults {
    margin: 40px 0;
    text-align: center;
}

.PropertySummaryWrapper {
    margin: 0px -20px 20px -20px;
    box-shadow: 0px 10px 20px rgba(0, 0, 0, 0.3);
    position: relative;
}

.PropertySummaryWrapper .Title { 
    font-family: 'Montserrat', sans-serif;
    font-weight: 600;
    font-size: 22px;
    color: #343434;
}

.PropertySummaryWrapper .Desc {
    display: block;
    margin-top: 10px;
    min-height: 40px;
    font-weight: 100;
}

.SummaryMainImage {
    width: 100%;
    height: 265px;
    object-fit: cover;
}

.Filters {
    padding: 20px;
    background-color: #EFEFEF;
    font-weight: 500;
    margin-bottom: 50px;
    display: none;
}

.Filters.visible {
    display: block;
    width: 100%;
    position: relative;
}

.Filters h2 {
    font-family: 'Hind Madurai', sans-serif;
    font-size: 16px;
    color: #656565;
    margin-bottom: 10px;
    margin-top: 20px;
    text-transform: uppercase;
}

.Filters .FilterOption {
    margin-top: 7px;
    margin-bottom: 7px;
    margin-left: 0;
    list-style: none;
}

.FilterOption { 
    user-select: none;
}

.FilterOption input {
    display: inline-block;
    margin-right: 5px;
}

.FilterButtonWrapper {
    margin: 0 -20px;
}

#FiltersButton {
    display: block;
    padding: 15px 0;
    text-align: center;
    width: 100%;
    border-top: 1px solid #ccc;
    font-weight: 500;
    font-size: 20px;
    text-transform: uppercase;
}

#FiltersCloseButton {
    user-select: none;
    position: absolute;
    top: 20px;
    right: 20px;
    width: 50px;
    height: 50px;
    background: url('assets/images/icons/close.png') no-repeat center center;
    background-size: 35px;
} 


.PaginationWrapper {
    margin: 20px;
}

.PageButton {
    display: inline-block;
    width: 40px;
    height: 40px;
    margin-right: 10px;
    margin-bottom: 10px;
    border: 1px solid #ccc;
    color: #ccc;
    line-height: 40px;
    text-align: center;
    cursor: pointer;
    user-select: none;
}

.PageButton.Selected {
    border-color: black;
    color: black;
    font-weight: 500;
}

.Page {
    text-align: center;
    margin-top: 40px;
    margin-bottom: 100px;
}

.Page p {
    margin-bottom: 20px;
}

.WhatsappWrapper {
    position: fixed;
    bottom: 20px;
    right: 20px;
    z-index: 500;
}

.WhatsappButton {
    display: block;
    height: 80px;
    width: 80px;
    border: 1px solid #555;
    border-radius: 70px;
    background: url('assets/images/icons/whatsapp-w.png') no-repeat center;
    background-color: #2D2D2D;
    background-size: 40px;
}



.CalendarWrapper {
    display: flex;
}


.calendar {
    display: flex;
    flex-flow: column;
}
.calendar .header .month-year {
    font-family: 'Montserrat', sans-serif;
    font-weight: 600;
    color: #636e73;
    padding: 5px 0;
    text-align: center;
    text-transform: uppercase;
}
.calendar .days {
    display: flex;
    flex-flow: wrap;
}
.calendar .days .day_name {
    width: calc(100% / 7);
    padding: 5px 0;
    font-size: 12px;
    font-weight: bold;
    color: #818589;
    text-align: center;
}

.calendar .days .day_num {
    flex-flow: column;
    width: calc(100% / 7);
    font-weight: bold;
    color: #cfcfcf;
    padding: 5px 0;
    text-align: center;
    border-bottom: 2px solid white;
}
.calendar .days .day_num.Free {
    background-color: #19DD91;
    color: #4F716E;
}

.calendar .days .day_num span {
    font-size: 14px;
}
.calendar .days .day_num.ignore {
    background-color: #fdfdfd;
    color: #ced2d4;
    cursor: inherit;
}
.calendar .days .day_num.selected {
    background-color: #f1f2f3;
    cursor: inherit;
}

.Address {
    margin-bottom: 20px;
    text-decoration: underline;
}

#FiltersResetButton {
    cursor: pointer;
    text-decoration: underline;
    color: #BBB;
    user-select: none;
}

#FilterLoading {
    width: 100%;
    height: calc(100vh - 200px);
    display: flex;
    justify-content: center;
    align-items: center;
}

.FilterLoadingMessage {
    font-size: 20px;
}

.wpforms-confirmation-container-full {
    background-color: white !important;
    border: none !important;
}

.Left {
    text-align: left;
}

.Left li {
    margin-left: 25px;
}

.Left ul {
    margin-bottom: 20px;
}

.SmoobuContent h2 {
    margin: 0 20px;
}

#SmoobuCalendar .arrival {
    
}


.CarCard {
    margin: 10px;
    border: 1px solid #ccc;
    border-radius: 5px;
    padding: 15px;
    text-align: center;
}

.CarCard .Wys {
    
}

.CarCard .Price {
    font-family: montserrat;
    margin-bottom: 15px;
    font-size: 1.1rem;
    font-weight: 900;
    color: black;
}

.CarCard .PriceTag {
    font-size: 2.2rem;
}

.CarCard .Button {
    margin-bottom: 15px;
}

.CarCard .Description {
    font-size: 0.8em;
    text-align: left;
    margin-bottom: 15px;
}

#CarRentalConditions { margin-bottom: 40px; }
#CarRentalConditions p { margin-bottom: 10px; }
#CarRentalConditions li { margin-left: 20px; }

/*
 *
 *
 *
 *
 *  Media queries
 *
 *
 *
 */


@media only screen and (max-width: 420px) {
        
    .RevervationWrapper {
        position: fixed;
        bottom: 0;
        left: 0;
        width: 100%;
        background-color: white;
        box-shadow: 0px 0px 20px rgba(0, 0, 0, 0.3);
        padding: 0 20px;
        display: flex;
        flex-direction: row;
        justify-content: flex-start;
        align-items: flex-end;
        z-index: 400;
    }

    .PriceBox {
        margin-right: 30px;
    }

    .PriceBox .Price {
        font-family: 'Montserrat', sans-serif;
        font-size: 20px;
        font-weight: 700;
    }
}



@media only screen and (max-width: 900px) {
    header {
        width: 100%;
    }

    .DetailsFeatures2 {
        display: flex;
        flex-direction: row;
        flex-wrap: wrap;
        justify-content: center;
        padding: 0 20px;
    }

    .DetailsFeatures2 li {
        margin-right: 50px;
    }
}

@media only screen and (max-width: 420px) {
    .DetailsFeatures2 {
        display: block;
        padding: 0;
    }

    #Caracteristicas2 h2 {
        text-align: left;
    }
}

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

    body {
        font-size: 16px;
    }

    .container { display: flex; flex-direction: row; }
    .desktop { display: block; }
    .mobile {display: none; }

    h1 {
        font-size: 66px;
        margin: 20px 0;
        font-weight: 400;
    }
    
    header {
        padding-left: 0;
        padding-right: 0;
        background-color: none;
    }

    .Hero .Motto {
        font-size: 80px;
    }

    .FrontLogo {
        background: url('assets/images/logo/logo-full.png') no-repeat center top;
        background-size: 110px;
        padding-top: 140px;
    }    

    .Content {
        margin-left: auto;
        margin-right: auto;
    }

    .Primary { 
        padding: 40px 20px; 
    }

    .Secondary { 
        padding: 40px 20px; 
    }

    .MainDetails2 {
        min-width: 400px;
        padding-left: 40px;
        padding-right: 40px;
    }
    
    .MainImage {
        height: calc(100vh - 86px);
        
    }

    .DetailsTopWrapper {
        border-top: solid 1px #B9B9B9;
    }

    .DetailsTitle {
        padding-top: 50px;
    }

    .DetailsTitle h1 {
        font-size: 30px;
        font-weight: 600;
    }

    .DetailsDescription p {
        max-height: 120px;
        overflow: hidden;
        text-overflow: ellipsis;
        font-size: 14px;
    }
    
    .DetailsFeatures2 {
        display: flex;
        flex-direction: row;
        flex-wrap: wrap;
        justify-content: center;
        padding: 0 100px;
    }

    .DetailsFeatures2 li {
        margin-right: 50px;
    }

    .Menu a {
        font-family: 'Montserrat', sans-serif;
        display: inline-block;
        text-transform: uppercase;
        margin-left: 20px;
    }

    .Menu .trp_language_switcher_shortcode {
        display: inline-block;
        background-color: white;
    }

    .FrontMenu .trp_language_switcher_shortcode {
        background-color: transparent;
    }

    .Menu .trp-language-switcher div {
        background-color: white;
    }

    .FrontMenu .trp-language-switcher div {
        background-color: transparent;
    }

    .FrontMenu .trp-language-switcher div a:hover {
        background: transparent;
    }

    .Menu .trp-ls-shortcode-language {
        border: 1px solid #ccc;
    }
    .Menu .trp-ls-shortcode-language a {
        padding-left: 0px;
        display: block !important;
        margin-bottom: 20px;
    }


    .VerticalSeparator {
        border-right: 1px solid #C1C1C1;
    }

    .swiper {
        width: 100%;
        height: 500px;
    }

    .swiper-slide {
        text-align: center;
        font-size: 18px;
        background: #fff;

        /* Center slide text vertically */
        display: flex;
        justify-content: center;
        align-items: center;
    }

    .swiper-slide img {
        display: block;
        width: 900px; 
        height: 500px;
        object-fit: cover;
    }

    .PropertySummaryWrapper {
        margin: 20px;
        border: 1px solid #ddd;
        /* filter: drop-shadow(0px 9px 20px rgba(0, 0, 0, 0.102)); */
    }
    
    .Filters {
        display: block;
    }

    .Page {
        font-size: 18px;
    }

    .DesktopCenter {
        text-align: center;
    }

    .WhatsappButton {
        height: 60px;
        width: 60px;
        background-size: 30px;
    }
    

    .featuredSwiper {
        margin-bottom: 40px;
    }

    .FeaturedProperty .PriceBox .Price {
        font-size: 30px;
        line-height: 25px;
    }

    .swiperNavWrapper {
        display: flex;
    }

    #FilterLoading {
        width: 100%;
        height: 300px;
    }    

    .SmoobuContent {
        width: 1000px;
        margin-left: auto;
        margin-right: auto;
    }

    .CarCard {
        width: 33%;
    }
}

@media only screen and (min-width: 1200px) {
    .Content {
        width: 1200px;
    }
}
