body {
    height: 100%;
    display: flex;
    flex-direction: column;
    font-size: 1.625rem;
    line-height: 2.3125rem;
    font-family: 'CircularStd-Medium';
    font-weight: normal;
    font-style: normal;
    color: #31989B;
    -moz-osx-font-smoothing: grayscale;
    -webkit-font-smoothing: antialiased;
}

html {
    height: 100%;
}

.site-content {
    flex: 1 0 auto;
}

.footerholder {
    flex-shrink: 0;
    z-index: 1;
    background-color: #31989B;
}

.fade-content {
    opacity: 0;
}

img {
    min-height: 0.01px;
}

a:hover,
a:focus,
a:visited {
    text-decoration: none;
}

a[href^="mailto:"]:hover {
    text-decoration: underline;
}

.image-fill {
    position: absolute;
    object-fit: cover;
    font-family: 'object-fit: cover;';
    width: 100%;
    height: 100%;
}

.vh-fix {
    height: 100vh;
    height: calc(100vh - var(--vh-offset, 0px));
}

.text-primary {
    color: #22455D !important;
}

.bg-primary {
    background-color: #22455D !important;
}

.text-secondary {
    color: #1B394E !important;
}

.text-light {
    color: #F5EEEA !important;
}

.bg-light {
    background-color: #F5EEEA !important;
}

h1 {
    font-family: 'SharpSansDisplayNo1-Bold';
    font-size: 5.5rem;
    line-height: 6.125rem;
}

h2 {
    font-family: 'SharpSansDisplayNo1-Bold';
    font-size: 3.375rem;
    line-height: 4.125rem;
}

.bg-primary h2 {
    color: #F3BAC3;
}

h3 {
    font-family: 'SharpSansDisplayNo1-Bold';
    font-size: 2.375rem;
    line-height: 4.125rem;
}

.small {
    font-size: 1rem;
    line-height: 1.3125rem;
}

.small:not(:last-of-type) {
    margin-bottom: 0.75rem;
}

.row {
    position: relative;
    z-index: 1;
}

.header {
    font-family: 'SharpSansDisplayNo1-Bold';
    font-size: 2.5rem;
    line-height: 3.25rem;
}

.owl-nav {
    padding: 1.25rem;
    z-index: 10;
}

.owl-nav-spec {
    top: 5.5rem;
    z-index: 10;
}

.prev svg,
.next svg,
.prev svg,
.next svg {
    width: 2.6875rem;
    cursor: pointer;
}

.prev:hover svg circle,
.next:hover svg circle {
    fill: #E5630D;
}

.prev:hover svg path,
.next:hover svg path {
    fill: #fff;
}

.owl-spec img {
    width: 13.625rem !important;
}

.gallery01 .position-relative {
    height: 38rem;
}

.gallery02 .position-relative {
    height: 58.1875rem;
}

.gallery03 .position-relative {
    height: 32.5rem;
}

.image01 {
    height: 32.5rem;
}

.image02 {
    height: 27.625rem;
}

.image03 {
    height: 27.625rem;
}

.image04 {
    height: 37.6875rem;
}

.esg-icon {
    height: 8rem;
}




/* TABLE */
.table-header {
    display: table-header-group;
}
.table-body {
    display: table-row-group;
}
.d-table-cell {
    padding: 1rem 0;
}
.table-header .d-table-cell {
    border-bottom: 0.1875rem solid #31989B;
}
.table-body .d-table-cell {
    border-bottom: 0.12rem solid #22455D;
}
.table-body .d-table-row:last-of-type .d-table-cell {
    border-bottom-width: 0;
    border-top: 0.1875rem solid #31989B;
}


/* BX SLIDER */
.bx-wrapper {
    margin-bottom: 2rem !important;
    -webkit-box-shadow: none !important;
    box-shadow: none !important;
    border-width: 0 !important;
    background: transparent !important;
}
#plan_prev img,
#plan_next img {
    cursor: pointer;
    height: 3.5rem;
    display: inline-block;
}
.bx-controls {
    position: absolute;
    top: 0;
    right: 0;
    z-index: 50;
}

.plan-specs .d-flex {
    font-size: 1.125rem;
    border-bottom: 0.12rem solid #22455D;
}

#owl-plan-nav {
    top: -9rem;
}

.floorplan-key {
    font-size: 1.125rem;
}

.key li:before {
    content: '';
    width: 1rem;
    height: 1rem;
    position: absolute;
    left: 0;
    top: 50%;
    transform: translateY(-50%);
    background-color: #F2B9C2;
    border-radius: 50%;
}

.key li:nth-of-type(2)::before {
    background-color: #FFC7AE;
}

.key li:nth-of-type(3)::before {
    background-color: transparent;
    border: 0.12rem solid #000;
}

.north {
    height: 3.3rem;
}

#map {
    height: 58.125rem;
}

.map-key {
    font-size: 1.125rem;
    color: #22455D;
    border: 0.1875rem solid #22455D;
    z-index: 10;
}

