body {
    height: 100%;
    display: flex;
    flex-direction: column;
    font-size: 1.876rem;
    line-height: 2.25rem;
    font-family: "nimbus-sans", sans-serif;
    font-weight: 400;
    font-style: normal;
    color: #000;
    -moz-osx-font-smoothing: grayscale;
    -webkit-font-smoothing: antialiased;
}

body:not(.home) {
    padding-top: 3.75rem;
}

body.info {
    background-color: #f0eae8;
}

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: #D65233 !important;
}

.bg-primary {
    background-color: #D65233 !important;
}

.text-secondary {
    color: #D3C7BB !important;
}

.bg-secondary {
    background-color: #D3C7BB !important;
}

.text-light {
    color: #F3EDEA !important;
}

.bg-light {
    background-color: #F3EDEA !important;
}

.divider {
    height: 0.5rem;
}

h1 {
    font-size: 6.875rem;
    line-height: 6.5rem;
}

h2 {
    font-size: 5rem;
    line-height: 4.625rem;
}

h3 {
    font-size: 3rem;
    line-height: 3rem;
}

h4 {
    font-size: 2.375rem;
    line-height: 2.625rem;
}

h5 {
    font-size: 1.75rem;
    line-height: 2rem;
}

.small {
    font-size: 1rem;
    line-height: 1.25rem;
}

.font-info {
    font-size: 1.5rem;
    line-height: 1.75rem;
}

.footer-contact {
    font-size: 1.25rem;
    line-height: 1.5rem;
}

.home-header {
    background-image: url('../img/top_shape.svg');
    background-repeat: no-repeat;
    background-size: cover;
    background-position: right bottom;
    background-color: #d3c7bb;
}

@media (min-width: 768px) {
    .home-header {
    }
    .desktop_fantastic {
        font-size: 4.5rem;
        line-height: 0.95;
    }
}
@media (min-width: 1921px) {
    .desktop_fantastic {
        font-size: 3.5rem;
    }
}

.top_icon {
    height: 12.375rem;
}

.image01 {
    height: 42.5rem;
}

.page-link-holder {
    background-color: rgba(211, 199, 187, 0.5);
}

.page-link {
    color: #D65233;
    transition: 0.3s;
}

.page-link:hover {
    color: #000;
}

.page-link img {
    filter: grayscale(100%);
    transition: 0.3s;
}

.page-link:hover img {
    filter: grayscale(0);
}

.page-link .divider {
    background-color: #D65233;
    transition: 0.3s;
}

.page-link:hover .divider {
    background-color: #000;
}

.arrow_link {
    height: 1.625rem;
    transition: 0.3s;
}

.page-link:hover .arrow_link path {
    fill: #000;
}

.owl-gallery-01 .position-relative {
    height: 60rem;
}

.owl-gallery-02 .position-relative {
    height: 41.625rem;
}

.owl-gallery-03 .position-relative {
    height: 58.75rem;
}

.owl-gallery2-holder {
    background-color: rgba(211, 199, 187, 0.5);
}

#owl-nav-gallery {
    top: -1.5rem;
    z-index: 20;
}

.owl-nav-arrow {
    width: 3.875rem;
    height: 3.875rem;
    cursor: pointer;
}

.owl-nav-arrow circle {
    transition: 0.1s;
}

.owl-nav-arrow:hover circle {
    fill: #000;
}

.owl-carousel .owl-dots {
    text-align: center;
    -webkit-tap-highlight-color: transparent;
    position: absolute;
    bottom: 0;
    right: 0;
    display: flex;
}

#owl-spec .owl-dots {
    left: 50%;
    transform: translateX(-50%);
    justify-content: center;
}

.owl-carousel .owl-dots .owl-dot {
    display: inline-block;
    zoom: 1;
    *display: inline;
}

.owl-carousel .owl-dots .owl-dot span {
    width: 0.875rem;
    height: 0.875rem;
    margin: 0 0.2rem;
    background: #F3EDEA;
    display: block;
    border-radius: 50%;
    -webkit-backface-visibility: visible;
    transition: opacity 200ms ease;
}

.owl-carousel .owl-dots .owl-dot.active span,
.owl-carousel .owl-dots .owl-dot:hover span {
    background: #D65233;
}

#owl-spec .owl-dots .owl-dot:not(.active) span {
    background: #fff;
}

.owl-carousel .owl-dots .owl-dot.active span,
.owl-carousel .owl-dots .owl-dot:hover span {
    background: #D65233;
}

.owl-carousel .owl-dots .owl-dot.active span {
    width: 1.25rem;
    height: 1.25rem;
}

