@import url("fonts/stylesheet.css");
/* TYPOGRAPHY */
html, body {
    font-size: 15px;
    line-height: 1.466666666666667em;
    font-family: "Helvetica Neue", Helvetica, Arial, sans-serif;
    font-weight: 500;
    color: #404848;
    scroll-behavior: smooth;
}
.h1, .h2, .h3, .h4, .h5, .h6, h1, h2, h3, h4, h5, h6 {
    margin-bottom: 10px;
}
h1 {
    font-size: 60px;
    line-height: 1.083333333333333em;
    font-weight: 500;
    margin-bottom: 20px;
}
h2, .nav-item {
    font-size: 36px;
    line-height: 1.111111111111111em;
}
.nav-item {
    font-size: 24px;
    line-height: 1.111111111111111em;
}
.caption {
    font-size: 16px;
}
.caption-2 {
    font-size: 20px;
}
.body-2 {
    font-size: 14px;
    line-height: 1.428571428571429em;
}
.body-bold {
    font-size: 24px;
    line-height: 1.333333333333333em;
}
strong {font-weight: 700;}
@media (max-width: 991.98px) {
    
}
/* END TYPOGRAPHY */

#nus-header {
    padding: 20px 0 !important;
}
#nus-header img {
    width: 100%;
    height: auto;
    max-width: 130px;
    min-width: 100px;
}

.logo-alt {
    color: #003d7c;
    display: flex;
    align-items: center;
    margin-left: 15px;
    padding-left: 15px;
    position: relative;
    min-height: 40px;
}
.logo-alt img {
        width: 100%;
    height: auto;
    max-width: 270px !important;
    min-width: 100px !important;
}
.logo-alt-mobile {
    display: none;
}
.logo-alt::before {
    content: "";
    height: 100%;
    width: 2px;
    background: #003d7c;
    left: 0;
    position: absolute;
    border-radius: 10px;
}
.container-fluid {
    padding-left: 70px;
    padding-right: 70px;
}

a:hover, a, a:focus, a:active {
    color: inherit;
}
.nav-item {
    margin-left: 100px;
}
.nav-item, .nav-link {
    
    color: #404848;
}
header {
    position: sticky;
    top: 0;
    z-index: 999;
}
@media (min-width: 992px) {
header nav {
    padding: 30px 70px !important;
    transition: all .3s ease;
}
.scrolled header nav {
    padding: 20px 0 !important;
    transition: all .1s ease;
}
 header nav img {
    height: 80px;
    transition: all .3s ease;
}
.scrolled header nav img {
    height: 50px;
    transition: all .1s ease;
}
}
#banner {
    min-height: 75vh;
    height: 75vh;
    height: 100vh;
    overflow: hidden;
}
.main-photo {
    background: url('img/main-photo.jpg') no-repeat bottom right;
    background-size: cover;
    transform: scale(1.1);
    transition: all 1s ease;
}
.loaded .main-photo {
    transform: scale(1.0);
    transition: all 1s ease;
}

.intro-left {
    background: #C9CAD1;
    z-index: 1;
    width: 520px;
    max-width: 520px;
}
#intro {
    background: #C9CAD1;
    margin-right: -60px;
    padding: 70px;
    padding-top: 100px;
    height: calc(100% - 150px);
    transform: translate(-150px, 50px);
    opacity: 1;
    transition: all 1s ease;
}
.loaded #intro {
    transform: translate(-0, 0);
    opacity: 1;
    transition: all 1s ease;

}
#intro p {
    max-width: 408px;
}
#intro p, #intro h1 {
    opacity: 0;
    transition: all 1s ease .75s;
}
.loaded #intro p, .loaded #intro h1 {
    opacity: 1;
    transition: all 1s ease .75s;
}
#intro-footer {
    position: absolute;
    bottom: 30px;
    left: 85px;
    width: 100%;
    opacity: 0;
    transition: all 1s ease 1s;
}
.loaded #intro-footer {
    opacity: 1;
    transition: all 1s ease 1s;
}

section:not(#banner) {
    padding-bottom: 50px;

}
#gallery {
    background: #D2C9BD
}

.row.title {
    padding: 30px 0;
}

.gallery-items {
    margin-left: -7.5px;
    margin-right: -7.5px;
}
.gallery-item {
    padding-left: 7.5px;
    padding-right: 7.5px;
    margin-bottom: 15px;
    transform: scale(0);
    transition: all 1s ease;
    
}
.revealed .gallery-item {
    transform: scale(1);
    transition: all 1s ease;
}

.gallery-item a {
    display: block;
    overflow: hidden;
}
.gallery-item img {
    aspect-ratio: 4 / 3;
    object-fit: cover;
    overflow: hidden;
    transition: all .3s ease;
}
.gallery-item:hover img {
    transform: scale(1.05);
    transition: all .3s ease;
}

