.container {
    display: flex;
    flex-direction: column;
    justify-content: top;
    align-items: center;

    position: fixed;
    top: 0;
    left: 0;
    overflow: hidden;
    margin: 20px;

    width: 64px;
    max-height: 64px;
    height: auto;

    border-radius: 32px;
    transition: 0.5s ease-in-out;
}
.group {
    display: flex;
    flex-direction: column;
    justify-content: top;
    align-items: center;

    background-color: var(--card-background-color);
    backdrop-filter: blur(7px), brightness(0.1);
    border-radius: 32px;

    width: 64px;
    margin-bottom: 20px;
    padding-top: 7px;
}

.headerIcon {
    height: 64px;
    width: 64px;
    margin-bottom: 20px;
    margin-right: 0;
    margin-top: -7px;

    cursor: pointer;
}

.icon {
    height: 50px;
    width: 50px;
    margin-bottom: 5px;
    cursor: pointer;
}

.containerOpen {
    max-height: 460px;
}

.containerDesktop {
    animation-name: containerCloseOnStart;
    animation-duration: 0.5s;
    animation-direction: forwards;
    animation-timing-function: ease-in-out;
}

@keyframes containerCloseOnStart {
    from { max-height: 460px; }
    to { max-height: 64px ; }
}

.containerDesktop:hover {
    max-height: 460px;
    animation-name: none;
}

@media screen and (min-width: 450px) {
    .container {
        flex-direction: row;
        justify-content: left;

        margin: 20px;

        height: 64px;
        max-width: 64px;
        width: auto;
        border-radius: 32px;

        border-radius: 32px;
        transition: 0.5s ease-in-out;
    }
    .group {
        flex-direction: row;
        justify-content: left;

        height: 64px;
        width: auto;
        padding-right: 7px;
        margin-bottom: 0;
        padding-top: 7px;
        margin-right: 20px;
        padding-left: 3px;
    }
    .headerIcon {
        height: 64px;
        width: 64px;
        margin-top: 12px;
        margin-left: -3px;
    }
    .containerOpen {
        max-width: 460px;
        max-height: 64px;
    }
    .containerDesktop:hover {
        max-width: 460px;
        max-height: 64px;
    }
    .icon {
        height: 50px;
        width: 50px;
        margin-left: 5px;
    }
    @keyframes containerCloseOnStart {
        from { max-width: 460px; }
        to { max-width: 64px ; }
    }
}
