:root {
    --oc3droom-win-width: 90vw;
    --oc3droom-win-height: 90vh;
    --oc3droom-win-top: 20px;
    --oc3droom-win-left: 0;

    --oc3droom-board-height: 82vh;
    --oc3droom-board-width: 800px;
    --oc3droom-board-top: 38px;
    --oc3droom-board-left: 0;
}

* {
    -webkit-box-sizing: border-box;
    -moz-box-sizing: border-box;
    box-sizing: border-box;
    -moz-user-select: none;
    -webkit-user-select: none;
    -ms-user-select: none;
    user-select: none;
    -webkit-user-drag: none;
    -webkit-touch-callout: none;
    -ms-content-zooming: none;
}

#cover {
    width: 100vw;
    height: 100vh;
    background-color: white;
    z-index: 10000;
}

.mobile .room-popup-frame {
    --oc3droom-win-top: 0px;
    --oc3droom-win-width: 100vw;
    --oc3droom-win-height: 100vh;
    top: 0;
}

.mobile .room-popup-frame.board {
    --oc3droom-board-top: 0px;
    --oc3droom-board-width: 100vw;
    top: 0;
}

.mobile .btn-hotspot.link-button {
    margin-top: 8px !important;
}

.mobile .btn-close-frame {
    top: 6px;
}

.mobile .btn-close-frame.board {
    top: 6px;
}

.backcover {
    position: absolute;
    top: -101vh;
    left: -101vw;
    width: 100vw;
    height: 100vh;
    z-index: 900;
    background: rgba(0,0,0,0.75);
    pointer-events: none;
}

.backcover.active {
    top: 0;
    left: 0;
}

.room-popup-frame-background {
    position: absolute;
    top: 0;
    left: 0;
    width: 100vw;
    height: 100vh;
    z-index: 10000;
    background-color: rgba(0,0,0,0.5);
}

.room-popup-frame {
    position: relative;
    width: 100%;
    background-color: #000000d0;
    border-radius: 8px 8px 0 0;
}

.room-popup-frame.board {
    height: var(--oc3droom-board-height);
}

.btn-close-frame {
    position: relative;
    top: calc(var(--oc3droom-win-top) + 5px);
    margin-left: -28px;
    padding: 0;
    line-height: 0.75rem;
    border: 0;
}

.btn-close-frame img {
    width: 25px;
    padding: 2px;
}

.btn-close-frame.board {
    top: 2px;
    border-radius: 20px;
    left: var(--oc3droom-board-width);
    position: absolute;
    z-index: 1000;
}

.room-popup-frame iframe {
    width: 100%;
    height: 100%;
}

.desktop.no-touch .info-hotspot .info-hotspot-header:hover {
    width: 40px;
    border-radius: 20px;
    background-color: #000000a0;
    transition: background-color 0.3s ease-in-out;
}
/*
@keyframes tilt-shake-start {
    0% { transform: rotate(0deg); }
    100% { transform: rotate(-50deg); }
}

@keyframes tilt-shake-end {
    0% { transform: rotate(-50deg); }
    100% { transform: rotate(0deg); }
}

@keyframes tilt-shake {
    0% { transform: rotate(-50deg); }
    25% { transform: rotate(0deg); }
    50% { transform: rotate(50deg); }
    75% { transform: rotate(0deg); }
    100% { transform: rotate(-50deg); }
}

.info-hotspot-header:hover {
    animation-name:
        tilt-shake-start, tilt-shake, tilt-shake-end;
    animation-duration:
        500ms, 1000ms, 500ms;
    animation-timing-function:
        ease-in, linear, ease-out;
    animation-iteration-count:
        1, 2, 1;
}
*/
.info-hotspot .info-hotspot-i {
    width: 90%;
    height: 90%;
    margin: 5%;
}

.btn-hotspot.link-button {
    background-color: var(--hotspot-link-background);
}

.btn-hotspot.link-button.hidden {
    display: none;
}

@media only screen and (max-width: 799px) {
    :root {
        --oc3droom-board-top: 0px;
        --oc3droom-board-width: 100vw;
    }

    .room-popup-frame,
    .room-popup-frame.board {
        top: 0;
    }
}

.black-bar-top-background {
    display: none;
}

.card {
    width: var(--oc3droom-board-width);
    height: 94.5vh;
    top: var(--oc3droom-win-top);
    --bs-card-spacer-y: 0;
    --bs-card-spacer-x: 0;
    --bs-card-border-radius: 10px;
}

.card .card-body:first-child {
    border-radius: 10px 10px 0 0;
}

.video-holder {
    margin-top: calc(50vh - calc(315px / 2));
}

.video-holder>.col-auto {
    position: relative;
}

.video-holder .btn-close-frame {
    position: absolute;
    margin-left: 564px;
    top: 0;
    padding: 0;
    line-height: 0.75rem;
    border: 0;
}
