/*
  Theme Name: Divi Child
  Theme URI: http://www.elegantthemes.com/gallery/divi/
  Template: Divi
  Author: Property Stream
  Version: 1.0
  Updated: 07.12.22
*/

/* Hero critical layout: reserve the hero shell before Divi's late inline CSS lands */
body.home .hero-background-fullscreen-section.et_pb_section {
    position: relative;
    width: 100%;
    max-width: 100vw;
    min-height: 720px;
    height: 100vh;
    max-height: none;
    margin: 0 !important;
    padding: 6rem 0 0 !important;
    overflow: hidden;
    display: flex;
    align-items: flex-end;
    justify-content: center;
    isolation: isolate;
    /* Mirror the Divi section gradient before generated CSS loads. */
    background-image: linear-gradient(
        90deg,
        rgba(0, 0, 0, 0.7) 0%,
        rgba(0, 0, 0, 0) 80%
    );
}

/* Divi paints background videos above the section background. */
body.home .hero-background-fullscreen-section.et_pb_section::before {
    content: "";
    position: absolute;
    inset: 0;
    z-index: 1;
    background-image: inherit;
    pointer-events: none;
}

body.home .hero-background-fullscreen-section .et_pb_section_video_bg {
    z-index: 0;
}

/* Background-player labels stay available to assistive technology. */
body.home .hero-background-fullscreen-section .et_pb_section_video_bg .mejs-offscreen {
    position: absolute;
    width: 1px;
    height: 1px;
    overflow: hidden;
    clip-path: inset(50%);
    white-space: nowrap;
}

body.home .hero-background-fullscreen.et_pb_row {
    position: absolute !important;
    inset: 0;
    width: 100% !important;
    max-width: 100vw !important;
    height: 100%;
    margin: 0 !important;
    padding: 0 !important;
    transform: none !important;
}

body.home .hero-background-fullscreen-inner.et_pb_column,
body.home .hero-background-fullscreen-inner-img.et_pb_image,
body.home .hero-background-fullscreen-inner-img .et_pb_image_wrap,
body.home .hero-background-fullscreen-inner-img .et_pb_image_wrap > img {
    width: 100%;
    height: 100%;
}

body.home .hero-background-fullscreen-inner-img .et_pb_image_wrap > img {
    display: block;
    object-fit: cover;
}

@media (min-width: 981px) {
    body.home .hero-background-responsive-image {
        display: none !important;
    }
}

body.home
    .hero-background-fullscreen-section
    > .et_pb_row:not(.hero-background-fullscreen) {
    position: relative;
    z-index: 2;
    width: 80%;
    max-width: 1240px;
    margin: 0 auto !important;
    padding-top: 0 !important;
    padding-bottom: 4rem !important;
}

body.home
    .hero-background-fullscreen-section
    > .et_pb_row:not(.hero-background-fullscreen)
    .et_pb_column {
    background: transparent;
    padding-top: 50px;
    padding-bottom: 50px;
}

body.home
    .hero-background-fullscreen-section
    .et_pb_heading
    .et_pb_heading_container
    h1,
body.home
    .hero-background-fullscreen-section
    .et_pb_heading
    .et_pb_heading_container
    h2,
body.home
    .hero-background-fullscreen-section
    .et_pb_heading
    .et_pb_heading_container
    h3,
body.home
    .hero-background-fullscreen-section
    .et_pb_heading
    .et_pb_heading_container
    h4,
body.home
    .hero-background-fullscreen-section
    .et_pb_heading
    .et_pb_heading_container
    h5,
body.home
    .hero-background-fullscreen-section
    .et_pb_heading
    .et_pb_heading_container
    h6,
body.home .hero-background-fullscreen-section .et_pb_text {
    color: #ffffff !important;
}

body.home .hero-background-fullscreen-section .et_pb_heading,
body.home .hero-background-fullscreen-section .et_pb_text {
    width: 100%;
    max-width: 768px;
}

body.home .hero-background-fullscreen-section .et_pb_button_module_wrapper {
    margin-top: 8px !important;
    margin-bottom: 8px !important;
}

body.home .hero-background-fullscreen-section .et_pb_button {
    font-weight: 400;
}

@media (max-width: 980px) {
    /*
     * Fill one screen, measured with the browser toolbars showing, and let the
     * copy push it taller only when a short landscape screen needs the room.
     */
    body.home .hero-background-fullscreen-section.et_pb_section {
        min-height: 100vh;
        min-height: 100svh;
        height: auto;
    }

    body.home
        .hero-background-fullscreen-section
        .et_pb_section_video_bg {
        display: none !important;
    }

    body.home .hero-background-responsive-image {
        display: block !important;
    }

    body.home
        .hero-background-fullscreen-section
        > .et_pb_row:not(.hero-background-fullscreen) {
        padding-bottom: 0 !important;
    }
}

@media (max-width: 767px) {
    body.home .hero-background-fullscreen-section.et_pb_section {
        /* Mirror Divi's phone layout: keep the copy below the header, not the viewport bottom. */
        align-items: flex-start;
    }
}

body {
    color: unset !important;
}

.et-fb-preview--desktop body.home #main-header {
    pointer-events: none;
}

/* start structure */
input,
button,
select {
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
    -webkit-border-radius: 0;
    border-radius: 0;
}

.schedule-time {
    color: #fff;
}

sup {
    bottom: unset;
}

.schedule-time {
    color: #120d2b !important;
    text-align: center;
    background-color: #fff !important;
    padding-top: 0.938rem !important;
    padding-right: 2.5rem !important;
    padding-bottom: 0.938rem !important;
    padding-left: 2.5rem !important;
    margin-top: 1.25rem auto 0px auto;
    display: block;
}

#page-container {
    width: 100%;
    padding-top: 5.375rem !important;
    overflow-x: hidden;
}

#main-header {
    box-shadow: none !important;
}

.form-simple form {
    margin: 0;
    padding: 0 !important;
    border: 0 !important;
    background-color: unset !important;
}

.wpforms-page-prev,
.wpforms-page-next,
.wpforms-submit,
.bookaviewing {
    padding-top: 0.4375rem !important;
    padding-right: 40px !important;
    padding-bottom: 0.4375rem !important;
    padding-left: 40px !important;
    line-height: 1.7em !important;
    text-transform: uppercase !important;
    letter-spacing: 0.0625rem !important;
    border: 0 !important;
}

.disabled {
    color: #120d2b !important;
    background-color: #ccc !important;
    padding-top: 0.938rem !important;
    padding-right: 2.5rem !important;
    padding-bottom: 0.938rem !important;
    padding-left: 2.5rem !important;
    margin-top: 1.25rem;
    display: inline-block;
    cursor: no-drop;
    text-transform: uppercase;
}

.videotourbuton,
.whatsappusbutton,
.downloadthebrochure {
    color: #120d2b;
    background-color: #fff !important;
    padding-top: 0.625rem !important;
    padding-right: 1.875rem !important;
    padding-bottom: 0.625rem !important;
    padding-left: 1.875rem !important;
    position: absolute;
    right: 0.625rem;
    bottom: 0.625rem;
}

.whatsappbutton {
    color: #120d2b;
    background-color: #fff !important;
    padding-top: 0.625rem !important;
    padding-right: 1.875rem !important;
    padding-bottom: 0.625rem !important;
    padding-left: 1.875rem !important;
    margin-top: 1.875rem;
    display: inline-block;
}

.floatingwhatsappbutton {
    position: fixed;
    right: 1.563rem;
    top: 50%;
    z-index: 999;
    background-color: #fff;
    height: 5.313rem;
    width: 5.313rem;
    border-radius: 3.125rem;
    box-shadow: 0px 0px 2.5rem #00000029;
}

.floatingwhatsappbutton img {
    margin: 18px;
}
/* end structure */

/* start menu */
#top-menu li.et-hover a,
#top-menu li.active a,
body.post-type-archive-property #top-menu li.menu-item-9 a,
body.single-property #top-menu li.menu-item-9 a {
    border-bottom: 0.125rem solid #000;
}

body.home #top-menu li.et-hover a {
    border-bottom: 0.125rem solid #fff;
}

.et_pb_bg_layout_dark .et_pb_slide_description {
    text-shadow: none;
}

#top-menu {
    padding-right: 0;
}

#top-menu li {
    padding: 0;
}

#top-menu li a {
    padding: 0.625rem;
}

#top-menu li a,
#top-menu li a,
body.home #top-menu li a {
    border-bottom: 0.125rem solid transparent;
}

#top-menu li.et-hover a,
#top-menu li.active a,
body.home #top-menu li.et-hover a {
    padding-bottom: 0px;
    border-bottom: 0.125rem solid #fff;
}

#top-menu li.current-menu-ancestor > a,
#top-menu li.current-menu-item > a {
    border-bottom: 0.125rem solid #fff;
}

#mobile_menu_slide .et_pb_column {
    width: 100% !important;
}

/* Burger menu */
#mobile_menu_slide .custommenu {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 16px;
    width: 100%;
    text-align: left;
}

.et_slide_in_menu_container #mobile_menu_slide .custommenu > li {
    margin: 0;
    padding: 0;
}

.et_pb_slide_menu_opened #mobile_menu_slide .custommenu li a {
    width: fit-content;
}

.et_header_style_fullscreen
    .et_slide_in_menu_container
    span.mobile_menu_bar.et_toggle_fullscreen_menu {
    /* Match the right edge of Divi's 80% header container and burger control. */
    right: 10%;
    top: 26px;
}

.et_slide_in_menu_container #mobile_menu_slide .custommenu li > a {
    position: relative;
    display: inline-block;
    width: fit-content;
    font-weight: 600;
    line-height: 1.2;
    padding: 4px 0;
    white-space: nowrap;
}

.et_slide_in_menu_container #mobile_menu_slide .custommenu li > a::after {
    content: "";
    position: absolute;
    right: 100%;
    bottom: -3px;
    left: 0;
    height: 2px;
    background: var(--yellow, #f2ae00);
    transition: right 0.3s var(--ease, ease);
}

.et_slide_in_menu_container #mobile_menu_slide .custommenu li > a:hover::after,
.et_slide_in_menu_container #mobile_menu_slide .custommenu li > a:focus-visible::after,
.et_slide_in_menu_container #mobile_menu_slide .custommenu li.active > a::after,
.et_slide_in_menu_container #mobile_menu_slide .custommenu li.current-menu-ancestor > a::after,
.et_slide_in_menu_container #mobile_menu_slide .custommenu li.current-menu-item > a::after,
.et_slide_in_menu_container #mobile_menu_slide .custommenu li > a.active::after {
    right: 0;
}

.et_slide_in_menu_container #mobile_menu_slide .custommenu li > a:hover,
.et_slide_in_menu_container #mobile_menu_slide .custommenu li > a:focus-visible {
    background-color: transparent !important;
    color: #fff !important;
    opacity: 1;
}

/*
 * Full navigation (three link columns plus contact details) needs more than
 * the 80% menu container available at tablet-sized desktop widths. Keep the
 * existing two-column layout until there is enough room for all four columns.
 */
@media screen and (min-width: 1500px) {
    .et_slide_in_menu_container #mobile_menu_slide .custommenu {
        display: grid;
        grid-auto-flow: column;
        grid-template-columns: repeat(2, max-content);
        grid-template-rows: repeat(5, max-content);
        column-gap: clamp(36px, 6vw, 90px);
        row-gap: 16px;
        /* Five 44px link rows (30px × 1.2 + 8px padding) plus four 16px gaps. */
        max-height: 284px;
    }
}

.customtopmenu a {
    padding-top: 0.938rem;
    padding-bottom: 0.375rem !important;
}

@media (max-width: 1350px) {
    .et_header_style_left .logo {
        max-width: 60%;
        max-height: 60%;
    }
}

.et_header_style_fullscreen
    .et_slide_in_menu_container.et_pb_fullscreen_menu_opened {
    opacity: 1;
}

#mobile_menu_slide .custommenu {
    text-align: left;
}

.et_slide_in_menu_container #mobile_menu_slide .burger-menu-row {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 3.75rem;
    box-sizing: border-box;
    width: 80%;
    max-width: 1240px;
    height: 100%;
    margin: 0 auto;
    padding: 0;
}

.et_slide_in_menu_container #mobile_menu_slide .burger-menu-row::before,
.et_slide_in_menu_container #mobile_menu_slide .burger-menu-row::after {
    content: none !important;
    display: none !important;
}

#mobile_menu_slide .burger-menu-row > .et_pb_column {
    height: auto;
    max-height: 100%;
    margin: 0 !important;
    overflow-y: auto;
    width: auto !important;
}

#mobile_menu_slide .burger-menu-row > .custommenu {
    flex: 0 1 36rem;
}

#mobile_menu_slide .burger-menu-row > .burger-menu-additional-links {
    flex: 0 1 20rem;
    min-width: 15rem;
}

#mobile_menu_slide .burger-menu-additional-links-menu {
    display: flex;
    flex-wrap: wrap;
    align-items: flex-start;
    gap: 0.75rem 0.625rem;
    width: 100%;
    margin: 0;
    padding: 0 0 0.25rem;
    list-style: none;
    text-align: left;
}

#mobile_menu_slide .burger-menu-additional-links-menu::before {
    content: "Get in touch";
    flex: 0 0 100%;
    margin: 0;
    color: #9b9b9b;
    font-size: 0.75rem;
    font-weight: 800;
    letter-spacing: 0.1em;
    line-height: 1.2;
    text-transform: uppercase;
}

#mobile_menu_slide .burger-menu-additional-links-menu li {
    flex: 0 0 100%;
    margin: 0;
    padding: 0;
    line-height: 1;
}

.et_slide_in_menu_container
    #mobile_menu_slide
    .burger-menu-additional-links-menu
    li:not(.et-social-icon)
    a {
    display: block;
    width: auto;
    max-width: 100%;
    padding: 0 !important;
    color: #fff !important;
    font-size: 1rem;
    font-weight: 600;
    line-height: 1.35;
}

#mobile_menu_slide .burger-menu-additional-links-menu li:not(.et-social-icon) {
    display: grid;
    grid-template-columns: 1.125rem minmax(0, 1fr);
    column-gap: 0.625rem;
    align-items: start;
}

#mobile_menu_slide
    .burger-menu-additional-links-menu
    li:not(.et-social-icon)
    > a {
    grid-column: 2;
}

#mobile_menu_slide
    .burger-menu-additional-links-menu
    li.additional-menu-manchester-office {
    order: 1;
}

#mobile_menu_slide
    .burger-menu-additional-links-menu
    li.additional-menu-london-office {
    order: 2;
    margin-top: -0.625rem;
}

#mobile_menu_slide
    .burger-menu-additional-links-menu
    li.additional-menu-general-enquiries {
    order: 3;
    margin-top: 0.125rem;
}

#mobile_menu_slide
    .burger-menu-additional-links-menu
    li.additional-menu-whatsapp {
    order: 4;
    margin-top: 0.125rem;
}

#mobile_menu_slide .burger-menu-additional-links-menu li.additional-menu-manchester-office::before,
#mobile_menu_slide .burger-menu-additional-links-menu li.additional-menu-general-enquiries::before {
    align-self: start;
    color: #f2ae00;
    font-family: ETmodules !important;
    font-size: 1rem;
    line-height: 1;
    margin-top: 0.25rem;
}

#mobile_menu_slide .burger-menu-additional-links-menu li.additional-menu-manchester-office::before {
    content: "\e090";
}

#mobile_menu_slide .burger-menu-additional-links-menu li.additional-menu-general-enquiries::before {
    content: "\e076";
}

#mobile_menu_slide .burger-menu-additional-links-menu li.additional-menu-whatsapp::before {
    content: "\f232";
    align-self: start;
    color: #f2ae00;
    font-family: "Font Awesome 7 Brands" !important;
    font-size: 1.125rem;
    font-weight: 400;
    line-height: 1;
    margin-top: 0.125rem;
}

#mobile_menu_slide
    .burger-menu-additional-links-menu
    li.additional-menu-manchester-office
    > a::before {
    content: "Manchester: ";
}

#mobile_menu_slide
    .burger-menu-additional-links-menu
    li.additional-menu-london-office
    > a::before {
    content: "London: ";
}

#mobile_menu_slide
    .burger-menu-additional-links-menu
    li:is(
        .burger-menu-social,
        .social-icon,
        .social-link,
        .et-social-icon,
        .twitter,
        .x-twitter,
        .et-social-twitter,
        .fa-twitter,
        .fa-x-twitter,
        .facebook,
        .et-social-facebook,
        .fa-facebook,
        .fa-facebook-f,
        .linkedin,
        .et-social-linkedin,
        .fa-linkedin,
        .fa-linkedin-in,
        .instagram,
        .et-social-instagram,
        .fa-instagram
    ) {
    order: 5;
    flex: 0 0 auto;
    width: auto;
    margin-top: 0.25rem;
}

.et_slide_in_menu_container
    #mobile_menu_slide
    .burger-menu-additional-links-menu
    li:is(
        .burger-menu-social,
        .social-icon,
        .social-link,
        .et-social-icon,
        .twitter,
        .x-twitter,
        .et-social-twitter,
        .fa-twitter,
        .fa-x-twitter,
        .facebook,
        .et-social-facebook,
        .fa-facebook,
        .fa-facebook-f,
        .linkedin,
        .et-social-linkedin,
        .fa-linkedin,
        .fa-linkedin-in,
        .instagram,
        .et-social-instagram,
        .fa-instagram
    )
    a {
    display: inline-flex;
    flex-direction: row;
    align-items: center;
    justify-content: center;
    width: 2.375rem;
    height: 2.375rem;
    padding: 0 !important;
    border: 1px solid rgba(255, 255, 255, 0.4);
    border-radius: 50%;
    color: #fff !important;
    font-size: 0;
    line-height: 1;
}

body #page-container
    .et_slide_in_menu_container
    #mobile_menu_slide
    .burger-menu-additional-links-menu
    li.et-social-icon
    > a {
    border-bottom-color: rgba(255, 255, 255, 0.4) !important;
}

#mobile_menu_slide
    .burger-menu-additional-links-menu
    li:is(.et-social-icon, .et-social-facebook, .et-social-twitter, .et-social-linkedin, .et-social-instagram)
    > a::before {
    display: block;
    font-family: ETmodules !important;
    font-size: 0.9375rem;
    line-height: 1;
}

#mobile_menu_slide
    .burger-menu-additional-links-menu
    li:is(.et-social-facebook, .facebook, .fa-facebook, .fa-facebook-f)
    > a::before {
    content: "\e093";
}

#mobile_menu_slide
    .burger-menu-additional-links-menu
    li:is(.et-social-twitter, .twitter, .x-twitter, .fa-twitter, .fa-x-twitter)
    > a::before {
    content: "\e094";
}

#mobile_menu_slide
    .burger-menu-additional-links-menu
    li:is(.et-social-linkedin, .linkedin, .fa-linkedin, .fa-linkedin-in)
    > a::before {
    content: "\e09d";
}

#mobile_menu_slide
    .burger-menu-additional-links-menu
    li:is(.et-social-instagram, .instagram, .fa-instagram)
    > a::before {
    content: "\e09a";
}

body #page-container .et_slide_in_menu_container
    #mobile_menu_slide
    .burger-menu-additional-links-menu
    li:not(.et-social-icon)
    > a:hover,
body #page-container .et_slide_in_menu_container
    #mobile_menu_slide
    .burger-menu-additional-links-menu
    li:not(.et-social-icon)
    > a:focus-visible {
    background-color: transparent !important;
    color: #f2ae00 !important;
    opacity: 1;
}

body #page-container .et_slide_in_menu_container
    #mobile_menu_slide
    .burger-menu-additional-links-menu
    li.et-social-icon
    > a:hover,
