@font-face {
    font-family: 'Gotham-Book';
    src: url('/a/fonts/Gotham-Book.otf'),
    url('/a/fonts/Gotham-Book.eot');
}

@font-face {
    font-family: 'Gotham-Book-Regular';
    src: url('/a/fonts/Gotham Book Regular.otf'),
    url('/a/fonts/Gotham Book Regular.eot');
}

@font-face {
    font-family: 'Gotham-Book-Italic';
    src: url('/a/fonts/GothamBookItalic.ttf'),
    url('/a/fonts/GothamBookItalic.ttf');
}

@font-face {
    font-family: 'Gotham-Bold';
    src: url('/a/fonts/Gotham-Bold.otf'),
    url('/a/fonts/Gotham-Bold.otf');
}

@font-face {
    font-family: 'Didot-Regular';
    src: url('/a/fonts/Didot.ttc'),
    url('/a/fonts/Didot.ttc');
}

@font-face {
    font-family: 'Didot';
    src: url('/a/fonts/Didot Italic.ttf'),
    url('/a/fonts/Didot Italic.ttf');
}

@font-face {
    font-family: 'Didot-Regular';
    src: url('/a/fonts/Didot-Regular.ttf'),
    url('/a/fonts/Didot-Regular.ttf');
}

@font-face {
    font-family: 'MyriadPro-Regular';
    src: url('/a/fonts/MyriadPro-Regular.otf'),
    url('/a/fonts/MyriadPro-Regular.otf');
}

/** Variables **/
:root {
    --bg-color-dark: #373636;
    --color-white: #fff;
    --color-black: #000;
    --color-near-black: #191919;
    --color-blue: #8FB0D4;
    --color-ultra-light-gray: #F7F7F7;
    --color-light-gray: #ccc;
    --color-very-light-gray: #eaeaea;
    --color-medium-gray: #888;
    --color-dark-gray: #444;
    --color-dark-medium-gray: #555;
    --color-gold: #AC9868;
    --color-medium-blue: #0F7FD1;
    --color-red: #c45e2d;
    --color-logo-fb: #3B5998;
    --color-logo-twitter: #55ACEE;
    --color-logo-youtube: #E52D27;
    --color-logo-google-plus: #DD4B39;
    --color-logo-ig: #3F729B;
}

/* Global
================================================================*/
/*font-family: 'Montserrat', sans-serif;
font-family: 'PT Serif', serif;*/
html, body {
    margin: 0;
    padding: 0;
    width: 100%;
    height: 100%;
}

body, .bg-white {
    background: var(--color-white);
}

body, p {
    font-family: 'Gotham-Book', Helvetica, Arial, 'sans-serif';
    font-size: 14px;
    font-weight: 300;
    color: var(--color-black);
    line-height: 150%;
    margin: 0 0 20px;
    letter-spacing: .03em;
}

body:not(.article) .container {
    position: relative;
    max-width: 1600px;
    width: auto;
}

section {
    position: relative;
    padding: 60px 0;
}

section.no-padding {
    padding: 0
}

.pad60 {
    padding: 60px;
}

.pad50 {
    padding: 50px;
}

.pad40 {
    padding: 40px;
}

.pad30 {
    padding: 30px;
}

.pad20 {
    padding: 20px;
}

.pad10 {
    padding: 10px;
}

.pad10-h {
    padding: 10px 0;
}

.pad100-h {
    padding: 0 100px;
}

.pad0 {
    padding: 0 !important;
}

.mar-minus15 {
    margin: 15px -15px;
}

.mar-0 {
    margin: 0 !important;
}

.mar-15 {
    margin: 15px 0;
}

.mar-b10 {
    margin: 0 0 10px
}

.mar-b20 {
    margin: 0 0 20px;
}

.mar-b30 {
    margin: 0 0 30px
}

.w-100 {
    width: 100%;
}

.spacer-top {
    padding: 64px 0 0
}

.no-gutter > [class*='col-'] {
    padding-right: 0;
    padding-left: 0;
}

.no-gutter-left > [class*='col-'] {
    padding: 0 10px 10px 0;
}

.no-gutter-right > [class*='col-'] {
    padding: 0 0 10px 10px;
}

.r-frame {
    position: relative;
    padding-bottom: 42%;
    padding-top: 30px;
    height: 0;
    overflow: hidden;
}

.r-frame iframe,
.r-frame object,
.r-frame embed {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
}

@media all and (max-width: 1400px) {
    .container {
        max-width: 1240px;
        width: auto;
    }
}

@media all and (max-width: 992px) {
    .spacer-top {
        padding: 127px 0 0;
    }
}

img.ir {
    position: relative;
    width: 100%;
    height: auto;
    margin: 0 0 10px
}

.col-pl-0 {
    padding-left: 0 !important;
}

.col-pr-0 {
    padding-right: 0 !important;
}

/* Fonts
------------------------------------------------*/
h1, h2, h3, h4, h5, h6 {
    font-weight: 300;
    color: var(--color-black);
}

h1 {

    font-size: 32px;
    font-weight: 400;
    text-transform: uppercase;
    margin: 0 0 20px;
}

h2 {
    font-size: 32px;
    font-weight: 300;
    color: var(--color-medium-blue);
    margin: 0 0 30px;
}

h3 {
    font-size: 20px;
    line-height: 130%;
    color: var(--color-black);
    text-transform: uppercase;
    margin: 0 0 10px;
}

h4 {
    font-size: 18px;
    font-weight: 400;
    color: var(--color-blue);
    text-transform: uppercase
}

.color-black {
    color: var(--color-black)
}

.color-blue {
    color: var(--color-blue);
}

.color-white {
    color: var(--color-white) !important;
}

.text-none {
    text-transform: none;
}

.rewards-box {
    border: 1px solid var(--color-very-light-gray);
    padding-left: 10px;
    padding-right: 10px;
}


.note {
    color: var(--color-medium-gray);
    font: italic normal normal 14px/14px sans-serif;
}


.icon {
    font-size: 16px;
}

h1 .icon {
    font-size: 32px;
}

.slider-content .icon,
.btn-gold i {
    color: var(--color-white);
}

header.light .icon {
    color: var(--color-light-gray);
}

.text16 {
    font-size: 16px !important;
}

.text18 {
    font-size: 18px
}

.text20 {
    font-size: 20px
}

.white {
    color: var(--color-white);
}

.blue {
    color: var(--color-blue)
}

.btn-blocked {
    text-decoration: line-through;
    pointer-events: none;
}

/* Forms
------------------------------------------------*/
.input-group {
    width: 100%;
}

input, select, textarea,
.input-group input,
.form-control {
    border-radius: 0;
    height: 44px;
    margin: 0 0 15px;
    width: 100%;
}

.form-control.datepicker {
    padding: 6px 12px !important;
}

.select2-selection {
    height: 44px !important;
    border-radius: 0 !important;
}

.select2-container--default .select2-selection--single .select2-selection__rendered {
    line-height: 44px !important;
}

input.hnypt {
    display: none;
}

.btn-group {
    width: 100%;
}

.f-option .btn-group button {
    border: 1px solid var(--color-light-gray);
    color: var(--color-dark-medium-gray);
    font-size: 14px;
    margin: 0;
    text-align: left;
    width: 100%;
}

.f-option .btn-group button:hover,
.f-option .btn-group button:focus,
.f-option .btn-group button:active,
.f-option .btn-default {
    background: var(--color-white);
}

.f-option .caret {
    position: absolute;
    right: 10px;
    top: 20px
}

