body {
    height: 100%;
    display: flex;
    flex-direction: column;
    color: #142C3E;
    font-family: "degular", sans-serif;
    font-weight: 400;
    font-style: normal;
    background-color: #FFFDF9;
    line-height: 1.3;
}

body.contact {
    background-color: #31363E;
    color: #FDF4E2;
}

html {
    height: 100%;
    font-size: 20px;
}

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

.content-padding {
    padding: 0 1rem;
}

@media (min-width: 768px) {
    .content-padding {
        padding: 0 3rem;
    }
}

.load-hidden {
    visibility: hidden;
}

.footerholder {
    flex-shrink: 0;
    z-index: 1;
    background-color: #262B34;
    color: #FDF4E2;
    font-size: .9rem;
    line-height: 1.4;
}

.footerholder a,
.contact a {
    color: #FDF4E2;
    text-decoration: none;
}

.footerholder a:hover,
.contact a:hover {
    text-decoration: underline;
}

.agent01 {
    width: 4rem;
}

.agent02 {
    width: 5rem;
}

.footer_logo {
    margin-top: -1.5rem
}

.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%;
    top: 0;
}

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

@media (min-width: 768px) {
    .vh-fix-desktop {
        height: 100vh;
        height: calc(100vh - var(--vh-offset, 0px));
    }
}

.sm_body {
    font-size: .9rem;
}

.extra_lg {
    font-size: 2.8rem;
    line-height: 3rem;
}

@media (min-width: 768px) {
    .extra_lg {
        font-size: 4.2rem;
        line-height: 4rem;
    }
}

.sm_txt {
    font-size: .6rem;
}

h1 {
    font-size: 2.5rem;
    line-height: 2.5rem;
}

@media (min-width: 768px) {
    h1 {
        font-size: 3.5rem;
        line-height: 3.5rem;
    }
}

h2 {
    font-size: 2rem;
    line-height: 2rem;
}

@media (min-width: 768px) {
    h2 {
        font-size: 2.7rem;
        line-height: 2.7rem;
    }
}

h3 {
    font-size: 3rem;
    line-height: 3rem;
}

h4 {
    font-size: 2.375rem;
    line-height: 2.625rem;
}

h5 {
    font-size: 1.75rem;
    line-height: 2rem;
}

.bg_dark {
    background-color: #262B34;
}

.bg_green {
    background-color: #C1CDBF;
}

.bg_light {
    background-color: #FDF4E2;
}

.rectangle_slide:before {
    content: "";
    display: block;
    padding-top: 80%;
}

.full_slide:before {
    content: "";
    display: block;
    padding-top: 70%;
}

@media (min-width: 768px) {
    .full_slide:before {
        content: "";
        display: block;
        padding-top: 90vh;
    }
}

.section_head_dk {
    text-transform: uppercase;
    letter-spacing: .02rem;
    font-size: 1.1rem;
}

.section_head_dk:after {
    position: absolute;
    content: "";
    display: inline-block;
    width: 3.5rem;
    height: 2px;
    background-color: #142C3E;
    left: 0;
    bottom: -1.3rem;
}

.outline {
    color: transparent;
    -webkit-text-stroke-width: 2px;
    -webkit-text-stroke-color: #142C3E;
}

.outline_lt {
    color: transparent;
    -webkit-text-stroke-width: 2px;
    -webkit-text-stroke-color: #FDF4E2;
}

.shape01 {
    width: 10.5rem;
    bottom: -2.8rem;
    left: 2rem;
}

.shape02 {
    width: 10.5rem;
    bottom: -10.8rem;
    right: 1.5rem;
}

.shape03 {
    width: 10.5rem;
    bottom: -8.8rem;
    left: 3rem;
}

.shape04 {
    width: 10.5rem;
    top: -1rem;
    left: 3rem;
}

.shape05 {
    width: 10.5rem;
    top: -1rem;
    right: 5rem;
}

.shape06 {
    width: 10.5rem;
    bottom: -12.8rem;
    left: 2rem;
}

.shape07 {
    width: 10.5rem;
    top: -1rem;
    right: 5rem;
}

.shape08 {
    width: 12.5rem;
    top: -3em;
    left: -1.8rem;
}

