:root {

    --primary-font-family: sofia-pro, sans-serif;

    --primary-colour: #dbc49e;

    --secondary-colour: #000;

    --tertiary-colour: #fff;

    --body-background-colour: #474733;

    --nav-background-colour: #3d3b23;

    --primary-text-colour: var(--tertiary-colour);

    --brand-letter-spacing-small: 0.1rem;

    --brand-letter-spacing-large: 0.2rem;

    --main-nav-bar-height-mobile: 5.7rem;

    --main-nav-bar-height-desktop: 6rem;

    --main-nav-bar-transition: opacity 0.75s ease-in-out;

    --header-img-height: 27px;

    --header-img-height-l2: 54px;

    --section-y-padding: 5rem;

    --icon-nav-toggler-indent: 1.8rem;

    --col-x-padding: 2.6rem;

    --mobile-carousel-slide-padding-bottom: 3rem;

}

html {

    font-size: 10px;

}

body {

    font-family: var(--primary-font-family);

    font-weight: 300;

    font-style: normal;

    -webkit-font-smoothing: antialiased;

    text-rendering: optimizelegibility;

    font-size: 16px;

    color: var(--primary-text-colour);

    background-color: var(--body-background-colour);

    background-image: url("../images/background_mobile.webp");

    background-repeat: repeat-y;

    background-size: 100%;

}

[class^="col"] {

    padding-left: var(--col-x-padding);

    padding-right: var(--col-x-padding);

}

section {

    padding: var(--section-y-padding) 0;

}

p {

    font-size: 1.2rem;

    margin-bottom: 0;

    line-height: 1.55;

    letter-spacing: var(--brand-letter-spacing-small);

}

p.caption_text {

    position: absolute;

    width: 100%;

    text-align: center;

    left: 50%;

    bottom: 0;

    transform: translateX(-50%);

    color: var(--tertiary-colour);

}

p.highlight {

    color: var(--primary-colour);

}

a,

a:active {

    color: var(--primary-text-colour);

    text-decoration: none;

}

a:hover,

a:focus {

    text-decoration: underline;

}

img.header-img {

    margin-bottom: 4.5rem;

    height: var(--header-img-height);

}

img.header-img.l2 {

    height: var(--header-img-height-l2);

}

.has-caption {

    position: relative;

    padding-bottom: 3rem;

}

#main-nav-bar {

    padding: 0 var(--icon-nav-toggler-indent);

    background-color: var(--nav-background-colour);

    height: var(--main-nav-bar-height-mobile);

    left: 0;

    top: 0;

    position: fixed;

    width: 100%;

    overflow: hidden;

    z-index: 9999;

    transition: var(--main-nav-bar-transition);

    -moz-transition: var(--main-nav-bar-transition);

    -webkit-transition: var(--main-nav-bar-transition);

}

#main-nav-bar img {

    width: 65%;

}

#main-nav-bar {

    opacity: 0;

}

#main-nav-bar.scroll-down {

    opacity: 1;

    transition: var(--main-nav-bar-transition);

    -moz-transition: var(--main-nav-bar-transition);

    -webkit-transition: var(--main-nav-bar-transition);

}

#main-nav-bar img {

    display: none;

}

#main-nav-bar.scroll-down img {

    display: inline;

    transition: var(--main-nav-bar-transition);

    -moz-transition: var(--main-nav-bar-transition);

    -webkit-transition: var(--main-nav-bar-transition);

}

.navbar-toggler {

    padding: 0;

    border: none;

    position: absolute;

    right: var(--icon-nav-toggler-indent);

}

.navbar-toggler:focus {

    box-shadow: none;

}

.navbar-toggler span {

    display: block;

    background-color: var(--primary-text-colour);

    background-image: unset;

    height: 1px;

    width: 23px;

    margin-top: 6.25px;

    -webkit-transform: rotate(0deg);

    -moz-transform: rotate(0deg);

    -o-transform: rotate(0deg);

    transform: rotate(0deg);

    position: relative;

    left: 0;

    opacity: 1;

    border: none;

}

.navbar-toggler span:nth-child(1) {

    margin-top: 0;

}

.navbar-toggler span:nth-child(1),

.navbar-toggler span:nth-child(3) {

    -webkit-transition: all 0.6s ease-in-out;

    -moz-transition: all 0.6s ease-in-out;

    -o-transition: all 0.6s ease-in-out;

    transition: all 0.6s ease-in-out;

}

.navbar-toggler:not(.collapsed) span:nth-child(1) {

    top: 13px;

    -webkit-transform: rotate(135deg);

    -moz-transform: rotate(135deg);

    -o-transform: rotate(135deg);

    transform: rotate(135deg);

}