textarea.form-control {
    height: 200px;
}

.controls input {
    border: 1px solid var(--color-light-gray);
    padding: 10px;
}

.controls textarea {
    border: 1px solid var(--color-light-gray);
    min-height: 120px;

}

.sm-field {
    width: 130px;
}

.thead-inverse {
    background: #2c2c2c;
    color: var(--color-white);
}

label {
    font-size: 12px;
    text-transform: uppercase;
}

input[type="checkbox"], input[type="radio"] {
    line-height: normal;
    margin: 4px 0 0;
    width: 20px;
}

.contact-form textarea {
    height: 200px;
}

.pad30 .radio-inline input[type="radio"] {
    width: 15px;
    height: 15px;
}

/* Buttons
------------------------------------------------*/
.btn {
    border-radius: 0;
    color: var(--color-white);
    border: none;
    font-size: 16px;
    font-weight: 300;
    padding: 12px 25px;
}

.btn-default {
    border: 1px solid var(--color-light-gray);
    color: var(--color-black);
    text-transform: uppercase;
}

.btn-primary,
.btn-primary:visited {
    background: var(--color-blue);
    color: var(--color-white);
    text-transform: uppercase;
    margin: 0 0 10px;
}

.btn-primary:hover {
    background: var(--color-black);
    color: var(--color-white);
}

.btn-gold,
.btn-gold:visited,
.btn-gold-sm,
.btn-gold-sm:visited {
    background: var(--color-gold);
    color: var(--color-white);
    text-transform: uppercase;
    font-size: 22px
}

.btn-gold-sm {
    font-size: 16px;
    margin: 0 0 10px
}

.btn-gold-sm i {
    color: var(--color-white);
}

.btn-gold .icon {
    font-size: 22px;
    text-shadow: none;
}

.btn .btn-info {
    color: var(--color-white);
}

/* Pagination
------------------------------------------------*/
.pagination > li > a, .pagination > li > a:visited, .pagination > li > span {
    font-size: 12px;
    color: var(--color-blue)
}

.pagination .icon {
    font-size: 18px;
}

a,
a:hover,
a:visited,
a:focus {
    color: var(--color-blue);
    text-decoration: none;
}

@media all and (max-width: 1400px) {
    .container-fluid {
        padding-left: 15px;
        padding-right: 15px;
    }
}

/* Header
================================================================*/
header {
    position: fixed;
    width: 100%;
    top: 0;
    z-index: 999999;
    background: rgba(0, 0, 0, 0.5);
    transition: .8s ease;
}

header.light {
    background: var(--color-white);
    z-index: 999999;
    margin: 0 0 20px;
    border-bottom: 1px solid var(--color-light-gray);
}

.header-right {
    text-align: right;
    color: var(--color-white);
}

.logo {
    padding: 25px 0 0;
}

.logo a {
    display: block;
    background: url(/a/img/logo-wh.png) no-repeat;
    background-size: 277px 50px;
    width: 300px;
    height: 60px;
}

header.light .logo a {
    background: url(/a/img/Private-Villa-Rentals-logo.svg) no-repeat;
    background-size: 277px 50px
}

#festive-specials-header {
    font-size: 20px;
}

#festive-specials-header a, #festive-specials-header a:hover, #festive-specials-header a:visited, #festive-specials-header a:focus {
    color: var(--color-white);
    text-decoration: underline;
}

.phone {
    border-bottom: 1px solid var(--color-light-gray);
    display: inline-block;
    padding: 15px 0 5px;
    width: 438px;
}

.header-right a.white,
.header-right a.white:hover,
.header-right a.white:visited,
.header-right a.white:focus,
.header-right a.white:active {
    color: var(--color-white);
}


header.light a.white,
header.light a.white:hover,
header.light a.white:visited,
header.light a.white:focus,
header.light a.white:active {
    color: var(--color-dark-gray)
}


@media all and (max-width: 992px) {
    header {
        background: rgba(42, 42, 42, 1);
    }

    header.light {
        border-bottom: 1px solid var(--color-very-light-gray);
    }

    .logo,
    .header-right {
        float: none;
        text-align: center;
        width: 100%;
    }

    .logo a,
    header.light .logo a {
        background-position: center;
        width: 100%;
    }

    .phone {
        border: none;
    }

    p.search {
        margin: 30px 0 0
    }

    p.search > .icon {
        font-size: 24px;
        color: var(--color-white);
    }

    header.light .icon {
        color: var(--color-dark-gray)
    }

}

@media all and (max-width: 600px) {
    .phone {
        width: 100%;
        line-height: 100%
    }

    .phone span {
        display: block
    }

    .logo a {
        background-size: 240px 43px;
    }

    header.light .logo a {
        background-size: 240px 43px
    }

}

@media all and (max-width: 400px) {
    .logo a {
        background-size: 180px 32px;
    }

    header.light .logo a {
        background-size: 180px 32px
    }
}


/* Main Navigation
================================================================*/
nav {
    padding: 0;
}

nav ul {
    margin: 0;
}

nav li {
    display: inline-block;
    margin: 0;
    text-align: center;
}

nav li a,
nav li a:visited {
    display: block;
    font-size: 14px;
    color: var(--color-white);
    font-weight: 300;
    padding: 10px 21px;
    text-transform: uppercase;
    text-decoration: none;
}

header.light .header-right,
header.light nav li a,
header.light nav li a:visited {
    color: var(--color-dark-gray);
}

nav li a:hover,
nav li a:focus,
nav li a.active {
    color: var(--color-white);
}

nav li.contact a {
    border-top: 3px solid transparent;
    background: rgba(255, 255, 255, 0.7);
}

nav li.phone a {
    border-top: none;
    font-size: 22px;
    color: #313263;
}

.m-nav,
.header-right .panel {
    display: none
}

@media all and (max-width: 992px) {
    nav ul {
        display: none;
    }

    #nav-main {
        padding: 22px 60px 0 0;
    }

    .m-nav,
    .header-right .panel {
        border: none;
        display: block;
    }

    .m-nav {
        position: absolute;
        top: -60px;
        right: 10px;
    }

    .m-nav .icon {
        font-size: 40px;
    }

    .panel-content {
        position: relative;
        background: var(--color-near-black);;
        padding: 30px 50px;
        overflow-y: auto;
        height: 100%;
    }

    .panel-content .panel-close {
        position: absolute;
        font-size: 30px;
        text-align: center;
        cursor: pointer;
        display: block;
        color: var(--color-red);
        right: 20px;
        top: 20px;
    }

    .panel-content .panel-close {
        color: var(--color-white);
    }

    .panel-content > .row > .col-sm-12 > .row > .col-sm-4 {
        width: 100% !important;
    }

    .panel {
        z-index: 999;
        box-shadow: 0 0 10px rgba(0, 0, 0, 0.5);
        background: #eeeeee;
        position: fixed;
        display: block;
        bottom: 0;
        top: 0;
        -webkit-transition: all 0.3s ease;
        transition: all 0.3s ease;
        right: -100%;
        width: 60%;
        margin: 0;
        border-radius: 0;
    }

    .panel.expanded {
        right: 0;
    }

    .panel .col-sm-3,
    .panel .col-xs-6 {
        float: none;
        width: 100%;
        text-align: left
    }

    .panel ul {
        padding: 0 0 30px;
        margin: 0 0 30px;
        border-bottom: 1px dotted var(--color-dark-gray);
    }

    .panel ul li {
        margin: 0 0 15px;
        font-size: 16px;
        color: var(--color-white);
    }

}

