body
{
    display: flex;
    justify-content: center;
    background-color: rgb(20, 20, 20);
    margin: 0;
}

#game-board
{
    display: grid;
    grid-template-rows: repeat(20, 1fr);
    grid-template-columns: repeat(10, 1fr);
    height: 100vh;
    width: 50vh;
    gap: 1px;
    outline: 4px solid white;
    z-index: 2;
}

.white
{
    background-color: white;
    z-index: 4;
}

/* tetrominoes */

.cyan
{
    background-color: rgb(0, 230, 230);
    z-index: 4;
    border: solid rgb(255, 255, 255) 2px;
    border-radius: 3px;
}

.yellow
{
    background-color: rgb(230, 230, 0);
    z-index: 4;
    border: solid rgb(255, 255, 255) 2px;
    border-radius: 3px;
}

.purple
{
    background-color: purple;
    z-index: 4;
    border: solid rgb(255, 255, 255) 2px;
    border-radius: 3px;
}

.blue
{
    background-color: blue;
    z-index: 4;
    border: solid rgb(255, 255, 255) 2px;
    border-radius: 3px;
}
.orange
{
    background-color: orange;
    z-index: 4;
    border: solid rgb(255, 255, 255) 2px;
    border-radius: 3px;
}
.green
{
    background-color: rgb(32, 224, 87);
    z-index: 4;
    border: solid rgb(255, 255, 255) 2px;
    border-radius: 3px;
}
.red
{
    background-color: red;
    z-index: 4;
    border: solid rgb(255, 255, 255) 2px;
    border-radius: 3px;
}


.black
{
    background-color: black;
    z-index: 3;
}


/* Menus */

.menu
{
    grid-column: 1 / span 10;
    grid-row: 1 / span 20;
    background-color: rgba(0,0,0,0.5);
    display:none;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    gap: 35px;
    z-index: 7;
}

.menu-option
{
    color:white;
    background-color: rgba(0,0,0,0.6);
    font-size: 20px;
    padding:45px;
    width: 100px;
    border: 2px solid white;
    font-weight:bold;
    font-family: 'Courier New', Courier, monospace;
    text-align: center;
    cursor: pointer;
}

#controls-container
{
    color: white;
    background-color: rgba(0, 0, 0, 0.6);
    font-size: 20px;
    padding: 30px;
    width: 290px;
    border: 2px solid white;
    font-weight: bold;
    font-family: 'Courier New', Courier, monospace;
    text-align: center;
}

.change-control
{
    font-size: 20px;
    margin-bottom: 20px;
}

.change-control:hover
{
    font-size: 25px;
    cursor: pointer;
    margin-bottom: 14px;
}


#pause
{
    display: flex;
}

#continue
{
    display: none;
}

.blank
{
    flex-grow:1;
    flex-basis: 0;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
}

#info
{
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    gap: 10px;
}

#hold, #next-piece
{
    border: 2px white solid;
    background-color: black;
    width: 25vh;
    height: 25vh;
    display: flex;
    justify-content: center;
    align-items: center;
}

#hold
{
    margin-bottom: 160px;
}

#next-piece
{
    margin-bottom:20px;
}

.info-item
{
    font-size: 35px;
    font-family: 'Courier New', Courier, monospace;
    text-align: center;
    color: white;
}

#music
{
    padding: 28px 45px;
}

#ghost-select
{
    width: 190px;
    padding: 28px 0;
}

#background-select
{
    width: 190px;
    padding: 28px 0;
}

#music-off, #ghost-on, #background-on
{
    font-size:30px;
}

#level-select
{
    padding: 11px 45px;
    box-sizing: border-box;
    height: 117px;
    width: 194px;
}

.change-level
{
    transform: rotate(90deg);
    position: relative;
    right: -30px;
    font-size: 30px;
    position:relative;
    width: 35px;
}

.change-level:hover
{
    font-size:35px;
}

#level-up:hover
{
    margin-top:-6px;
}

audio
{
    display:none;
}

.game-over-score
{
    font-size: 30px;
    color: white;
    text-align: center;
}

.flash-high-score
{
    display:none;
}

.flash
{
    display:inline;
}

.ghost
{
    z-index: 4;
    outline: 4px solid white;
    border-radius: 1px;
}

.ghost-overlap
{
    z-index: 5;
    outline: 1px solid black;
    background-color: black;
}

.active
{
    z-index: 6;
}

.game-over-score
{
    font-family: 'Courier New', Courier, monospace;
}

#wrapper
{
    background-color: rgb(180, 180, 180);
    z-index: 1;
}

#hold-text, #next-text
{
    font-family: 'Courier New', Courier, monospace;
    color:white;
    font-size: 30px;
    position:relative;
}

#hold-text
{
    top: 55px;
    z-index: 2;
}

#next-text
{
    top: 65px;
    z-index: 2;
}

#custom-controls-menu
{
    display:none;
    width: 160px;
}

#hold, #info
{
    z-index: 1;
}

.tail
{
    background-image: linear-gradient(to top, rgb(150, 150, 150), rgba(150, 150, 150, 0));
    flex-grow: 1;
    filter: blur(10px); 
    position: relative;
    opacity: 0.15;
}

@keyframes backgroundBlockFall4 {
    from {
        transform: translateY(0)
    }
    to {
        transform: translateY(121vh)
    }
}

@keyframes backgroundBlockFall3 {
    from {
        transform: translateY(0)
    }
    to {
        transform: translateY(116vh)
    }
}

@keyframes backgroundBlockFall2 {
    from {
        transform: translateY(0)
    }
    to {
        transform: translateY(111vh)
    }
}



@keyframes fadeOut {
    from {
        opacity: 1
    }
    to {
        opacity: 0
    }
}



.animation-container
{
    display: flex;
    position: fixed;
    justify-content: end;
    flex-direction: column;
    bottom:100vh;
    z-index: 0;
}

.animation4Block
{
    animation: 3s linear backgroundBlockFall4,
    1s linear fadeOut 3s;
    animation-fill-mode: forwards;

}

.animation3Block
{
    animation: 3s linear backgroundBlockFall3,
    1s linear fadeOut 3s;
    animation-fill-mode: forwards;

}

.animation2Block
{
    animation: 3s linear backgroundBlockFall2,
    1s linear fadeOut 3s;
    animation-fill-mode: forwards;

}

@media only screen and (max-width: 100vh)
{
    
}