:root {
    --mainMargin: 30px;
}

#main {
    margin: var(--mainMargin);
    width: calc(100% - var(--mainMargin)*2);
    height: calc(100vh - var(--mainMargin)*2);

}

#container {
    background: var(--dark-gray);
    width: 100%;
    height: 100%;

    overflow: visible !important;
    border-radius: 40px;

    -webkit-box-shadow: 0px 0px 10px 10px var(--dark-steel);
    -moz-box-shadow: 0px 0px 10px 10px var(--dark-steel);
    box-shadow: 0px 0px 10px 10px var(--dark-steel);

    display: flex;
    justify-content: flex-start;
    align-items: center;
    flex-direction: column;
    gap: 20px;
}

#grid {
    width: 90%;
    height: 90%;
    display: flex;
    justify-content: flex-start;
    gap:5%;
    flex-wrap: wrap;

}

#grid > * {
    border-radius: 15px;
    background-color: var(--light-gray);
    width: 200px;
    height: 200px;
}
#special-button {
    background-color: green;
}

.grid-btn > button {
    width: 100%;
    height: 100%;
    background: none;
    border:none;
    cursor:pointer;
}

@media only screen and (max-width: 768px) {
    #main {
        margin: 0;
        width: 100%;
        height: 100vh;
        overflow-y: visible;
    }

    #container {
        text-align: center;
        border-radius: 0;
        box-shadow: none;

        overflow-y: scroll !important;
    }

    #grid {
        width: 65%;
        height: fit-content;
        display: grid;
        grid-template-columns: 100%;
        grid-auto-rows: 200px;
        gap:10px !important;
    }

    .grid-btn {
        width: 100% !important;
        height: 100% !important;
    }
}

@media only screen and (max-width: 768px) and (min-width: 500px) {
    #grid {
        width: 50%;
        height: fit-content;
        display: grid;
        grid-template-columns: 100%;
        grid-auto-rows: 200px;
        gap:10px !important;
    }
}