html, body 
{
    width: 100%;
    height: 100%;
    margin: 0;
    padding: 0;
    overflow-x: hidden; /* Hide horizontal overflow */
}

.main 
{
    width: 100%;
    height: 100%;
    margin: 0;
    padding: 0;
    position: relative;
    display: grid;
    grid-template-rows: 1fr 1fr 1fr; /* three equal rows */
}

.snaktion 
{
    background-color: rgb(45, 171, 0);
    transition: transform 0.3s ease-out;
    width: 150%; /* Make the rectangles 50% wider than the screen */
    position: fixed; /* Fixed to viewport */
    border-radius: 10vh;
    display: flex;
    justify-content: center;
    align-items: center;
    z-index: 2;
}

/* Individual starting positions */
#snaktion1 {
    top: 0;
    height: 33.33vh;
    transform: translateX(-103%); /* First rectangle starts off-screen to the left */
}

#snaktion2 {
    top: 33.33vh;
    height: 34vh;
    transform: translateX(103%); /* Middle rectangle starts off-screen to the right */
}

#snaktion3 {
    top: 66.67vh;
    height: 33.33vh;
    transform: translateX(-103%); /* Third rectangle starts off-screen to the left */
}

/* Centered position when animated */
.animate {
    transform: translateX(-16.666%) !important; /* Center position - since each element is 150% wide */
}

/* Special position for middle rectangle when animated */
#snaktion2.animate {
    transform: translateX(-16.666%) !important; /* Same centered position */
}

.eyeright
{
    position: absolute;
    top: 30%;
    right: 3%;
    width: 3%;
    height: 20%;
    background-color: black;

    border-radius: 10vh;
}

.tongueright
{
    position: absolute;
    top: 50%;
    right: -3%;
    width: 6%;
    height: 15%;
    background-color: red;

    border-radius: 10vh;
}

.eyeleft
{
    position: absolute;
    top: 50%;
    left: 3%;
    width: 3%;
    height: 20%;
    background-color: black;

    border-radius: 10vh;
}

.tongueleft
{
    position: absolute;
    top: 30%;
    left: -3%;
    width: 6%;
    height: 15%;
    background-color: red;

    border-radius: 10vh;
}

/* DEBUGING TOOLS */

.snaktionText
{
    color: white;
    z-index: 1000;

    display: none !important;
    
}

/*

#symetry
{
    display: flex;
    justify-content: center;

    position: absolute;
    height: 100%;
    width: 2px;
    background-color: aqua;
    z-index: 100;

    left: 50%;
    transform: translateX(-50%);

    display: none !important;
}

*/