.dk_border {
    border: 1px solid #142C3E;
}

.bottom_link:before {
    content: "";
    display: block;
    padding-top: 77%;
}

.bottom_overlay {
    background-color: rgba(39, 43, 52, .9);
    transition: all .5s ease;
}

.bottom_title {
    top: 1.5rem;
    left: 1.5rem;
    color: #FDF4E2;
    letter-spacing: .1rem;
    transition: all .5s ease;
}

.bottom_title:after {
    position: absolute;
    content: "";
    display: inline-block;
    width: 2.5rem;
    height: 2px;
    background-color: #FDF4E2;
    left: 0;
    bottom: -1.3rem;
}

.bottom_text {
    bottom: 1.5rem;
    left: 2.2rem;
    color: #FDF4E2;
    line-height: .9;
    transition: all .5s ease;
}

.bottom_link:hover .bottom_overlay {
    background-color: rgba(39, 43, 52, .4);
}

.bottom_link:hover .bottom_title {
    top: 1rem;
    left: 1rem;
}

.bottom_link:hover .bottom_text {
    bottom: -6rem;
}

.bottom_plus {
    opacity: 0;
    width: 1.5rem;
    bottom: 1rem;
    right: 1rem;
    transition: all .5s ease;
}

.bottom_link:hover .bottom_plus {
    opacity: 1;
}

.prev,
.next {
    width: 2.5rem;
    z-index: 10;
    cursor: pointer;
}

.prev circle,
.next circle {
    transition: all 500ms ease;
}

.prev:hover circle,
.next:hover circle {
    opacity: 0.5;
}

.prev1 {
    left: 1rem;
}

.next1 {
    right: 1rem;
}

.prev2 {
    left: 1rem;
}

.next2 {
    right: 1rem;
}

@media (min-width: 768px) {
    .prev2 {
        left: 2rem;
    }

    .next2 {
        right: 2rem;
    }
}

.bg_mid {
    background-color: #F2E3DC;
}

.bg_blue {
    background-color: #DAE3E7;
}

.topleft_img:before {
    content: "";
    display: block;
    padding-top: 85%;
}

@media (min-width: 768px) {
    .topleft_img:before {
        content: "";
        display: block;
        padding-top: 115%;
    }
}

.availability .d-table-cell {
    padding: 0.5rem 0;
}

.availability .d-table-cell.total {
    padding: 1rem 0 0 0;
}

.availability .d-table-cell.border_bottom {
    border-bottom: 2px solid #142C3E;
}

.availability .d-table-cell.border_bottom_thick {
    border-bottom: 4px solid #142C3E;
}

.plan_head {
    font-size: 1.12em;
    line-height: 1.2;
}

.plans .d-table {
    font-size: .7rem;
}

.plans .d-table-cell {
    border-top: 1px solid #142142;
    padding: .2rem 0;
}

.plans .d-table-cell.no_bdr_mb {
    border-top: none;
}

@media (min-width: 768px) {
    .plans .d-table-cell.no_bdr_mb {
        border-top: 1px solid #142142;
    }
}

.plans .d-table-row:last-child .d-table-cell {
    border-bottom: 1px solid #142142;
}

.plan_view {
    width: 7rem;
    cursor: pointer;
}

.north {
    width: 1.5rem;
}

.plan_footer {
    margin-top: 1rem;
}

@media (min-width: 768px) {
    .plan_footer {
        margin-top: -3rem;
    }
}

.plan_north {
    margin-top: -3rem;
}

@media (min-width: 768px) {
    .plan_north {
        margin-top: 0;
    }
}

.key {
    width: .8rem;
    height: .8rem;
    border-radius: 50%;
    margin-right: .2rem;
}

.key.office {
    background-color: #A8B4B9;
}

.key.meeting {
    background-color: #C7CFD2;
}

.key.core {
    background-color: #F2F1F1;
}

.next4 {
    top: -4rem;
    right: .7rem;
}

.prev4 {
    top: -4rem;
    right: 3.7rem;
}

@media (min-width: 768px) {
    .next4 {
        top: 2rem;
        right: .7rem;
    }

    .prev4 {
        top: 2rem;
        right: 3.7rem;
    }
}

.gallery-padding {
    padding: 0;
}