body #page-container .et_slide_in_menu_container
    #mobile_menu_slide
    .burger-menu-additional-links-menu
    li.et-social-icon
    > a:focus-visible {
    background: #f2ae00;
    border-color: #f2ae00 !important;
    color: #182126 !important;
    opacity: 1;
}

/* Dynamic viewport units keep the menu's last items above the iOS toolbar. */
.et_slide_in_menu_container {
    height: 100vh;
    height: 100dvh;
}

body.et_header_style_slide .et_slide_in_menu_container {
    width: 100%;
    max-width: none;
}

body.et_header_style_slide #page-container,
body.et_header_style_slide #main-header {
    left: 0 !important;
}

.et_slide_in_menu_container ul#mobile_menu_slide {
    height: calc(100vh - 128px);
    height: calc(100dvh - 128px);
    margin: 64px 0;
    padding: 0;
    overflow: hidden;
}

.et_slide_in_menu_container ul#mobile_menu_slide .et_pb_column {
    height: 100%;
    overflow-y: scroll;
    scrollbar-width: none;
}

.et_slide_in_menu_container
    ul#mobile_menu_slide
    .burger-menu-row
    > .et_pb_column {
    height: auto;
    max-height: 100%;
}

@media screen and (min-width: 1500px) {
    .et_slide_in_menu_container
        ul#mobile_menu_slide
        .burger-menu-row
        > .et_pb_column {
        overflow: visible;
    }
}

#main-header.et-fixed-header {
    -webkit-box-shadow: none !important;
    box-shadow: none !important;
}

body.home header.et-fixed-header {
    -webkit-transition: all 0.3125s ease;
    transition: all 0.3125s ease;
}

body #et-top-navigation,
.et_header_style_left #et-top-navigation,
.et_header_style_left .et-fixed-header #et-top-navigation {
    display: flex;
    align-items: center;
    gap: 1.125rem;
    font-weight: 400;
}

body #top-menu-nav-custom {
    flex: 0 0 auto;
}

body #et-top-navigation > .mobile_menu_bar.et_pb_header_toggle {
    display: flex;
    align-items: center;
    justify-content: center;
    flex: 0 0 2rem;
    width: 2rem;
    height: 3rem;
    padding: 0;
}

@media screen and (min-width: 981px) and (max-width: 1024px) {
    .et_header_style_fullscreen
        .et_slide_in_menu_container
        span.mobile_menu_bar.et_toggle_fullscreen_menu {
        right: calc(5vw + 2rem);
    }
}

@media screen and (max-width: 980px) {
    body.et_header_style_fullscreen #et-top-navigation,
    body.et_header_style_slide #et-top-navigation {
        display: flex;
        height: 100%;
        padding: 0;
    }

    body #top-menu-nav-custom {
        display: none;
    }

    /* 44px tap area around the 32px icon without moving it */
    body #et-top-navigation > .mobile_menu_bar.et_pb_header_toggle {
        height: 2rem;
        box-sizing: content-box;
        padding: 6px;
        margin: -6px;
    }

    .et_header_style_fullscreen
        .et_slide_in_menu_container
        span.mobile_menu_bar.et_toggle_fullscreen_menu {
        right: 5vw;
    }
}

@media screen and (min-width: 980px) {
    body.single-property .et_pb_section_400 .et_pb_row_4 {
        display: flex;
        align-items: stretch;
    }

    .downloadthebrochuresmall {
        height: 100%;
    }
}

@media screen and (max-width: 980px) {
    #main-header .container {
        display: flex;
        align-items: center;
        justify-content: flex-end;
        height: 6.25rem;
    }

    body.et_header_style_fullscreen #et-top-navigation {
        margin-left: auto;
    }

    .et_slide_in_menu_container ul#mobile_menu_slide {
        height: 100vh;
        height: 100dvh;
        margin: 0;
        overflow-y: auto;
    }

    /*
     * Top padding clears the logo and scales with screen height so the menu
     * fits without scrolling: ~82px on a 667px iPhone SE, ~108px on a 718px
     * Android phone, 128px from 758px up.
     */
    .et_slide_in_menu_container #mobile_menu_slide .burger-menu-row {
        flex-direction: column;
        align-items: flex-start;
        justify-content: flex-start;
        gap: 24px;
        width: 90%;
        height: auto;
        padding: clamp(80px, 50dvh - 251px, 128px) 0 20px;
    }

    .et_slide_in_menu_container #mobile_menu_slide .custommenu {
        gap: clamp(2px, 0.6dvh, 8px);
    }

    /* Divi's Slide In menu font size has no responsive setting, so phones scale it here. */
    .et_slide_in_menu_container #mobile_menu_slide .custommenu li > a {
        font-size: clamp(20px, 3.3dvh, 30px);
        padding: 2px 0;
    }

    .et_slide_in_menu_container
        ul#mobile_menu_slide
        .burger-menu-row
        > .custommenu,
    .et_slide_in_menu_container
        ul#mobile_menu_slide
        .burger-menu-row
        > .burger-menu-additional-links {
        flex: 0 0 auto;
        height: auto;
        max-height: none;
        min-height: 0;
        overflow-y: visible;
        width: 100% !important;
    }

    body.et_fixed_nav #main-header {
        position: fixed !important;
    }

    body.admin-bar.et_fixed_nav #page-container #main-header {
        top: var(--wp-admin--admin-bar--height, 32px) !important;
    }

    .calculators-content {
        display: block !important;
    }

    .calculators-content .mortgage_calculator_Wrapper,
    .calculators-content .stamp-duty-calculator {
        height: auto !important;
    }
}

@media screen and (max-width: 52.5rem) {
    .mortgage-calculator > div,
    .result-wrapper > div {
        width: 100% !important;
    }
}
/* end menu */

/* ------------------------------------- */
body .logo {
    width: auto;
    transition: all 0.4s ease-in-out;
    margin-bottom: 0;
    max-height: 75%;
    display: inline-block;
    float: none;
    vertical-align: middle;
    transform: translateZ(0);
}

body.et_pb_svg_logo .logo {
    width: auto;
    height: auto;
    max-height: 60%;
    max-width: 11rem;
}

@media screen and (min-width: 981px) {
    body.et_pb_svg_logo .logo {
        max-width: calc(100% - 45.5rem);
    }
}

img.et-logo-sticky {
    opacity: 0;
}

.et-fixed-header img.et-logo-sticky {
    opacity: 1;
}

.et-fixed-header img.et-logo {
    opacity: 0;
}

.logo_container {
    position: relative;
}

.logo_container .npp-header-logo {
    position: absolute;
    top: 0;
    left: 0;
    display: inline-flex;
    align-items: center;
    gap: 0.625rem;
    height: 100%;
    color: #fff;
    white-space: nowrap;
    text-decoration: none;
}

.logo_container img {
    position: absolute;
    left: 0;
    top: 50%;
    transform: translateY(-50%) !important;
}

.logo_container .npp-header-logo > img.et-logo {
    position: static;
    width: auto;
    height: 1.625rem;
    max-width: none;
    max-height: none;
    margin-top: 0 !important;
    opacity: 1 !important;
    transform: none !important;
    flex-shrink: 0;
}

.logo_container .npp-header-logo > img.et-logo-sticky {
    display: none;
}

.npp-header-logo__wordmark {
    display: block;
    font-family:
        "plus-jakarta-sans", "Plus Jakarta Sans", -apple-system, system-ui,
        sans-serif;
    font-size: 1.125rem;
    font-weight: 800;
    line-height: 1.25;
    letter-spacing: -0.01em;
    color: #fff;
    transition: color 0.4s ease-in-out;
}

.npp-header-logo__wordmark strong {
    font-weight: 800;
}

.npp-header-logo__wordmark span {
    color: rgba(255, 255, 255, 0.75);
    font-weight: 400;
    transition: color 0.4s ease-in-out;
}

#main-header.et-fixed-header .npp-header-logo__wordmark,
body.inner-page .npp-header-logo__wordmark,
body.single-property.divi-tgo-header-transparent .npp-header-logo__wordmark,
body.divi-tgo-header-solid .npp-header-logo__wordmark {
    color: #182126;
}

#main-header.et-fixed-header .npp-header-logo__wordmark span,
body.inner-page .npp-header-logo__wordmark span,
body.single-property.divi-tgo-header-transparent .npp-header-logo__wordmark span,
body.divi-tgo-header-solid .npp-header-logo__wordmark span {
    color: #5b6469;
}

#main-header.et-fixed-header,
body.home #main-header.et-fixed-header,
body:not(.home) #main-header.et-fixed-header,
body.inner-page #main-header,
body.divi-tgo-header-solid #main-header {
    background-color: rgba(250, 249, 246, 0.94) !important;
}

body.divi-tgo-header-transparent:not(.et-tb-has-header)
    #main-header:not(.et-fixed-header) {
    background: none !important;
    box-shadow: none;
}

body
    #page-container
    #main-header.et-fixed-header
    #top-menu
    li.menu-outline-btn
    > a,
body.inner-page
    #page-container
    #main-header
    #top-menu
    li.menu-outline-btn
    > a,
body.single-property.divi-tgo-header-transparent
    #page-container
    #main-header
    #top-menu
    li.menu-outline-btn
    > a,
body.divi-tgo-header-solid
    #page-container
    #main-header
    #top-menu
    li.menu-outline-btn
    > a {
    color: #182126 !important;
    border: 1px solid #182126 !important;
}

body
    #page-container
    #main-header.et-fixed-header
    #top-menu
    li.menu-border
    > a,
body.inner-page
    #page-container
    #main-header
    #top-menu
    li.menu-border
    > a,
body.single-property.divi-tgo-header-transparent
    #page-container
    #main-header
    #top-menu
    li.menu-border
    > a,
body.divi-tgo-header-solid
    #page-container
    #main-header
    #top-menu
    li.menu-border
    > a {
    color: #182126 !important;
    border: 1px solid #f2ae00 !important;
}

#main-header.et-fixed-header .mobile_menu_bar::before,
#main-header.et-fixed-header .mobile_menu_bar::after,
body.home #main-header.et-fixed-header .mobile_menu_bar::before,
body.home #main-header.et-fixed-header .mobile_menu_bar::after,
body.home #main-header.et-fixed-header .mobile_menu_bar:hover::before,
body.home #main-header.et-fixed-header .mobile_menu_bar:hover::after,
body.inner-page #main-header .mobile_menu_bar::before,
body.inner-page #main-header .mobile_menu_bar::after,
body.single-property.divi-tgo-header-transparent #main-header .mobile_menu_bar::before,
body.single-property.divi-tgo-header-transparent #main-header .mobile_menu_bar::after,
body.divi-tgo-header-solid #main-header .mobile_menu_bar::before,
body.divi-tgo-header-solid #main-header .mobile_menu_bar::after {
    color: #182126 !important;
}

@media screen and (min-width: 981px) {
    #main-header > .container {
        box-sizing: border-box;
        width: 80% !important;
        max-width: 1240px !important;
    }
}

/* Keep the brand link visible while Divi's fullscreen menu overlays the page. */
body:has(.et_slide_in_menu_container.et_pb_fullscreen_menu_opened) #main-header {
    z-index: 1000000 !important;
    background: transparent !important;
    box-shadow: none !important;
    pointer-events: none;
}

body:has(.et_slide_in_menu_container.et_pb_fullscreen_menu_opened)
    #main-header
    #et-top-navigation {
    visibility: hidden;
}

body:has(.et_slide_in_menu_container.et_pb_fullscreen_menu_opened)
    #main-header
    .npp-header-logo {
    pointer-events: auto;
}

body:has(.et_slide_in_menu_container.et_pb_fullscreen_menu_opened)
    #main-header
    .npp-header-logo__wordmark {
    color: #fff;
}

body:has(.et_slide_in_menu_container.et_pb_fullscreen_menu_opened)
    #main-header
    .npp-header-logo__wordmark
    span {
    color: rgba(255, 255, 255, 0.75);
}

/* Keep the header controls above the full-width slide overlay. */
body.et_pb_slide_menu_active #page-container #main-header {
    z-index: 1000000 !important;
    background: transparent !important;
    box-shadow: none !important;
    pointer-events: none;
}

body.et_pb_slide_menu_active #main-header #top-menu-nav-custom {
    visibility: hidden;
}

body.et_pb_slide_menu_active #main-header .npp-header-logo,
body.et_pb_slide_menu_active #main-header .mobile_menu_bar {
    pointer-events: auto;
}

body.et_pb_slide_menu_active #main-header .npp-header-logo__wordmark,
body.et_pb_slide_menu_active #page-container #main-header .mobile_menu_bar::before,
body.et_pb_slide_menu_active #page-container #main-header .mobile_menu_bar::after {
    color: #fff !important;
}

body.et_pb_slide_menu_active #main-header .npp-header-logo__wordmark span {
    color: rgba(255, 255, 255, 0.75);
}

body.inner-page img.et-logo-sticky,
body.divi-tgo-header-solid img.et-logo-sticky {
    opacity: 1;
}

body.inner-page img.et-logo,
body.divi-tgo-header-solid img.et-logo {
    opacity: 0;
}

.logomark {
    position: absolute;
    bottom: 0.125rem;
    right: 4.375rem;
}

.simplesearchbox {
    --simple-search-shell-gap: 0.75rem;
    --simple-search-control-height: 3.688rem;
    width: 100%;
}

.custom-properties-sale-rent .et_pb_all_tabs {
    background: none;
}

.custom-properties-sale-rent {
    --property-preview-carousel-block-padding: 2rem;
    --property-preview-carousel-inline-padding: 2rem;
    --property-preview-control-color: #182126;
    --property-preview-control-color-hover: #f2ae00;
    --property-preview-list-padding: 0.75rem 0 1.5rem;
    --property-preview-tab-padding-block: 1.5rem;
    border: 0px;
}

/*
 * Opt-in PropertyHive [recent_properties] controls. The core shortcode still
 * owns the property query and cards; these styles only shape the child-theme
 * heading, View All link and Buy/Rent switcher.
 */
.npp-property-preview {
    width: 100%;
}

.npp-property-preview__header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1.25rem;
    margin-bottom: 2.75rem;
}

.npp-property-preview__title {
    margin: 0;
    color: #182126;
    font-family: "fraunces", Georgia, "Times New Roman", serif;
    font-size: 2.75rem !important;
    font-style: normal;
    font-weight: 300 !important;
    letter-spacing: 0.02rem;
    line-height: 1.25 !important;
}

.npp-property-preview__header-actions {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    gap: 0.75rem;
}

.npp-property-preview__department-toggle {
    display: inline-flex;
    overflow: hidden;
    border: 1px solid #e4e1da;
    border-radius: 999px;
    background: #fff;
}

.npp-property-preview__department-button {
    min-width: 4.25rem;
    margin: 0;
    padding: 0.4375rem 1rem;
    border: 0;
    border-radius: 0;
    background: transparent;
    color: #182126;
    cursor: pointer;
    font-family: inherit;
    font-size: 0.8125rem;
    font-weight: 600 !important;
    line-height: 1;
    transition:
        background-color 200ms ease,
        color 200ms ease;
}

.npp-property-preview__department-button[aria-selected="true"] {
    background: #f2ae00;
}

.npp-property-preview__department-button[aria-selected="false"]:hover,
.npp-property-preview__department-button[aria-selected="false"]:focus-visible {
    background: #f2c24b;
}

.npp-property-preview__view-all {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 2.75rem;
    padding: 0.4375rem 1.125rem;
    border: 1px solid #182126;
    border-radius: 999px;
    background: #182126;
    color: #fff !important;
    font-size: 0.8125rem;
    font-weight: 600 !important;
    line-height: 1;
    text-decoration: none;
    transition:
        background-color 200ms ease,
        border-color 200ms ease,
        color 200ms ease;
}

.npp-property-preview__view-all:hover,
.npp-property-preview__view-all:focus-visible {
    border-color: #3b3e3f;
    background: #3b3e3f;
    color: #fff !important;
}

/*
 * Tiny Slider initialises on window load. Retain the hidden panel's width so
 * its carousel can initialise correctly, while removing it from the layout.
 */
.npp-property-preview__panel[hidden] {
    display: block !important;
    height: 0;
    overflow: hidden;
    pointer-events: none;
    visibility: hidden;
}

@media screen and (max-width: 680px) {
    .npp-property-preview__header {
        align-items: flex-start;
        flex-direction: column;
        margin-bottom: 1.5rem;
    }

    .npp-property-preview__title {
        font-size: 2.125rem !important;
    }

    .npp-property-preview__header-actions {
        width: 100%;
        justify-content: space-between;
    }
}

.custom-properties-sale-rent ul.et_pb_tabs_controls:after {
    display: none;
}

.custom-properties-sale-rent .et_pb_tabs_controls {
    display: flex;
    align-items: flex-end;
    justify-content: flex-end;
    flex-wrap: wrap;
    gap: 0 1.5rem;
    margin-bottom: 2.75rem;
    text-align: left;
}

.custom-properties-sale-rent .et_pb_tabs_controls:before {
    content: "Featured Managed Properties";
    font-family: "fraunces", Georgia, "Times New Roman", serif;
    font-weight: 300;
    font-style: normal;
    text-transform: none;
    letter-spacing: 0.02rem;
    line-height: 1.25;
    font-size: 2.75rem;
    display: block;
    margin-right: auto;
    position: static;
}

.custom-properties-sale-rent .et_pb_tabs_controls li {
    float: none;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border-right: none;
}

.custom-properties-sale-rent .et_pb_tabs_controls .et_pb_tab_0,
.custom-properties-sale-rent .et_pb_tabs_controls .et_pb_tab_1 {
    padding: 0.75rem 1.125rem;
}

body:is(.page-id-19, .page-id-4866463, .page-id-4866533)
    .custom-properties-sale-rent
    .et_pb_tabs_controls {
    display: none;
}

body:is(.page-id-19, .page-id-4866463, .page-id-4866533) .custom-properties-sale-rent {
    --property-preview-list-padding: 0;
    --property-preview-tab-padding-block: 0rem;
}

body:is(.page-id-19, .page-id-4866463, .page-id-4866533)
    .et_pb_row:has(> .et_pb_column > .custom-properties-sale-rent) {
    padding-top: 0;
    padding-bottom: 0;
}

.custom-properties-sale-rent .et_pb_tab {
    padding-top: var(--property-preview-tab-padding-block);
    padding-left: 0;
    padding-right: 0;
    padding-bottom: var(--property-preview-tab-padding-block);
}

.custom-properties-sale-rent .et_pb_tabs_controls li {
    border-bottom: none;
}

/* Homepage specific */
body.home:not(.divi-tgo-header-solid) #et-main-area {
    margin-top: 0;
}

body.home:not(.divi-tgo-header-solid) #main-header {
    background: none;
    box-shadow: none;
}

body.divi-tgo-header-transparent:not(.et-tb-has-header):not(.home)
    #page-container {
    padding-top: 0 !important;
}

body.home .et_pb_tabs {
    border: none;
}

.hero-background-fullscreen-inner-img img {
    object-fit: cover;
}

ul.et_pb_tabs_controls,
body.home ul.et_pb_tabs_controls {
    background: none;
}
/* end homepage only change */

/* start content */
.npp-accordion h3 {
    font-size: 1rem !important;
    font-weight: 600 !important;
}

.service_accordion .et_pb_toggle_title:before,
.service_accordion .et_pb_toggle_open h5 {
    display: none;
}

.service_accordion .et_pb_toggle_content {
    padding-top: 0px;
}

.service_accordion .et_pb_toggle_close h5 {
    padding-top: 1.25rem !important;
}

.service_text ul {
    padding-bottom: 0px;
}

body.post-type-archive-property h1 {
    text-align: center;
    margin-top: 80px;
}

.vertical-align {
    display: flex;
    flex-direction: column;
    justify-content: center;
}

