body {
    background: #DDDDDD;
    font-family: "Sofia Sans Semi Condensed";
    justify-content: center;
}

a {
    color: green;
}

.keycontainer {
    display: flex;
    align-items: center;
    gap: 5px;
}

@media (max-width: 1024px) {
    #main_area {
        min-height: 100vh;
    }
    
    h1 {
        font-size: 26pt;
        font-family: 'Rajdhani';
        color: #50A060;
        margin-top: 0.3em;
        margin-bottom: 0.2em;
    }

    h2 {
        font-size: 16pt;
        font-family: 'Rajdhani';
        color: #50A060;
        margin-top: 0.3em;
        margin-bottom: 0.2em;
    }

    p {
        margin-top: 0.2em;
        margin-bottom: 0.8em;
    }

    pre {
        margin-top: 0;
        margin-bottom: 0;
    }

    .button {
        background: #50A060;
        color: white;
        padding: 3px 20px !important;
        cursor: pointer;
    }

    #design_content {
        height: 100vh;
        overflow: scroll;
    }
        
    #mobile_menu {
        position: fixed;
        top: 15px;
        right: 15px;
        z-index: 10;
    }

    #mobile_menu .menu-button {
        background: #50A060;
        color: white;
        border: 1px solid white;
        padding: 4px 5px 3px 5px;
        font-size: 2em;
    }

    #main_area {
        display: flex;
        width: 100%;
        padding: 10px;
        flex-direction: column;
        align-items: center;
        box-sizing: border-box;
        background: #F5F5F5;
    }

    #side_bar {
        display: none;
        position: fixed;
        width: 100%;
        flex-direction: column;
        align-items: center;
        background: white;
        padding-bottom: 50px;
        padding: 10px;
        z-index: 5;
        height: 100vh;
    }

    #side_bar .menu-button {
        position: fixed;
        right: 10px;
        top: 5px;
        background: #50A060;
        color: white;
        border: 1px solid white;
        padding: 4px 5px 3px 5px;
    }
}

@media (min-width: 1024px) {
    
    article {
        font-size: 1.3em;
    }
    
    .design_frame {
        display: flex;
        justify-content: center;
    }
    
    #design_content {
        display: flex;
        max-width: 1300px;
        min-width: 1024px;
        width: 100%;
        background: #F5F5F5;
    }

    #main_area {
        flex-grow: 1;
        display: flex;
        flex-direction: column;
        align-items: center;
        margin-left: 240px;
        min-height: 100vh;
        margin-right: 30px;
    }

    #side_bar {
        position: fixed;
        display: flex;
        align-content: center;
        flex-direction: column;
        margin-right: 20px;
        width: 210px;
        background: white;
        height: 100%;
        padding: 10px;
        box-shadow: 3px 0 12px rgba(0,0,0,0.15);
    }

    #side_bar > div {
        margin-bottom: 25px;
        margin-top: 25px;
    }
    
    #mobile_menu {
        display: none;
    }
    
    h1 {
        font-size: 52pt;
        font-family: 'Rajdhani';
        color: #50A060;
        margin-top: 0.3em;
        margin-bottom: 0.2em;
    }

    h2 {
        font-size: 18pt;
        font-family: 'Rajdhani';
        color: #50A060;
        margin-top: 0.3em;
        margin-bottom: 0.2em;
    }

    p {
        margin-top: 0.2em;
        margin-bottom: 0.8em;
    }

    pre {
        margin-top: 0;
        margin-bottom: 0;
    }

    .button {
        background: #50A060;
        color: white;
        padding: 3px 20px !important;
        cursor: pointer;
    }

    .button:hover {
        background: #406050;
    }
}