.navbar-toggler:not(.collapsed) span:nth-child(2) {

    height: 13px;

    visibility: hidden;

    background-color: transparent;

}

.navbar-toggler:not(.collapsed) span:nth-child(3) {

    top: -13.5px;

    -webkit-transform: rotate(-135deg);

    -moz-transform: rotate(-135deg);

    -o-transform: rotate(-135deg);

    transform: rotate(-135deg);

}

.navbar-collapse.offcanvas-collapse {

    position: fixed;

    top: 0;

    bottom: 0;

    left: 100%;

    width: 100%;

    padding: 2rem var(--icon-nav-toggler-indent) 0;

    overflow-y: auto;

    visibility: hidden;

    background-color: var(--nav-background-colour);

    -moz-transition: all 0.3s ease-in-out, visibility 0.3s ease-in-out;

    -webkit-transition: all 0.3s ease-in-out, visibility 0.3s ease-in-out;

    -o-transition: all 0.3s ease-in-out, visibility 0.3s ease-in-out;

    transition: all 0.3s ease-in-out, visibility 0.3s ease-in-out;

}

.navbar-collapse .offcanvas-body {

    position: absolute;

    top: 50%;

    left: 50%;

    width: 100%;

    transform: translate(-50%, -50%);

}

.navbar-collapse.offcanvas-collapse.show {

    visibility: visible;

    left: 0;

    top: var(--main-nav-bar-height-mobile);

    z-index: 9;

}

.offcanvas-backdrop.fade {

    opacity: 0;

}

.navbar-nav a.nav-link {

    background-repeat: no-repeat;

    background-position: center center;

    background-size: contain;

    height: 3rem;

    margin: 1.5rem 0;

}

.navbar-nav a.nav-link.building {

    background-image: url("../images/menu/menu_building.svg");

}

.navbar-nav a.nav-link.building:hover,

.navbar-nav a.nav-link.building.active {

    background-image: url("../images/menu/menu_building_hover.svg");

}

.navbar-nav a.nav-link.availability {

    background-image: url("../images/menu/menu_availability.svg");

}

.navbar-nav a.nav-link.availability:hover,

.navbar-nav a.nav-link.availability.active {

    background-image: url("../images/menu/menu_availability_hover.svg");

}

.navbar-nav a.nav-link.highlights {

    background-image: url("../images/menu/menu_highlights.svg");

}

.navbar-nav a.nav-link.highlights:hover,

.navbar-nav a.nav-link.highlights.active {

    background-image: url("../images/menu/menu_highlights_hover.svg");

}

.navbar-nav a.nav-link.floor_plans {

    background-image: url("../images/menu/menu_floor_plans.svg");

}

.navbar-nav a.nav-link.floor_plans:hover,

.navbar-nav a.nav-link.floor_plans.active {

    background-image: url("../images/menu/menu_floor_plans_hover.svg");

}

.navbar-nav a.nav-link.location {

    background-image: url("../images/menu/menu_location.svg");

}

.navbar-nav a.nav-link.location:hover,

.navbar-nav a.nav-link.location.active {

    background-image: url("../images/menu/menu_location_hover.svg");

}

.navbar-nav a.nav-link.brochure {

    background-image: url("../images/menu/menu_brochure.svg");

}

.navbar-nav a.nav-link.brochure:hover,

.navbar-nav a.nav-link.brochure.active {

    background-image: url("../images/menu/menu_brochure_hover.svg");

}

.navbar-nav a.nav-link.contact {

    background-image: url("../images/menu/menu_contact.svg");

}

.navbar-nav a.nav-link.contact:hover,

.navbar-nav a.nav-link.contact.active {

    background-image: url("../images/menu/menu_contact_hover.svg");

}

@media screen and (max-width: 991px) {

    .flush_mb_img {

        padding: 0;

    }

}

#page-header #lead-text__container {

    height: 70%;

}

#page-header p#lead-text {

    color: var(--primary-colour);

    font-size: 1.6rem;

    padding: 0;

    letter-spacing: var(--brand-letter-spacing-large);

    position: relative;

    top: 40px

}



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

#page-header p#lead-text {

    top: 0px

}

}

#page-header img.lead-image {

    position: absolute;

    left: 50%;

    top: 20%;

    transform: translateX(-50%);

    width: 75%;

}