/* PropertyHive */
.propertyhive-recent-properties-shortcode .details .summary,
.propertyhive-recent-properties-shortcode .details .actions,
.propertyhive-recent-properties-shortcode .details .rooms,
.propertyhive-recent-properties-shortcode .details .availability,
.propertyhive-recent-properties-shortcode .details .property-type {
    display: none;
}

.propertyhive-recent-properties-shortcode .properties li,
.propertyhive-similar-properties-shortcode .properties li,
.propertyhive-similar-properties-shortcode .properties.view-list li {
    border-bottom: none !important;
    clear: none !important;
}

.propertyhive ul.properties li:after {
    content: "";
    display: table;
    clear: both;
}

.propertyhive ul.properties li {
    margin: 0;
    padding: 0;
}

.propertyhive ul.properties:not(.propertyhive-shortcode-carousel) li,
.propertyhive
    ul.properties.propertyhive-shortcode-carousel
    li
    .thumbnail,
.propertyhive
    ul.properties.propertyhive-shortcode-carousel
    li
    .details {
    background-color: #f7f7f7;
}

.propertyhive ul.properties li .thumbnail {
    overflow: hidden;
}

.propertyhive ul.properties li .thumbnail {
    position: relative;
}

.propertyhive ul.properties.view-list li .thumbnail {
    height: 100%;
}

.propertyhive.propertyhive-recent-properties-shortcode
    ul.properties.view-list
    li
    .thumbnail,
.propertyhive.propertyhive-recent-properties-shortcode
    ul.properties
    li
    .thumbnail,
.propertyhive.propertyhive-similar-properties-shortcode
    ul.properties.view-list
    li
    .thumbnail,
.propertyhive.propertyhive-similar-properties-shortcode
    ul.properties
    li
    .thumbnail,
.propertyhive.propertyhive-similar-properties-shortcode ul li .thumbnail {
    height: auto;
}

.propertyhive ul.properties li .thumbnail a {
    height: 100%;
    display: flex;
    align-items: stretch;
    justify-content: stretch;
    padding-bottom: 0 !important;
    width: 100%;
}

.propertyhive ul.properties li .thumbnail a picture {
    width: 100%;
    display: flex;
    height: 100%;
}

.propertyhive ul.properties li .thumbnail a img,
.propertyhive ul.properties li .thumbnail a picture img {
    min-width: 100%;
    width: 100%;
    height: 100%;
    display: block;
    object-fit: cover;
    object-position: center;
}

.propertyhive ul.properties.view-grid li .thumbnail a,
.propertyhive-recent-properties-shortcode ul.properties li .thumbnail a,
.propertyhive-similar-properties-shortcode ul li .thumbnail a {
    aspect-ratio: 100 / 77;
}

.propertyhive ul.properties.view-list li .thumbnail a {
    aspect-ratio: 100 / 90;
}

.propertyhive-recent-properties-shortcode ul.properties li .thumbnail,
.propertyhive-recent-properties-shortcode ul.properties li .details {
    float: none !important;
    width: 100% !important;
}

.development-card-image {
    width: 100%;
    height: 100%;
    display: block;
    object-fit: cover;
}

.et_pb_button_module_wrapper.et_pb_button_alignment_left {
    display: inline-block;
    margin-right: 1.25rem;
}

.propertyhive-views {
    display: none;
    float: right;
    padding-left: 1.25rem;
    margin-top: 1rem;
    margin-bottom: 1.25rem;
    position: relative;
}

.propertyhive-views ul {
    display: flex;
    flex-wrap: nowrap;
    align-items: stretch;
    gap: 0.5rem;
}

.propertyhive-views ul li {
    display: inline-block;
}

.propertyhive-views ul li a {
    min-width: 52px;
    min-height: 52px;
    padding: 0.75rem 1.25rem;
    display: inline-flex;
    align-items: center;
    justify-content: center;
}

.propertyhive-views ul li.list a:before {
    content: "\f03a";
    position: relative;
    top: 0px;
    right: 0.313rem;
    font-family: "Font Awesome 7 Pro";
    font-size: 0.875rem;
    display: inline-block;
    background-repeat: no-repeat;
}

.propertyhive-views ul li.grid a:before {
    content: "\e195";
    position: relative;
    top: 0px;
    right: 0.313rem;
    font-family: "Font Awesome 7 Pro";
    font-size: 0.875rem;
    display: inline-block;
    background-repeat: no-repeat;
}

.propertyhive-views li.map a:before {
    content: "\f041";
    position: relative;
    top: 0px;
    right: 0.313rem;
    font-family: "Font Awesome 7 Pro";
    font-size: 0.875rem;
    display: inline-block;
    background-repeat: no-repeat;
}

body.post-type-archive-property ul.properties.view-list li {
    display: flex;
    direction: ltr;
    align-items: center;
}

body.post-type-archive-property #et-main-area #container {
    max-width: 162.5rem !important;
    width: 80%;
}

.propertyhive-info {
    display: block;
    clear: both;
}

.propertyhive-result-count {
    width: 100%;
    float: left;
    text-align: center;
}

@media screen and (min-width: 768px) {
    .propertyhive-result-count {
        width: auto;
        float: left;
        text-align: left;
        margin-top: 1rem;
        margin-bottom: 1.25rem;
        padding: 0.688rem 0 0.625rem 0;
    }
}

.propertyhive-ordering {
    width: 100%;
    float: right;
    margin-top: 1rem;
    margin-bottom: 1.25rem;
}

@media screen and (min-width: 768px) {
    .propertyhive-ordering {
        width: auto;
    }
}

/* Divi's WooCommerce styles set .orderby to Open Sans, which the site never loads. */
select.orderby {
    width: 100%;
    font-family: inherit;
    padding: 0.688rem 1.5rem 0.625rem 0.5rem;
    border: 0;
    border-radius: 0px;
    appearance: none;
    -webkit-appearance: none;
    -moz-appearance: none;
    -ms-appearance: none;
    background-position: calc(100% - 0.313rem) center !important;
    background: url("data:image/svg+xml,<svg height='0.625rem' width='0.625rem' viewBox='0 0 16 16' fill='%23000000' xmlns='http://www.w3.org/2000/svg'><path d='M7.247 11.14 2.451 5.658C1.885 5.013 2.345 4 3.204 4h9.592a1 1 0 0 1 .753 1.659l-4.796 5.48a1 1 0 0 1-1.506 0z'/></svg>")
        no-repeat #f7f7f7;
}

.propertyhive ul.properties li .thumbnail {
    width: 50%;
    float: left;
}

.propertyhive ul.properties li .details {
    float: right;
    width: 50%;
    padding: 4%;
}

.autocomplete-container {
    display: inline-block;
}

.propertyhive ul.view-list:not(.propertyhive-shortcode-carousel) {
    gap: 2.5rem;
}

.propertyhive ul.view-grid {
    gap: 1.25rem;
}

.propertyhive ul.view-grid li {
    padding: 0;
}

.propertyhive ul.properties:not(.view-list) li.first.last,
.propertyhive ul.view-grid li,
.propertyhive ul.properties li,
.propertyhive-similar-properties-shortcode ul li {
    width: 100%;
    clear: none !important;
    height: auto !important;
}

@media screen and (min-width: 768px) {
    .propertyhive ul.properties:not(.view-list) li.first.last,
    .propertyhive ul.view-grid li,
    .propertyhive ul.properties li,
    .propertyhive-similar-properties-shortcode ul li {
        width: calc((100% / 2) - (1.25rem / 2));
    }
}

@media screen and (min-width: 1248px) {
    .propertyhive ul.properties:not(.view-list) li.first.last,
    .propertyhive ul.view-grid li,
    .propertyhive ul.properties li,
    .propertyhive-similar-properties-shortcode ul li {
        width: calc((100% / 3) - ((2 * 1.25rem) / 3));
    }
}

.propertyhive ul.view-list li,
.propertyhive ul.properties.view-list li {
    width: 100%;
}

@media screen and (min-width: 768px) {
    .propertyhive ul.view-list li,
    .propertyhive ul.properties.view-list li {
        width: 100%;
    }
}

@media screen and (min-width: 1248px) {
    .propertyhive ul.view-list li,
    .propertyhive ul.properties.view-list li {
        width: 100%;
    }
}

.propertyhive ul.view-grid li .details h3 {
    white-space: nowrap;
    width: 100%;
    overflow: hidden;
    text-overflow: ellipsis;
}

.propertyhive ul.view-grid li .details,
.propertyhive ul.view-grid li .thumbnail,
.propertyhive-similar-properties-shortcode ul li .details,
.propertyhive-similar-properties-shortcode ul li .thumbnail {
    float: none !important;
    width: 100% !important;
}

.propertyhive-similar-properties-shortcode ul li .details {
    padding: 0px !important;
}

.propertyhive ul.view-grid .availability,
.propertyhive ul.view-grid .rooms,
.propertyhive ul.view-grid .summary,
.propertyhive ul.view-grid .actions,
.propertyhive-similar-properties-shortcode ul li .actions,
.propertyhive-similar-properties-shortcode ul li .summary,
.propertyhive-similar-properties-shortcode ul li .rooms,
.propertyhive-similar-properties-shortcode ul li .availability {
    display: none;
}

/* end grid view */

/*property search*/

.propertyhive-map-canvas-wrapper {
    clear: both;
    height: 500px;
    position: relative;
}

.propertyhive-map-canvas {
    height: 100%;
}

/* Leave room around the map on phones so the page can still be scrolled */
@media (max-width: 767px) {
    .propertyhive-map-canvas-wrapper {
        height: min(60vh, 400px);
        height: min(60svh, 400px);
    }

    /* Property Hive sets 600px inline on the single property map */
    #property_map_canvas {
        height: min(60vh, 400px) !important;
        height: min(60svh, 400px) !important;
    }
}

body .simplesearchbox .departments-wrapper {
    display: flex;
    justify-content: center;
    width: 100%;
    flex-wrap: wrap;
    padding-top: 40px;
}

body .simplesearchbox .departments-wrapper .control {
    flex: 1 1 12rem;
    max-width: 16rem;
}

body .simplesearchbox .departments-wrapper .control label {
    border: 4px solid #fff;
}

body .simplesearchbox .departments-wrapper .control label {
    text-align: center;
    padding: 14px 30px;
    min-height: var(--simple-search-control-height);
    display: flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
}

body .simplesearchbox .departments-wrapper input[type="radio"] {
    display: none;
}

.hide-element {
    display: none !important;
}

.show-element {
    display: inline-block !important;
}
/*end property search*/

@media screen and (max-width: 768px) {
    .propertyhive ul.properties li .thumbnail,
    .propertyhive ul.properties li .details {
        float: none;
        width: 100%;
    }
}

.room-bedrooms:before,
li.bedrooms:before {
    content: "\f8f7";
    font-family: "Font Awesome 7 Pro";
    font-size: 1.25rem;
    width: 1.25rem;
    height: 1.25rem;
    padding-right: 0.313rem;
    display: inline-block;
    background-repeat: no-repeat;
    position: relative;
}

.room-bathrooms:before,
li.bathrooms:before {
    content: "\f2cc";
    font-family: "Font Awesome 7 Pro";
    font-size: 1.25rem;
    width: 1.25rem;
    height: 1.25rem;
    padding-right: 0.313rem;
    display: inline-block;
    background-repeat: no-repeat;
    position: relative;
}

.room-receptions:before,
li.reception-rooms:before {
    content: "\f4cc";
    font-family: "Font Awesome 7 Pro";
    font-size: 1.25rem;
    width: 1.25rem;
    height: 1.25rem;
    padding-right: 0.313rem;
    display: inline-block;
    background-repeat: no-repeat;
    position: relative;
}

.room-returns:before {
    content: "\e5cf";
    font-family: "Font Awesome 7 Pro";
    font-size: 1.25rem;
    width: 1.25rem;
    height: 1.25rem;
    padding-right: 0.313rem;
    display: inline-block;
    background-repeat: no-repeat;
    position: relative;
}

.room-location:before {
    content: "\f3c5";
    font-family: "Font Awesome 7 Pro";
    font-size: 1.25rem;
    width: 1.25rem;
    height: 1.25rem;
    padding-right: 0.313rem;
    display: inline-block;
    background-repeat: no-repeat;
    position: relative;
}

.ph-infinite-scroll-button a {
    padding: 0.938rem;
    text-align: center;
    margin: 3.125rem auto;
    display: block;
    width: 10.313rem;
}

.propertyhive ul.properties li {
    border-bottom: none;
}

.actions a {
    padding-top: 0.4375rem !important;
    padding-right: 40px !important;
    padding-bottom: 0.4375rem !important;
    padding-left: 40px !important;
    margin: 1.875rem 0px;
    display: inline-block;
    text-transform: uppercase;
    box-shadow: 0px 0px 2.5rem #00000029;
}

.details {
    display: inline-grid;
}

.details .availability {
    order: 1;
    display: block;
    width: fit-content;
    padding: 0.625rem 2rem;
    text-align: center;
    margin-bottom: 1.25rem;
    height: 2.813rem;
}

.details .rooms {
    order: 2;
}

.details h3 {
    order: 3;
}

.details .price {
    order: 4;
}

body.post-type-archive-property .details .price {
    margin-bottom: 1.25rem;
}

.details .summary {
    order: 5;
}

.details .actions {
    order: 6;
}

.rooms .room {
    display: inline-block;
    padding-right: 1.875rem;
    margin-bottom: 1.25rem;
}
/* end content */

/* start single property */
body.single-property .property_meta li {
    display: flex;
    align-items: flex-start;
    padding-right: 1.25rem;
    margin-bottom: 0.313rem;
}

body.single-property .property_meta li span {
    display: flex;
    align-items: flex-start;
    margin-right: 0.313rem;
}

body.single-property .property_meta .property-type,
body.single-property .property_meta .availability,
body.single-property .property_meta .tenure {
    display: none;
}

.bookaviewing {
    margin-top: 1.875rem;
    display: inline-block;
    box-shadow: 0px 0px 2.5rem #00000029;
}

.sfsi_shortcode_container {
    float: none;
    position: absolute;
    right: 0.938rem;
    top: 0.625rem;
}

body.single-property .et_pb_section_200 {
    padding-bottom: 6% !important;
}

body.single-property .et_pb_section_203 {
    padding-top: 0px !important;
}

/* property detail slider  */
.flexslider {
    margin: 0px !important;
    background: transparent;
    border: none !important;
}

body.single-property .et_pb_section_200 .entry-summary {
    padding-left: 3.438rem;
    padding-right: 3.438rem;
}

body.single-property .entry-summary .price {
    font-size: 1.25rem;
    font-weight: 500;
    padding-bottom: 1.25rem;
}

body.single-property .entry-summary h1.property_title {
    padding-bottom: 2.5rem !important;
}

body.single-property .entry-summary .property_meta {
    padding-bottom: 1.25rem;
}

.sfsi_actvite_theme_flat .inerCnt .sficn {
    border-radius: unset;
}

body.single-property .et_pb_section_200 .et_pb_row_1 {
    padding: 0px !important;
}

body.single-property .et_pb_all_tabs {
    background: none;
}

body.single-property .et_pb_section {
    padding: 2% 0;
}

/* The shared PropertyHive template starts on a light background, not a hero.
 * Reserve space for the transparent header without obscuring Back to search. */
body.single-property.divi-tgo-header-transparent:not(.et-tb-has-header)
    .et_pb_section_200 {
    padding-top: calc(2% + 5.375rem);
}

@media screen and (max-width: 980px) {
    body.single-property.divi-tgo-header-transparent:not(.et-tb-has-header)
        .et_pb_section_200 {
        padding-top: calc(2% + 6.25rem);
    }
}

body.single-property .mapcontainer {
    padding-top: 0px !important;
}

body.single-property .et_pb_section_201,
body.single-property .et_pb_section_201 .et_pb_row {
    padding: 0;
}

body.single-property .propertydivider {
    border-top: 1px solid #000;
    height: 1px;
}

body.single-property .features {
    padding: 5% 0;
}

body.single-property .summary {
    padding: 5% 0 0 0;
}

body.single-property .features ul {
    list-style: circle;
}

body.single-property .features ul li {
    display: inline-block;
    width: 49%;
}

body.single-property .swiper-pagination {
    bottom: -1.875rem !important;
}

.getintouch {
    height: 100%;
    padding: 1.875rem;
    min-height: 265px;
}

.property-office-details .office-address {
    display: none;
}

.office-telephone-number:before {
    content: "Call: ";
}

.office-email-address:before {
    content: "Email: ";
}

.downloadthebrochuresmall {
    padding: 1.875rem;
    min-height: 265px;
}

.downloadthebrochuresmall h4,
.getintouch h4 {
    margin-bottom: 1.25rem;
}

.et_pb_tabs,
body.single-property .et_pb_tabs,
body.single-property .et_pb_tabs_controls li {
    border: none;
}

body.single-property
    .property-info-tab
    .et_pb_tabs_controls
    li.et_pb_tab_active
    a {
    opacity: 1 !important;
    -webkit-box-shadow: 0px -4px 7px #00000029;
    -moz-box-shadow: 0px -4px 7px #00000029;
    box-shadow: 0px -4px 7px #00000029;
}

body.single-property .property-info-tab {
    margin-top: -71px;
}

body.single-property .property-info-tab .et_pb_tab {
    padding: 1.5rem 0px;
}

body.single-property ul.et_pb_tabs_controls:after {
    display: none;
}

body.single-property .property-info-tab .et_pb_tabs_controls li a {
    opacity: 0.5;
    padding: 1.375rem 1.875rem;
}

body.single-property .et_pb_tab_content hr {
    clear: both;
    border: none;
    height: 0.063rem;
    margin: 3.125rem 0px;
}

body.single-property .property-info-tab .et_pb_tab_content {
    padding-top: 5rem;
}

body.single-property .et_pb_tab_content {
    clear: both;
}

body.single-property .et_pb_tab_content ul {
    list-style-type: none;
}

body.single-property .et_pb_tab_content ul li {
    display: inline-block;
    width: 50%;
}

body.single-property .et_pb_tab_content ul li::before {
    content: "\2022";
    font-weight: bold;
    display: inline-block;
    width: 1em;
}

body.single-property .tss-wrapper .tss-layout3 .item-content-wrapper {
    padding: 0px;
}

body.single-property .tss-wrapper .tss-even .tss-grid-item {
    margin-bottom: 0px;
    padding: 0px;
}

body.single-property
    .tss-wrapper
    .tss-layout3
    .single-item-wrapper
    h3.author-name {
    text-align: left !important;
}

.property-map-tabs {
    margin-top: 5rem;
}

.property-map-tabs li {
    display: inline-block;
    width: 50%;
}

.property-map-tabs li a {
    text-align: center;
    width: 100%;
    display: block;
    padding: 1.25rem;
}

.property-map-tabs .et_pb_tab {
    padding: 0px;
}

body.single-property .et_pb_section_400 {
    padding-top: 0px !important;
    padding-bottom: 0px !important;
}

/* start simple property search form */

.property-search-form-simple_search input[type="submit"] {
    appearance: none;
    -moz-appearance: none;
    -webkit-appearance: none;
    width: 100%;
    text-align: center;
    vertical-align: top;
    padding: 0.875rem 0.875rem;
    border: none;
    height: var(--simple-search-control-height);
}

.property-search-form-simple_search input[type="text"] {
    height: var(--simple-search-control-height);
    border: 0.125rem solid #fff;
    border-radius: 999px;
}

.property-search-form-simple_search input[type="radio"] {
    display: none;
}

.property-search-form-simple_search .control-include-sold-stc label {
    padding: 0.875rem 1rem;
    min-height: var(--simple-search-control-height);
    display: flex;
    align-items: center;
    gap: 0.625rem;
}

.property-search-form-simple_search .control {
    display: block;
    flex: 1 1 100%;
    margin-bottom: 0.5rem;
    padding: 0;
}

.property-search-form-simple_search .control-department {
    width: 100%;
    display: flex;
    flex-wrap: wrap;
}

