
.state-indicator {
    position: absolute;
    top: -999em;
    left: -999em;
}

/* large screen ========================================================================== */

@media screen and (min-width: 1200px) {

    .state-indicator {
        z-index: 1;
    }

    #page-root {
        display: grid;
        grid-template-columns: 210px auto;
    }

    #sidebar {
        grid-column: 1;
        grid-row: 1;

        display: block;
        padding-right: 10px;
    }

    .menu-ad {
        display: none;
    }

    #sidebar-button {
        display: none;
    }

    #page-content {
        grid-column: 2;
        grid-row: 1;
    }

    #header-row {
        grid-gap: 50px;
    }

    #heraldry {
        display: flex;
        flex-flow: row wrap;
        grid-gap: 10px;
        vertical-align: center;
        min-width: 396px;
    }

    #landing {
        grid-template-columns: 1.5fr 1fr;
    }

    #intro-image {
        grid-column: 2;
        grid-row: 1/3;
    }

    #landing-text {
        grid-column: 1;
        grid-row: 1;
    }

    #landing-news {
        grid-column: 1;
        grid-row: 2;
    }

    #regional-cards {
        grid-template-columns: 1fr 1fr 1fr 1fr;
    }

    .register-card {
        grid-template-columns: 1fr 3fr;
    }

    .clickbutton {
        font-size: 1em;
    }

    .register-prices {
        grid-template-columns: 1fr 3fr;
    }

    .plan-route-desktop {
        display: block;
    }
    .plan-route-mobile {
        display: none;
    }

}

/* small screen =============================================================== */
@media screen and (max-width: 1200px) {

    .state-indicator {
        z-index: 2;
    }

    #page-root {
        display: block;
        width: 100%;
    }

    #sidebar {
        position: absolute;
        left: 90px;
        top: 10px;
        /*display: block;*/
        display: none;
        z-index: 1200;

        background: #091900;
        border-color: #445044;
        border-width: 3px;
        border-style: solid;

        border-radius: 10px;
        box-shadow: 0 6px 10px 0 rgba(0, 0, 0, 0.25), 0 8px 22px 0 rgba(0, 0, 0, 0.2);
        padding: 10px 10px;

        font-size: 2em;
    }

    .menu-ad {
        display: none;
    }

    #sidebar-button {
        display: block;
        z-index: 1100;

        position: fixed;
        top: 10px;
        left: 10px;

        width: 64px;
        height: 64px;

        background: url('img/menu_icon.svg');
        background-size: cover;

        box-shadow: 0 4px 8px 0 rgba(0, 0, 0, 0.2), 0 6px 20px 0 rgba(0, 0, 0, 0.19);
    }

    #page-content {
    }

    #header-logo {
        padding-left: 70px;
    }

    #header-row {
        grid-gap: 20px;
    }

    #heraldry {
        display: none;
    }

    #show-side-info, #hide-side-info, #show-side-help {
        width: 56px;
        height: 56px;
    }

    #landing {
        grid-template-columns: 100%;
    }

    #intro-image {
        height: 500px;
    }

    #regional-cards {
        grid-template-columns: 1fr 1fr;
    }

    #vfd-map {
        flex-direction: column;
    }

    .register-card {
        grid-template-columns: 100%;
    }

    .register-prices {
        grid-template-columns: 1fr 1fr;
    }

    .input-label {
        font-size: 2em;
    }

    .input-field {
        font-size: 2em;
    }

    .input-large {
        transform: scale(2);
        margin-right: 10px;
    }

    .clickbutton {
        font-size: 2em;
    }

    h3 {
        font-size: 2em;
    }

    .plan-route-desktop {
        display: none;
    }
    .plan-route-mobile {
        display: block;
    }
}