.gallery-item:nth-child(1) {
    transition-delay: 0.1s;
}
.gallery-item:nth-child(2) {
    transition-delay: 0.2s;
}
.gallery-item:nth-child(3) {
    transition-delay: 0.3s;
}
.gallery-item:nth-child(4) {
    transition-delay: 0.4s;
}
.gallery-item:nth-child(5) {
    transition-delay: 0.5s;
}
.gallery-item:nth-child(6) {
    transition-delay: 0.6s;
}
.gallery-item:nth-child(7) {
    transition-delay: 0.7s;
}
.gallery-item:nth-child(8) {
    transition-delay: 0.8s;
}

#location {
    background: #CBCCD3;
}

.rooms {
    background: #A7C0D2;
    max-width: 265px;
    padding: 15px;
}

section#contact {
    background: #B7B99A;
}
section {
    z-index: 1;
    position: relative;
    scroll-margin-top: 100px;
}
footer {
    background: #AAA9A8;
    padding-top: 50px;
    padding-bottom: 50px;
    xposition: sticky;
    xbottom: 0;
    xz-index:0;
}

.footer-social {
    gap: 30px;
}

.social:hover {
    opacity: 0.75;
}

@keyframes fadeInUp {
    from {
        transform: translate3d(0,40px,0)
    }

    to {
        transform: translate3d(0,0,0);
        opacity: 1
    }
}

@-webkit-keyframes fadeInUp {
    from {
        transform: translate3d(0,40px,0)
    }

    to {
        transform: translate3d(0,0,0);
        opacity: 1
    }
}
.revealer {
    opacity: 0
}
.revealed {
    opacity: 1;
    transition: all 1s ease;
}

#preloader{position:fixed;top:0;left:0;right:0;bottom:0;background:#C9CAD1;z-index:10000;color: #fff;}

@media (max-width: 1680px) {
    #banner {
        min-height: 700px;
        height: calc(100vh - 158px);
        height: 100vh;
        overflow: hidden;
    }
    h1 {
        font-size: 50px;
        line-height: 1.083333333333333em;
        font-weight: 500;
        margin-bottom: 20px;
    }
    #intro {
        background: #C9CAD1;
        margin-right: -60px;
        padding: 70px;
        padding-top: 8vh;
        height: calc(100% - 150px);
        transform: translate(-150px, 50px);
        opacity: 1;
        transition: all 1s ease;
    }
    
}

.mobile, .mobile-flex { display: none !important; }
@media (max-width: 991.98px) {
    .mobile { display: block !important; }
    .mobile.flex { display: flex !important; }
    .desktop { display: none !important; }

    h1 {
        font-size: 38px;
        line-height: 40px;
    }
    #contact h1 {
        font-size: 15px;
        line-height: 1.466666666666667em;
    }
    h2, .nav-item {
        font-size: 36px;
        line-height: 1.111111111111111em;
    }
    html, body, .nav-item {
        font-size: 15px;
        line-height: 1.466666666666667em;
    }
    .caption {
        font-size: 12px;
        line-height: 18px;
    }
    .caption-2 {
        font-size: 20px;
    }

    .navbar-brand {
        margin-right: 0;
    }
    .container-fluid {
        padding-left: 15px !important;
        padding-right: 15px !important;

    }
    .navbar-nav {
        flex-direction: row;
        gap: 15px;
        justify-content: space-between;
        margin-top: 15px;
    }
    .navbar {
        justify-content: center;
        padding-left: 0 !important;
        padding-right: 0 !important;
        padding-top: 15px;
        padding-bottom: 15px !important;
        
    }
    .navbar-collapse {
        display: block !important;
    }
    .nav-item {
        margin-left: 0;
        background: #CBCCD3;
        width: 30%;
        text-align: center;
    }
    section#banner .row {
        flex-direction: column-reverse;
    }

    .main-photo {
        background: url(img/main-photo.jpg) no-repeat bottom right;
        background-size: cover;
        transform: scale(1.1);
        transition: all 1s ease;
        border-left: 15px solid #C9CAD1;
        border-right: 15px solid #C9CAD1;
        position: relative;
        /* height: 200px !important; */
        min-height: auto !important;
        aspect-ratio: 16 / 9;
        object-fit: cover;
    }
    .main-photo::before {
        content: '';
        position: absolute;
        width: 20px;
        height: 20px;
        bottom: 0;
        left: 0;
        background-color: #C9CAD1;
    }
    .main-photo::after {
        content: '';
        position: absolute;
        width: 20px;
        height: 20px;
        bottom: 0;
        right: 0;
        background-color: #C9CAD1;
    }

    .intro-left {
        background: #C9CAD1;
        z-index: 1;
        width: 100%;
        max-width: 100%;
    }
    #intro {
        background: #C9CAD1;
        margin-right: -0;
        padding: 0 0;
        padding-top: 30px;
        height: auto;
        transform: translate(-150px, 50px);
        opacity: 1;
        transition: all 1s ease;
    }
    #intro-footer {
        position: relative;
        bottom: 0;
        left: 0;
        width: 100%;
        opacity: 0;
        transition: all 1s ease 1s;
        padding-bottom: 30px;
    }

    .mobile.arrow {
        margin: 50px auto 00px;
        text-align: center;
    }
    .map-img {
        margin-bottom: 20px;
    }
    .rooms {
        max-width: 100%;
        text-align: center;
    }

    .nus-footer {
        text-align: center;
        margin-bottom: 0;
    }
    .footer-social {
        
        margin-bottom: 50px;
    }
    #banner {
        min-height: auto !important;
        height: auto !important;
        overflow: hidden;
    }
    .navbar-brand img {
        height: 50px;
    }
    header {
        
    transition: all .3s ease;
    }
    .scrolled header {
        top: -70px;
        
    transition: all .3s ease;
    }
}