.property-search-form-simple_search select {
    border: 0.125rem solid #fff;
    padding: 1.375rem 0.625rem 19px 0.625rem;
    min-height: var(--simple-search-control-height);
    width: 100%;
}

.property-search-form-simple_search .control label {
    border: 0.125rem solid #fff;
    padding: 0.875rem 1.875rem;
    box-sizing: border-box;
}

.property-search-form-simple_search .control-department label {
    width: auto;
    display: flex;
    flex: 1 1 auto;
    align-items: center;
    justify-content: center;
    min-height: var(--simple-search-control-height);
}

.property-search-form.property-search-form-simple_search {
    display: flex;
    flex-wrap: wrap;
    align-items: stretch;
    align-content: flex-start;
}

.property-search-form-simple_search .autocomplete-container {
    display: block;
    width: 100%;
    margin: 0;
}

.property-search-form-simple_search
    .control-address_keyword
    input#address_keyword {
    width: 100%;
    text-align: center;
}

.property-search-form.property-search-form-simple_search
    > input[type="submit"] {
    text-align: center;
    flex: 1 1 100%;
    margin: 0;
}

.property-search-form-simple_search
    .custom-properties-sale-rent
    .et_pb_tabs_controls:before {
    top: -1.25rem;
}

.property-search-form-simple_search .custom-properties-sale-rent .et_pb_tab {
    padding: 0.625rem 0px;
}

body .simplesearchbox .property-search-form-simple_search .lettings-only,
body .simplesearchbox .property-search-form-simple_search .commercial-only,
body
    .simplesearchbox
    .property-search-form-simple_search
    .commercial-sales-only,
body
    .simplesearchbox
    .property-search-form-simple_search
    .commercial-lettings-only {
    display: none;
}

body
    .simplesearchbox
    .property-search-form-simple_search
    .control-include-sold-stc {
    display: none !important;
}

body .simplesearchbox .property-search-form-simple_search .sales-only,
body .simplesearchbox .property-search-form-simple_search .residential-only {
    display: block;
}

body
    .simplesearchbox
    .property-search-form-simple_search.search-state-residential-lettings
    .sales-only,
body
    .simplesearchbox
    .property-search-form-simple_search.search-state-residential-lettings
    .commercial-only,
body
    .simplesearchbox
    .property-search-form-simple_search.search-state-residential-lettings
    .commercial-sales-only,
body
    .simplesearchbox
    .property-search-form-simple_search.search-state-residential-lettings
    .commercial-lettings-only,
body
    .simplesearchbox
    .property-search-form-simple_search.search-state-commercial
    .sales-only,
body
    .simplesearchbox
    .property-search-form-simple_search.search-state-commercial
    .lettings-only,
body
    .simplesearchbox
    .property-search-form-simple_search.search-state-commercial
    .residential-only,
body
    .simplesearchbox
    .property-search-form-simple_search.search-state-commercial
    .commercial-sales-only,
body
    .simplesearchbox
    .property-search-form-simple_search.search-state-commercial
    .commercial-lettings-only {
    display: none;
}

body
    .simplesearchbox
    .property-search-form-simple_search.search-state-residential-lettings
    .lettings-only,
body
    .simplesearchbox
    .property-search-form-simple_search.search-state-commercial
    .commercial-only,
body
    .simplesearchbox
    .property-search-form-simple_search.search-state-commercial.search-state-commercial-for-sale
    .commercial-sales-only,
body
    .simplesearchbox
    .property-search-form-simple_search.search-state-commercial.search-state-commercial-to-rent
    .commercial-lettings-only {
    display: block;
}

/* start main property search form */

.property-search-form-default {
    width: calc(100% + 0.5rem);
    display: block;
    margin: 2.5rem -0.25rem 3.75rem -0.25rem;
}

.property-search-form-default input[type="text"] {
    border: 0;
}

.property-search-form-default input[type="radio"] {
    display: none;
}

.property-search-form-default .control-department {
    display: block !important;
}

.property-search-form-default .control-department label {
    text-align: center;
}

.property-search-form-default .control {
    display: inline-block;
    padding: 0;
}

.property-search-form-default select {
    border: 0.25rem solid transparent;
    padding: 1.125rem 0.875rem;
    background-clip: padding-box;
}

.property-search-form-default .control input,
.property-search-form-default .control select {
    width: 100%;
    background-clip: padding-box;
}

.property-search-form-default .control label {
    border: 0.25rem solid transparent;
    padding: 0.875rem 1.875rem;
    background-clip: padding-box;
}

.property-search-form-default .control-department label {
    width: 50%;
    display: inline-block;
}

.property-search-form-default .control-address_keyword {
    width: 100%;
    border: 0.25rem solid transparent;
    background-clip: padding-box;
}

.property-search-form-default .control-address_keyword input {
    width: 100%;
    padding: 0.875rem 1.875rem;
}

.property-search-form-default .control-radius {
    width: calc(50% - 0.125rem);
}

.property-search-form-default .control-minimum_bedrooms {
    width: calc(50% - 0.125rem);
}

.property-search-form-default .control-maximum_price,
.property-search-form-default .control-maximum_rent {
    width: calc(50% - 0.125rem);
}

.property-search-form-default .control-include-sold-stc {
    width: calc(50% - 0.125rem);
}

.property-search-form-default .control-include-sold-stc label {
    width: 100%;
    display: inline-block;
    padding: 0.93rem 0.875rem;
    display: flex;
    gap: 0.25rem;
    align-items: center;
}

.property-search-form-default .control-include-sold-stc label input {
    width: auto;
    padding: 0.625rem 0.75rem;
}

.property-search-form-default input[type="submit"] {
    width: 100%;
    padding: 0.875rem 0.875rem;
    border: 0.25rem solid transparent;
    appearance: none;
    -moz-appearance: none;
    -webkit-appearance: none;
    background-clip: padding-box;
}

/*
 * Lay the archive search out as wrapping flex rows so every control in a row,
 * the Search button included, takes the height of the tallest one, even when
 * larger text wraps a label onto two lines.
 */
.property-search-form-default {
    display: flex;
    flex-wrap: wrap;
    align-items: stretch;
    justify-content: space-between;
}

.property-search-form-default .control-department {
    width: 100%;
}

.property-search-form-default .control-address_keyword {
    display: flex;
}

/* Match the select height when Search sits on a row of its own. */
.property-search-form-default input[type="submit"] {
    min-height: calc(1.3em + 2.75rem);
}

.property-search-form-default .control > select,
.property-search-form-default .control-include-sold-stc label {
    height: 100%;
}

/* end property search form property */

/* Address Field Feedback Styles */

/* Tooltip container */
body .address-field-tooltip {
    display: block !important;
    visibility: visible !important;
    position: absolute !important;
    background: #2c3e50 !important;
    color: #ffffff !important;
    padding: 12px 16px !important;
    border-radius: 6px !important;
    font-size: 14px !important;
    line-height: 1.6 !important;
    max-width: 320px !important;
    width: max-content !important;
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15) !important;
    font-family: inherit !important;
    font-weight: 400 !important;
    letter-spacing: 0.2px !important;
    text-align: left !important;
    pointer-events: auto !important;
    opacity: 1 !important;
}

/* Style line breaks in tooltip */
body .address-field-tooltip br {
    display: block;
    content: "";
    margin-top: 4px;
}

/* Info icon for tooltip */
body .address-field-tooltip:before {
    content: "ℹ";
    display: inline-block;
    width: 18px;
    height: 18px;
    background: rgba(255, 255, 255, 0.2);
    border-radius: 50%;
    text-align: center;
    line-height: 18px;
    margin-right: 8px;
    font-size: 12px;
    font-weight: bold;
    vertical-align: middle;
}

/* Tooltip arrow pointing down (since tooltip is above) */
body .address-field-tooltip .tooltip-arrow {
    position: absolute;
    bottom: -8px;
    left: 20px;
    width: 0;
    height: 0;
    border-left: 8px solid transparent;
    border-right: 8px solid transparent;
    border-top: 8px solid #2c3e50;
}

/* Animation for tooltip fade in/out */
body .address-field-tooltip {
    animation: tooltipFadeIn 0.3s ease-in-out forwards;
}

@keyframes tooltipFadeIn {
    from {
        opacity: 0;
        transform: translateY(5px);
    }
    to {
        opacity: 1;
        transform: translateY(0);
    }
}

/* Responsive adjustments */
@media (max-width: 768px) {
    body .address-field-tooltip {
        max-width: 280px;
        font-size: 13px;
        padding: 10px 14px;
    }

    body .address-field-tooltip .tooltip-arrow {
        left: 15px;
    }
}

/* Dark mode support (if your theme has dark mode) */
@media (prefers-color-scheme: dark) {
    body .address-field-tooltip {
        background: rgba(26, 37, 47, 0.95);
        box-shadow: 0 4px 12px rgba(0, 0, 0, 0.3);
    }

    body .address-field-tooltip .tooltip-arrow {
        border-top-color: #1a252f;
    }
}

/* Ensure tooltip stays above other elements but not Google Autocomplete */
body .address-field-tooltip {
    z-index: 9998 !important;
}

/* logo slider */
.gs_logo_single--inner {
    min-width: auto !important;
}

.gs_logo_single img {
    max-width: 21.25rem !important;
}

/* start testimonials */
.custom_testimonial .item-content-wrapper {
    background: none !important;
}

.tss-wrapper .tss-carousel3 .item-content-wrapper:before {
    display: none !important;
}

.single-item-wrapper .item-content {
    text-align: center;
    max-width: 770px;
    margin: 0px auto;
}

.single-item-wrapper {
    display: grid;
}

.single-item-wrapper h3.author-name {
    order: 2;
}

.single-item-wrapper .item-content-wrapper {
    order: 1;
}

body .et-pb-controllers {
    display: flex;
    justify-content: center;
    flex-wrap: wrap;
    gap: 0;
}

.et-pb-controllers a {
    display: inline-block;
    background-color: hsla(0, 0%, 100%, 0.5);
    text-indent: -9999px;
    border-radius: 12px;
    width: 24px;
    height: 24px;
    margin-right: 24px;
    padding: 0;
    opacity: 0.5;
}

.et-pb-controllers a:last-child {
    margin-right: 0;
}

body .et_pb_fullwidth_slider .et-pb-arrow-prev,
body .et_pb_fullwidth_slider .et-pb-arrow-next {
    top: 50%;
    width: auto;
    min-width: 52px;
    min-height: 52px;
    margin-top: 0;
    transform: translateY(-50%);
    display: inline-flex;
    align-items: center;
    justify-content: center;
}

body .et_pb_fullwidth_slider .et-pb-arrow-prev::before,
body .et_pb_fullwidth_slider .et-pb-arrow-next::before {
    line-height: 1;
}

/* end testimonials */

/* Home audience cards: four across leaves too little room for the titles
 * below 1280px, so keep Divi's tablet two-by-two layout up to there. */
@media (min-width: 981px) and (max-width: 1279px) {
    .et_pb_row_4col:has(.dizo_image_hover) {
        display: flex;
        flex-wrap: wrap;
    }

    .et_pb_row_4col:has(.dizo_image_hover) > .et_pb_column {
        width: 47.25%;
        margin-right: 5.5%;
        margin-bottom: 30px;
    }

    .et_pb_row_4col:has(.dizo_image_hover) > .et_pb_column:nth-child(2n) {
        margin-right: 0;
    }

    .et_pb_row_4col:has(.dizo_image_hover) > .et_pb_column:nth-last-child(-n + 2) {
        margin-bottom: 0;
    }
}

/* start
 * footer */
.et-l--footer .et_pb_text h5.eyebrow {
    padding-bottom: 0;
    margin-bottom: 1.25rem;
}

.et-l--footer .et_pb_text ul.link-sm {
    display: flex;
    flex-direction: column;
    gap: 0.75rem;
    padding-bottom: 0;
}

.et-l--footer .et_pb_text p.link-sm {
    padding-bottom: 0.75rem;
}

.et-l--footer .et_pb_text p.link-sm:last-child {
    padding-bottom: 0;
}

/* Touch-sized footer and office contact links: each row is a 44px tap target, which
 * takes over from the list gap. */
@media (max-width: 980px) {
    .et-l--footer .et_pb_text ul.link-sm {
        gap: 0;
    }

    .et-l--footer .et_pb_text ul.link-sm > li > a,
    .et-l--footer .et_pb_text p.link-sm > a,
    .office-contact > a {
        display: inline-flex;
        align-items: center;
        min-height: 44px;
    }

    .et-l--footer .et_pb_text p.link-sm {
        padding-bottom: 0;
    }

    /* Inline credit links grow their hit area without moving the text */
    .et-l--footer p.caption > a {
        display: inline-block;
        padding: 14px 0;
        margin: -14px 0;
    }

    .et-l--footer .et_pb_social_media_follow a.icon {
        position: relative;
    }

    .et-l--footer .et_pb_social_media_follow a.icon::after {
        content: "";
        position: absolute;
        inset: -6px;
    }
}

/* Below 1280px five columns are too narrow for the email address, so the
 * brand column takes its own row above the four list columns. */
@media (min-width: 480px) and (max-width: 1279px) {
    .et-l--footer .footer-columns {
        display: grid;
        grid-template-columns: repeat(4, minmax(0, 1fr));
        gap: 2.5rem 2rem;
    }

    .et-l--footer .footer-columns::after {
        display: none;
    }

    .et-l--footer .footer-columns > .et_pb_column {
        width: auto !important;
        margin: 0 !important;
    }

    .et-l--footer .footer-columns > .et_pb_column:first-child {
        grid-column: 1 / -1;
    }
}

@media (min-width: 480px) and (max-width: 1023px) {
    .et-l--footer .footer-columns {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

/* Divi stacks columns with a 30px gap; keep the copyright and credit close. */
@media (max-width: 980px) {
    .et-l--footer .footer-bottom > .et_pb_column:not(:last-child) {
        margin-bottom: 0.75rem;
    }
}

/* end
 * footer */

/* fix for autocomplete and popup*/
.pac-container {
    z-index: 2000000000 !important;
}

/* tweaks start */
.autocomplete-results ul li {
    list-style: none !important;
}

/* Property lightboxes must cover the header, slide menu and admin toolbar. */
body.single-property .fancybox-container {
    z-index: 1000001;
}

.fancybox-toolbar {
    top: 12.188rem;
    z-index: 99999;
    right: 0.625rem;
}

body.single-property .fancybox-toolbar {
    top: 0;
}

#propertyhive_locrating_all_in_one_frame {
    width: 100% !important;
}

#address_keyword {
    padding-left: 0.625rem;
}

.alert-danger {
    background-color: red;
    padding: 31px;
    color: #fff;
    text-align: center;
    z-index: 9999;
    position: relative;
}

#address_keyword::placeholder {
    /* Chrome, Firefox, Opera, Safari 10.1+ */
    opacity: 1;
    /* Firefox */
}

.control-department label {
    cursor: pointer;
}

/* Add icon to the opened accordion */
.pa-add-accordion-icon
    .et_pb_accordion_item.et_pb_toggle_open
    .et_pb_toggle_title:before {
    display: block;
    content: "\e04f";
}

/* property container size */

body.single-property .mobilepaddingtweak {
    align-items: center;
}

/* property form style  */

body.single-property .property-info-tab .et_pb_tabs_controls li a {
    opacity: 1;
}

/* Image property detail alignment */
.mobilepaddingtweak > .vertical-align {
    justify-content: flex-start;
    height: max-content;
}

/* downloadthebrochuresmall-btn style  */
.downloadthebrochuresmall-btn {
    margin-top: -1.25rem;
    margin-bottom: 2.5rem;
    display: flex;
    justify-content: flex-start;
    width: 100%;
}

.downloadthebrochuresmall-btn .downloadthebrochurebutton {
    margin-top: 0 !important;
    z-index: 9;
    position: relative;
}

/* Tab style */
.tap-wapper {
    margin-top: -97px;
}

/* social icon on banner slider  */
.social-container {
    display: none;
}

.propertyhive ul.properties .details .summary {
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: initial;
    display: -webkit-box;
    line-clamp: 3;
    -webkit-line-clamp: 3;
    -moz-line-clamp: 3;
    -webkit-box-orient: vertical;
}

/* wp-form */
div.wpforms-container-full .wpforms-form .wpforms-field-row-block,
div.wpforms-container-full .wpforms-form .wpforms-field-row > div {
    display: flex;
    flex-direction: column-reverse;
    position: relative;
    padding-bottom: 0.375rem;
}

body .wpforms-form .wpforms-field input {
    border-bottom: 0.063rem solid #777 !important;
}

div.wpforms-container-full .wpforms-form .wpforms-field-row-block input,
div.wpforms-container-full .wpforms-form .wpforms-field-row > div input {
    border-bottom: 0.063rem solid #777 !important;
}

.wpforms-page-prev {
    padding-top: 0.938rem !important;
    padding-bottom: 0.938rem !important;
}

div.wpforms-container-full .wpforms-form label.wpforms-error {
    position: absolute;
    bottom: -0.625rem;
}

div.wpforms-container-full .wpforms-form .wpforms-field {
    position: relative;
    padding-bottom: 0.375rem;
}

div.wpforms-container-full .wpforms-form .wpforms-field select {
    padding-right: 30px;
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
    background-image: url("data:image/svg+xml;charset=US-ASCII,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%22292.362%22%20height%3D%22292.362%22%3E%3Cpath%20fill%3D%22%23555%22%20d%3D%22M287.15%2076.6c-4.3-4.3-11.3-4.3-15.6%200L146.18%20201.16L20.8%2076.6c-4.3-4.3-11.3-4.3-15.6%200l-4.3%204.3c-4.3%204.3-4.3%2011.3%200%2015.6l125.6%20125.6c4.3%204.3%2011.3%204.3%2015.6%200l125.6-125.6c4.3-4.3%204.3-11.3%200-15.6l-4.3-4.3z%22%2F%3E%3C%2Fsvg%3E");
    background-repeat: no-repeat;
    background-position: right 10px center;
    background-size: 12px;
}

.summary.entry-summary .bookaviewing {
    box-shadow: none;
}

.details .rooms {
    order: 4;
}

.properties .details .actions a {
    margin-bottom: 0;
}

.propertyhive ul.properties li .details h3 {
    order: 4;
}

.propertyhive ul.properties li .details .price {
    order: 3;
    margin: 0;
    display: flex;
    flex-direction: column-reverse;
    font-size: 1.25rem !important;
    gap: 0.5rem;
    margin-bottom: 0.5rem;
}

.propertyhive ul.properties li .details {
    padding: 2.5rem;
}

body.single-property .summary.entry-summary > .summary {
    display: none;
}

body.single-property .entry-summary .price,
body.single-property .entry-summary .price-qualifier {
    display: flex;
    flex-direction: column-reverse;
    gap: 0.625rem;
}

.calculator-wrapper input {
    padding: 0.688rem 0.438rem !important;
}

body.single-property .calculator-wrapper {
    padding: 4% 0 4%;
}

body.single-property .calculator-wrapper > h2 {
    margin-bottom: 1.875rem;
}

.mortgage_calculator_Wrapper,
.stamp_duty_calculator_Wrapper,
.rental_affordability_calculator_wrapper {
    padding: 1.875rem;
    min-height: 16.563rem;
}

.mortgage_calculator_Wrapper h2,
.stamp_duty_calculator_Wrapper h2,
.rental_affordability_calculator_wrapper h2 {
    margin-bottom: 1.25rem;
}

.mortgage_calculator_Wrapper input,
.stamp_duty_calculator_Wrapper input,
.rental_affordability_calculator_wrapper input {
    border: none;
    border-bottom: 1px solid #bbb;
}