@media all and (max-width: 600px) {
    .panel {
        width: 80%;
    }

    .m-nav {
        position: absolute;
        top: -120px;
    }

    .m-nav .icon.fa-bars {
        margin: 60px 0 0;
    }
}

@media all and (max-width: 500px) {
    .panel {
        width: 95%;
    }
}

@media all and (max-width: 320px) {
    .panel-content .panel-close {
        color: var(--color-white);
    }

    .panel-content [class*='col-'] {
        float: none;
        width: auto;
    }
}


header.light .text-right {
    color: var(--color-black);
}


li.search {
    position: relative;
    cursor: pointer
}

li.search .icon {
    position: absolute;
    top: -18px;
    right: 0;
    font-size: 24px;
}

.search-box {
    position: absolute;
    z-index: 300;
    display: none;
    background: rgba(255, 255, 255, 0.9);
    padding: 15px 15px 0;
    top: 85px;
    right: 0;
}

.search-results {
    padding: 0 0 60px;
}

#similar-properties .row {
    margin: 15px -30px;
}

@media all and (max-width: 992px) {
    .search-box {
        width: 100%;
        top: 90px
    }
}

/* Home
================================================================*/

/* Image Slider
------------------------------------------------*/
.banner,
.image-slider,
.tesimonial-slide {
    position: relative;
}

.sss {
    height: 0;
    margin: 0;
    padding: 0;
    position: relative;
    display: block;
    overflow: hidden;
    text-align: center
}

.ssslide {
    width: 100%;
    margin: 0;
    padding: 0;
    position: absolute;
    top: 0;
    left: 0;
    display: none;
    overflow: hidden;
}

.ssslide .slider-content h2 {
    margin-left: auto;
    margin-right: auto;
    text-align: center;
    font-family: Didot-Regular;
    letter-spacing: 0;
    color: var(--color-white);
    text-shadow: 2px 3px 4px #00000029;
    text-transform: uppercase;
    opacity: 1;
    font-size: 60px;
    font-style: normal;
    font-weight: normal;
    z-index: 9;
}

.ssslide .slider-content p {
    position: absolute;
    top: 187px;
    left: 0;
    right: 0;
    margin-left: auto;
    margin-right: auto;
    text-align: center;
    font-family: Didot-Regular;
    opacity: 1;
    font-size: 24px;
    font-style: normal;
    font-weight: normal;
    text-transform: uppercase;
    z-index: 9;
}


.ssslide img,
.slide img {
    width: 100%;
    height: auto;
    margin: 0;
    padding: 0;
    display: block;
}

.sssnext, .sssprev, .owl-next, .owl-prev {
    width: 50px;
    height: 80px;
    margin: 0;
    position: absolute;
    bottom: 50%;
    left: 0;
    background: rgba(0, 0, 0, 0.5);
    padding: 30px 0 0;
    font-size: 50px;
    color: var(--color-white);
}

.sssprev:before {
    font-family: "Font Awesome 6 Free";
    content: '\f060';
    text-align: center;
    font-weight: 900;
}

.sssnext, .owl-next {
    right: 0;
    left: auto;
    bottom: 50%
}

.sssnext:before {
    font-family: "Font Awesome 6 Free";
    content: '\f061';
    text-align: center;
    font-weight: 900;
}

.sssprev:hover, .sssnext:hover, .owl-next:hover, .owl-prev:hover {
    cursor: pointer;
}

.sss span.caption {
    display: none;
}

.owl-prev, .owl-next {
    font-size: 15vh !important;
    color: var(--color-white) !important;
    /*background: rgba(0, 0, 0, 0.5) !important;*/
    /*width: auto !important;*/
    /*height: 15vw !important;*/
}

.owl-prev {
    left: 1vw;
}

.owl-next {
    right: 1vw;
}

.slide {
    text-align: center;
    overflow: hidden
}

.slider-content {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    width: 100%;
    padding: 0 10%;
    z-index: 2;
}

.main-destination > a, .image-slider .slide > a {
    display: block;
    position: relative;
}

.slider-content h1, .slider-content h2 {
    font-family: 'Didot Italic', 'PT Serif', serif;
    font-size: 60px;
    font-style: italic;
    color: var(--color-white);
    text-transform: none;
    text-shadow: 0 0 2px #171717;
}

.slider-content h5 {
    font-size: 24px;
    color: var(--color-white);
    margin: 10px 0 40px
}

.slider-content p {
    color: var(--color-white);
    font-size: 22px;
    text-shadow: 0 0 2px #171717;
}

#slider-villa-text {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    z-index: 9;
    width: 100%;
}

#slider-villa-text h1, #slider-villa-text-mobile h1, .image-slider-homepage .slider-content h1 {
    font-family: Didot-Regular;
    color: var(--color-white);
    font-size: 60px;
    text-align: center;
}

.image-slider-homepage .slider-content h1 {
    font-style: normal;
    font-size: 24px;
    text-transform: uppercase;
    font-family: 'Gotham-Book';
}

#slider-villa-text h2, #slider-villa-text-mobile h2 {
    font-family: Didot-Regular;
    color: var(--color-white);
    font-size: 24px;
    text-align: center;
    text-transform: uppercase;
}

#slider-villa-text-mobile h1, #slider-villa-text-mobile h2 {
    color: var(--color-dark-gray);
}

#slider-villa img {
    max-width: 100%;
    max-height: 550px;
    object-fit: cover;
    width: 100%;

}

/* The black overlay */
#slider-villa:after,
.ssslide:after {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-color: rgba(0, 0, 0, 0.2); /* 20% black */
    pointer-events: none;
    z-index: 1;
}

.slider-villa-bottom-right-btn {
    position: absolute !important;
    z-index: 1039;
    bottom: 25px;
    right: 25px;
    margin-left: auto;
    margin-right: auto;
    text-align: center;
    margin-bottom: 0;
}

@media all and (max-width: 1155px) {
    .ssslide .slider-content h2 {

        font-size: 40px;
        top: 60px;
    }

    .ssslide .slider-content p {

        font-size: 16px;
        top: 115px;
    }
}

@media all and (max-width: 800px) {
    .banner {
        padding: 0;
    }

    .image-slider {
        padding: 150px 0 0;
    }

    .sssnext,
    .sssprev {
        display: none;
    }
}

@media all and (max-width: 700px) {
    .ssslide .slider-content h2 {

        font-size: 35px;
    }
}

@media all and (max-width: 599px) {
    /*.slider-content {*/
    /*    position: relative;*/
    /*    top: auto;*/
    /*    margin: 0 auto;*/
    /*    background: var(--color-blue);*/
    /*    padding: 30px;*/
    /*}*/
    .slider-content h2 {
        top: 40px;
    }

    .slider-content h1 {
        font-size: 30px;
    }

    .slider-content p {
        font-size: 16px
    }

    .image-slider-homepage .slider-content h2 {
        font-size: 5vw;
    }

    .image-slider-homepage .slider-content h1 {
        font-size: 3.5vw;
    }

    .slider-villa-bottom-right-btn {
        bottom: 10px;
        right: 10px;
        padding: 5px 10px;
    }
}

/* Promotion
------------------------------------------------*/

h4.promotion {
    background: var(--color-blue);
    padding: 20px;
    text-align: center;
    margin: 0
}

h4.promotion > a, h4.promotion > a:visited {
    color: var(--color-white);
}


/* List Checkmarks
------------------------------------------------*/