a.arrow-button {

    background-image: url("../images/arrow_down.svg");

    background-size: 100%;

    background-repeat: no-repeat;

    bottom: 13%;

    left: 50%;

    height: 25px;

    width: 30px;

    position: absolute;

    transform: translateX(-50%);

    z-index: 2;

}

#availability .table > * > * > * {

    background-color: unset;

}

#availability .table > :not(caption) > * > * {

    color: var(--primary-text-colour);

    text-align: right;

}

#availability .table td {

    border-bottom: 1px solid var(--primary-colour);

}

#availability .table thead th {

    border-top: none;

    border-bottom: 1px solid var(--primary-colour);

}

#availability .table td,

#availability .table th {

    font-weight: 300;

    text-transform: uppercase;

    padding: 1rem 0;

    font-size: 1rem!important;

}

#availability .table tr > th:first-child,

#availability .table tr > td:first-child {

    text-align: left;

}

#availability .table tr:last-child td {

    font-weight: 400;

    border-bottom: none;

}

.grid_row__text_col {

    margin-top: 4rem;

}

.icon_row {

    padding-top: 3.4rem;

}

.icon_row > .col {

    padding: 0 0.25rem;

    position: relative;

    margin-bottom: 7rem;

}

#floor_plans .icon_row > .col {

    margin-bottom: 3rem;

}

.icon_row__icon {

    display: block;

    width: 5rem;

    height: 5rem;

    background-repeat: no-repeat;

    background-position: center bottom;

    position: absolute;

    left: 50%;

    bottom: 100%;

    transform: translateX(-50%);

}

.icon_row__icon.balcony {

    background-image: url("../images/icons/icon_balcony.svg");

}

.icon_row__icon.bike {

    background-image: url("../images/icons/icon_bike.svg");

}

.icon_row__icon.epc {

    background-image: url("../images/icons/icon_epc.svg");

}

.icon_row__icon.knife-fork {

    background-image: url("../images/icons/icon_knife-fork.svg");

}

.icon_row__icon.light {

    background-image: url("../images/icons/icon_light.svg");

}

.icon_row__icon.paint-roller {

    background-image: url("../images/icons/Fitted_Furnished_Icon.svg");

}

.icon_row__icon.ruler {

    background-image: url("../images/icons/icon_ruler.svg");

}

.icon_row__icon.wc {

    background-image: url("../images/icons/icon_wc.svg");

}

.icon_row__icon.floor_1 {

    background-image: url("../images/icons/icon_floor-plan-1.svg");

}

.icon_row__icon.floor_2 {

    background-image: url("../images/icons/icon_floor-plan-2.svg");

}

.icon_row p {

    text-align: center;

    margin-top: 1.5rem;

    font-size: 1rem;

    line-height: 1.5;

    padding-top: 1rem;

    border-top: 1px solid var(--primary-colour);

}

#floor_plans .icon_row p {

    font-size: 1.2rem;

}

#floor_plans .grid_row__text_col {

    margin-top: 2rem;

}

.image_carousel .carousel-control-next-icon,

.image_carousel .carousel-control-prev-icon {

    width: 2rem;

    height: 2rem;

}

.image_carousel .carousel-control-next,

.image_carousel .carousel-control-prev {

    opacity: 1;

    transform: translateY(calc(-0.5 * var(--mobile-carousel-slide-padding-bottom)));

}

.image_carousel .carousel-control-prev {

    left: 1rem;

    justify-content: start;

}

.image_carousel .carousel-control-next {

    right: 1rem;

    justify-content: end;

}

.image_carousel .carousel-control-prev-icon {

    background-image: url("../images/arrow_prev.svg");

}

.image_carousel .carousel-control-next-icon {

    background-image: url("../images/arrow_next.svg");

}

.image_carousel .carousel-item {

    padding-bottom: var(--mobile-carousel-slide-padding-bottom);

}

.image_carousel .carousel-caption {

    bottom: 0;

    left: 50%;

    right: unset;

    transform: translateX(-50%);

    padding: 0;

    width: 100%;

}

.image_carousel .carousel-caption p {

    font-size: 1.2rem;

    padding: 0;

    margin: 0;

}

.image_carousel .carousel-caption.dark p {

    color: var(--secondary-colour);

}

.image_carousel .carousel-inner {

    overflow: visible;

}

#contact .contact-col:first-of-type {

    margin-top: 3.5rem;

}

#contact .contact-col {

    padding: 2.5rem 0;

    margin: 0 1rem;

    border-top: 1px solid var(--primary-colour);

}



#contact .image-wrapper {

    min-height: 80px;

    display: flex;

    justify-content: center;

    align-items: center;

}



#contact .image-wrapper img{

    max-height: 75px;

}