/* TABLE */
.table {
    font-size: 1.5rem;
}

.table-header {
    display: table-header-group;
}

.table-body {
    display: table-row-group;
}

.table-header .d-table-cell {
    border-bottom: 0.1875rem solid #31989B;
}

.table-body .d-table-cell {
    border-bottom: 0.3rem solid #22455D;
}

.north {
    height: 2.75rem;
}

.opt_01 {
    opacity: 0;
    pointer-events: none;
}

.opt_01.is-active {
    opacity: 1;
    pointer-events: all;
}

.opt_02 {
    position: absolute;
    top: 0;
    left: 0;
    opacity: 0;
    pointer-events: none;
}

.opt_02.is-active {
    opacity: 1;
    pointer-events: all;
}

#owl-plan-nav {
    z-index: 200;
}

#floor_nav {
    z-index: 100;
}

#floor_nav span {
    cursor: pointer;
}

.location_icon {
    width: 17rem;
    height: 17rem;
    left: -12rem;
    bottom: -3.5rem;
    z-index: 10;
}

.travel_shape {
    z-index: -1;
}

.shape_info {
    z-index: -1;
}

.download-link {
    font-size: 1.75rem;
}

.download-link .arrow_link {
    height: 1.25rem;
}

.download-link .arrow_link path {
    fill: #000;
}

.download-link:hover {
    opacity: 0.5;
}

.agent01 {
    height: 5.3125rem;
}

.agent02 {
    height: 2.125rem;
}

.agent01_info {
    height: 6rem;
}

.agent02_info {
    height: 2.45rem;
}



@media (min-width: 768px) {
    html {
        font-size: 0.923vw;
    }

    .page-link-holder {
        background-image: url('../img/shape01.svg');
        background-repeat: no-repeat;
        background-size: 100%;
    }

    .page-link {
        width: 33.33%;
    }

    #owl-gallery2 .owl-dots {
        left: 0;
        right: auto;
    }

    body.info {
        background-image: url('../img/info/shape.svg');
        background-repeat: no-repeat;
        background-size: cover;
        background-position-x: -48rem;
    }
}

@media (min-width: 992px) {}

@media (min-width: 1200px) {}

@media (min-width: 1400px) {}

@media (min-width: 1600px) {}

@media (max-width: 767px) {

    html {
        font-size: 4.1vw;
    }

    body {
        font-size: 1.375rem;
        line-height: 1.75rem;
    }

    body:not(.home) {
        padding-top: 6.25rem;
    }

    .divider {
        height: 0.375rem;
    }

    h1 {
        font-size: 3.75rem;
        line-height: 3.375rem;
    }

    h3 {
        font-size: 2.5rem;
        line-height: 2.625rem;
    }

    h4 {
        font-size: 2rem;
    }

    .home-header {
        background-image: url('../img/top_shape_mobile.svg');
        font-size: 1.5rem;
        line-height: 1.8rem;
    }

    .home-header h3 {
        font-size: 2rem;
        line-height: 2rem;
    }

    .top_logo_mobile {
        height: 8.625rem;
    }

    .top_icon {
        height: 9.625rem;
    }

    .arrow_link {
        height: 1.175rem;
    }

    .owl-gallery-01 .position-relative {
        height: 27.5rem;
    }

    .owl-gallery-02 .position-relative,
    .owl-gallery-03 .position-relative {
        height: 21.875rem;
    }

    .owl-gallery2-holder {
        background-color: #F3EDEA;
    }

    .owl-carousel .owl-dots .owl-dot span {
        width: 0.65rem;
        height: 0.65rem;
    }

    .owl-carousel .owl-dots .owl-dot.active span {
        width: 1rem;
        height: 1rem;
    }

    .owl-nav {
        margin: 1.25rem 0;
    }

    .font-info {
        font-size: 1.25rem;
        line-height: 1.5rem;
    }

    .agent02 {
        height: 2.5rem;
    }

    .agent01_info {
        height: 5.25rem;
    }
}

@font-face {
    font-family: 'DezenStencil02 Condensed 2';
    src: local('DezenStencil02 Condensed 2'), local('DezenStencil02-Condensed2'),
        url('../fonts/DezenStencil02-Condensed2.woff2') format('woff2'),
        url('../fonts/DezenStencil02-Condensed2.woff') format('woff');
    font-weight: normal;
    font-style: normal;
}

.font-stencil {
    font-family: 'DezenStencil02 Condensed 2';
    font-weight: normal;
    font-style: normal;
    letter-spacing: 0.05em;
}