.mortgage_calculator_Wrapper .mortgage-calculator button,
.stamp_duty_calculator_Wrapper .stamp-duty-calculator button,
.rental_affordability_calculator_wrapper
    .rental-affordability-calculator
    button {
    padding-top: 0.4375rem !important;
    padding-right: 40px !important;
    padding-bottom: 0.4375rem !important;
    padding-left: 40px !important;
    text-transform: uppercase !important;
    border: none;
    margin-top: 1rem;
}

.property-search-form-default .control label {
    border: 0.25rem solid transparent;
    background-clip: padding-box;
}

.mortgage-calculator,
.result-wrapper {
    display: flex;
    flex-wrap: wrap;
    margin: 0 -1rem;
}

.mortgage-calculator > div,
.result-wrapper > div {
    width: 50%;
    padding: 0 1rem;
}

.mortgage-calculator > div.action-btn,
.mortgage-calculator > div.mortgage-calculator-results {
    width: 100%;
}

.calculators-content {
    display: flex;
    align-items: stretch;
}

.calculators-content .mortgage_calculator_Wrapper,
.calculators-content .stamp-duty-calculator {
    height: 100%;
}

.stamp-duty-calculator {
    display: flex;
    flex-wrap: wrap; /* Allows items to wrap to the next line if space is limited */
    align-items: center; /* Vertically centers direct flex items */
    gap: 15px 10px; /* Provides 15px row gap and 10px column gap between items */
    height: 100%; /* Often set for responsive sizing within its own parent */
    margin: 0;
    padding: 0;
    box-sizing: border-box;
}

.stamp-duty-calculator label {
    /* Targets labels specifically within .stamp-duty-calculator */
    margin: 0;
    padding: 0;
    box-sizing: border-box;
}

.stamp-duty-calculator input[type="text"] {
    /* Targets text inputs specifically within .stamp-duty-calculator */
    padding: 0.688rem 0.438rem !important; /* Specific padding for visual appearance */
    margin: 0;
    box-sizing: border-box;
    display: inline-block;
}

.stamp-duty-calculator #checkbox-group-wrapper {
    /* Targets #checkbox-group-wrapper specifically within .stamp-duty-calculator */
    display: flex;
    flex-direction: column; /* Arranges its children (the checkboxes) in a vertical column */
    gap: 5px; /* Provides 5px spacing between each stacked checkbox */
    margin: 0;
    padding: 0;
    box-sizing: border-box;
}

.stamp-duty-calculator button {
    /* Targets buttons specifically within .stamp-duty-calculator */
    width: 100%; /* Forces the button to occupy the full width of its flex parent */
    box-sizing: border-box;
    display: inline-block;
    margin: 0em 0em 0em 0em;
}

/* Styles for the main mortgage calculator container */
.mortgage-calculator {
    display: flex;
    flex-wrap: wrap;
    align-items: center; /* Vertically centers items in each row */
    gap: 15px 10px; /* 15px row gap, 10px column gap */
    margin: 0;
    padding: 0;
    box-sizing: border-box;
}

/* Styles for the direct child <div> elements (form field wrappers) */
.mortgage-calculator > div,
.mortgage-calculator .result-wrapper > div {
    width: 100%;
    display: flex;
    align-items: center; /* Vertically centers label and input within each div */
    gap: 5px; /* Small gap between label and input */
    flex-grow: 1; /* Allows these divs to grow and fill available space */
    width: auto; /* Overrides previous 50% width, allowing flex-grow to manage */
    padding: 0; /* Ensures no padding is present */
    box-sizing: border-box;
    margin: 0;
    flex-wrap: wrap;
}

.mortgage-calculator .result-wrapper {
    gap: 15px;
    margin: 0 !important;
}

/* Specific styles for labels within these field wrappers */
.mortgage-calculator > div label {
    margin: 0;
    padding: 0;
    box-sizing: border-box;
    flex-shrink: 0; /* Prevents label from shrinking */
}

/* Specific styles for text inputs within these field wrappers */
.mortgage-calculator > div input[type="text"] {
    padding: 0.688rem 0.438rem !important; /* Specific input padding */
    margin: 0;
    box-sizing: border-box;
    display: inline-block;
    flex-grow: 1; /* Allows input to grow and fill remaining space */
}

/* Styles for the action button container */
.mortgage-calculator .action-btn {
    /* No width: 100% here anymore, as it's applied to the button inside */
    /* No padding here anymore */
    box-sizing: border-box;
    margin-top: 10px; /* Space above the button */
    display: flex; /* Assuming it's already display:flex for internal alignment */
    align-items: center;
    gap: 5px;
    flex-grow: 1;
    margin: 0; /* Override any other margins to ensure correct spacing */
}

/* Styles for the actual button element inside .action-btn */
.mortgage-calculator .action-btn button {
    width: 100%; /* Makes the button itself full width within its parent */
    /* Other button styles (padding, etc.) would go here or be inherited */
}

/* Styles for the main rental-affordability-calculator container */
.rental-affordability-calculator {
    display: flex;
    flex-wrap: wrap;
    align-items: center; /* Vertically centers items in each row */
    gap: 15px 10px; /* 15px row gap, 10px column gap */
    margin: 0;
    padding: 0;
    box-sizing: border-box;
}

/* Styles for the direct child <div> elements (form field wrappers) */
.rental-affordability-calculator > div {
    display: flex;
    align-items: center; /* Vertically centers label and input within each div */
    gap: 5px; /* Small gap between label and input */
    flex-grow: 1; /* Allows these divs to grow and fill available space */
    width: auto; /* Overrides previous 50% width, allowing flex-grow to manage */
    padding: 0; /* Ensures no padding is present */
    box-sizing: border-box;
    margin: 0;
    flex-wrap: wrap;
}

/* Specific styles for labels within these field wrappers */
.rental-affordability-calculator > div label {
    margin: 0;
    padding: 0;
    box-sizing: border-box;
    flex-shrink: 0; /* Prevents label from shrinking */
}

.rental-affordability-calculator select {
    width: 100%;
    height: auto;
    min-height: 48px;
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
    padding-right: 40px;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath d='M4 6l4 4 4-4' fill='none' stroke='%23666' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
    background-repeat: no-repeat;
    background-position: right 14px center;
    background-size: 12px 12px;
}

/* Specific styles for text inputs within these field wrappers */
.rental-affordability-calculator > div input[type="text"] {
    padding: 0.688rem 0.438rem !important; /* Specific input padding */
    margin: 0;
    box-sizing: border-box;
    display: inline-block; /* Allows input to grow and fill remaining space */
}

/* Styles for the action button container */
.rental-affordability-calculator button {
    width: 100%;
    box-sizing: border-box;
    margin-top: 10px; /* Space above the button */
    display: flex; /* Assuming it's already display:flex for internal alignment */
    align-items: center;
    gap: 5px;
    flex-grow: 1;
    margin: 0; /* Override any other margins to ensure correct spacing */
}

/*
** read more & read less css start
*/

.read-more,
.read-less {
    border-bottom: 1px solid #000;
    width: max-content;
    margin-top: 1.5rem;
    display: block;
}

.read-more[hidden],
.read-less[hidden] {
    display: none;
}

/*
** read more & read less css end
*/

div.wpforms-field-container .wpforms-page.wpforms-page-3 .iti__selected-flag {
    display: none !important;
}

/* Leave the left padding to the phone field script so the number clears the flag. */
body #wpforms-716 .wpforms-form .wpforms-field input[type="tel"] {
    padding-top: 0.375rem !important;
    padding-right: 0.375rem !important;
    padding-bottom: 0.375rem !important;
}

span.radio-wrapper {
    display: inline-block;
}

span.radio-wrapper input {
    float: left;
    margin: 0px;
}

.back-btn {
    margin-top: 0.625rem;
    display: inline-block;
    cursor: pointer;
}

.propertyhive-views li.grid {
    display: block !important;
}

.propertyhive-views.custom ul li a {
    min-height: 42px;
    padding: 0.313rem 1.25rem;
    display: inline-flex;
    align-items: center;
    text-align: right;
}

.property-search-form-default select {
    appearance: none;
    -webkit-appearance: none;
    -moz-appearance: none;
    -ms-appearance: none;
    background-position: calc(100% - 0.313rem) center !important;
    background: url("data:image/svg+xml,<svg height='0.625rem' width='0.625rem' viewBox='0 0 16 16' fill='%23000000' xmlns='http://www.w3.org/2000/svg'><path d='M7.247 11.14 2.451 5.658C1.885 5.013 2.345 4 3.204 4h9.592a1 1 0 0 1 .753 1.659l-4.796 5.48a1 1 0 0 1-1.506 0z'/></svg>")
        no-repeat #f7f7f7;
}

body #wpforms-4867345 .wpforms-form .wpforms-field .wpforms-field-row {
    max-width: 100%;
}

/*
 * The reusable form pattern originally stored its styling against the
 * Landlords form ID. Apply that presentation through the shared module class
 * so copied instances retain the same constrained row and form-card design.
 */
.et-db #et-boc .et-l .et_pb_section:has(.et_pb_module.form-npp) > .et_pb_row {
    width: 80%;
}

.et-db #et-boc .et-l .et_pb_module.form-npp div.wpforms-container {
    margin: 0;
    padding: 40px;
    background: #fff;
    border: 1px solid #e4e1da;
    border-radius: 28px;
}

.et-db #et-boc .et-l .et_pb_module.form-npp .wpforms-form .wpforms-field {
    padding: 0 0 18px;
}

.et-db #et-boc .et-l .et_pb_module.form-npp .wpforms-form .wpforms-field-name > .wpforms-field-label,
.et-db #et-boc .et-l .et_pb_module.form-npp .wpforms-form .wpforms-label-hide {
    display: none !important;
}

.et-db #et-boc .et-l .et_pb_module.form-npp .wpforms-form .wpforms-field-label,
.et-db #et-boc .et-l .et_pb_module.form-npp .wpforms-form .wpforms-field-sublabel {
    display: block;
    margin: 0 0 8px;
    color: #182126;
}

.et-db #et-boc .et-l .et_pb_module.form-npp .wpforms-form .wpforms-field-row-block {
    display: flex;
    flex-direction: column;
}

.et-db #et-boc .et-l .et_pb_module.form-npp .wpforms-form .wpforms-field-row-block input {
    order: 2;
}

.et-db #et-boc .et-l .et_pb_module.form-npp .wpforms-form .wpforms-field-row-block .wpforms-field-sublabel {
    order: 1;
}

.et-db #et-boc .et-l .et_pb_module.form-npp .wpforms-form input,
.et-db #et-boc .et-l .et_pb_module.form-npp .wpforms-form select,
.et-db #et-boc .et-l .et_pb_module.form-npp .wpforms-form textarea {
    width: 100% !important;
    height: max(46px, calc(1.5em + 22px)) !important;
    min-height: 46px !important;
    margin: 0 !important;
    padding: 10px 14px 10px var(--npp-form-input-padding-left, 14px) !important;
    color: #5b6469 !important;
    background: #faf9f6 !important;
    border: 1px solid #e4e1da !important;
    border-radius: 10px !important;
    font: inherit;
    line-height: 1.5 !important;
    box-shadow: none !important;
}

/* Keep the development enquiry phone text clear of its country selector. */
body.single-developments #wpforms-form-987512438 .wpforms-smart-phone-field {
    --npp-form-input-padding-left: 58px;
}

.et-db #et-boc .et-l .et_pb_module.form-npp .wpforms-form textarea {
    max-height: none !important;
    resize: none !important;
}

.et-db #et-boc .et-l .et_pb_module.form-npp .wpforms-form .wpforms-submit-container {
    padding-top: 0;
}

.et-db #et-boc .et-l .et_pb_module.form-npp .wpforms-form button.wpforms-submit {
    display: block;
    width: 100%;
    min-height: 51px;
    margin: 0;
    padding: 14px 24px;
    color: #182126;
    background: #f2ae00;
    border: 0;
    border-radius: 999px;
    line-height: 1.4 !important;
    text-transform: none !important;
    letter-spacing: normal !important;
}

.et-db #et-boc .et-l .et_pb_module.form-npp .wpforms-form button.wpforms-submit:hover {
    color: #182126;
    background: #f2ae00;
    filter: brightness(0.96);
}

/*
 * Divi Theme Text Size Options sets form text sizes with fixed rem line
 * heights. Restate them relative to the font size, matching the plugin at its
 * current sizes, so a larger text size grows each control instead of clipping.
 */
form input:not([type="checkbox"]):not([type="radio"]),
.rental-affordability-calculator input {
    line-height: 1.8 !important;
}

form select,
form textarea,
.rental-affordability-calculator select {
    line-height: 1.3 !important;
}

form label,
.rental-affordability-calculator label {
    line-height: 1.6875 !important;
}

form button,
.rental-affordability-calculator button {
    line-height: 1.2 !important;
}

/* WPForms fixes field heights; let them grow once the text outgrows them. */
div.wpforms-container-full .wpforms-form input:not([type="checkbox"]):not([type="radio"]):not([type="submit"]):not([type="button"]):not([type="file"]),
div.wpforms-container-full .wpforms-form select {
    height: max(var(--wpforms-field-size-input-height, 43px), calc(1.8em + 2px)) !important;
}

div.wpforms-container-full .wpforms-form button[type="submit"],
div.wpforms-container-full .wpforms-form .wpforms-page-button {
    height: auto !important;
    min-height: var(--wpforms-button-size-height, 41px);
}

@media (max-width: 767px) {
    .et-db #et-boc .et-l .et_pb_section:has(.et_pb_module.form-npp) > .et_pb_row {
        width: 90%;
    }

    .et-db #et-boc .et-l .et_pb_module.form-npp div.wpforms-container {
        padding: 28px 22px;
    }

    /*
     * WPForms only loads its own column stacking CSS below 600px, and not at
     * all for forms placed in Divi modules. Stack layout columns and the
     * first/last name pair so each field gets the full card width on phones.
     */
    .et-db #et-boc .et-l .et_pb_module.form-npp div.wpforms-container .wpforms-form .wpforms-field-layout .wpforms-layout-row {
        flex-direction: column;
        width: 100%;
        max-width: 100%;
        margin-left: 0;
        margin-right: 0;
    }

    .et-db #et-boc .et-l .et_pb_module.form-npp div.wpforms-container .wpforms-form .wpforms-field-layout .wpforms-layout-column {
        width: 100%;
        padding-left: 0;
        padding-right: 0;
    }

    .et-db #et-boc .et-l .et_pb_module.form-npp div.wpforms-container .wpforms-form .wpforms-field-row {
        display: flex;
        flex-direction: column;
    }

    .et-db #et-boc .et-l .et_pb_module.form-npp div.wpforms-container .wpforms-form .wpforms-field-row .wpforms-field-row-block {
        float: none;
        width: 100%;
        margin-left: 0;
        padding: 0;
    }

    .et-db #et-boc .et-l .et_pb_module.form-npp div.wpforms-container .wpforms-form .wpforms-field-row .wpforms-field-row-block + .wpforms-field-row-block {
        margin-top: 18px;
    }
}

.wpforms-readonly input {
    max-width: 100% !important;
}

/*
 * The similar properties list is a view-list, whose 2.5rem gap would push the
 * half and third width cards below onto a row each. Keep the 1.25rem gap the
 * card widths are calculated for.
 */
.grid-view-module .propertyhive-recent-properties-shortcode .properties,
.propertyhive.propertyhive-similar-properties-shortcode ul.properties {
    display: flex;
    gap: 1.25rem;
    padding: 0;
}

.custom-properties-sale-rent
    .propertyhive-recent-properties-shortcode
    .properties:not(.propertyhive-shortcode-carousel) {
    display: flex;
    flex-wrap: nowrap;
    gap: 1.375rem;
    overflow-x: auto;
    width: calc(
        100% + var(--property-preview-carousel-inline-padding) +
            var(--property-preview-carousel-inline-padding)
    );
    margin:
        calc(0rem - var(--property-preview-carousel-block-padding))
        calc(0rem - var(--property-preview-carousel-inline-padding)) 0.25rem;
    padding:
        var(--property-preview-carousel-block-padding)
        var(--property-preview-carousel-inline-padding);
    scroll-padding-inline: var(--property-preview-carousel-inline-padding);
    scroll-snap-type: x mandatory;
    scrollbar-width: none;
}

.custom-properties-sale-rent
    .propertyhive-recent-properties-shortcode
    .properties:not(.propertyhive-shortcode-carousel)::-webkit-scrollbar {
    display: none;
}

.custom-properties-sale-rent
    .propertyhive-recent-properties-shortcode
    .properties.propertyhive-shortcode-carousel {
    flex-wrap: nowrap;
    padding: var(--property-preview-list-padding);
}

.custom-properties-sale-rent .propertyhive-recent-properties-shortcode .tns-ovh {
    cursor: grab;
    width: calc(
        100% + var(--property-preview-carousel-inline-padding) +
            var(--property-preview-carousel-inline-padding)
    );
    margin:
        calc(0rem - var(--property-preview-carousel-block-padding))
        calc(0rem - var(--property-preview-carousel-inline-padding));
    padding:
        var(--property-preview-carousel-block-padding)
        var(--property-preview-carousel-inline-padding);
}

body:is(.page-id-19, .page-id-4866463, .page-id-4866533)
    .custom-properties-sale-rent
    .propertyhive-recent-properties-shortcode
    .tns-controls {
    display: none;
}

body.home
    .custom-properties-sale-rent
    .propertyhive-recent-properties-shortcode
    .tns-controls {
    display: flex;
    justify-content: center;
    gap: 0.75rem;
    margin-top: 1rem;
}

body.home
    .custom-properties-sale-rent
    .propertyhive-recent-properties-shortcode
    .tns-controls
    button {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 2.75rem;
    height: 2.75rem;
    padding: 0;
    border: 1px solid var(--property-preview-control-color) !important;
    border-radius: 50%;
    background: transparent !important;
    color: var(--property-preview-control-color) !important;
    cursor: pointer;
    font-size: 1rem;
    line-height: 1;
    transition:
        border-color 200ms ease,
        color 200ms ease;
}

body.home
    .custom-properties-sale-rent
    .propertyhive-recent-properties-shortcode
    .tns-controls
    button:hover {
    border-color: var(--property-preview-control-color-hover) !important;
    color: var(--property-preview-control-color-hover) !important;
}

body.home
    .custom-properties-sale-rent
    .propertyhive-recent-properties-shortcode
    .tns-controls
    button:focus-visible {
    border-color: var(--property-preview-control-color-hover) !important;
    color: var(--property-preview-control-color-hover) !important;
}

body.home
    .custom-properties-sale-rent
    .propertyhive-recent-properties-shortcode
    .tns-controls
    button:disabled {
    cursor: not-allowed;
    opacity: 0.45;
}

.custom-properties-sale-rent
    .propertyhive-recent-properties-shortcode
    .tns-ovh:active {
    cursor: grabbing;
}

.grid-view-module .propertyhive-recent-properties-shortcode .properties:after,
.custom-properties-sale-rent
    .propertyhive-recent-properties-shortcode
    .properties:after,
.propertyhive-similar-properties-shortcode .properties:after {
    display: none;
}

.propertyhive-recent-properties-shortcode ul.properties li,
.propertyhive-recent-properties-shortcode ul.properties.view-list li,
.propertyhive-similar-properties-shortcode ul.properties li,
.propertyhive-similar-properties-shortcode ul.properties.view-list li {
    width: 100%;
}

.propertyhive-recent-properties-shortcode ul.properties li,
.grid-view-module .propertyhive ul.properties li,
.custom-properties-sale-rent .propertyhive ul.properties li {
    display: flex;
    flex-direction: column;
}

.custom-properties-sale-rent .propertyhive ul.properties li {
    padding: 0;
    border: 1px solid #e4e1da;
    border-radius: 1.125rem;
    overflow: hidden;
    scroll-snap-align: start;
    transition:
        transform 0.35s ease,
        filter 0.35s ease;
}

