@font-face {
    font-family: "HelveticaNowBold";
    src:    url("assets/font/HelveticaNowText-Bold.otf") format("opentype"),
            url("assets/font/HelveticaNowText-Bold.woff") format("woff");
}
@font-face {
    font-family: "HelveticaNowMicroBold";
    src:    url("assets/font/HelveticaNowMicro-Bold.otf") format("opentype"),
            url("assets/font/HelveticaNowMicro-Bold.woff") format("woff");
}
html{
    width:100%;height:100%;margin:0px;
    overflow-x: hidden;
}
body{
    background-color: #cecece;
    font-family: 'HelveticaNowBold';
    margin:0px;width:100%;height:auto;overflow-y: auto;
    overflow-x: hidden;
    /* position: relative; */
}
div,img,input,textarea,canvas,ul,li{
	box-sizing:border-box;
}
.rel{
	position:relative;width:100%;height:100%;
}
.relBody{
    position:relative;
    width:100%;height:auto;
}
input:focus,select:focus,textarea:focus,button:focus {
    outline: none;
}
textarea {
  resize: none;
}
::selection {
    background: #000;color:#fff; 
}
::-moz-selection {
    background: #000;color:#fff; 
}
.noScroll{
    overflow: hidden;
}
img {
    -webkit-user-select: none;-khtml-user-select: none;-moz-user-select: none;-o-user-select: none;user-select: none;
}
div,img,span,a{
    -webkit-tap-highlight-color: rgba(255, 255, 255, 0);-webkit-focus-ring-color: rgba(255, 255, 255, 0);
}
.arrowEdge{
    position: absolute; z-index:100;
}
.arrowEdgeUp{
    width:18px;height:9px;
    background-size: 18px 9px;
    background-image: url("assets/image/arrowEdgeUp.png");
    top:0px;
    left:50px; /* set by js */
}
.arrowEdgeDown{
    width:18px;height:9px;
    background-size: 18px 9px;
    background-image: url("assets/image/arrowEdgeDown.png");
    bottom:0px;
    left:50px; /* set by js */
}
.arrowEdgeLeft{
    width:9px;height:19px;
    background-size: 9px 18px;
    background-image: url("assets/image/arrowEdgeLeft.png");
    top:0px;  /* set by js */
    left:5px;
}

.loading{
    position: fixed;z-index: 999;
    width: 100%; height:100%;
    top:0px;left:0px;
    pointer-events: none;
    background-color: #cecece;
}
    .loadingGif{
        position: absolute;
        z-index: 1000;
        width: 32px ; height: 32px;
        left: calc(50% - 16px); top: calc(50% - 16px);
        background-image: url("assets/gif/loading64.gif");
        background-size: 32px 32px;
    }