.footer-social {
    display: none !important;
}

/****************
FOOTER - MAIN
****************/	
.nus-footer{background:#003062;border-top:1px solid #003d7c;color:#999;font-weight:400;}
.nus-footer a{color:#999;}
.nus-footer a:hover,
.nus-footer a:focus{color:#fff;text-decoration:none;}
.nus-footer ul{margin:0;padding:0;}
.nus-footer .wrapper{padding:120px 0;}
.nus-footer .footnav-alt{margin-top:43px;}

.glyphicon .glyphicon-home:before{content:"\f124";}

@media screen and (max-width:991px) {
    #nus-header img {
        xheight: 30px;
        xobject-fit: contain;
        xwidth: auto;
        xobject-position: center left;
    }
.nus-footer .wrapper{padding:40px 0;}
}	

.nus-footer .navigator ul li{list-style:none;line-height:24px;}
.nus-footer .navigator .title{margin-top:0;color:#fff;font-size:18px;}

.nus-footer .nus-social-box { display: inline-block; margin: 0 auto; text-align: center; border: none; padding: 0;}
.nus-footer .nus-social-box .footnav-alt{margin-top:40px;}
.nus-footer .nus-social-box ul li{padding-left:30px;}
.nus-footer .nus-contact-us { display: inline-block; text-align: left; }
.nus-footer ul.nus-contact-us li{position:relative;}
.nus-footer ul.nus-contact-us .icon{display:block;position:absolute;left:0;color:#fff;top:2px;}

@media screen and (max-width:991px) {
.nus-footer .nus-social-box{padding:0 10px;border:0;text-align:center;}
.nus-footer ul.nus-contact-us .icon{display:inline;top:0;padding-right:15px;}
}





/*******************
FOOTER - COPYRIGHT
*******************/
.nus-footer .copyright{border-top: 1px solid #003d7c;color: #999999;padding: 40px 10px;text-align: center;font-size:12px;line-height: 1.42857143;}
.nus-footer .copyright .info{margin-bottom:7px;}
@media screen and (max-width:991px) {
.nus-footer .copyright{padding-left:0;padding-right:0;}
}

.faicon {
    font-family: "FontAwesome";
    color: #333;
}
.faicon.fa-address:before {
    content: "\f124";
}
.footnav-social a {
    margin: 0 4px;
}
.nus-footer a {
    color: #999;
}
/***************************
FOOTER - COPYRIGHT (MENU)
***************************/	
.nus-footer .nav-copyright > li{display:inline-block;}
.nus-footer .nav-copyright > li.bullet:before{content:'\2022';padding-right:15px;padding-left:15px;}
@media screen and (max-width:991px) {
.nus-footer .nav-copyright > li.bullet:before{padding-left:5px;padding-right:5px;}
}

footer {
    font-weight: 400;
    font-size: 14px;
}
footer h3 {
    font-weight: normal;
}
.nus-footer {
    padding-top: 0 !important;
    padding-bottom: 0 !important;
}
header {
    background: #f8f9fa!important;
}
#nus-header .container-fluid, header nav, section:not(#banner) .container-fluid {
    width: 85%;
    max-width: 1440px;
    margin: 0 auto;
    padding-left: 0 !important;
    padding-right: 0 !important;
}
@media only screen and (min-width: 769px) and (max-width: 1024px) {
    #nus-header .container-fluid, header nav, section:not(#banner) .container-fluid {
        width: 90%;
    }
    #banner {
        background: #C9CAD1;
    }
    #banner .container-fluid {
        width: 90vw;
        margin: 0 auto;
        padding: 0 !important;
    }
        .logo-alt img.logo {
        max-width: 200px !important;
    }
}

@media only screen and (min-width: 769px) and (max-width: 1024px) {
    .logo-col img {
        max-width: 90px !important;
        min-width: inherit !important;
    }
}

#banner {
    background: #C9CAD1;
}

@media only screen and (max-width: 768px) {
    .logo-row {
        align-items:center;
    }
    #nus-header .container-fluid, header nav, section:not(#banner) .container-fluid {
        width: 90%;
    }
    #banner {
        background: #C9CAD1;
    }
    #banner .container-fluid {
        width: 90vw;
        margin: 0 auto;
        padding: 0 !important;
    }
    #nus-header {
        padding: 10px 0 !important;
    }
    .logo-col img {
        width: 80px !important;
        max-width: inherit !important;
        min-width: auto !important;
    }
    .logo-alt .logo {
        display: none;
    }
    .logo-alt-mobile {
        display: block;
    }
     img.logo-alt-mobile {
    width: 100%;
    height: auto !important;
    max-width: 80px !important;
    min-width: inherit !important;
}
}

#map {
    height: 400px;
    width: 100%;
}