.custom-properties-sale-rent
    .propertyhive
    ul.properties.propertyhive-shortcode-carousel
    li {
    background-color: transparent;
    border: 0;
    border-radius: 0;
    cursor: pointer;
    overflow: visible;
}

.custom-properties-sale-rent
    .propertyhive
    ul.properties:not(.propertyhive-shortcode-carousel)
    li {
    flex: 0 0 18.75rem;
    width: 18.75rem;
    min-width: 18.75rem;
    max-width: 18.75rem;
}

.custom-properties-sale-rent .propertyhive ul.properties li:hover {
    filter: drop-shadow(0 0.875rem 1.25rem rgba(18, 13, 43, 0.16));
    transform: translateY(-0.5rem);
}

@media screen and (min-width: 768px) {
    .propertyhive-recent-properties-shortcode ul.properties li,
    .propertyhive-recent-properties-shortcode ul.properties.view-list li,
    .propertyhive-similar-properties-shortcode ul.properties li,
    .propertyhive-similar-properties-shortcode ul.properties.view-list li {
        width: calc((100% / 2) - (1.25rem / 2));
    }
}

@media screen and (min-width: 1248px) {
    .propertyhive-recent-properties-shortcode ul.properties li,
    .propertyhive-recent-properties-shortcode ul.properties.view-list li,
    .propertyhive-similar-properties-shortcode ul.properties li,
    .propertyhive-similar-properties-shortcode ul.properties.view-list li {
        width: calc((100% / 3) - ((2 * 1.25rem) / 3));
    }
}

.grid-view-module .propertyhive ul.properties li .thumbnail a {
    display: block;
    height: auto;
    aspect-ratio: 100 / 66;
}

.custom-properties-sale-rent .propertyhive ul.properties li .thumbnail {
    flex: 0 0 auto;
    height: auto;
    aspect-ratio: 4 / 3;
    overflow: hidden;
}

.propertyhive-recent-properties-shortcode ul.properties li .thumbnail a,
.propertyhive-recent-properties-shortcode
    ul.properties.view-list
    li
    .thumbnail
    a {
    display: block;
    height: auto;
}

.custom-properties-sale-rent .propertyhive ul.properties li .thumbnail a {
    display: block;
    height: 100%;
    aspect-ratio: auto;
}

.custom-properties-sale-rent
    .propertyhive
    ul.properties.propertyhive-shortcode-carousel
    li
    .thumbnail {
    border: 1px solid #e4e1da;
    border-bottom: 0;
    border-radius: 1.125rem 1.125rem 0 0;
}

.grid-view-module .propertyhive ul.properties li .thumbnail a img,
.grid-view-module .propertyhive ul.properties li .thumbnail a picture img,
.custom-properties-sale-rent .propertyhive ul.properties li .thumbnail a img,
.custom-properties-sale-rent
    .propertyhive
    ul.properties
    li
    .thumbnail
    a
    picture
    img {
    aspect-ratio: auto;
}

.custom-properties-sale-rent .propertyhive ul.properties li .thumbnail img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform 0.6s ease;
}

.custom-properties-sale-rent
    .propertyhive
    ul.properties
    li
    .thumbnail
    picture {
    display: block;
    width: 100%;
    height: 100%;
}

.custom-properties-sale-rent
    .propertyhive
    ul.properties
    li:hover
    .thumbnail
    img {
    transform: scale(1.06);
}

.propertyhive-recent-properties-shortcode ul.properties li .details,
.propertyhive-recent-properties-shortcode ul.properties.view-list li .details,
.grid-view-module .propertyhive ul.properties li .details,
.custom-properties-sale-rent .propertyhive ul.properties li .details {
    display: flex;
    flex: 1 1 auto;
    flex-direction: column;
}

.propertyhive-recent-properties-shortcode ul.properties li .details .actions,
.propertyhive-recent-properties-shortcode
    ul.properties.view-list
    li
    .details
    .actions,
.grid-view-module .propertyhive ul.properties li .details .actions {
    margin-top: auto;
}

.custom-properties-sale-rent .propertyhive ul.properties li .details .actions {
    display: none;
}

.grid-view-module .propertyhive ul.properties li .details,
.propertyhive ul.properties.view-grid li .details {
    padding: 1.25rem !important;
}

.custom-properties-sale-rent .propertyhive ul.properties li .details {
    padding: 1.25rem;
    background-color: #fff;
}

.custom-properties-sale-rent
    .propertyhive
    ul.properties.propertyhive-shortcode-carousel
    li
    .details {
    flex: 1 1 auto;
    overflow: hidden;
    border: 1px solid #e4e1da;
    border-top: 0;
    border-radius: 0 0 1.125rem 1.125rem;
}

@media screen and (max-width: 767px) {
    .custom-properties-sale-rent {
        --property-preview-carousel-inline-padding: 1rem;
    }
}

.grid-view-module .propertyhive ul.properties li .rooms,
.grid-view-module .propertyhive ul.properties li .actions,
.custom-properties-sale-rent .propertyhive ul.properties li .rooms,
.propertyhive ul.properties.view-list li .actions,
.propertyhive ul.properties.view-grid li .rooms {
    display: flex;
    color: #120d2b;
}

.custom-properties-sale-rent .propertyhive ul.properties li .details .price {
    order: 1;
    margin-bottom: 0.25rem;
    font-weight: 800;
    line-height: 1.275;
}

.custom-properties-sale-rent .propertyhive ul.properties li .details h3 {
    order: 2;
    min-height: 2.6em;
    margin-bottom: 0.25rem;
    padding: 0;
    line-height: 1.3;
}

.custom-properties-sale-rent
    .propertyhive
    ul.properties
    li
    .property-card__location {
    order: 3;
    display: flex;
    align-items: center;
    gap: 0.375rem;
    margin-bottom: 0.25rem;
    font-size: 0.8125rem;
    line-height: 1.35;
}

.custom-properties-sale-rent
    .propertyhive
    ul.properties
    li
    .property-card__location:before {
    flex: 0 0 auto;
    width: auto;
    height: auto;
    padding-right: 0;
    font-size: 0.875rem;
}

.custom-properties-sale-rent .propertyhive ul.properties li .rooms {
    order: 4;
    gap: 1rem;
    margin-top: auto;
    border-top: 1px solid #e4e1da;
    padding-top: 0.875rem;
    flex-wrap: nowrap;
    font-size: 0.8125rem;
    line-height: 1.3;
}

.custom-properties-sale-rent .propertyhive ul.properties li .rooms .room {
    margin: 0;
    padding: 0;
    white-space: nowrap;
}

/* Keep the property-card statistics compact without changing the source labels
 * provided by PropertyHive (which remain available to assistive technology). */
.custom-properties-sale-rent
    .propertyhive
    ul.properties
    li.property-card--recent
    .rooms
    .room-label {
    font-size: 0;
}

.custom-properties-sale-rent
    .propertyhive
    ul.properties
    li.property-card--recent
    .rooms
    .room-label::after {
    font-size: 0.8125rem;
}

.custom-properties-sale-rent
    .propertyhive
    ul.properties
    li.property-card--recent
    .rooms
    .room-bedrooms
    .room-label::after {
    content: "Bed";
}

.custom-properties-sale-rent
    .propertyhive
    ul.properties
    li.property-card--recent
    .rooms
    .room-bathrooms
    .room-label::after {
    content: "Bath";
}

.custom-properties-sale-rent
    .propertyhive
    ul.properties
    li.property-card--recent
    .rooms
    .room-receptions
    .room-label::after {
    content: "Reception";
}

.custom-properties-sale-rent
    .propertyhive
    ul.properties
    li
    .rooms
    .room::before {
    display: none;
}

.propertyhive ul.properties.view-grid li .actions {
    display: block;
}

.grid-view-module .propertyhive ul.properties li .rooms .room,
.custom-properties-sale-rent .propertyhive ul.properties li .rooms .room,
.propertyhive ul.properties.view-grid li .rooms .room {
    padding-right: 0.625rem;
    margin-bottom: 0;
}

.grid-view-module .propertyhive ul.properties .details .summary,
.custom-properties-sale-rent .propertyhive ul.properties .details .summary,
.propertyhive ul.properties.view-grid li .details .summary {
    display: none;
}

.grid-view-module .properties .details .actions a,
.custom-properties-sale-rent .properties .details .actions a,
.propertyhive ul.properties.view-grid li .details .actions a {
    margin: 0.625rem 0 0;
}

.propertyhive ul.properties.view-grid li {
    background-color: transparent;
}

.propertyhive ul.properties.view-grid li .rooms {
    display: flex;
}

.propertyhive ul.properties.view-grid li,
.custom-properties-sale-rent ul.properties li {
    position: relative;
}

.propertyhive ul.properties.view-grid li .availability,
.custom-properties-sale-rent ul.properties .availability {
    display: block;
    position: absolute;
    top: 0.875rem;
    left: 0.875rem;
}

.propertyhive ul.properties.view-grid li .availability {
    top: 0;
    left: 0;
}

.custom-properties-sale-rent ul.properties .availability {
    top: 0.875rem;
    left: 0.875rem;
    height: auto;
    margin: 0;
    padding: 0.375rem 0.75rem;
    border-radius: 999px;
    /* Eyebrow size from Text Size Options */
    font-size: 0.75rem;
    font-weight: 800;
    line-height: 1.25;
    text-transform: uppercase;
}

li.parking:before,
li.outside-space:before,
li.council-tax-band:before {
    font-family: "Font Awesome 7 Pro";
    font-size: 1.25rem;
    width: 1.25rem;
    height: 1.25rem;
    padding-right: 0.313rem;
    display: inline-block;
    background-repeat: no-repeat;
    position: relative;
}

li.parking:before {
    content: "\f615";
}

li.outside-space:before {
    content: "\f800";
}

li.council-tax-band:before {
    content: "\f154";
}

.bookaviewing-btn,
.pf-request-viewing-button,
.downloadthebrochurebutton {
    padding-top: 0.938rem;
    padding-right: 2.5rem;
    padding-bottom: 0.938rem;
    padding-left: 2.5rem;
    margin-top: 1.875rem;
    display: inline-block;
    margin-bottom: 1.875rem;
    box-shadow: none;
}

.single-property .property_meta li:before {
    margin-top: -2px;
}

body.single-property .property-info-tab .et_pb_tab_2 .et_pb_tab_content,
body.single-property .property-info-tab .et_pb_tab_1 .et_pb_tab_content {
    margin-top: 6.25rem;
}

.percent .percent-value,
.percent .percent-sign {
    font-size: 2.5rem !important;
}

.single-property .flex-direction-nav {
    width: 100%;
    height: auto;
    position: absolute;
    z-index: 1;
    top: 50%;
    transform: translateY(-50%);
}

.single-property .flex-direction-nav a {
    font-size: 0 !important;
    cursor: pointer;
}

.single-property .flex-direction-nav a:before {
    position: relative;
    top: 4px;
}

/* responsive tweaks */
@media screen and (max-width: 650px) {
    .propertyhive-similar-properties-shortcode ul li {
        width: 100% !important;
        padding: 0px !important;
    }
}

@media screen and (max-width: 450px) {
    .similar_properties h4 {
        padding-left: 0px !important;
    }

    body.single-property .property-info-tab .et_pb_tabs_controls li {
        border-bottom: 0.313rem solid #fff;
    }

    body.home .property-search-form input[type="submit"] {
        border: none !important;
    }

    body .swap-content-order .et_pb_button_alignment_left {
        display: block !important;
        margin-right: 0px !important;
    }

    .custom-button-width {
        width: 100%;
        text-align: center;
    }
}

@media screen and (min-width: 451px) {
    .downloadthebrochuresmall {
        background-image: none !important;
    }

    /* Property archive */

    .mobilepaddingtweak {
        width: 80% !important;
    }

    .sfsi_actvite_theme_flat .inerCnt .sficn,
    .sfsi_wicons {
        width: 1.875rem !important;
        height: 1.875rem !important;
    }

    .sfsi_actvite_theme_flat .inerCnt .sfcm.sfsi_wicon {
        width: 35% !important;
    }

    .sfsi_actvite_theme_flat .inerCnt .sficn,
    .sfsi_wicons {
        float: right;
    }

    body.single-property .et_pb_section_200 .entry-summary {
        padding-left: 1.25rem;
        padding-right: 1.25rem;
    }

    /* Similar properties */

    .similar_properties h4 {
        padding-left: 1.25rem;
    }

    body.single-property .entry-summary h1.property_title {
        padding-bottom: 1.25rem !important;
    }

    body.single-property .property-info-tab .et_pb_tabs_controls li a {
        width: 100%;
        display: block;
        box-shadow: none !important;
    }

    body.single-property .property-info-tab {
        margin-top: 0px;
        padding-top: 1.875rem;
    }

    body.single-property .property-info-tab .et_pb_tab_content {
        padding-top: 0px;
    }

    body.single-property .et_pb_tab_content ul li {
        width: 100%;
    }

    .bookaviewing {
        margin-bottom: 1.875rem;
    }

    .vertical-align h2 {
        padding-top: 1.875rem;
    }
}

@media screen and (max-width: 479px) {
    .tap-wapper {
        margin-top: 0px;
    }
}

@media screen and (max-width: 460px) {
    body.single-property .et_pb_section_200 .entry-summary {
        padding-left: 0;
        padding-right: 0;
    }

    .rooms .room {
        padding-right: 0.875rem;
    }

    .mortgage_calculator_Wrapper,
    .stamp_duty_calculator_Wrapper {
        padding: 0.938rem;
    }

    body.single-property .property-info-tab {
        padding-top: 0px;
    }
}

@media screen and (max-width: 680px) {
    .custom-properties-sale-rent .et_pb_tabs_controls:before {
        width: 100%;
        position: relative;
        display: inline-block;
        margin-bottom: 1.25rem;
    }

    .custom-properties-sale-rent .et_pb_tabs_controls {
        align-items: flex-start;
        gap: 0;
    }

    .et_pb_section_14 .et_pb_tab.et-pb-active-slide,
    .et_pb_section_13 .et_pb_tab.et-pb-active-slide,
    .et_pb_section_15 .et_pb_tab.et-pb-active-slide,
    .et_pb_section_16 .et_pb_tab.et-pb-active-slide,
    .grid-view-module .propertyhive-recent-properties-shortcode .properties,
    .propertyhive-similar-properties-shortcode .properties {
        padding: 0;
    }

    .et_pb_section_14 .et_pb_tab.et-pb-active-slide .et_pb_tab_content p:empty,
    .et_pb_section_13 .et_pb_tab.et-pb-active-slide .et_pb_tab_content p:empty,
    .et_pb_section_15 .et_pb_tab.et-pb-active-slide .et_pb_tab_content p:empty,
    .et_pb_section_16 .et_pb_tab.et-pb-active-slide .et_pb_tab_content p:empty {
        display: none;
    }

    .et_pb_section_14 .et_pb_tabs .et_pb_all_tabs,
    .et_pb_section_14 .et_pb_tab.et-pb-active-slide,
    .et_pb_section_13 .et_pb_tabs .et_pb_all_tabs,
    .et_pb_section_13 .et_pb_tab.et-pb-active-slide,
    .et_pb_section_15 .et_pb_tabs .et_pb_all_tabs,
    .et_pb_section_15 .et_pb_tab.et-pb-active-slide,
    .et_pb_section_16 .et_pb_tabs .et_pb_all_tabs,
    .et_pb_section_16 .et_pb_tab.et-pb-active-slide {
        background: transparent !important;
    }

    .custom-properties-sale-rent .et_pb_tabs_controls li {
        width: 50%;
    }
}

@media screen and (min-width: 768px) {
    /* Simple property search */
    .property-search-form.property-search-form-simple_search
        > .control-department {
        flex: 1 1 auto;
    }

    .property-search-form.property-search-form-simple_search
        > .control-address_keyword {
        flex: 999 1 18rem;
    }

    .property-search-form.property-search-form-simple_search
        > .control-include-sold-stc {
        flex: 0 1 12rem;
    }

    .property-search-form.property-search-form-simple_search
        > input[type="submit"] {
        flex: 0 0 12rem;
        width: auto;
    }

    /* Property archive search */
    .property-search-form-default .control-address_keyword {
        width: calc(65% - 0.125rem);
    }

    .property-search-form-default .control-radius {
        width: calc(35% - 0.125rem);
    }

    .property-search-form-default .control-minimum_bedrooms,
    .property-search-form-default .control-include-sold-stc,
    .property-search-form-default .control-maximum_rent,
    .property-search-form-default .control-maximum_price {
        width: 25%;
    }

    .property-search-form-default input[type="submit"] {
        width: calc(25% - 0.75rem);
    }
}

@media screen and (min-width: 801px) {
    header {
        position: fixed !important;
        z-index: 99999 !important;
        width: 100% !important;
    }

    .swap-content-order {
        display: grid;
    }

    .swap-content-order .leftcol {
        order: 2;
    }

    .swap-content-order .rightcol {
        order: 1;
    }

    .floatingwhatsappbutton {
        height: 3.75rem;
        width: 3.75rem;
        right: 0.313rem;
    }

    .floatingwhatsappbutton img {
        margin: 0.375rem;
    }

    .vertical-align h3 {
        padding-top: 1.25rem;
    }
}

@media screen and (min-width: 982px) {
    body.et_pb_svg_logo .logo:not(.et-logo-sticky) {
        margin-top: 1.5rem;
    }
}

@media screen and (min-width: 1024px) {
    body.post-type-archive-property .propertyhive-views li {
        display: block;
    }

    /* Simple property search */
    .property-search-form.property-search-form-simple_search
        > .control-department {
        flex-basis: 20rem;
        max-width: 24rem;
    }

    .property-search-form.property-search-form-simple_search
        > .control-address_keyword {
        min-width: 18rem;
    }

    .property-search-form.property-search-form-simple_search
        > .control-include-sold-stc {
        flex-basis: 13rem;
    }

    .property-search-form.property-search-form-simple_search
        > input[type="submit"] {
        flex-basis: 13rem;
    }

    .propertyhive-views {
        display: block;
    }
}

@media screen and (max-width: 1024px) {
    /* property container size */
    body.post-type-archive-property #et-main-area #container {
        width: 100%;
    }

    body.single-property .mobilepaddingtweak {
        width: 90% !important;
    }

    /* responsive  */
    body.single-property .property-info-tab .et_pb_tabs_controls {
        display: flex;
        overflow: auto;
    }

    body.single-property
        .property-info-tab
        .et_pb_tabs_controls::-webkit-scrollbar-track {
        -webkit-box-shadow: inset 0 0 0.375rem rgba(0, 0, 0, 0.3);
        border-radius: 0.375rem;
        background-color: #f5f5f5;
    }

    body.single-property
        .property-info-tab
        .et_pb_tabs_controls::-webkit-scrollbar {
        width: 0.188rem;
        height: 0.188rem;
        background-color: #f5f5f5;
    }

    body.single-property
        .property-info-tab
        .et_pb_tabs_controls::-webkit-scrollbar-thumb {
        border-radius: 0.375rem;
        -webkit-box-shadow: inset 0 0 0.375rem rgba(0, 0, 0, 0.3);
        background-color: #ffae92;
    }

    body.single-property .property-info-tab .et_pb_tabs_controls li {
        min-width: fit-content;
    }

    body.single-property .property-info-tab .et_pb_tabs_controls li a {
        white-space: nowrap;
    }

    body.single-property .property-info-tab .et_pb_tabs_controls li:last-child {
        margin-right: 1.25rem;
    }

    .summary.entry-summary:has(> .bookaviewing) a.bookaviewing {
        margin-bottom: 3.75rem;
    }

    #post-2 rs-slide rs-layer-wrap.rs-parallax-wrap,
    body #main-header > .container {
        width: 90% !important;
    }

    body.post-type-archive-property ul.properties.view-list li {
        display: flex;
        flex-direction: column;
    }

    body.post-type-archive-property ul.properties.view-list li > div {
        width: 100%;
    }

    #address_keyword {
        border-left-width: 0.188rem;
        border-right-width: 0.188rem;
    }

    .propertyhive ul.properties li .details {
        padding: 4%;
    }

    .rooms .room {
        padding-right: 1.25rem;
    }

    #wpforms-form-4867345.wpforms-form {
        padding: 0 !important;
    }

    body.single-property .property-info-tab .et_pb_tab_content {
        padding-top: 0;
    }

    body.single-property .et_pb_tab_content hr {
        margin: 1.875rem 0;
    }

    body.single-property .et_pb_tab_content ul.propertyfeatureslist {
        list-style-type: none;
        display: flex;
        flex-direction: column;
    }

    body.single-property .et_pb_tab_content ul.propertyfeatureslist li {
        width: 100%;
    }

    .grid-view-module .et_pb_row {
        width: 85%;
    }

    body.single-property .property-info-tab {
        margin-top: 0;
        padding-top: 0px;
    }

    .tap-wapper {
        margin-top: 0px;
    }
}

