@charset "UTF-8";

/* Interior Pages and Posts CSS */
#header, #header:hover {
    position: relative;
    box-shadow: 0 5px 25px rgba(0, 0, 0, 0.05);
    background-color: #FFF;
}

#header .header-holder {
    background-color: transparent;
}

#header .social a {
    color: #9FC173;
}

.page:not(.home) .mob-logo-section {
    padding-bottom: 10px;
}

.header-holder .headAdd .fas,
.header-holder .phoneBlock .fa {
    /* color: #5D45FF; */
}

.btn.btn-orange.booking-opener,
#header .btn.btn-orange {
    color: #ffffff;
    background-color: #415441;
}

.page-scrolled div#main {
    margin-top: min( 7.76vw, 149px );
}


.page-template-special-offers .main-frame {
    padding: 40px 0px;
}

.main-frame {
    background-color: #ffffff;
    color: #2E2E2D;
    padding-top: clamp(30px, 4.167vw, 80px );
}

.main-frame .container #content {
    position: relative;
    width: min( 92%, 1088px );
    padding: clamp(30px, 4.167vw, 80px ) 0;
    margin: 0 auto;
}

.breadcrumb {
    padding: 5px 0 0;
}

.bar.bar-title {
    background: #f8f8f8;
    border: none;
    padding: 0;
    background-size: 100vw;
    background-repeat: no-repeat;
}

.promo .pImg {
    position: absolute;
    top: 0;
    left: 0;
    object-fit: cover;
    object-position: center;
    overflow: hidden;
    width: 100%;
    height: 100%;
    z-index: 0;
}

.tWrap {
    width: 60%;
}

.promo .pImg img {
    object-fit: cover;
    width: 100%;
    height: 100%;
    object-position: center;
    filter: brightness(0.5);
}

.promo.bar.bar-title {
    position: relative;
    height: 560px;
    overflow: visible;
}

.bar.bar-title::after {
    display: none;
}

.bar.bar-title .container {
    position: relative;
    padding: 20px 0;
    /* border-bottom: 2px solid #ececec; */
    z-index: 2;
    color: #f8f8f8;
}

.promo.bar.bar-title .container.flex.col-reverse {
    height: 100%;
    display: flex;
    justify-content: space-between;
    align-content: space-between;
    align-items: flex-start;
}

.promo.bar.bar-title .container.flex.col-reverse .tWrap h1, .promo.bar.bar-title .container.flex.col-reverse .tWrap h2 {
    color: #f8f8f8;
    font-size: clamp(24px, 2.5vw, 48px);
    line-height: clamp( 32px, 2.917vw, 56px );
    font-family: 'Hepta Slab', serif;
    font-weight: 400;
    text-transform: none;
}

.bar.bar-title a {
    color: #f8f8f8;
}

.breadcrumbs-block {
    font-weight: 400;
    color: #f8f8f8;
    float: none;
    width: 100%;
    text-align: right;
    flex: 3;
}

.bar.bar-title h1,
.bar.bar-title h2 {
    color: #2A2A2C;
    font-weight: 400;
    font-family: 'Outfit', sans-serif;
    text-transform: capitalize;
}

.tWrap h1 {
    color: #f8f8f8;
}

.bar.bar-title h1::after {
    display: none;
}

#inner-content {
    margin-bottom: clamp(40px, 4.167vw, 80px) ;
}

.page-template-flexible #inner-content {
    padding: 0;
}

.page-template-flexible #inner-content .container {
    width: 100%;
    padding: 0;
}

.int_video {
    position: relative;
    width: 100%;
    height: clamp( 200px, 31.875vw, 612px );
    overflow: hidden;
    margin-bottom: clamp( 30px, 3.125vw, 60px );
}

.int_video .bgImg {
    position: absolute;
    display: block;
    width: 100%;
    height: 100%;
    top: 0;
    left: 0;
    z-index: 0;
}

.int_video .bgImg img {
    position: relative;
    display: block;
    box-shadow: none;
    object-fit: cover;
}

