/**
 * Zero out all the margins for to set
 * widths as percents. Set up box sizing
 * to account for borders in widths.
 */
*,
*:after,
*:before {
    margin: 0;
    padding: 0;
    -webkit-box-sizing: border-box;
    -moz-box-sizing: border-box;
    box-sizing: border-box;
}

/*Position stuff relative to screen*/
div.screen {
    position: relative;
    background-color:  #000;
    height: 100vh;
}

/*
 *  Center the viewport vertically and  horizontally.
 */
div.viewport {
    position: absolute;
    top:      10%;
    left:     12.5%;
    width:    75%;
    height:   80%;
    overflow: hidden;
}

div.nav {
    position: absolute;
    top: 40%;
    width:  50px;
}

div.nav.right {
    right: 2vw;
}

div.nav.left {
    left:  2vw;
    transform: scale( -1, 1 );
}

div.loading-image {
    position: absolute;
    top: 50%;
    left: 50%;
    -moz-transform: translate( -100px, -100px );
    -webkit-transform: translate( -100px, -100px );
    transform: translate( -100px, -100px );
}

div.control-panel {
    position: absolute;
    top:  10px;
    left: 50%;
    transform: translate( -10vw, 0px );
}

div.control-panel div {
    display: inline-block;
    margin-left:  1vw;
    margin-right: 1vw;
}


/*******************\
    NOTIFY BUTTON
\*******************/
div.notify-button {
    position: absolute;
    top: 0;
    right: 0;
}

/*******************\
    MESSAGING
\*******************/
div.messaging {
    position: absolute;
    top: 0;
    right: 0;
    transform: translate(-10vw, 0px);
    transition: opacity 10s;
}

div.messaging.hidden {
    opacity: 0;
}

div.content-warning {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate( -25vw, -35vh );
    width:  400px;
    height: 500px;
}

.do-not-display {
    display: none;
}


.external-links {
    position: absolute;
    bottom: -10px;
    right:  0;
    margin:20px;
    text-align: right;
    transform-origin: right bottom;
    transform: scale( 1 ) translate( -50%, -50% );
    transition: transform 0.5s;
}

.external-links a {
    border: 0;
}

.external-links.min-state {
    bottom: 0;
    right:  0;
    transform: scale( 0.20 );
    cursor:  pointer;
}

.external-links.min-state:hover {
    background-color: #444;
}

.external-links.min-state a {
    pointer-events: none;
}

.external-links.min-state .minify-icon {
    display: none;
}