@media screen and (min-width: 1201px) {
    .content-media-left-padding {
        padding-left: calc((100vw - 80%) / 2);
    }

    .content-media-right-padding {
        padding-right: calc((100vw - 80%) / 2);
    }
}

@media screen and (max-width: 1200px) and (min-width: 981px) {
    .content-media-left-padding {
        padding-left: calc((100vw - 90%) / 2);
    }

    .content-media-right-padding {
        padding-right: calc((100vw - 90%) / 2);
    }
}

@media screen and (max-width: 1200px) {
    body.post-type-archive-property #et-main-area #container,
    .container {
        width: 90% !important;
    }

    .propertyhive ul.properties li .details {
        padding: 2.5% 4%;
    }

    .property .actions a {
        margin: 1.563rem 0px;
        padding: 0.75rem 1.875rem;
    }

    #post-2 rs-slide rs-layer-wrap.rs-parallax-wrap {
        width: 90%;
    }
}

@media screen and (min-width: 1400px) {
    /* Property archive search */
    .property-search-form-default {
        display: flex;
    }

    .property-search-form-default .control-department {
        display: inline-block !important;
        width: 20%;
    }

    .property-search-form-default .control-address_keyword {
        width: auto;
        flex: 1;
    }

    .property-search-form-default .control-radius {
        width: 15%;
    }

    .property-search-form-default .control-minimum_bedrooms,
    .property-search-form-default .control-maximum_rent,
    .property-search-form-default .control-maximum_price {
        width: 11%;
    }

    .property-search-form-default .control-include-sold-stc {
        width: 15%;
    }

    .property-search-form-default input[type="submit"] {
        width: 11.5%;
    }
}

@media screen and (max-width: 1441px) {
    .grid-view-module ul.properties li .rooms,
    .custom-properties-sale-rent ul.properties li .rooms {
        flex-wrap: wrap;
    }

    .page.page-id-19 .et_pb_row,
    .page.page-id-4866490 .et_pb_row {
        width: 90%;
    }
}

@media screen and (min-width: 1950px) {
    .et_pb_slide_description {
        padding-left: 0px !important;
    }
}

.property-search-form-default select,
select.orderby {
    background-size: 10px;
}

.display-flex {
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
}

.align-items-center {
    align-items: center;
}

.align-items-stretch {
    align-items: stretch;
}

.justify-content-center {
    justify-content: center;
}

.justify-content-stretch {
    justify-content: stretch;
}

.height-100 {
    height: 100% !important;
}

.text-white {
    color: #ffffff !important;
}

.padding-bottom-0 {
    padding-bottom: 0 !important;
}

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

.padding-medium {
    padding: 4% !important;
}

.view-grid .padding-medium {
    padding: 2% !important;
}

.margin-medium {
    margin: 4% !important;
}

.view-grid .margin-medium {
    margin: 2% !important;
}

/* start custom css */
.single-property .flex-direction-nav a {
    height: 40px !important;
    opacity: 1 !important;
    text-align: center;
}

.single-property .flex-direction-nav .flex-next {
    right: 0 !important;
}

.single-property .flex-direction-nav .flex-prev {
    left: 0 !important;
}

.single-property .flex-direction-nav a:before {
    font-size: 34px;
}

.single-property .images .property-gallery-shell {
    position: relative;
    overflow: hidden;
    background-color: #f7f7f7;
}

.single-property .images .property-gallery-shell::before {
    content: "";
    display: block;
    padding-top: 66.6667%;
}

.single-property .images .property-gallery-shell > .flexslider,
.single-property .images .property-gallery-shell > img {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
}

.single-property .images .property-gallery-shell > .flexslider,
.single-property .images .property-gallery-shell .flex-viewport,
.single-property .images .property-gallery-shell .slides {
    width: 100%;
    height: 100%;
}

.single-property .images .property-gallery-shell .flex-viewport {
    position: absolute;
    inset: 0;
    padding-top: 0;
    overflow: hidden;
}

.single-property .images .property-gallery-shell .slides li,
.single-property .images .property-gallery-shell .slides li a {
    height: 100%;
    display: block;
    width: 100%;
}

.single-property .images .property-gallery-shell .slides li a img,
.single-property .images .property-gallery-shell > img {
    width: 100%;
    height: 100%;
    display: block;
    object-fit: cover;
    object-position: center;
}

.single-property .property-document-link {
    display: block;
    max-width: 100%;
}

.single-property .property-document-image {
    width: 100%;
    height: auto;
    display: block;
}

@supports (aspect-ratio: 3 / 2) {
    .single-property .images .property-gallery-shell {
        aspect-ratio: 3 / 2;
    }

    .single-property .images .property-gallery-shell::before {
        display: none;
    }
}

body .launcher-size-normal img {
    height: 55px;
}

body .valuation-wrap-section .et_pb_button {
    min-width: 284px;
}

@media only screen and (max-width: 575px) {
    body.single-property .type-property .et_pb_row {
        width: 90%;
    }

    body.single-property.sfsi_actvite_theme_flat .inerCnt .sficn,
    body.single-property .sfsi_wicons {
        width: 30px !important;
        height: 30px !important;
        float: right;
    }

    body.single-property.sfsi_actvite_theme_flat .inerCnt .sfcm.sfsi_wicon {
        width: 35% !important;
    }

    body.single-property .mobilepaddingtweak > .vertical-align .images .flag {
        padding: 7px 10px !important;
    }

    body.single-property .sfsi_shortcode_container {
        right: 0;
        top: 0;
    }

    body .valuation-wrap-section .et_pb_button {
        min-width: 271px;
    }

    body.single-property .et_pb_section_200 .entry-summary {
        padding-left: 0 !important;
        padding-right: 0 !important;
    }

    body .propertyhive-map-canvas-wrapper {
        margin-bottom: 2rem;
    }

    body .et_pb_text_8_tb_footer {
        min-height: auto !important;
    }

    .single-property .flex-direction-nav a:before {
        font-size: 16px;
    }

    .single-property .flex-direction-nav a {
        width: 25px;
        height: 25px;
    }
}

@media screen and (min-width: 1025px) {
    .padding-medium {
        padding: 2.5% 4% !important;
    }

    .view-grid .padding-medium {
        padding: 20px !important;
    }

    .view-grid .grid-padding-bottom-0-lg {
        padding-bottom: 0 !important;
    }

    .margin-medium {
        margin: 2.5% 4% !important;
    }
}

@media screen and (min-width: 1201px) {
    .padding-medium {
        padding: 40px !important;
    }

    .view-grid .padding-medium {
        padding: 20px !important;
    }

    .view-grid .grid-padding-bottom-0-lg {
        padding-bottom: 0 !important;
    }

    .margin-medium {
        margin: 40px !important;
    }
}

/* -------
  PROMOS
------- */
.property-promo {
    width: 100%;
    min-height: 320px;
    position: relative;
    align-items: center;
}

.property-promo .actions {
    margin-top: 1rem;
    flex-wrap: wrap;
    gap: 1.25rem;
}

.property-promo .actions a {
    margin: 1rem 0 0 0 !important;
}

.split {
    width: 50%;
    float: left;
}

.view-grid .split {
    width: 100%;
}

@media screen and (max-width: 1024px) {
    .split {
        width: 100%;
    }
}
/* -----------
  END PROMOS
----------- */

/* -----------
  PAGINATION
----------- */
.pagination,
.propertyhive-pagination {
    margin-bottom: 3rem;
}

.propertyhive-pagination .page-numbers {
    margin-bottom: 1rem;
}

.pagination,
.propertyhive-pagination,
.propertyhive-pagination .page-numbers {
    display: flex;
    align-items: center;
    justify-content: center;
    flex-wrap: wrap;
}

.pagination .pagination-link,
.propertyhive-pagination ul li a,
.propertyhive-pagination ul li span {
    width: 56px;
    height: 56px;
    min-width: 56px;
    min-height: 56px;
    margin: 0 0.375rem;
    position: relative;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 50%;
    transition: all 0.3s ease-in-out;
}

.single-property .flex-control-paging,
.single-property .flex-control-nav,
.single-property .swiper-pagination,
.grid-view-module .slick-dots,
.propertyhive-recent-properties-shortcode .slick-dots,
.propertyhive-similar-properties-shortcode .slick-dots {
    display: flex;
    align-items: center;
    justify-content: center;
    flex-wrap: wrap;
    gap: 0.75rem;
}

.single-property .flex-control-paging li,
.single-property .flex-control-nav li,
.grid-view-module .slick-dots li,
.propertyhive-recent-properties-shortcode .slick-dots li,
.propertyhive-similar-properties-shortcode .slick-dots li {
    margin: 0;
}

.single-property .flex-control-paging li a,
.single-property .flex-control-nav li a,
.single-property .swiper-pagination-bullet,
.grid-view-module .slick-dots li button,
.propertyhive-recent-properties-shortcode .slick-dots li button,
.propertyhive-similar-properties-shortcode .slick-dots li button {
    width: 14px;
    height: 14px;
    min-width: 14px;
    min-height: 14px;
    position: relative;
    display: block;
}

.single-property .flex-control-paging li a::after,
.single-property .flex-control-nav li a::after,
.single-property .swiper-pagination-bullet::after,
.grid-view-module .slick-dots li button::after,
.propertyhive-recent-properties-shortcode .slick-dots li button::after,
.propertyhive-similar-properties-shortcode .slick-dots li button::after {
    content: "";
    position: absolute;
    inset: -15px;
}

/*
 * Divi Torque carousel arrows. The text size options give every button a
 * font size, which reveals Slick's "Previous"/"Next" labels under the icons,
 * and the plugin shows disabled arrows at full strength while fading the
 * active ones. Hide the labels and dim only the arrow that can't be used.
 */
.dtq-carousel button.slick-arrow {
    font-size: 0 !important;
    line-height: 0 !important;
}

.dtq-carousel button.slick-arrow::before {
    opacity: 1;
}

.dtq-carousel button.slick-arrow.slick-disabled {
    cursor: default;
}

.dtq-carousel button.slick-arrow.slick-disabled::before {
    opacity: 0.3 !important;
}

.pagination .pagination-link.active,
.propertyhive-pagination ul li span.current {
    pointer-events: none;
    cursor: not-allowed;
}

/* Give blog navigation the property archive's button colours and sizing. */
.pagination.ps-blog-pagination {
    gap: 0.75rem;
}

.ps-blog-pagination > .alignleft,
.ps-blog-pagination > .alignright {
    float: none;
}

body .pagination.ps-blog-pagination a {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 96px;
    min-height: 56px;
    padding: 0.75rem 1.5rem;
    border-radius: 999px;
    background-color: #f7f7f7;
    color: #182126 !important;
    font-size: 14px;
    line-height: 1.4;
    text-decoration: none;
    transition: background-color 0.3s ease-in-out, color 0.3s ease-in-out;
}

body .pagination.ps-blog-pagination a:is(:hover, :focus-visible) {
    background-color: #182126;
    color: #ffffff !important;
    text-decoration: none;
}

body .pagination.ps-blog-pagination a:focus-visible {
    outline: 2px solid #182126;
    outline-offset: 3px;
}
/* ---------------
  END PAGINATION
--------------- */

@media all and (max-width: 980px) {
    /*** wrap row in a flex box ***/
    .custom_row {
        display: -webkit-box;
        display: -moz-box;
        display: -ms-flexbox;
        display: -webkit-flex;
        display: flex;
        -webkit-flex-wrap: wrap;
        /* Safari 6.1+ */
        flex-wrap: wrap;
    }

    /*** custom classes that will designate the order of columns in the flex box row ***/
    .first-on-mobile {
        -webkit-order: 1;
        order: 1;
    }

    .second-on-mobile {
        -webkit-order: 2;
        order: 2;
    }

    .third-on-mobile {
        -webkit-order: 3;
        order: 3;
    }

    .fourth-on-mobile {
        -webkit-order: 4;
        order: 4;
    }

    /*** opt-in column ordering for Divi rows that collapse at this breakpoint ***/
    .et_pb_row:has(> .order-switcher-first),
    .et_pb_row:has(> .order-switcher-second) {
        display: flex;
        flex-wrap: wrap;
    }

    .et_pb_row > .et_pb_column.order-switcher-first {
        -webkit-order: 2 !important;
        order: 2 !important;
    }

    .et_pb_row > .et_pb_column.order-switcher-second {
        -webkit-order: 1 !important;
        order: 1 !important;
    }

    /*** add margin to last column ***/
    .custom_row:last-child .et_pb_column:last-child {
        margin-bottom: 30px;
    }

    #top-header > .container,
    #main-header > .container,
    #et_search_outer > .container,
    body.single #main-content > .container,
    body.page:not(.et-tb-has-template) div.et_pb_row,
    body.page.et-tb-has-template
        .et-l--post
        div.et_pb_row:not(.hero-background-fullscreen),
    body.single-project div.et_pb_row,
    body.single-project div.et_pb_row.et_pb_row_fullwidth,
    body .et_pb_row.et_pb_row_0_tb_footer,
    body .et_pb_row.et_pb_row_1_tb_footer {
        width: 90% !important;
    }

    body.page.et-tb-has-template
        .et-l--post
        div.et_pb_row.hero-background-fullscreen {
        width: 100% !important;
    }

    body .slickwprev-list {
        overflow: visible;
    }
}

@media all and (min-width: 981px) {
    /*** desktop: text left, image right ***/
    .et_pb_row > .et_pb_column.order-switcher-first {
        -webkit-order: 1 !important;
        order: 1 !important;
    }

    .et_pb_row > .et_pb_column.order-switcher-second {
        -webkit-order: 2 !important;
        order: 2 !important;
    }

    /* The source-first column is now visually second, so its gutter moves left. */
    .et_pb_gutters3 .et_pb_column.order-switcher-second,
    .et_pb_gutters3.et_pb_row .et_pb_column.order-switcher-second {
        margin-right: 0 !important;
        margin-left: 5.5% !important;
    }
}

@media (max-width: 980px) {
    .reversecol {
        display: flex;
        flex-wrap: wrap;
        flex-direction: column-reverse;
    }
}

.et_pb_blog_grid .et_pb_image_container img {
    aspect-ratio: 100 / 67;
    object-fit: cover;
}

.wpforms-form {
    background-color: #f2f2f2 !important;
    padding: 30px 30px !important;
    border: 20px solid #f2f2f2 !important;
    border-radius: 30px !important;
}

.dtq-logo-carousel .slick-track {
    display: flex;
    align-items: center;
}

.dtq-logo-carousel .ba_logo_carousel_child,
.dtq-logo-carousel .dtq-logo-carousel-item {
    overflow: visible !important;
}

.dtq-logo-carousel-item img {
    width: 100% !important;
    max-width: 250px !important;
    height: 100% !important;
    max-height: 65px !important;
    object-fit: contain !important;
}

.percent .percent-value,
.percent .percent-sign {
    font-size: 3rem !important;
}

.error404 #left-area {
    width: 100% !important;
    padding: 0 !important;
}

.error404 #sidebar {
    display: none !important;
}

/* =========================================
   Currency prefix utilities
   Apply to a container element.
   Targets <p> inside by default.
   ========================================= */

.et_pb_circle_counter .percent p {
    font-size: 3rem !important;
}

.prefix-gbp p::before {
    content: "£";
}
.prefix-usd p::before {
    content: "$";
}
.prefix-eur p::before {
    content: "€";
}

/* Optional: support a space after currency symbol */
.prefix-space p::before {
    content: attr(data-prefix) " ";
}

/* =========================================
   Scale suffix utilities
   ========================================= */

.suffix-k p::after {
    content: "k";
}
.suffix-m p::after {
    content: "m";
}
.suffix-b p::after {
    content: "b";
}
.suffix-t p::after {
    content: "t";
}

/* Optional: add a space before suffix */
.suffix-space p::after {
    content: " " attr(data-suffix);
}

/* =========================================
   Time suffix utilities
   Shorthand: day / month / year => d / m / yr
   Long form (plural): days / months / years
   ========================================= */

/* Shorthand (no leading space) */
.suffix-day p::after {
    content: "d";
}
.suffix-month p::after {
    content: "m";
}
.suffix-year p::after {
    content: "yr";
}

/* Long form plural (leading space) */
.suffix-days p::after {
    content: " days";
}
.suffix-months p::after {
    content: " months";
}
.suffix-years p::after {
    content: " years";
}

/* =========================================
   If you ever want explicit + / - or other common markers
   ========================================= */

.prefix-plus p::before {
    content: "+";
}
.prefix-minus p::before {
    content: "−";
} /* nicer minus */
.suffix-percent p::after {
    content: "%";
}

/* Configured counter text takes precedence over legacy utility classes. */
.et_pb_circle_counter .percent p.npp-has-prefix::before,
.et_pb_circle_counter .percent p.npp-has-suffix::after {
    content: none;
}

.et_pb_circle_counter .percent p.npp-has-suffix .percent-sign {
    display: none !important;
}

/* =========================================
   Safety: ensure pseudo elements don't wrap oddly
   ========================================= */

.prefix-gbp p::before,
.prefix-usd p::before,
.prefix-eur p::before,
.suffix-k p::after,
.suffix-m p::after,
.suffix-b p::after,
.suffix-t p::after,
.suffix-percent p::after,
.prefix-plus p::before,
.prefix-minus p::before,
.suffix-day p::after,
.suffix-month p::after,
.suffix-year p::after,
.suffix-days p::after,
.suffix-months p::after,
.suffix-years p::after {
    display: inline;
}

/* =========================================
   Global accessibility baseline
   ========================================= */

:root {
    --ps-a11y-focus-ring: #ffae92;
    --ps-a11y-touch-target: 40px;
    --ps-a11y-link-offset: 0.16em;
}

body
    :where(
        a[href],
        button,
        input:not([type="hidden"]):not([disabled]),
        select:not([disabled]),
        textarea:not([disabled]),
        summary,
        [role="button"],
        [tabindex]:not([tabindex="-1"])
    ):focus {
    outline: 3px solid var(--ps-a11y-focus-ring);
    outline-offset: -3px;
}

body
    :where(
        a[href],
        button,
        input:not([type="hidden"]):not([disabled]),
        select:not([disabled]),
        textarea:not([disabled]),
        summary,
        [role="button"],
        [tabindex]:not([tabindex="-1"])
    ):focus:not(:focus-visible) {
    outline: none;
}