.int_video video {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.int_video a.popVideo {
    display: grid;
    position: absolute;
    width: clamp(40px, 2.292vw, 44px);
    height: clamp(40px, 2.292vw, 44px);
    right: min(1.667vw, 32px);
    bottom: min(3.125vw, 60px);
    z-index: 8;
    text-align: center;
    font-size: clamp(14px, 0.833vw, 16px);
    color: #fff;
    text-decoration: none;
    border: 2px solid;
    border-radius: 50%;
    align-content: center;
    justify-content: center;
    align-items: center;
    justify-items: center;
    letter-spacing: clamp(-4px, -0.208vw, -2px);
}

a.popVideo:hover {
    text-decoration: none;
}

.entry {
    padding-top: 0;
}

.page-template-special-offers .entry-add .row.flex {
    padding: 0;
    flex-wrap: wrap;
    align-content: stretch;
    align-items: stretch;
    gap: 0;
}

.page-template-special-offers .servCard {
    padding: 0 40px;
    border-right: 2px solid #2e2e2d26;
}

.page-template-special-offers .servCard:nth-of-type(3n) {
    border-right: 0;
}

.page-id-15597 form > p input {
    padding: min(15px, 0.781vw) min(32px, 1.667vw);
    text-shadow: none;
    color: #f8f8f8;
    border: 0;
    margin: 0;
    background-color: #3B696A;
    border-radius: 28px;
    z-index: 1;
    font-size: clamp(16px, 0.938vw, 18px);
    font-family: 'Outfit', sans-serif;
    letter-spacing: clamp(0.87px, 0.09vw, 1.74px);
    line-height: clamp(24px, 1.25vw, 24px);
}

.entry-add .int_head h1.itty,
.entry-add .int_head h2.itty {
    font-size: clamp( 14px, 0.833vw, 16px );
    letter-spacing: clamp( 0.52px, 0.080vw, 1.54px );
    line-height: clamp( 22px, 1.250vw, 24px );
    font-weight: 600;
    text-transform: uppercase;
}

.entry.entry-add h1, .entry.entry-add h2 {
    font-family: 'Hepta Slab', serif;
    font-size: clamp( 24px, 1.88vw, 36px );
    font-weight: 500;
    text-transform: none;
    letter-spacing: normal;
    line-height: 115%;
    color: #2A2A2C;
}

h1, .h1, h2, .h2, h3, .h3,
h4, .h4, h5, .h5, h6, .h6 {
    margin: clamp( 40px, 4.167vw, 80px ) 0 24px;
}

.entry-add h3 {
    font-size: clamp( 28px, 1.88vw, 36px );
    line-height: 125%;
    font-family: 'Hepta Slab', serif;
}

.beefy {
    font-weight: 600;
}

.entry.entry-add h4 {
     font-size: clamp(20px, 1.146vw, 22px);
}

.main-frame h4 {
    font-weight: 500;
}

.entry-add h2,
.fullContent.entry-add h2 {
    color: #2E2E2D;
    font-family: 'Hepta Slab', serif;
    font-size: clamp( 24px, 1.88vw, 36px );
    font-weight: 500;
    text-transform: none;
    letter-spacing: normal;
    line-height: 115%;
}

.entry.entry-add .page-offer h3, .bar.bar-title .page-offer h2 {
    display: block;
    float: none;
    color: inherit;
    font-family: 'Outfit', sans-serif;
    font-size: 28px;
    font-weight: 400;
    text-transform: none;
    letter-spacing: normal;
    line-height: clamp(32px, 1.979vw, 38px);
}

.page-offer h2 span.smaller {
    font-size: 16px;
    display: block;
}

.page-offer {
    position: absolute;
    display: block;
    padding: 56px;
    font-size: 16px;
    margin-bottom: 0;
    width: 535px;
    right: 0;
    bottom: -40px;
    background-color: #415441;
    color: #ffffff;
    box-shadow: 0 40px 40px #0000001A;
    z-index: 2;
}

.page-offer h2 {
    padding-bottom: 16px;
}

.page-offer img {
    display: none;
}

.page-offer p {
    color: inherit;
}

.entry.entry-add p,
.entry.entry-add ul li {
    font-size: clamp(16px, 0.938vw, 18px);
    line-height: clamp(24px, 1.667vw, 26px);
    letter-spacing: normal;
    color: #2A2A2C;
}

.entry img {
    box-shadow: 0 40px 40px #0000001A;
}

/** SIDEBAR STUFF **/

.rtSide {
    position: relative;
    display: block;
    background-color: #9FC173;
    background-image: url('/wp-content/uploads/2024/09/sidebar_background.jpg.webp');
    color: #2A2A2C;
    padding: 20px 15px;
    border-radius: 0;
    margin-bottom: 80px;
    box-shadow: none;
    overflow: visible;
    z-index: 10;
}

#sidebar .no-pad.row {
    margin: 0 -15px 15px;
}

