@import url(fonts.css);
@import url(keyframes.css);

:root {
    --background: #272727cf;
    --background-active: #171717cf;
    --border: #3f3f3f;
    --light-blue: #60f7df;
    --dark-blue: #10bfc7;
    --dialog-width: 770px;
    --dialog-padding-bottom: 105px;
    --details-button-width: 395px;
    --details-button-height: 65px;
    --keyframe-dialog-size-diff: 50px;
    --keyframe-show-dialog-width: calc(var(--dialog-width) - var(--keyframe-dialog-size-diff));
    --keyframe-hide-dialog-width: calc(var(--dialog-width) + var(--keyframe-dialog-size-diff));
    --keyframe-show-dialog-padding-bottom: calc(var(--dialog-padding-bottom) - var(--keyframe-dialog-size-diff));
    --keyframe-hide-dialog-padding-bottom: calc(var(--dialog-padding-bottom) + var(--keyframe-dialog-size-diff));
}

.background-image {
    position: fixed;
    height: 100vh;
    width: 100vw;
    margin-top: -8px;
    margin-left: -8px;
    background: url(/assets/jpg/Urchin_Underpass.jpg);
    background-size: cover;
    animation: 750ms forwards ease-out onload-background-blur;
    transform: scale(1.1);
    z-index: -1;
}

p, button {
    color: white;
    font-family: Nintendo, sans-serif;
    font-weight: bold;
    font-size: 24px;
    line-height: 40px;
    letter-spacing: -0.025em;
}

.error-code {
    color: lightgray;
    font-size: 16px;
}

.dialog {
    position: absolute;
    animation: 1250ms forwards ease-out onload-dialog;
    left: 50%;
    top: 50%;
    transform: translate(-50%, -50%);
    background-color: var(--background);
    backdrop-filter: blur(4px);
    border: 1px solid var(--border);
    border-radius: 4px;
}

.dialog-content {
    animation: 1300ms forwards onload-visibility;
}

.dialog .error-code {
    margin-top: 40px;
    margin-left: 60px;
}

.dialog .description > p {
    margin: 12px 32px 0 64px;
}

.dialog button {
    position: absolute;
    bottom: 0;
    background-color: transparent;
    border: 0;
    border-top: 2px solid var(--border);
    width: 100%;
    height: 74px;
}

.dialog button.left, .dialog button.right {
    width: 50%;
}

.dialog button.left {
    border-right: 1px solid var(--border);
}

.dialog button.right {
    border-left: 1px solid var(--border);
    left: 50%;
}

.dialog button:hover, .details button:hover {
    background-color: var(--background-active);
    border-radius: 4px;
    outline: 5px solid;
    box-shadow: 0 0 12px var(--light-blue);
    animation: 500ms infinite alternate ease-out hover-outline;
}

.dialog button:focus, .dialog button:active {
    outline: none;
    box-shadow: none;
}

.dialog button:focus {
    transition: 100ms;
    background-color: transparent;
}

.dialog button:active {
    transition: none;
    background-color: #274747cf;
}

.details {
    display: none;
    opacity: 0;
}

.details-content {
    margin: 65px 15% 0;
    height: calc(100vh - var(--details-button-height) * 3.75);
    overflow-y: scroll;
}

.details .description > p {
    font-size: 20px;
    line-height: 36px;
}

.details button {
    position: absolute;
    background-color: var(--background);
    width: var(--details-button-width);
    height: var(--details-button-height);
    left: 50%;
    top: calc(100% - var(--details-button-height) * 1.25);
    transform: translate(-50%, -50%);
    border: 1px solid var(--border);
    border-radius: 4px;
}