body
    :where(a[href]):not(
        :where(
            #top-menu a,
            .et_mobile_menu a,
            .et_slide_in_menu_container a,
            .customtopmenu a,
            .et-l--footer a,
            .et_pb_button,
            .wpforms-page-prev,
            .wpforms-page-next,
            .wpforms-submit,
            .bookaviewing,
            .bookaviewing-btn,
            .pf-request-viewing-button,
            .downloadthebrochurebutton,
            .downloadthebrochure,
            .videotourbuton,
            .whatsappusbutton,
            .whatsappbutton,
            .ph-infinite-scroll-button a,
            .actions a,
            .propertyhive-views ul li a,
            .property-info-tab .et_pb_tabs_controls li a,
            .property-map-tabs li a,
            .pagination .pagination-link,
            .ps-blog-pagination a,
            .propertyhive-pagination ul li a,
            .custom-properties-sale-rent .property-card__details h3 a,
            .single-property .flex-direction-nav a
        )
    ) {
    text-decoration-line: underline;
    text-decoration-thickness: 0.08em;
    text-underline-offset: var(--ps-a11y-link-offset);
    text-decoration-skip-ink: auto;
}

body
    :where(a[href]):not(
        :where(
            #top-menu a,
            .et_mobile_menu a,
            .et_slide_in_menu_container a,
            .customtopmenu a,
            .et-l--footer a,
            .et_pb_button,
            .wpforms-page-prev,
            .wpforms-page-next,
            .wpforms-submit,
            .bookaviewing,
            .bookaviewing-btn,
            .pf-request-viewing-button,
            .downloadthebrochurebutton,
            .downloadthebrochure,
            .videotourbuton,
            .whatsappusbutton,
            .whatsappbutton,
            .ph-infinite-scroll-button a,
            .actions a,
            .propertyhive-views ul li a,
            .property-info-tab .et_pb_tabs_controls li a,
            .property-map-tabs li a,
            .pagination .pagination-link,
            .ps-blog-pagination a,
            .propertyhive-pagination ul li a,
            .custom-properties-sale-rent .property-card__details h3 a,
            .single-property .flex-direction-nav a
        )
    ):is(:hover, :focus-visible) {
    text-decoration-thickness: 0.12em;
}

body
    :where(
        button,
        input[type="button"],
        input[type="submit"],
        input[type="reset"],
        select,
        .et_pb_button,
        .wpforms-page-prev,
        .wpforms-page-next,
        .wpforms-submit,
        .bookaviewing,
        .bookaviewing-btn,
        .pf-request-viewing-button,
        .downloadthebrochurebutton,
        .downloadthebrochure,
        .videotourbuton,
        .whatsappusbutton,
        .whatsappbutton,
        .ph-infinite-scroll-button a,
        .actions a,
        .propertyhive-views ul li a
    ) {
    min-height: var(--ps-a11y-touch-target);
}

body .propertyhive-views ul li a {
    min-width: var(--ps-a11y-touch-target);
    display: inline-flex;
    align-items: center;
}

body .single-property .flex-direction-nav a {
    width: 56px !important;
    height: 56px !important;
    display: flex;
    align-items: center;
    justify-content: center;
}

body .single-property .flex-direction-nav a:before {
    top: 0;
    line-height: 1;
}

/* Landlords: management packages */
.npp-management-packages {
    display: flex;
    flex-direction: column;
    overflow: visible;
}

.npp-management-packages > .et_pb_row:has(.npp-pricing-title) {
    order: 1;
    width: 92%;
    max-width: 860px;
    padding: 88px 0 38px !important;
}

.npp-management-packages > .npp-pricing-grid {
    order: 2;
}

.npp-management-packages > .et_pb_row:has(.npp-pricing-disclaimer) {
    order: 3;
    padding: 24px 0 80px !important;
}

.npp-pricing-title {
    margin-bottom: 20px !important;
    text-align: center;
}

.npp-pricing-title .et_pb_module_heading {
    color: #182126 !important;
    font-size: clamp(40px, 4vw, 56px) !important;
    font-weight: 400 !important;
    line-height: 1.08 !important;
}

.npp-pricing-lede {
    max-width: 720px;
    margin: 0 auto !important;
    color: #59646a !important;
    font-size: 18px !important;
    line-height: 1.55 !important;
    text-align: center;
}

.npp-pricing-lede .et_pb_text_inner {
    text-align: center !important;
}

.npp-pricing-lede p:last-child,
.npp-pricing-disclaimer p:last-child,
.npp-popular-badge p:last-child {
    margin-bottom: 0;
}

.npp-pricing-grid {
    display: flex;
    align-items: stretch;
    overflow: visible;
}

.npp-pricing-grid > .et_pb_column {
    position: relative;
    display: flex;
    flex-direction: column;
    overflow: visible !important;
    transition:
        transform 250ms cubic-bezier(0.2, 0.8, 0.2, 1),
        box-shadow 250ms ease;
    transform-origin: center;
}

.npp-pricing-grid > .et_pb_column > .et_pb_heading:first-child {
    margin-bottom: 22px !important;
}

.npp-pricing-grid > .et_pb_column > .et_pb_heading:first-child > a {
    text-decoration: none !important;
}

.npp-pricing-grid
    > .et_pb_column
    > .et_pb_heading:first-child
    .et_pb_module_heading,
.npp-pricing-grid
    > .et_pb_column
    > .et_pb_heading:first-child
    .et_pb_module_heading
    a {
    color: #d49700 !important;
    font-size: 13px !important;
    font-weight: 700 !important;
    line-height: 1.3 !important;
    letter-spacing: 0.08em !important;
    text-decoration: none !important;
    text-transform: uppercase;
}

.npp-pricing-grid
    > .et_pb_column:nth-child(2)
    > .et_pb_heading:first-child
    .et_pb_module_heading,
.npp-pricing-grid
    > .et_pb_column:nth-child(2)
    > .et_pb_heading:first-child
    .et_pb_module_heading
    a {
    color: #f2ae00 !important;
}

.npp-pricing-grid > .et_pb_column > .et_pb_text:not(.npp-popular-badge) {
    flex: 1 1 auto;
}

.npp-pricing-grid .et_pb_text:not(.npp-popular-badge) ul {
    margin: 0;
    padding-left: 0 !important;
    list-style: none !important;
}

.npp-pricing-grid .et_pb_text:not(.npp-popular-badge) li {
    position: relative;
    margin-bottom: 11px;
    padding-left: 1.8em;
    line-height: 1.4;
}

.npp-pricing-grid .et_pb_text:not(.npp-popular-badge) li::before {
    position: absolute;
    top: 0;
    left: 0;
    color: #f2ae00;
    content: "\2713";
    font-size: 1em;
    font-weight: 800;
    line-height: inherit;
}

.npp-pricing-grid .et_pb_text:not(.npp-popular-badge) li:last-child {
    margin-bottom: 0;
}

.npp-pricing-grid .et_pb_button_module_wrapper {
    width: 100%;
    margin-top: 32px !important;
}

.npp-pricing-grid .et_pb_button {
    display: inline-flex !important;
    align-items: center;
    justify-content: center;
    width: 100%;
    min-height: 56px !important;
    padding: 14px 40px !important;
    line-height: 1.2 !important;
    text-align: center;
}

/* Matches the header's Property Search button treatment. */
body #page-container .et_pb_button_outline.et_pb_button,
body #page-container .et_pb_button_outline .et_pb_button {
    border: 1px solid #182126 !important;
    border-radius: 999px !important;
    background: transparent !important;
    color: #182126 !important;
    box-shadow: none !important;
    font-family:
        "plus-jakarta-sans", "Plus Jakarta Sans", -apple-system, system-ui,
        sans-serif !important;
    font-size: 0.875rem !important;
    font-weight: 600 !important;
    line-height: 1.5rem !important;
    padding: 0.4375rem 1.6rem !important;
    text-transform: capitalize !important;
    transition: opacity 0.4s ease-in-out, background-color 0.4s ease-in-out;
}

body #page-container .et_pb_button_outline.et_pb_button:hover,
body #page-container .et_pb_button_outline .et_pb_button:hover {
    background-color: #fff !important;
    border-color: #182126 !important;
}

.npp-management-packages .npp-pricing-grid .npp-popular-badge {
    position: absolute !important;
    z-index: 5;
    top: -15px !important;
    right: auto !important;
    bottom: auto !important;
    left: 50% !important;
    width: max-content;
    max-width: calc(100% - 40px);
    margin: 0 !important;
    padding: 7px 18px 6px !important;
    transform: translateX(-50%);
    border-radius: 999px;
    background: #f2ae00 !important;
    color: #182126 !important;
    /* Eyebrow size from Text Size Options */
    font-size: 0.75rem !important;
    font-weight: 800 !important;
    line-height: 1 !important;
    letter-spacing: 0.04em;
    text-align: center;
    text-transform: uppercase;
}

.npp-popular-badge .et_pb_text_inner,
.npp-popular-badge p {
    color: #182126 !important;
    line-height: 1 !important;
    text-align: center !important;
}

.npp-pricing-disclaimer {
    max-width: 820px;
    margin: 0 auto !important;
    color: #8a9296 !important;
    font-size: 13px !important;
    line-height: 1.5 !important;
    text-align: center !important;
}

.npp-pricing-disclaimer .et_pb_text_inner,
.npp-pricing-disclaimer p {
    text-align: center !important;
}

@media (hover: hover) and (pointer: fine) {
    .npp-pricing-grid > .et_pb_column:first-child:hover,
    .npp-pricing-grid > .et_pb_column:last-child:hover {
        z-index: 2;
        box-shadow: 0 22px 48px rgba(24, 33, 38, 0.16);
    }

    .npp-pricing-grid > .et_pb_column:nth-child(2):hover {
        z-index: 3;
        transform: scale(1.025);
    }
}

@media (prefers-reduced-motion: reduce) {
    .npp-pricing-grid > .et_pb_column {
        transition: none;
    }

    .npp-pricing-grid > .et_pb_column:nth-child(2):hover {
        transform: none;
    }
}

@media (max-width: 980px) {
    .npp-management-packages > .et_pb_row:has(.npp-pricing-title) {
        padding-top: 68px !important;
        padding-bottom: 30px !important;
    }

    .npp-pricing-title .et_pb_module_heading {
        font-size: clamp(36px, 7vw, 48px) !important;
    }

    .npp-pricing-grid {
        display: block;
    }

    .npp-pricing-grid > .et_pb_column {
        width: 100% !important;
        margin-right: 0 !important;
        margin-bottom: 36px !important;
    }

    .npp-management-packages > .et_pb_row:has(.npp-pricing-disclaimer) {
        padding-top: 0 !important;
        padding-bottom: 60px !important;
    }
}

@media (max-width: 767px) {
    .npp-management-packages > .et_pb_row:has(.npp-pricing-title) {
        padding-top: 52px !important;
        padding-bottom: 26px !important;
    }

    .npp-pricing-title {
        margin-bottom: 16px !important;
    }

    .npp-pricing-title .et_pb_module_heading {
        font-size: 36px !important;
    }

    .npp-pricing-lede {
        font-size: 16px !important;
    }

    .npp-pricing-grid .et_pb_text:not(.npp-popular-badge) li {
        margin-bottom: 10px;
    }
}

/*
 * Simple PropertyHive search
 *
 * Keep the PropertyHive form markup and state handling intact, but present it
 * as the shared Start your search bar: a constrained 1240px wrapper and a
 * single, rectangular Buy/Rent, keyword and submit control.
 */
body .et_pb_row:has(.simplesearchbox) {
    width: calc(100% - 4rem) !important;
    max-width: 1240px !important;
}

body .et_pb_section:has(.simplesearchbox) {
    background-color: #faf9f6 !important;
}

body .simplesearchbox .property-search-form.property-search-form-simple_search {
    display: flex;
    width: 100%;
    border-radius: 10px;
    overflow: hidden;
}

body .simplesearchbox .property-search-form-simple_search .control {
    flex: 0 0 auto;
    width: auto;
    max-width: none;
    min-width: 0;
    margin: 0;
}

body .simplesearchbox .property-search-form-simple_search .control-department {
    display: flex;
    flex-wrap: nowrap;
}

body .simplesearchbox .property-search-form-simple_search .control-department label {
    display: flex;
    flex: 0 0 auto;
    align-items: center;
    justify-content: center;
    min-height: 0;
    margin: 0;
    padding: 26px 34px;
    border: 0 !important;
    border-radius: 0 !important;
    background: #ffffff !important;
    color: #182126 !important;
    cursor: pointer;
    font-weight: 600 !important;
    transition: background 0.2s ease;
}

body .simplesearchbox .property-search-form-simple_search .control-department label.active,
body .simplesearchbox .property-search-form-simple_search .control-department label:has(input:checked) {
    background: #f2ae00 !important;
}

body .simplesearchbox .property-search-form-simple_search .control-department label:not(.active):not(:has(input:checked)):hover {
    background: #f2c24b !important;
}

body .simplesearchbox .property-search-form-simple_search .control-address_keyword {
    flex: 1 1 0;
}

body .simplesearchbox .property-search-form-simple_search .control-address_keyword input#address_keyword {
    display: block;
    width: 100%;
    height: auto;
    min-width: 0;
    margin: 0;
    padding: 26px 22px;
    border: 0 !important;
    border-radius: 0 !important;
    background: #ffffff !important;
    box-sizing: border-box;
    color: #5b6469;
    font-family: inherit;
    text-align: left;
}

body .simplesearchbox .property-search-form-simple_search .control-address_keyword input#address_keyword::placeholder {
    color: #5b6469;
    opacity: 1;
}

body .simplesearchbox .property-search-form-simple_search .control-address_keyword input#address_keyword:focus {
    outline: none;
}

body .simplesearchbox .property-search-form.property-search-form-simple_search > input[type="submit"] {
    flex: 0 0 auto;
    width: auto;
    height: auto;
    min-height: 0;
    margin: 0;
    padding: 26px 40px;
    border: 0 !important;
    border-radius: 0 !important;
    background: #f2ae00 !important;
    color: #182126 !important;
    cursor: pointer;
    font-family: inherit;
    font-weight: 600 !important;
}

@media (max-width: 700px) {
    body .et_pb_row:has(.simplesearchbox) {
        width: calc(100% - 2.5rem) !important;
    }

    body .simplesearchbox .property-search-form.property-search-form-simple_search {
        flex-wrap: wrap;
    }

    body .simplesearchbox .property-search-form-simple_search .control-department {
        flex: 1 1 100%;
    }

    body .simplesearchbox .property-search-form-simple_search .control-department label {
        flex: 1 1 50%;
        padding: 20px;
    }

    body .simplesearchbox .property-search-form-simple_search .control-address_keyword {
        flex: 1 1 100%;
        order: 3;
    }

    body .simplesearchbox .property-search-form.property-search-form-simple_search > input[type="submit"] {
        flex: 1 1 100%;
        order: 4;
    }
}

/* Use the shared semibold button treatment, including Divi's per-module buttons. */
html body #page-container .et_pb_section .et_pb_button,
html body #page-container .et_pb_button,
html body #page-container .wpforms-submit,
html body #page-container .wpforms-page-prev,
html body #page-container .wpforms-page-next,
html body #page-container .bookaviewing,
html body #page-container .bookaviewing-btn,
html body #page-container .pf-request-viewing-button,
html body #page-container .downloadthebrochurebutton,
html body #page-container .downloadthebrochure,
html body #page-container .videotourbuton,
html body #page-container .whatsappusbutton,
html body #page-container .whatsappbutton,
html body #page-container .ph-infinite-scroll-button a,
html body #page-container .actions a,
html body #page-container input[type="button"],
html body #page-container input[type="submit"],
html body #page-container input[type="reset"],
html body #page-container button,
html body #page-container #top-menu li.menu-outline-btn a,
html body #page-container #top-menu li.menu-border a {
    font-weight: 600 !important;
    padding-top: 0.4375rem !important;
    padding-bottom: 0.4375rem !important;
}

/* Divi buttons are 44px tall: the padding makes up what Divi's 1.7em line
 * height leaves, and larger text grows the button past that. */
html body #page-container .et_pb_section .et_pb_button,
html body #page-container .et_pb_button {
    padding-top: max(0.4375rem, calc((2.75rem - 1.7em) / 2)) !important;
    padding-bottom: max(0.4375rem, calc((2.75rem - 1.7em) / 2)) !important;
}

/* Investment cards */
.investment-card {
    height: 100%;
    padding: 32px 36px 38px;
    border: 1px solid #e4e0d8;
    border-radius: 27px;
    background: #ffffff;
    color: #081421;
}

/* Fix equal-height Code Modules inside Divi columns */
.et_pb_column:has(.investment-card),
.et_pb_column:has(.investment-card) .et_pb_code,
.et_pb_column:has(.investment-card) .et_pb_code_inner {
    height: 100%;
}

.investment-card-header {
    margin-bottom: 25px;
}

.investment-card-header h3 {
    margin: 0;
    padding: 0;
    color: #081421;
    font-family: Georgia, "Times New Roman", serif;
    font-size: 23px;
    font-weight: 400;
    line-height: 1.25;
}

.investment-card-header p {
    margin: 2px 0 0;
    padding: 0;
    color: #59626c;
    font-size: 14px;
    line-height: 1.5;
}

.investment-row,
.investment-breakdown > div,
.investment-total {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 20px;
}

.investment-row {
    min-height: 46px;
    border-bottom: 1px solid #dedbd4;
    font-size: 15px;
    line-height: 1.35;
}

.investment-row span,
.investment-row strong {
    color: #081421;
    font-weight: 700;
}

.investment-row strong,
.investment-breakdown strong,
.investment-total strong {
    flex-shrink: 0;
    white-space: nowrap;
}

.investment-breakdown {
    padding: 0 0 9px 18px;
}

.investment-breakdown > div {
    min-height: 32px;
    color: #59626c;
    font-size: 14px;
    line-height: 1.35;
}

.investment-breakdown span,
.investment-breakdown strong {
    color: #59626c;
    font-weight: 400;
}

.investment-total {
    min-height: 53px;
    padding-top: 7px;
    border-top: 2px solid #081421;
    font-size: 16px;
    line-height: 1.3;
}

.investment-total span {
    color: #081421;
    font-weight: 700;
}

.investment-total strong {
    color: #d89000;
    font-size: 21px;
    font-weight: 700;
}

/* Tablet */
@media only screen and (max-width: 980px) {
    .investment-card {
        padding: 28px 25px 32px;
    }
}

/* Mobile */
@media only screen and (max-width: 767px) {
    .investment-card {
        padding: 26px 22px 30px;
        border-radius: 22px;
    }

    /* Space between stacked Divi columns */
    .et_pb_column:has(.investment-card):first-child {
        margin-bottom: 25px;
    }
}

@media only screen and (max-width: 420px) {
    .investment-row {
        font-size: 14px;
    }

    .investment-breakdown {
        padding-left: 10px;
    }

    .investment-breakdown > div {
        font-size: 13px;
    }

    .investment-total strong {
        font-size: 19px;
    }
}

/* =========================================
   Built-in 404 page (404.php fallback)
   ========================================= */

.wp-signature-404 {
    max-width: 720px;
    margin: 0 auto;
    padding: 120px 0;
    text-align: center;
}

.wp-signature-404__code {
    font-size: 6rem;
    font-weight: 700;
    line-height: 1;
    padding-bottom: 16px;
    opacity: 0.2;
}

.wp-signature-404__title {
    padding-bottom: 16px;
}

.wp-signature-404__text {
    padding-bottom: 32px;
}

.wp-signature-404__actions {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 16px;
}

@media (max-width: 767px) {
    .wp-signature-404 {
        padding: 64px 0;
    }

    .wp-signature-404__code {
        font-size: 4rem;
    }
}

/* Form page H1 (first WPForms divider), styled to match the other dividers */
.form-simple .wpforms-field-divider h1 {
    padding-top: var(--wpforms-field-size-input-spacing);
    margin: 1em 0;
    color: inherit;
    font-size: 1.73rem !important;
    font-weight: 300 !important;
    line-height: 2.249rem !important;
}

.form-simple .wpforms-field-divider:has(> .wpforms-field-description) h1 {
    margin-bottom: 5px;
}