.widget {
    padding: 30px 0 0;
    margin: 0;
}

.widget.widget-location, .widget.widget-choose {
    padding: 30px 28px;
}

.cInfo form input:not([type=submit]), 
.cInfo form textarea,
.wrap-form-question form input:not([type=submit]),
.wrap-form-question form textarea {
    font-size: 16px;
    border-bottom: none;
}

.widget.widget-form form .top label, .widget.widget-form form .top span {
    font-size: 16px;
}

.personal-info {
    padding: 0 20px;
    text-align: center;
}

.personal-info .img {
    float: right;
    margin-left: 3px;
}

.personal-info h5,
.widget.widget-form .head,
.widget.widget-location h4,
.widget.widget-choose h3 {
    color: #091713;
    font-family: 'Outfit', sans-serif;
    text-transform: unset;
    font-size: clamp(18px, 1.25vw, 24px);
    font-weight: 500;
    font-style: normal;
    letter-spacing: normal;
    line-height: clamp(24px, 1.354vw, 26px);
    text-align: center;
}

.widget.widget-form .head {
    padding: 10px 10px 0;
    margin: 0;
}

.widget.widget-choose h3 {
    margin: 0 0 24px;
}

.personal-info h5 a {
    color: #1b2436;
}

.personal-info h5{
    width: fit-content;
    margin: 0 0 24px;
    text-align: left;
}

.widget.widget-form .head p::after,
.widget.widget-location h4::after,
.widget.widget-choose h3::after,
.personal-info h5::after {
    content: '';
    display: none;
    width: 40px;
    height: 3px;
    margin: 12px auto 16px;
    border-bottom: 0;
    background-color: #FF5332;
}

.personal-info h5::after {
    margin: 8px 0 16px;
    display: none;
}

.personal-info .description {
    text-align: left;
    width: 100%;
}

.widget.widget-form .personal-info .description p { /* JRF */
    font-size: 16px;
    line-height: 24px;
    color: #2A2A2C;
    margin-bottom: 38px;
}

.widget.widget-form form {
    background-color: transparent;
    color: #1b2436;
}

.widget.widget-form form .top {
    color: #2A2A2C;
    margin-left: 0px;
    margin-bottom: 0px;
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
    align-content: center;
    align-items: center;
    font-size: 16px;
    line-height: 24px;
}

.wrap-form-question form .top p {
    display: flex;
    flex-direction: row;
    flex-wrap: nowrap;
    align-content: center;
    align-items: center;
}

.widget.widget-form .wrap-form-question input[type="submit"] {
    background-color: transparent;
    color: #2A2A2C;
    font-size: 16px;
    font-weight: 600;
    padding: 16px 24px;
    line-height: normal;
    margin: 10px auto;
    border-radius: 0;
}

.widget.widget-form .wrap-form-question input[type="submit"]:hover {
    background-color: #2A2A2C;
    color: #f8f8f8;
    /* margin: 5px auto 15px; */
}

.widget.widget-location h4 {
    text-align: center;
    margin-bottom: 24px;
}

.map-block.widget-map {
    height: 565px;
}

.widget-location .row-location {
    text-align: center;
}

.widget-location .row-location a {
    color: #2A2A2C;
    font-size: 16px;
    line-height: 24px;
    font-weight: 400;
    text-align: center;
    margin-bottom: 24px;
    display: block;
}

.widget .box {
    background-color: #f8f8f8;
    border: none;
    border-radius: 0;
}

.list-check li {
    padding-left: 26px;
    font-size: 16px;
}

.list-check li a {
    color: #0F2E31;
}

.list-check li::before {
    color: #9FC173;
    font-size: 14px;
}

.personal-info .img img {
    border: none;
}

.entry.entry-add ul {
    margin-bottom: 0;
}

.entry.entry-add ul li {
    margin-bottom: 24px;
}

.entry ul > li::before {
    background-color: #A5B59D;
    top: 8px;
}

/* SERVICES PAGE */
.servBlock.row.flex.wrap {
    padding: clamp( 50px, 5.208vw, 100px ) 0;
    /* gap: clamp( 40px, 4.167vw, 80px ); */
    align-items: stretch;
    align-content: stretch;
}

