html.noscroll {
    overflow: hidden;
}

#dialog_container {
    height: 100vh;
    left: 0;
    right: 0;
    overflow-y: auto;
    pointer-events: none;
    position: fixed;
    top: 0;
    z-index: 1000;
}

#dialog_container.visible {
    pointer-events: auto;
}

#dialog_container::after {
    content: "";
    display: inline-block;
    height: 100%;
    vertical-align: middle;
    width: 0;
}

#blocker {
    background: transparent;
    position: fixed;
    z-index: 100;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    transition: background 0.5s;
}

#blocker.fade_blocker {
    background: rgba(53, 53, 53, 0.51);
}

.dialog {
    background: var(--dialog-background);
    box-shadow: 0 8px 10px -3px var(--dialog-shadow);
    color: var(--dialog-text);
    display: inline-block;
    padding: 2rem;
    position: relative;
    vertical-align: middle;
    width: 100%;
    z-index: 1000;
}

.dialog .close_x {
    cursor: pointer;
    position: absolute;
    right: 0.5rem;
    top: 0.2rem;
}

.dialog .close_x::before {
    content: "\2718";
    font: bold 3rem/4rem 'Roboto Condensed', sans-serif;
}

.dialog .headline {
    color: var(--dialog-headline);
    font: bold 4rem 'Roboto Condensed', sans-serif;
    letter-spacing: -0.05rem;
    margin-bottom: 2rem;
    max-width: calc(100% - 1.3rem);
}

.dialog .info {
    font-size: 1.5rem;
    line-height: 2.25rem;
}

.dialog a {
    border-bottom: 2px solid transparent;
    color: var(--dialog-link);
}

.dialog a:hover {
    border-bottom: 2px solid var(--dialog-link);
}

@media (min-width: 768px) and (max-width: 1024px) {
    .dialog {
        margin: 0 10%;
        width: 80%;
    }
}

@media (min-width: 1025px) {
    .dialog {
        border-radius: 1px;
        margin: 0 20%;
        padding: 2rem 5rem 5rem;
        width: 60%;
    }

    .dialog .headline {
        width: 100%;
        margin: 0 0 2rem;
    }
}