.map-key .key li::before {
    width: 1rem;
    height: 1rem;
}

.map-key .key li:nth-of-type(1)::before {
    display: none;
}

.map-key .key li:nth-of-type(2)::before {
    background-color: #F3BAC3;
}

.map-key .key li:nth-of-type(3)::before {
    border-width: 0;
    background-color: #31989B;
}

.map-key .dots {
    margin-bottom: 0.2rem;
    vertical-align: middle;
}

.map-key .dots,
.map-key .dots::before,
.map-key .dots::after {
    width: 0.5rem;
    height: 0.5rem;
    background-color: #D43761;
    display: inline-block;
    border-radius: 50%;
}

.map-key .dots::before,
.map-key .dots::after {
    content: '';
    position: absolute;
}

.map-key .dots::after {
    left: -0.75rem;
}

.map-key .dots::before {
    left: 0.75rem;
}

.download-link {
    padding: 0.75rem 1.25rem;
    font-size: 1.625rem;
    color: #31989B;
    background-color: #fff;
}

.download-link:hover {
    color: #fff;
    background-color: #22455D;
}

.download-link svg {
    height: 1.5rem;
    transition: 0.2s;
}

.download-link svg path {
    fill: #31989B;
}

.download-link:hover svg path {
    fill: #fff;
}

.agent01,
.agent02 {
    height: 7.4375rem;
}


@media (min-width: 768px) {
    html {
        font-size: 0.923vw;
    }
}

@media (min-width: 992px) {}

@media (min-width: 1200px) {}

@media (min-width: 1400px) {}

@media (min-width: 1600px) {}

@media (max-width: 767px) {

    html {
        font-size: 3.5vw;
    }

    body {
        font-size: 1.2rem;
        line-height: 1.667rem;
    }

    h1 {
        font-size: 2.8rem;
        line-height: 3.2rem;
    }

    h2 {
        font-size: 2.8rem;
        line-height: 3.1rem;
    }

    .small {
        font-size: 0.8rem;
        line-height: 1.06687rem;
    }

    .contact {
        font-size: 1rem;
        line-height: 1.4rem;
    }

    .header {
        font-size: 1.667rem;
        line-height: 2rem;
    }

    .owl-carousel .position-relative {
        height: 22rem;
    }

    .owl-nav {
        padding: 1.33rem;
    }

    .owl-nav-spec {
        top: 3rem;
        z-index: 10;
    }

    .owl-nav .prev svg,
    .owl-nav .next svg,
    .owl-nav-spec .prev svg,
    .owl-nav-spec .next svg {
        width: 2.45rem;
    }

    .owl-spec img {
        width: 8.6rem !important;
    }

    .image01 {
        height: 22rem;
    }

    .floorplan-link {
        color: #fff !important;
        background-color: #31989B;
    }

    .floorplan-link svg path {
        fill: #fff;
    }

    #map2 {
        height: 35rem;
    }

    .download-link {
        font-size: 1.135rem;
    }

    .download-link svg {
        height: 1.2rem;
    }


    .agent01 {
        height: 5.6rem;
    }

    .agent02 {
        height: 4.6rem;
    }
}

@font-face {
    font-family: 'CircularStd-Medium';
    src: url('../fonts/CircularStd-Medium.woff2') format('woff2'),
        url('../fonts/CircularStd-Medium.ttf') format('truetype'),
        url('../fonts/CircularStd-Medium.svg#CircularStd-Medium') format('svg');
    font-weight: normal;
    font-style: normal;
    font-display: swap;
}

@font-face {
    font-family: 'CircularStd-Book';
    src: url('../fonts/CircularStd-Book.woff2') format('woff2'),
        url('../fonts/CircularStd-Book.ttf') format('truetype'),
        url('../fonts/CircularStd-Book.svg#CircularStd-Book') format('svg');
    font-weight: normal;
    font-style: normal;
    font-display: swap;
}

.font-book {
    font-family: 'CircularStd-Book';
}

@font-face {
    font-family: 'CircularStd-Bold';
    src: url('../fonts/CircularStd-Bold.woff2') format('woff2'),
        url('../fonts/CircularStd-Bold.ttf') format('truetype'),
        url('../fonts/CircularStd-Bold.svg#CircularStd-Bold') format('svg');
    font-weight: normal;
    font-style: normal;
    font-display: swap;
}

.font-bold {
    font-family: 'CircularStd-Bold';
}

@font-face {
    font-family: 'SharpSansDisplayNo1-Bold';
    src: url('../fonts/SharpSansDisplayNo1-Bold.woff2') format('woff2'),
        url('../fonts/SharpSansDisplayNo1-Bold.ttf') format('truetype'),
        url('../fonts/SharpSansDisplayNo1-Bold.svg#SharpSansDisplayNo1-Bold') format('svg');
    font-weight: normal;
    font-style: normal;
    font-display: swap;
}