ul.list-checkmarks li {
    list-style: none;
    font-size: 16px;
    padding: 6px;
    display: flex;
}


ul.list-checkmarks li i {
    color: var(--color-blue);
    margin-right: 10px;
}


/* Location Search
------------------------------------------------*/
.location-search {
    width: 100%;
    background: rgba(255, 255, 255, 0.8);
    bottom: 0;
    z-index: 899;
    max-width: 1099px;
    height: fit-content;
    padding: 9px;
    padding-left: 5px;
    margin-left: auto;
    margin-right: auto;
}

#location-search-slider.location-search, #location-search-below-slider.location-search {
    max-width: 1099px;
    height: fit-content;
    margin-left: auto;
    margin-right: auto;
    padding: 8px 20px 8px 20px;
}

.location-search .row > div > .search-item.pull-left {
    float: none !important;
}

.location-search h4 {
    margin: 0 0 30px;
}

.search-item {
    background: var(--color-white);
    text-align: center;
    padding: 5px;
    margin: 0 3px;
}

.search-item > * {
    margin: 0;
}

.search-item .form-control {
    margin: 0;
}

.search-item .btn {
    height: 44px;
}

.location-search select {
    border: none;
    box-shadow: none
}

.location-search .btn {
    width: 100%;
}

.search-button .btn {
    padding: 16px 25px;
    margin: 0 3px;
}

.slider {
    margin: 18px 25px 8px
}

#location-search-below-slider {
    display: none;
}

#location-search-slider {
    display: block;
}

.input-group.date-range-offset-prototype {
    padding: 0 15px;
}

@media all and (max-width: 1155px) {

    .location-search {
        width: 90%;
        top: 416px;
    }

    #location-search-slider.location-search, #location-search-below-slider.location-search {
        top: 155px;
    }

    .location-search .search-button .btn {
        padding: 16px 10px;
    }

    .location-search .featured-home {
        padding-top: 10px;
        padding-bottom: 0;
    }
}

@media all and (max-width: 992px) {
    .search-options {
        padding: 0 40px;
    }

    .search-options .col-sm-6 {
        margin-bottom: 30px;
    }

    .location-search {
        position: relative;
        width: 100%;
        background: var(--color-very-light-gray);
        bottom: auto;
        z-index: 1;
        top: 0px;
    }

    #location-search-slider.location-search, #location-search-below-slider.location-search {
        top: 0px;
    }

    #location-search-below-slider {
        display: block;
    }

    #location-search-slider {
        display: none;
    }
}

@media all and (max-width: 940px) {

    .location-search {
        top: 376px;
    }

    .main-destination-slider .location-search {
        top: 0;
    }
}

@media all and (max-width: 599px) {
    .location-search,
    .intro .col-sm-4 {
        display: none
    }
}

/* Home: Intro
------------------------------------------------*/
.featured-home {
    padding: 20px 0;
    text-align: center
}

.featured-home a,
.featured-home a:visited {
    color: var(--color-black);
    margin: 0 10px;
    font-weight: 600;
}

.ion-android-star {
    color: var(--color-gold)
}

.intro .row {
    padding: 80px 0 0;
}

.intro img {
    float: left;
    margin: 30px 20px 50px
}

.intro .col-md-4 {
    margin: 0 0 60px;
}

.intro .main-intro h1 {

    font-size: 32px;
    text-transform: none;
}

.intro .main-intro h3 {

    font-size: 18px;
    text-transform: none;
}

.intro h3 {
    font-size: 18px;
}

@media all and (max-width: 800px) {
    .intro .row {
        padding: 40px 0 0;
    }

    .intro img {
        float: none;
        margin: 0 0 20px
    }

    .intro .col-sm-4 {
        text-align: center;
    }
}

@media all and (max-width: 767px) {
    .intro .col-sm-4 {
        border-bottom: 1px solid var(--color-very-light-gray);
        padding: 20px 0 0;
        margin: 0 0 20px;
    }

}


/* Home: Special Offers
------------------------------------------------*/
h4.gold-bar {
    background: var(--color-gold);
    padding: 20px;
    text-align: center;
    color: var(--color-white);
    margin: 0
}

h4.black-bar {
    background: var(--bg-color-dark);
    padding: 20px;
    text-align: center;
    color: var(--color-white);
    margin: 0
}

.specials {
    padding: 30px 0;
}

.specials img {
    max-width: 100%;
    height: auto;
    /*margin: 0 0 10px;*/
}

.specials .fa-star {
    font-size: 24px;
}

.specials h3 {
    background-color: #E9E8EC;
    display: block;
    margin: 0;
    height: 55px;
    padding: 16px;
    font-size: 24px;
    line-height: 100%;
}

.specials h3.specials-count {
    background-color: var(--color-blue);
    display: block;
    /*max-width: 25%;*/
    margin: 0;
    height: 55px;
    padding: 16px;
    font-size: 24px;
    right: 0;
    bottom: 0;
    line-height: 100%;
    color: var(--color-white);
    letter-spacing: 0;
    text-transform: uppercase;
    text-align: center;
}

.specials h3 a, .specials h3 a:hover, .specials h3 a:visited, .specials h3.specials-count {

    vertical-align: middle;
}

.specials h3 a, .specials h3 a:hover, .specials h3 a:visited {
    color: var(--color-black);
    text-decoration: none;
}

.specials h3.specials-count a, .specials h3.specials-count a:hover, .specials h3.specials-count a:visited {
    color: var(--color-white);
    text-decoration: none;
    white-space: nowrap;
}

.specials .container .row:first-of-type {
    padding-bottom: 30px;
}

@media all and (max-width: 1400px) {

    .specials h3, .specials h3 a, .specials h3 a:hover, .specials h3 a:visited, .specials h3.specials-count {

        font-size: 18px;

    }
}

@media all and (max-width: 1070px) {

    .specials h3 a, .specials h3 a:hover, .specials h3 a:visited, .specials h3.specials-count {

        font-size: 16px;
    }
}

@media all and (max-width: 992px) {
    .specials h3, .specials h3 a, .specials h3 a:hover, .specials h3 a:visited, .specials h3.specials-count {
        text-align: center;
    }
}

@media all and (max-width: 767px) {

    .specials .container .row:first-of-type {

        padding-bottom: 0px;
    }

    .specials .container .row .col-sm-4, .specials .container .row .col-sm-6 {

        margin-bottom: 30px;
    }

    .specials .container .row .col-sm-4:last-of-type {

        margin-bottom: 0px;
    }
}


/* Home: Recommendations Form
------------------------------------------------*/
.recommendations {
    background: url(/a/img/diamond-bg.jpg) repeat center top;
    border-top: 1px solid var(--color-very-light-gray);
    border-bottom: 1px solid var(--color-very-light-gray)
}

section.recommendations .container {
    max-width: 700px;
}

section.recommendations form {
    margin: 50px 0
}


/* Home: Lower
------------------------------------------------*/
.lower h3 {
    margin: 80px 0;
    font-weight: 400
}

.lower-contact {
    background: var(--bg-color-dark);
    padding: 30px 0;
    color: var(--color-white);
    font-size: 18px;
}

.lower-contact .fa-phone {
    color: var(--color-blue);
    padding: 0 0 0 20px;
}

.lower-contact br {
    display: none
}

.associations img {
    max-width: 240px;
    max-height: 240px;
    padding-left: 10px;
    padding-right: 10px;
}