.mobileMenu{
    position: fixed;
    z-index: 999;
    width: 100%; height:100%;
    top:0px;left:0px;
    background-color: #cecece;
    display: none;
}
    .mobileMenuName{
        position: absolute;
        top:30px;left:35px;
    }
    .mobileMenuClose{
        position: absolute;
        top:30px;right:30px;
        width: 30px;height: 30px;
        background-size: 30px 30px;
        background-image: url("assets/image/myclose128.png");
    }
    .mobileMainMenu{
        position: absolute;
        width:100%;
        height:300px; 
        top: calc(50% - 200px);
        left:0px;
    }
        .mobileNav{
            width:100%;height:120px;
            padding:26px;
            font-size:48px;
            background: none; color:#000;
        }
        @media (-moz-touch-enabled: 0), (pointer: fine) {
            .mobileNav:hover{
                background-color: #000;color:#fff;
                border-left:none;
            }
        }
        .mobileNavB{
            border-left:5px solid #000;
        }
        .mobileNavW{
            border-left:5px solid #fff;
        }
    .mobileFooterItems{
        position: absolute;
        width: 100%;
        left:0px;bottom:0px;
        padding:20px;
    }
    .mobileFooterItems a:link {cursor: pointer;color: #000;text-decoration: none;}
    .mobileFooterItems a:visited {cursor: pointer;color: #000;text-decoration: none;}
    @media (-moz-touch-enabled: 0), (pointer: fine) {
        .mobileFooterItems a:hover {cursor: pointer;text-decoration: none;background-color: #000; color:#fff;}
    }
    .mobileFooterItems a:active {cursor: pointer;text-decoration: none;color: #000;}

.arrowWayfinder{
    position:fixed;z-index:11;
    width:9px;height:18px;
    background-size: 9px 18px;
    background-image: url("assets/image/arrowWayfinder.png");
    top:0px; /* set by js */
    left:50px; /* set by js */
    /* display: none; */
}
.wayfinder{
    position:fixed;z-index:10;
    left:10px; /*set by js*/
    top:20px; /*set by js*/
    width:5px;height:auto;
    /* transition: '0.1s'; */
    /* display: none; */
}
    .wayfinderBar{
        width:5px;height:60px;
    }
    .wayfinderBarW{
        background-color: #fff;
    }
    .wayfinderBarB{
        background-color: #000;
    }

#containerSticky{
    width: 100%;height: auto;
    background-color: #cecece;
    position:fixed;z-index: 500;
    top:0px;left:0px;
    /* border:1px solid #000; */
}
    .navSticky{
        width:100%;height:auto;
        margin:0px auto;
        max-width: 1080px; /* set by js */
        min-width: 300px;
    }
#container{
    margin:0px auto;
    max-width: 1080px; /* set by js */
    min-width: 300px;
    height: auto;
}
    .page{
        margin:0px;
    }
    .pageBegin{
        width: 100%; height:0px;
    }
    .pageEnd{
        width: 100%; height:30px;
    }
        .rowDividerBig{
            width:100%;
            height:100px; /*set by js */
            clear: both;
        }
        .rowDividerSmall{
            width:100%;
            height:30px; 
            clear: both;
        }
        .row{
            width:100%;height:auto;
        }
            .rowEnd{
                width:100%;
                clear: both;
            }
            #bwvideos{
                width:100%;
                height:auto; /*set with js*/
                margin-top:35px;
            }
                #bwvideo{
                    display: none;
                    width:1280px; /* set with js*/
                    height:852px; /* set with js*/
                }
            #canvases{
                width:100%;
                height:auto; /* set with js*/
                position: relative;
            }
                #canvas2d-bw-bg{ /*grid*/
                    background-color: #fff;
                    position: absolute;top:0px;left:0px;z-index: 1;
                }
                #canvas2d-bw-fg{ /*circles*/
                    background: none;
                    position: absolute;top:0px;left:0px;z-index: 3;
                }
                #canvas3d-eye{ /*eye*/
                    background: none;
                    position: absolute;top:0px;left:0px;z-index: 2;
                    background:none;
                }

            #bwImg{
                width: 100%;height: auto;
            }
            .highlights{
                width:100%;height: auto;
            }
                .highlightsCol{
                    display: block;width:50%;float: left;
                }
                .highlight{
                    background: none;
                    clear: both;
                }
            .textContentLarge{
                font-size: 26px; /*set by js*/
            }
            .textContentSmall{
                font-size: 26px; /*set by js*/
            }
            .textContentMini{
                font-size: 26px; /*set by js*/
            }
            .footerItems{
                width: 100%;height: auto;
            }
                .footerItems a:link {cursor: pointer;color: #000;text-decoration: none;}
                .footerItems a:visited {cursor: pointer;color: #000;text-decoration: none;}
                @media (-moz-touch-enabled: 0), (pointer: fine) {
                    .footerItems a:hover {cursor: pointer;text-decoration: none;background-color: #000; color:#fff;}
                }
                .footerItems a:active {cursor: pointer;text-decoration: none;color: #000;}
                .footerItem{
                    display: block;float: right;
                    margin-left: 30px;
                }
                .footerLogo{
                    display: block;float: left;
                }
                    .logoImg{
                        margin-top:2px;
                    }
                    .logoImgDesktop{
                        height: 74px; width: auto;display: block;
                    }
                    .logoImgTablet{
                        height: 62px; width: auto;display: none;
                    }
                    .logoImgMobile{
                        height: 48px; width: auto;display: none;
                    }
                .footerLink{

                }
            .menuItems{
                
            }
                .navBurger{
                    display:block;float:right;
                    cursor: pointer;
                    display: none;
                    background-size: 30px 20px;
                    background-image: url("assets/image/myburger128.png");
                    width: 30px;height: 20px;
                    margin-top:5px;
                }
                .navMenuItem{
                    display: block;float:right;
                    margin-left: 30px;
                    cursor: pointer;
                }
                @media (-moz-touch-enabled: 0), (pointer: fine) {
                    .navMenuItem:hover{
                        background-color: #000; color:#fff;
                        cursor: pointer;
                    }
                }
                .textLogo{
                    display: block;float:left;
                }
                @media (-moz-touch-enabled: 0), (pointer: fine) {
                    .textLogo:hover{
                        background-color: #000; color:#fff;
                        cursor: pointer;
                    }
                }
            .colStack{
                display: inline-block;
                vertical-align:top;
            }
            .stackedHeight{ /*height should be same as rowDividerBig*/
                width: 100%; 
                height: min(90px,calc(30px + 6vw));
                clear: both;
            }
            .stackedHeightMobile{
                width: 100%; 
                height: min(90px,calc(30px + 6vw));
                display: none;
                clear: both;
            }
            .colL1{
                width: 55%;
                padding-right: min(90px,calc(30px + 6vw));
                float: left;
            }
            @media (width <= 560px) {
                .colL1{padding-right:5%;}
            }
            .colR1{
                width: 45%;
                float: right;
            }
            .colL2{
                width: 50%;
                padding-right: min(90px,calc(30px + 6vw));
                float: left;
            }
            @media (width <= 560px) {
                .colL2{padding-right:5%;}
            }
            .colR2{
                width: 50%;
                float: right;
            }
            .sectionTitle{
                font-size:24px;
                text-transform: uppercase;
                font-weight: 900;
            }
            .sectionTitleUnderline{
                margin-bottom: 30px;
                width: 30px;height: 20px;
                background-size: 30px 20px;
                background-image: url("assets/image/mydivider128.png");
            }
            #buttonContact{
                font-size:16px;
                text-decoration:none !important;
            }
            .bigButton{
                padding:16px 2px;
                text-align: center;
                background-color:#000; color:#fff;
                border:2px solid #000;
                cursor: pointer;
                width:100%; /*set by js */
                height: auto;
                margin-top:30px;
            }
            @media (-moz-touch-enabled: 0), (pointer: fine) {
                .bigButton:hover{
                    background-color:#fff; color:#000;
                }
            }
            #iconDownloadArrow{
                width: 17px;height: 17px;
                background-size: 17px 17px;
                background-image: url("assets/image/iconDownloadArrow.png");
                display: inline-block;
                margin-right:10px;
                margin-bottom:-1px;
            }
            #iconContactArrow{
                width: 14px;height: 14px;
                background-size: 14px 14px;
                background-image: url("assets/image/iconContactArrow.png");
                display: inline-block;
                margin-left:10px;
                margin-bottom:-1px;
            }
            #emText{
                display: inline-block;
            }
            #emCopied{
                display: inline-block;
                display: none;
                color:#000; 
            }
            .floorContainer{
                width:auto;height:auto;
                border:  2px solid #000;
            }
            .floorPlanImg{
                width:100%;height:auto;
                
            }
            #calendar{
                width: 100%;
            }
            .carousel{
                width: 100%; 
                background-color: #cecece;
                position: relative;
            }
                #carouselSpace{
                    width: 100%; 
                    height: 100px; /* set by js */
                }
                #carouselShoot{
                    width: 100%; 
                    height: 100px; /* set by js */
                }
                    .carouselSwipe{
                        width: 100%; height: 100%;
                        position: absolute;
                        z-index: 10;
                        background:none;
                        top:0px;left:0px;
                    }
                    .carouselLoading{
                        width: 100%; height: 100%;
                        position: absolute;
                        z-index: 100;
                        background-color: #cecece;
                        top:0px;left:0px;
                        border: 2px solid #000;
                    }
                        .carouselLoadingGifImg{
                            position: absolute;
                            z-index: 101;
                            width: 32px ; height: 32px;
                            left: calc(50% - 16px);top: calc(50% - 16px);
                        }
                    .carouselImgs{
                        width:100%;height:100%;
                        position: relative;
                        overflow: hidden;
                    }
                        .carouselImg{
                            position:absolute;
                            z-index: 10;
                            top:0px;
                            left:0px; /*set by js*/
                            height: 100%; width:auto;
                            border-left:4px solid #cecece;
                            border-right:4px solid #cecece;
                        }
                    .carouselButton{
                        position: absolute;
                        top: calc(50% - 57px);
                        z-index: 11;
                        width:12px; height: 12px;
                        cursor: pointer;
                    }
                    .carouselButtonL{
                        left:2%;
                        background: none;
                        width:60px;height:114px;
                        background-image: url("assets/image/arrowCalL1.png");
                        background-size: 60px 114px;
                        margin-left:-10px;
                    }
                    @media (-moz-touch-enabled: 0), (pointer: fine) {
                        .carouselButtonL:hover{
                            background-image: url("assets/image/arrowCalL2.png");
                        }
                    }
                    .carouselButtonL-preload{
                        background-image: url("assets/image/arrowCalL2.png");
                        position:absolute;z-index:-999;top:-999px;left:-999px;
                    }
                    .carouselButtonR{
                        right:2%;
                        background: none;
                        width:60px;height:114px;
                        background-image: url("assets/image/arrowCalR2.png");
                        background-size:60px 114px;
                        margin-right:-10px;
                    }
                    @media (-moz-touch-enabled: 0), (pointer: fine) {
                        .carouselButtonR:hover{
                            background-image: url("assets/image/arrowCalR1.png");
                        }
                    }
                    .carouselButtonR-preload{
                        background-image: url("assets/image/arrowCalR1.png");
                        position:absolute;z-index:-999;top:-999px;left:-999px;
                    }