#contact *,

#contact {box-sizing: border-box;word-break:break-all}



#contact .contact-col h3 {

    font-size: 1.2rem;

    margin-bottom: 0;

    line-height: 1.35;

    font-weight: 500;

}

#contact .contact-col p {

    font-weight: 300;

    margin: 0;

    line-height: 1.35;

}

#contact .contact-col h3 + p,

#contact .contact-col p + p {

    margin-top: 0.75rem;

}

footer {

    margin-top: 3rem;

    margin-bottom: 6rem;

}

footer p {

    margin-bottom: 1rem;

    font-size: 0.75rem;

}

footer p + p {

    font-weight: 400;

}

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

    #page-header img.lead-image {

        width: 60%;

    }

}

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

    :root {

        --col-x-padding: 6.5rem;

        --icon-nav-toggler-indent: 2.5rem;

        --header-img-height: 40px;

        --header-img-height-l2: 80px;

    }

    p {

        font-size: 1.6rem;

    }

    p.caption_text {

        bottom: 0.5rem;

    }

    p.caption_text.dark {

        color: var(--secondary-colour);

    }

    .has-caption {

        padding-bottom: 0;

    }

    #main-nav-bar {

        height: var(--main-nav-bar-height-desktop);

    }

    #main-nav-bar img {

        width: 75%;

    }

    .navbar-collapse.offcanvas-collapse.show {

        top: var(--main-nav-bar-height-desktop);

    }

    .navbar-nav a.nav-link {

        height: 4rem;

        margin: 2rem 0;

    }

    #page-header img.lead-image {

        width: 50%;

        top: 15%;

    }

    a.arrow-button {

        bottom: 7%;

        width: 40px;

    }

    .image_carousel .carousel-control-next,

    .image_carousel .carousel-control-prev {

        transform: unset;

    }

    .image_carousel .carousel-item {

        padding-bottom: unset;

    }

    .image_carousel .carousel-caption {

        bottom: 0.5rem;

    }

    .image_carousel .carousel-caption p {

        font-size: 1.6rem;

    }

    .image_carousel .carousel-caption.dark-md p {

        color: var(--secondary-colour);

    }

    .icon_row p,

    #floor_plans .icon_row p {

        font-size: 1.4rem;

    }

    #contact .contact-col {

        margin: 3.5rem 1rem 0;

        width: calc(50% - 2rem);

    }

    #contact .contact-col h3,

    #contact .contact-col p {

        font-size: 1.7rem; 

    }

    #availability .table td,  

    #availability .table th {

        font-size: 1.6rem!important;  

    }

}

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

    :root {

        --header-img-height: 50px;

        --header-img-height-l2: 100px;

    }

    body {

        background-image: url("../images/background_desktop.webp");

    }

    #page-header #lead-text__container {

        height: 80%;

    }

    .icon_row {

        padding-top: 6.4rem;

    }

    .icon_row > .col {

        margin-bottom: 12rem;

    }

    .icon_row p,

    #floor_plans .icon_row p {

        font-size: 1.6rem;

        padding-left: 1rem;

        padding-right: 1rem;

    }

    .icon_row__icon {

        width: 7rem;

        height: 7rem;

    }

    .image_carousel .carousel-control-next-icon,

    .image_carousel .carousel-control-prev-icon {

        width: 5rem;

        height: 3rem;

    }

}

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

    .navbar-toggler span {

        width: 34px;

        margin-top: 9.75px;

    }

    .navbar-toggler:not(.collapsed) span:nth-child(1) {

        top: 19px;

    }

    .navbar-toggler:not(.collapsed) span:nth-child(3) {

        top: -14.5px;

    }

    .navbar-nav a.nav-link {

        height: 4.5rem;

        margin: 2.25rem 0;

    }

    #page-header img.lead-image {

        width: 43%;

    }

    .icon_row > .col {

        padding: 0 0.5rem;

        margin-bottom: 13.5rem;

    }

    .icon_row p,

    #floor_plans .icon_row p {

        padding-left: 1.5rem;

        padding-right: 1.5rem;

    }

    .icon_row__icon {

        width: 9rem;

        height: 9rem;

    }

    #floor_plans .icon_row > .col {

        margin-bottom: 0;

    }

}

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

    .navbar-nav a.nav-link {

        height: 4.75rem;

    }

    #page-header img.lead-image {

        width: 40%;

    }

}

@media screen and (max-width: 992px) {
.brochure-image {margin-top: 60px;margin-bottom:0!important} 
body #contact{padding-top:0px!important}
}