.associations-footer img {
    max-width: 105px;
    max-height: 105px;
    padding-left: 5px;
    padding-right: 5px;
}

/* (Image Cropping)
-----------------------------------------*/
.image-crop {
    position: relative;
    width: auto;
    padding-bottom: 60%;
    margin: 0 0;
    overflow: hidden;
    height: 100%;
}

.image-crop img {
    height: 100%;
    object-fit: cover;
    position: absolute;
    width: 100%;
    border-radius: 0 0 0 270px
}

/* Footer
================================================================*/
footer {
    padding: 50px 0 10px;
}

footer a,
footer a:hover,
footer a:visited {
    font-size: 14px;
    line-height: 110%;
    color: #2a2a2a;
}


/* Footer: Social Media
------------------------------------------------*/
.social-icons {
    text-align: left;
}

.social-icons a {
    text-align: center;
    margin: 0 2px;
}

.social-icons .icon {
    font-size: 20px;
    background: var(--bg-color-dark);
    border-radius: 50%;
    width: 34px;
    height: 34px;
    padding: 7px 0 0;
    color: var(--color-white);
}

.icon.fa-facebook-f:hover {
    background: var(--color-logo-fb);
}

.icon.fa-twitter:hover {
    background: var(--color-logo-twitter);
}

.icon.fa-youtube:hover {
    background: var(--color-logo-youtube);;
}

.icon.fa-google-plus:hover {
    background: var(--color-logo-google-plus);;
}

.icon.fa-instagram:hover {
    background: var(--color-logo-ig);
}

.footer-menu {
    margin: 0 0 30px;
    padding: 30px 0 0
}

.footer-menu-bottom {
    padding: 0 15px 0 15px;
}

.footer-menu ul {

}

/* Footer: Cookie Consent Banner
------------------------------------------------*/
#cookiesjsr > div > div > div.cookiesjsr-banner--info > ul > li:nth-child(2) > a {
    display: none;
}

/* Footer: ReCaptcha v3 Badge
------------------------------------------------*/
.grecaptcha-badge {
    width: 70px !important;
    overflow: hidden !important;
    transition: all 0.3s ease !important;
    left: 4px !important;
    bottom: 43px !important;
    z-index: 2;
}

.grecaptcha-badge:hover {
    width: 256px !important;
}

@media all and (min-width: 801px) {
    .row.display-flex {
        display: flex;
        flex-wrap: wrap;
        align-items: center;
        justify-content: center;
    }

    .row.display-flex > [class*='col-'] {
        display: flex;
        flex-direction: column;
    }
}

@media all and (max-width: 800px) {
    .lower-contact,
    .social-contact,
    .social-icons {
        text-align: center
    }

    .lower-contact [class*='col-']:nth-child(2) {
        margin-top: 10px;
    }

    .lower-contact br {
        display: inherit
    }

    .lower-contact span:before {
        content: '\A';
        display: block;
        padding-top: 10px;
    }

    /*.newsletter {*/
    /*	margin: 20px;*/
    /*}*/
    .newsletter form {
        padding: 20px;
        background: #f8f8f8;
    }

    .associations-footer img {
        max-width: 80px;
        max-height: 80px;
        padding-left: 3px;
        padding-right: 3px;
    }
}

/* Footer: Copyright
------------------------------------------------*/
.copyright {
    border-top: 1px solid var(--color-very-light-gray);
    padding: 20px 0;
    padding-left: 15px;
    padding-right: 15px;
}

.copyright .associations {
    text-align: right
}

.copyright .associations img {
    width: 120px;
    height: auto
}

.copyright span,
.copyright a {
    font-size: 12px;
}

.title {
    padding: 30px;
}

.title h1 {
    margin: 0
}

.title h3 {
    text-transform: none;
}

.dark,
.grey {
    background: var(--bg-color-dark);
    padding: 10px;
}

.grey {
    background: var(--color-ultra-light-gray);;
}

#map {
    width: 100%;
    height: 400px;
}

@media all and (max-width: 800px) {
    .copyright,
    .copyright .associations {
        text-align: center;
    }

    .copyright .associations {
        margin-top: 20px;
    }

    .copyright {
        padding: 20px;
    }
}

@media all and (max-width: 599px) {
    .copyright {
        margin: 20px 0 0
    }
}

@media all and (max-width: 599px) {
    .recommendations,
    .lower,
    .footer-menu {
        display: none;
    }
}

/* Footer: Rental Butler
------------------------------------------------*/

.footer-rental-butler {
    background: var(--color-blue);
}

.footer-rental-butler .row #rb-logo img {

    height: 230px;
    padding: 15px;
}

.footer-rental-butler .row #rb-text {

    vertical-align: middle;
}

.footer-rental-butler .row {
    display: flex;
    display: -webkit-flex;
}

.footer-rental-butler .row #rb-text div {
    height: 230px;
    vertical-align: middle;
    display: table-cell;
}

.footer-rental-butler .row #rb-text div p {
    color: var(--color-white);
}


/* Search
================================================================*/
.filters {
    padding: 10px;
    background: var(--color-ultra-light-gray);
}

.show-filters {
    position: absolute;
    right: 0;
    top: -10px;
    background: var(--color-white);
    padding: 10px
}

.show-filters a {
    color: var(--color-black);
}

#filter-toggle {
    cursor: pointer
}

.filter-options {
    /*display: none;*/
    background: var(--color-white);
    padding: 20px;
    border-bottom: 1px dotted var(--color-very-light-gray);
}

.filter-options .row .row .col-sm-3 {
    padding-left: 0;
}

.f-option {
    width: 20%;
    float: left;
}

.f-option .btn {
    border: 0 none;
    margin: 5px 0 0 8px;
    padding: 10px 15px;
    width: 94%;
}

.result {
    position: relative;
    margin: 0 0 30px;
    height: 350px;
    overflow: hidden;
}

.result-title {
    position: absolute;
    width: 100%;
    padding: 10px;
    bottom: 0;
    z-index: 2;
    background: rgba(255, 255, 255, 0.9);
}

.result-title span {
    font-size: 14px;
    color: var(--color-blue);
}

.result-title h3 {
    font-size: 14px;
    font-weight: 400;
    margin: 5px 0 0;
}

.result img.ir {
    position: relative;
}

.special-offer {
    position: absolute;
    top: 0;
    left: 0;
    background: rgba(0, 0, 0, 0.7);
    font-size: 18px;
    color: var(--color-white);
    padding: 20px;
    text-transform: uppercase
}

.special-offer a {
    color: var(--color-white);
}

.overlay {
    position: absolute;
    top: 0;
    bottom: 0;
    left: 0;
    right: 0;
    height: 100%;
    width: 100%;
    opacity: 0;
    transition: .5s ease;
    background: rgba(255, 255, 255, 0.7);

}

.result:hover .overlay {
    opacity: 1;
    cursor: pointer
}

.overlay-text {
    font-size: 14px;
    font-weight: 400;
    position: absolute;
    width: 70%;
    top: 40%;
    left: 50%;
    transform: translate(-50%, -50%);
    -ms-transform: translate(-50%, -50%);
    text-align: center
}

.price-filter {
    position: relative;
    text-align: right;
    color: var(--color-blue);
    padding: 15px 0 0
}

.price-filter select {
    width: 100%;
    border: 1px solid var(--color-blue)
}

.input-symbol-dollar {
    position: relative;
}

.input-symbol-dollar input {
    padding-left: 18px;
}

.input-symbol-dollar:before {
    position: absolute;
    top: 15px;
    content: "$";
    left: 8px;
}