#buttonDownload{
    display: none; opacity: 0;
}




.calendar-container {
    background: none;
    width: 100%;
    /* border-radius: 10px; */
    /* box-shadow: 0 15px 40px rgba(0, 0, 0, 0.12); */
    border:2px solid #000;
}
.calendar-fontExtraLarge{
    font-size: 22px;
}
.calendar-fontLarge{
    font-size: 22px;
}
.calendar-fontMedium{
    font-size: 18px;
}
.calendar-fontSmall{
    font-size: 16px;
}
.calendar-header{
    padding-top:20px;
    padding-left:20px; /* set by js */
    padding-right:20px; /* set by js */
    padding-bottom:0px;
}
.calendar-container header {
    display: flex;
    align-items: center;
    justify-content: space-between;
}
header .calendar-navigation {
    display: flex;
}
header .calendar-navigation2 {
    height: 32px; width: 32px;
    /* border:1px solid #000; */
    cursor: pointer;
}
    header .calendarL{
        background-image: url("assets/image/calendarL.png");
        background-size: 32px 32px;
    }
    header .calendarR{
        background-image: url("assets/image/calendarR.png");
        background-size: 32px 32px;
    }
header .calendar-navigation
header .calendar-navigation span {
    height: 38px;width: 38px;
    margin: 0 1px;
    text-align: center;
    line-height: 38px;
    border-radius: 50%;
    user-select: none;
    color: #aeabab;
}
.calendar-navigation span:last-child {
    margin-right: -10px;
} 
header .calendar-navigation span:hover {
    /* background: #f2f2f2; */
}
header .calendar-current-date {
    font-weight: 500;
    text-transform: uppercase;
}
.calendar-body {
    padding-top: 15px;
    padding-left:20px;padding-right:20px; /* set by js */
    padding-bottom:15px;
}
.calendar-body ul {
    list-style: none;
    flex-wrap: wrap;
    display: flex;
    text-align: center;
} 
.calendar-body .calendar-dates {
    margin-bottom: 20px;
} 
.calendar-body li {
    width: calc(100% / 7 - 4px);
    color: #000;
    margin: 2px;
} 
.calendar-body .calendar-weekdays li {
    cursor: default;
    font-weight: 500;
}
.booked{
    color: #888 !important;
    border:1px solid #888;
    background: 
        linear-gradient(to top right,
            rgba(0,0,0,0) 0%,
            rgba(0,0,0,0) calc(50% - 0.5px),
            rgba(136,136,136,1) 50%,
            rgba(0,0,0,0) calc(50% + 0.5px),
            rgba(0,0,0,0) 100%);
}
.onhold{
    color: #000 !important;
    border:1px solid #888;
}
.calendar-body .calendar-dates li {
    padding-top: 3%; padding-bottom:3%;
    position: relative;
    z-index: 1;
}
.calendar-dates li.inactive {
    color: #aaa;
}  
.calendar-dates li.active {
    text-decoration: underline;
}
.calendar-dates li::before {
    position: absolute;z-index: -1;
    content: "";
    top: 50%;left: 50%;
    width: 40px;height: 40px;
    border-radius: 50%;
    transform: translate(-50%, -50%);
}
.calendar-dates li.active::before {}
.calendar-dates li:not(.active):hover::before {}
ul{
    padding-inline-start: 0px; 
}
.calendarHoverInfo{
    background-color: #fff;
    width:auto;height:auto;
    padding:4px 8px;
    position: absolute;z-index: 999; 
    display: inline-block;
    left:0px;top:0px;
    font-size:10px;
    pointer-events: none;
    opacity: 0;
    transition: opacity 0.15s;
}


    