.servBlock .servCard {
    padding: clamp( 20px, 2.083vw, 40px );
    border: 2px solid #00000026;
    border-top: 0;
    border-left: 0;
}

.servBlock .servCard:nth-of-type(3n) {
    border-right: 0;
}

.servBlock .servCard:nth-last-of-type(-n+3) {
    border-bottom: 0;
}

.servCard h3 {
    margin: 0 0 24px;
}

.servCard h3 span.smaller {
    display: block;
    font-size: 16px;
}

.servBlock .servCard p {
    font-size: 16px;
    line-height: 24px;
}

.conForm {
    background-color: #415441;
    padding: clamp( 60px, 6.25vw, 120px ) 0;
}

.formWrap {
    width: min(100%, 960px);
    margin: 0 auto;
}

.formWrap textarea, .formWrap input[type=text],
.formWrap input[type=email], .formWrap input[type=tel] {
    width: 100%
}

.formWrap form .top {
    color: #f8f8f8;
}

.formWrap .wpcf7-radio label {
    display: flex;
    align-items: center;
}

.formWrap input[type=radio] {
    width: 20px;
    height: 20px;
    margin-right: 10px
}

.formWrap input[type="submit"].btn-orange:hover {
    background-color: #ffffff;
    color: #2E2E2D;
}

.formWrap form .top .flexWrap {
    display: flex;
    flex-direction: row;
    flex-wrap: nowrap;
    align-items: center;
}

.formWrap form .top .flexWrap p {
    margin: 0;
}

@media ( max-width: 1366px ) {
    .rtSide {
        width: 30%;
        margin-left: 3.3333333%;
    }
}

@media ( max-width: 1024px ) {
    #header, #header:hover {
        background-color: #2E2E2D;
    }
    
    .promo.bar.bar-title {
        height: min( 56.445vw, 578px )
    }
    
    #mobLogo {
        /* display: none; */
    }

    .page-offer {
        position: relative;
        width: 100%;
        top: unset;
        right: unset;
        bottom: unset;
        left: unset;
        margin-bottom: 40px;
        padding: 40px;
        transform: translateY(-80px);
    }

.page-offer h2 {
    color: #FFF;
    font-family: 'Outfit', sans-serif;
    font-size: 28px;
    margin-top: 0;
}

    .btn.btn-orange.booking-opener,
    #header .btn.btn-orange {
        color: #f8f8f8;
    }

    .rtSide::after {
        display: none;
    }
    
    .bar.bar-title {
        padding: 15px 10px;
    }

    #rSlider {
        overflow: hidden;
    }

    .rtSide {
        width: 100%;
        margin-left: 0;
        margin-top: 80px;
    }

    .personal-info h5, .widget.widget-form .head, .widget.widget-location h4, .widget.widget-choose h3 {
        font-size: 24px;
        letter-spacing: 0.48px;
        line-height: 36px;
    }

    .personal-info .img img {
        width: 115px;
    }

    .page-template-special-offers .entry-add .row.flex {
        flex-direction: column;
    }

    .page-template-special-offers .servCard {
        width: 90%;
        margin: 0 auto;
        border-right: 0;
        border-bottom: 2px solid #2e2e2d26;
    }

    .page-template-special-offers .servCard:nth-of-type(3) {
        border-bottom: 0;
    }

    .servBlock.row.flex.wrap {
        flex-direction: column;
    }

    .servBlock .servCard,
    .servBlock .servCard:nth-of-type(4),
    .servBlock .servCard:nth-of-type(5),
    .servBlock .servCard:nth-of-type(6) {
        border: 0;
        border-bottom: 2px solid #00000026
    }

    .formWrap input[type="submit"].btn-orange {
        padding: 16px 24px;
    }
}

@media ( max-width: 768px ) {
    .widget.widget-diff .row.flex {
        flex-wrap: wrap;
        row-gap: 40px;
    }

    .formWrap form .row.flex {
        flex-wrap: wrap;
    }
}

@media ( max-width: 567px ) {
    .entry.entry-add .alignright {
        margin: 0 0 20px 0px;
    }

    .page-id-15597 form > p input {
        padding: 16px 24px;
        font-size: 16px;
        font-weight: 600;
    }

    .widget.widget-diff .row.flex {
        flex-direction: column;
    }
}