.search-filters .btn-group .icon {
    font-size: inherit;
}

.search-filters .btn-group-left {
    float: left;
    margin-left: 8px;
    width: auto;
}

.search-filters .dropdown-menu {
    width: calc(100vw - 27px);
    max-width: 600px;
    height: auto;
    max-height: 75vw;
    overflow-y: auto;
    overflow-x: visible;
    z-index: 99999;
    margin-left: 8px;
}

.search-filters .dropdown-menu.open {
    display: block;
}

.search-filters .dropdown-menu li {
    /*display: block;*/
    padding: 3px 20px;
    clear: both;
    font-weight: 400;
    line-height: 1.42857143;
    color: #333;
    white-space: nowrap;
    text-overflow: ellipsis;
}

.search-filters .dropdown-menu li a,
.search-filters .dropdown-menu li button {
    padding: 0 10px;
}

.search-filters .dropdown-menu li.divider {
    padding: 0;
}

.search-filters .dropdown-menu input[type='radio'] {
    height: unset;
}

.search-filters .btn-group-wrapper {
    display: flex;
    flex-wrap: nowrap; /* No wrapping, stay in one line */
    overflow-x: auto; /* Enable horizontal scroll */
    -webkit-overflow-scrolling: touch; /* Smooth scrolling on iOS */
    padding-bottom: 10px; /* Optional, to avoid cut-off */
}

.search-filters .btn-group-wrapper .btn-group {
    flex: 0 0 auto; /* Prevent shrinking */
    margin-right: 10px; /* Space between buttons */
}

/* HTML marker styles */
.search-results-map-marker {
    background-color: #4285F4;
    border-radius: 10px;
    color: var(--color-white);
    font-size: 14px;
    padding: 10px 15px;
    position: relative;
    border: white solid 1px;
}

div:hover > div > .search-results-map-marker {
    background-color: var(--color-blue) !important;
}

div:hover > div > .search-results-map-marker::after {
    border-top: 10px solid var(--color-blue);
}

.search-results-map-marker.highlighted {
    background-color: var(--color-black) !important;
}

.search-results-map-marker.highlighted::after {
    border-top: 10px solid var(--color-black);;
}

.search-results-map-marker::after {
    content: "";
    position: absolute;
    left: 50%;
    top: 100%;
    transform: translate(-50%, 0);
    width: 0;
    height: 0;
    border-left: 10px solid transparent;
    border-right: 10px solid transparent;
    border-top: 10px solid #4285F4;
}

#search-results-map-maps {
    width: 100%;
    position: relative;
    z-index: 1;
}

.sticky-bottom-btn {
    position: fixed;
    left: 50%;
    bottom: 58px;
    z-index: 2;
    transform: translate(-50%, 0);
}

@media all and (max-width: 599px) {
    .f-option {
        width: 50%;
    }

    .special-offer {
        position: relative;
    }

    .overlay {
        display: none
    }

    .result-title {
        position: relative;
    }

    .result {
        border-bottom: 1px dotted var(--color-light-gray);
        margin: 0 0 30px;
        padding: 0 0 30px;
    }
}

@media all and (max-width: 499px) {
    .f-option {
        width: 100%;
    }
}


/* Destinations
================================================================*/
ul.destination-locations {
    -moz-column-count: 2;
    -moz-column-gap: 20px;
    -webkit-column-count: 2;
    -webkit-column-gap: 20px;
    column-count: 2;
    column-gap: 20px;
}

.destination-list a,
.destination-list a:visited,
ul.destination-locations a,
ul.destination-locations a:visited {
    color: #2a2a2a;
}

.destination-content {
    padding: 20px 0;
}

.villa-head {
    background: var(--color-ultra-light-gray);;
    padding: 30px 0;
}

.villa-head .right {
    text-align: right
}


/* --- Accordion Styling --- */

/* Reset Bootstrap panel chrome */
#faq-accordion .panel {
    background: transparent;
    border: 0;
    box-shadow: none;
}

#faq-accordion .panel + .panel {
    margin-top: 0;
}

#faq-accordion .panel-heading {
    background: transparent;
    padding: 0;
    border: 0;
}

/* Header row (question) */
#faq-accordion .panel-title a {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 16px;

    padding: 18px 0; /* vertical rhythm */
    text-decoration: none;
    color: var(--color-gold);
    text-transform: uppercase;
    letter-spacing: .04em;
    font-weight: 600;
    line-height: 1.3;
    text-align: left;

    border-bottom: 1px solid var(--color-very-light-gray);
    transition: color .2s ease;
}

#faq-accordion .panel-title a:hover,
#faq-accordion .panel-title a:focus {
    color: #c08e40; /* slightly darker on hover */
    outline: none;
}

/* Chevron on the right */
#faq-accordion .panel-title .icon {
    font-size: 13px; /* small, like the screenshot */
    transition: transform .25s ease-in-out;
    flex: 0 0 auto;
}

/* Rotate when expanded (Bootstrap toggles .collapsed) */
#faq-accordion .panel-title a:not(.collapsed) .icon {
    transform: rotate(90deg); /* right → down */
}

/* Answer area */
#faq-accordion .panel-collapse .panel-body {
    padding: 16px 0 22px;
    line-height: 1.7;
    background: transparent;
    border-top: none;
}

/* Optional: make long answers easier to read on wide screens */
#faq-accordion .panel-body {
    max-width: 900px; /* tune as needed */
}

/* Optional: remove extra spacing Bootstrap adds when first panel is open */
#faq-accordion .panel-collapse.in {
    border-top: 0;
}

@media all and (max-width: 992px) {
    #faq-accordion .panel {
        position: relative;
        display: contents;
        bottom: revert;
        top: revert;
    }
}


@media all and (max-width: 800px) {
    .dark .col-md-8 {
        display: none
    }

    .destination-content img {
        margin-bottom: 20px;
    }

    .villa-head .right,
    .villa-head {
        text-align: center
    }
}

@media all and (max-width: 599px) {
    .villa-head {
        padding: 50px 0;
    }
}


/* Sharing
------------------------------------------------*/
.share {
    font-size: 12px;
    text-align: center;
    color: var(--color-white);
    padding: 5px;
    text-transform: uppercase;
}

.share .icon {
    font-size: 16px;
}

.share-fb {
    background: #39579A;
}

.share-tw {
    background: #50ABF1
}

.share-em {
    background: #7D7D7D
}

.share-pdf {
    background: var(--color-blue);
}

.share-google {
    background: #db4437;
}

.share a {
    color: var(--color-white);
}


/* Villa Details Tabs
------------------------------------------------*/
ul.tabs {
    margin: 0;
    padding: 0;
    list-style: none;
    background: var(--color-black);
}

ul.tabs li {
    position: relative;
    display: inline-block;
    margin: 0;
    padding: 5px 20px 4px;
    font-size: 14px;
    color: var(--color-white);
    text-transform: uppercase;
    cursor: pointer;
    overflow: visible
}

ul.tabs li.current,
ul.tabs li:hover {
    background: var(--color-blue)
}

.tab-content {
    display: none;
    padding: 30px 0 50px;
}

.tab-content.current {
    display: inherit;
}

.tab-content .table {
    border: none;
}

.tab-content ul {
    -moz-column-count: 3;
    -moz-column-gap: 20px;
    -webkit-column-count: 3;
    -webkit-column-gap: 20px;
    column-count: 3;
    column-gap: 20px;
}