@media (min-width: 768px) {
    .gallery-padding {
        padding: 0 6rem;
    }
}

.gallery_wrapper {
    visibility: hidden;
    opacity: 0;
    background-color: #262B34;
    z-index: 6000;
    transition: opacity 0.3s;
}

.gallery_wrapper.active {
    visibility: visible;
    opacity: 1;
}

.gallery_wrapper .prev {
    left: 2rem
}

.gallery_wrapper .next {
    right: 2rem
}

.gallery_slide:before {
    content: "";
    display: block;
    padding-top: 75%;
}

@media (min-width: 768px) {
    .gallery_slide:before {
        padding-top: 55%;
    }
}

.close_btn {
    width: 2rem;
    position: absolute;
    top: 1rem;
    right: 1rem;
    cursor: pointer;
}

@media (min-width: 768px) {
    .close_btn {
        right: -1rem;
    }
}

.location_slide1 {
    width: 18.2rem;
}

.location_slide2 {
    width: 27rem;
}

.location_slide3 {
    width: 18.2rem;
}

.location_slide4 {
    width: 31rem;
}

.location_slide5 {
    width: 23rem;
}

.location_slide6 {
    width: 27rem;
}

.location_slide7 {
    width: 18.2rem;
}

.location_slide8 {
    width: 20rem;
}

.key_wrapper {
    top: 0;
    right: 4rem;
    background-color: rgba(255, 253, 249, .8);
    font-size: .8rem;
    padding: 2rem .8rem .8rem;
}

.loc_btns {
    padding: .2rem .2rem;
    cursor: pointer;
    border-top: 1px solid #142C3E;
}

.loc_btns:last-child {
    border-bottom: 1px solid #142C3E;
}

.loc_btns svg {
    width: 1rem;
    height: 1rem;
}

.loc1.active {
    background-color: #142C3E;
    color: #fdf4e2;
}

.loc2.active {
    background-color: #D87C7C;
    color: #fdf4e2;
}

.loc3.active {
    background-color: #839681;
    color: #fdf4e2;
}

.loc4.active {
    background-color: #83949B;
    color: #fdf4e2;
}

.loc_btns .inner {
    fill: transparent;
}

.loc_btns .outer {
    stroke: #142C3E;
}

.loc_btns.active .inner {
    fill: #fdf4e2;
}

.loc_btns.active .outer {
    stroke: #fdf4e2;
}

.top_text1 {
    color: #FDF4E2;
    letter-spacing: .1rem;
    font-size: 1.3rem;
}

.top_text2 {
    color: #FDF4E2;
    letter-spacing: .1rem;
    font-size: 1rem;
}

.top_text3 {
    color: #FDF4E2;
    letter-spacing: .1rem;
    font-size: .8rem;
}

.json_file1 {
    width: 5.5rem;
}

.mobile_rail {
    width: 440vw;
}

.mb_rail_wrapper {
    overflow-x: auto;
}

.disclaimer {
    font-size: .6rem;
    text-align: justify;
}

.download {
    display: inline-block;
    width: 100%;
    border: 1px solid #FDF4E2;
    background-color: transparent;
    padding: .5rem .8rem;
    color: #fff;
    text-decoration: none;
    transition: background-color 0.5s;
}

.download:hover {
    background-color: rgba(28, 33, 39, .9);
    text-decoration: none !important;
}

.download img {
    width: 1.5rem;
    right: .7rem;
    top: 50%;
    transform: translateY(-50%) !important;
    transition: transform 0.5s !important;
}

.download:hover img {
    width: 1.5rem;
    right: .7rem;
    top: 50%;
    transform: translateY(-50%) rotate(-90deg) !important;
}


@media (min-width: 768px) {
    .json_file1 {
        width: 9rem;
    }
}

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

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

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

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

.degular {
    font-family: "degular", sans-serif;
    font-weight: 400;
    font-style: normal;
}

.degular_md {
    font-family: "degular", sans-serif;
    font-weight: 500;
    font-style: normal;
}

.degular_sb {
    font-family: "degular", sans-serif;
    font-weight: 600;
    font-style: normal;
}

.dystopian {
    font-family: "dystopian", sans-serif;
    font-weight: 700;
    font-style: normal;
}