.btn-responsive {
    white-space: normal; /* allow wrapping */
    text-align: center;
    padding: 10px 12px;
}

#total-btn-label, #total-btn {
    display: inline-block;
}

#villa-details-navigation-buttons {
    margin-bottom: 20px;
}

#villa-details-navigation-buttons .col:first-of-type {
    padding-left: 0;
    padding-right: 15px;
}

#villa-details-navigation-buttons .col:last-of-type {
    padding-right: 0;
    padding-left: 15px;
}

@media all and (max-width: 992px) {
    #villa-details-navigation-buttons .col {
        padding-left: 0 !important;
        padding-right: 0 !important;
    }
}

#total-btn-label {
    padding-right: 5px;
}

.flex-center {
    display: table;
    margin: 0 auto;
}

.flex-child {
    float: left;
    background: var(--color-white);
}

.flex-child:first-of-type {
    min-width: 660px;
    margin-right: 30px;
}

.flex-child:last-of-type {
    min-width: 330px;
    padding: 30px;
}

.flex-child:last-child {
    margin-right: 0;
}

@media (max-width: 1200px) {
    .flex-child {
        float: none;
        width: 100% !important;
        margin-right: 0;
        margin-bottom: 15px;
    }

    .flex-child:first-of-type {
        min-width: 200px;
    }

    .flex-child:last-of-type {
        min-width: 200px;
    }
}

@media (max-width: 767px) {
    .flex-center {
        display: block;
    }

    .flex-child {
        margin: 15px auto !important;
        max-width: 360px !important;
    }
}

/* Villa Details Video/Rep
------------------------------------------------*/
.video-specialist {
    padding: 20px 0;
}

.rep-details,
.rep-caption {
    position: absolute;
    font-size: 12px;
}

.rep-details {
    top: 10px;
    right: 30px;
    color: var(--color-white);
    line-height: 120%;
    font-size: 11px;
    text-align: right;
    text-shadow: 0 0 2px #171717;
}

.rep-caption {
    background: rgba(255, 255, 255, 0.9);
    bottom: 0;
    width: 98%;
    padding: 10px 50px;
    text-align: center;
    font-size: 14px
}

@media all and (max-width: 599px) {
    .rep-caption {
        position: relative;
        padding: 10px 20px
    }

    .video-specialist .r-frame {
        margin: 0 0 30px;
    }
}


/* Villa Details Testimonials
------------------------------------------------*/
.testimonials {
    padding: 20px 0;
}

.tesimonial-slide {
    background: url(/a/img/testimonials-bg.jpg) no-repeat center center;
    -webkit-background-size: cover;
    -moz-background-size: cover;
    -o-background-size: cover;
    background-size: cover;
    color: var(--color-white);
    text-shadow: 0 0 1px var(--color-black);
    height: 300px;
    padding: 60px 0
}

.tesimonial-slide .slide {
    height: 300px;
    padding: 50px 10%;
    font-size: 20px;
    line-height: 140%;
}

/* Villa Details Availability Form
------------------------------------------------*/
.availability-form {
    position: relative;
    border-left: 1px dotted var(--color-light-gray);
    border-right: 1px dotted var(--color-light-gray);
    border-bottom: 1px dotted var(--color-light-gray);
    background: var(--color-white);
    z-index: 900;
}

.main-content {
    position: relative;
    border-bottom: 1px solid var(--color-very-light-gray);
    border-top: 1px solid var(--color-very-light-gray)
}

.villa-content h3 {
    font-size: 32px;
    font-weight: 400;
    text-transform: uppercase;
    color: var(--color-dark-gray);
}

.villa-content h1 {
    font-family: Didot-Regular;
    font-size: 52px;
    margin-bottom: 5px;
    color: var(--color-dark-gray);
}

.villa-content .villa-subtitle {
    font-size: 20px;
    color: var(--color-dark-gray);
}

.villa-content .btn-gold {
    font-size: 16px;
}

#booking-summary {
    padding-top: 40px;
    padding-bottom: 10px;
}

#booking-summary .row > div {
    margin-bottom: 15px;
}

#booking-summary p {
    margin: 0;
}

#booking-summary strong {
    font-weight: bold;
}

#villa-content-rates-availability-box {
    padding-bottom: 30px;
}

/* Why PVR
================================================================*/
.why img {
    float: left;
    margin: 0 40px 40px 0
}

.why h2 {
    font-family: 'Gotham-Bold', Helvetica, Arial, 'sans-serif';
    font-size: inherit;
    font-weight: 900;
    color: var(--color-black);
    display: contents;
    float: left;
}

.why.main-content {
    padding-top: 0 !important;
}

.why.main-intro {
    padding-top: 30px;
}

.why .why-left {
    padding-top: 40px;
}

/* PVR Life (Blog)
================================================================*/
.mag-title h1 {
    margin: 0;
    width: max-content;
    float: left;
}

.mag-title small {
    font-size: 16px;
    font-weight: 300;
    color: var(--color-blue);
    letter-spacing: .4em;
}

.main-article .col-sm-4 p {
    font-size: 18px;
    line-height: 120%
}

.mag-details {
    margin: 30px 0;
}

.author-info img {
    float: left;
    margin: 0 30px 30px 0;
}

.author-info h3 {
    margin: 0;
}

.articles {
    border-top: 1px solid var(--color-very-light-gray);
    padding: 30px 0;
    margin: 30px 0;
    display: flex;
    flex-flow: row wrap;
}

.articles .col-sm-4 {
    display: flex;
    flex-direction: column;
}

.mag-elem {
    flex-grow: 1;
}

.mag-elem-bottom {
    margin-top: auto;
}

.article-nav {
    float: right;
}

.article-content img {
    display: block;
    max-width: 100%;
    height: auto;
}

.mag-articles .article-content h2 {
    color: var(--color-black)
}

.mag-articles .article-content .title {
    padding-top: 0;
    padding-bottom: 50px;
}

.mag-articles .article-content .title h1 {
    font-family: 'Didot Italic', 'PT Serif', serif;
    font-size: 60px;
    font-style: italic;
    text-transform: none;
}


.article-share {
    padding: 30px 10%;
    border-bottom: 1px solid var(--color-very-light-gray);
    margin: 0 0 40px
}

.article-share .share {
    font-size: 18px;
    padding: 15px;
}

.article-share .icon {
    font-size: 24px;
}


/* Contact Us
================================================================*/
.contact-info [class*='col-'] {
    padding-top: 40px;
    padding-bottom: 10px;
    min-height: 380px;
}

.contact-info [class*='col-']:nth-child(2n) {
    border-left: 4px solid var(--color-ultra-light-gray);;
    border-right: 4px solid var(--color-ultra-light-gray);;
}

@media all and (max-width: 992px) {
    .contact-info [class*='col-'] {
        min-height: auto;
    }
}

/* Travel Agents
================================================================*/
.travel-agents .slider-content {
    top: 20%;
}

.login-box {
    width: 60%;
    margin: 0 auto;
    background: rgba(0, 0, 0, 0.6);
    padding: 30px;
    color: var(--color-white);
}

.login-box p {
    font-size: 14px;
}

@media all and (max-width: 1400px) {
    .login-box {
        width: 100%;
        margin: 0;
    }
}

@media all and (max-width: 992px) {
    .login-box {
        width: 100%;
        margin: 0;
    }

    .travel-agents .slider-content {
        position: relative;
        background: var(--color-blue);
    }
}

.panel-default > .panel-heading {
    background-color: var(--color-dark-gray);
    color: var(--color-white);
    border: none;
    border-radius: 0px;
    text-align: center
}

.panel-group .panel {
    border-radius: 0px;
}

.panel-default {
    border: none;
}

.panel-body {
    padding: 50px 5%;
}

.agents-steps {
    position: relative;
    background: var(--color-ultra-light-gray);;
    padding: 50px 50px 50px 150px;
    margin: 0 0 30px;
}

.agents-steps img {
    position: absolute;
    left: 50px
}

.g-recaptcha.center-captcha div {
    margin-left: auto;
    margin-right: auto;
}

.datepicker {
    padding: 0px;
}

.jplist-panel .jplist-pagination {
    float: none;
}

.service-box {
    min-height: 600px;
}

input[type="checkbox"] {
    height: auto;
    width: auto;
}

body.dragging, body.dragging * {
    cursor: move !important;
}

.dragged {
    position: absolute;
    opacity: 0.5;
    z-index: 2000;
}

.sorted_table tr {
    cursor: pointer;
}

.sorted_table tr.placeholder {
    position: relative;
    display: block;
    background-color: transparent;
    margin: 0;
    padding: 0;
    border: none;
    height: 10px;
}

.sorted_table tr.placeholder:before {
    position: absolute;
    content: "";
    width: 0;
    height: 0;
    margin-top: 3px;
    left: -5px;
    top: -4px;
    border: 5px solid transparent;
    border-left-color: #f00;
    border-right: none;
}

.rewards .icon {
    font-size: 44px;
    background: var(--color-black);
    color: var(--color-white);
    width: 65px;
    height: 65px;
    padding: 10px 4px;
    border-radius: 50%;
    margin: 0 10px;
}

.rewards-box h5 {
    margin-bottom: 20px;
    font-size: 18px;
}

.rewards-box .row {
    margin-left: 0;
    margin-right: 0;
    padding-top: 20px;
    padding-bottom: 20px;
    border-bottom: 1px solid var(--color-very-light-gray);
}

.rewards-box .row img {
    float: none;
    margin: 0;
}

.rewards .share i {
    margin-right: 15px;
}

.rewards .share {
    text-transform: none;
    font-weight: bold;
}

.no-border {
    border: none !important;
}

.no-shadow {
    box-shadow: none !important;
}

.rewards .ion-social-facebook {
    background: var(--color-logo-fb);
}

.rewards .icon.fa-twitter {
    background: var(--color-logo-twitter);
}

@media all and (max-width: 599px) {
    .display-m {
        display: none;
    }
}

.gold-bar {
    background: var(--color-gold);
    padding: 20px;
    /*text-align: center;*/
    color: var(--color-white);
    margin: 0
}

.multiselect-container {
    max-height: 400px;
    overflow-y: scroll;
}

/* One page websites
================================================================*/

body.villa-one-page-website header .container .clearfix > div {
    padding-top: 25px;
    padding-bottom: 25px;
}

body.villa-one-page-website header .phone {
    border-bottom: none;
    /*padding: 0;*/
    width: auto;
}

body.villa-one-page-website header .villa-title h1,
body.villa-one-page-website .villa-description h1 {
    font-family: Didot-Regular;
    font-size: 34px;
    text-align: center;
    margin-bottom: 5px;
}

body.villa-one-page-website header .villa-title h1 a {
    color: black !important;
}

body.villa-one-page-website .villa-description h1 {
    text-align: left;
    margin-bottom: 0;
}

body.villa-one-page-website header .villa-title h5,
body.villa-one-page-website .villa-description h5 {
    font-size: 18px;
    text-align: center;
    color: var(--color-gold);
    text-transform: uppercase;
}

body.villa-one-page-website .villa-description h5 {
    text-align: left;
    margin-top: 0;
}

body.villa-one-page-website .gold-bar {
    position: absolute;
    width: 100%;
    background: rgba(0, 0, 0, 0.5);
}

body.villa-one-page-website .icon.fa-star {
    color: var(--color-gold) !important;
}

body.villa-one-page-website .slide {
    max-height: 700px;
}

body.villa-one-page-website .villa-description h3 {
    color: var(--color-blue);
}

body.villa-one-page-website .villa-description #rates,
body.villa-one-page-website .villa-description #amenities,
body.villa-one-page-website .villa-description #need,
body.villa-one-page-website .villa-description #cancellation,
body.villa-one-page-website .villa-description #terms {
    margin-top: 25px;
    padding: 25px;
}

body.villa-one-page-website .villa-description #rates,
body.villa-one-page-website .villa-description #cancellation {
    background: rgba(212, 224, 237, 1);
}

body.villa-one-page-website .villa-description #rates hr {
    border: none;
}

body.villa-one-page-website .villa-description #rates h3,
body.villa-one-page-website .villa-description #amenities h3,
body.villa-one-page-website .villa-description #need h3,
body.villa-one-page-website .villa-description #cancellation h3,
body.villa-one-page-website .villa-description #terms h3 {
    color: var(--color-black);
}

body.villa-one-page-website .lower-contact > div {
    padding-left: 30px;
    padding-right: 30px;
}

body.villa-one-page-website .lower-contact br {
    display: inline;
}

body.villa-one-page-website a.link-more {
    font-size: 16px;
    text-transform: uppercase;
}

body.villa-one-page-website .affix {
    right: 0;
}

#villa-right-sticky {
    /*z-index: 999999999;*/
}

.sidebar {
    will-change: min-height;
}

.sidebar__inner {
    transform: translate(0, 0); /* For browsers don't support translate3d. */
    transform: translate3d(0, 0, 0);
    will-change: position, transform;
}

body.villa-one-page-website-no-header .filters.gold-bar {
    display: none;
}

@media all and (max-width: 767px) {
    body.villa-one-page-website header .container .clearfix > div {
        padding-top: 5px;
        padding-bottom: 5px;
        text-align: center;
    }
}

.table-striped thead tr.folder th {
    vertical-align: middle;
    width: 50%;
}

.sorted_table tr.empty {
    display: none;
}

.sorted_table tr.empty:only-child {
    display: table-row;
    height: 50px;
    background-color: #f5f5f5;
}

/*-----------------------PROPERTY FOLDERS------------------------*/
.folders-container {
    display: flex;
    flex-wrap: wrap;
    margin-bottom: 200px;
}

.folders-container .folders {
    width: 30%;
    border-right: 2px solid #bbbbbb;
}

.folders-container .folders ul li:before {
    content: '';
    display: block;
    width: 40px;
    height: 40px;
    background: url(/a/img/folder.png) no-repeat;
    background-position: center;
    background-size: contain;
    margin: -2px 5px 0 0;
}

.folders-container .folders ul li {
    list-style-type: none;
    display: flex;
    align-items: center;
    font-size: 18px;
    line-height: 40px;
    cursor: pointer;
    transition: all 0.2s ease-out;
}

.folders-container .folders ul li:hover,
.folders-container .folders ul li.active {
    background-color: #eeeeee;
}

.folders-container .folders ul li.hover-with-element {
    background-color: #a1a1a1 !important;
}

.folders-container .content {
    width: 70%;
}

.folders-container .content table.table.table-striped {
    display: none;
}

.folders-container .content table.table.table-striped.mainphoto {
    display: table;
}

.folders-container .content table.table.table-striped .img-thumb {
    max-width: 200px;
    max-height: 100px;
}

*[id^="folder-content-"].table-striped > tbody > tr.multiselectable-selected {
    background: #337ab7 !important;
}