#keyboard table{
	width:100%;
	table-layout:fixed
}
#keyboard {
    width: 100%;
    background-color: var(--bg-keyboard);
    transition: background-color 0.3s, visibility 0s linear 0.3s;
    padding: 0.5em;
    transform-origin: bottom;
    max-height: 0; /* Mulai dengan keyboard tidak terlihat */
    visibility: hidden; /* Sembunyikan elemen saat tidak aktif */
}

#keyboard.open {
    animation: slideDown 0.3s ease-out forwards; /* Animasi untuk menampilkan */
}

#keyboard.hide {
    animation: slideUp 0.1s ease-in forwards; /* Animasi untuk menyembunyikan */
}

@keyframes slideDown {
    0% {
        max-height: 0;
        visibility: hidden;
    }
    100% {
        max-height: 500px; /* Tetapkan maksimum yang cukup tinggi */
        visibility: visible;
    }
}

@keyframes slideUp {
    0% {
        max-height: 240px;
        visibility: visible;
    }
    100% {
        max-height: 0;
        visibility: hidden;
    }
}


@media (max-width: 576px){
    #keyboard{position:fixed;left:0;bottom:0;z-index:1000;}
}
#keyboard tr td{
    position:relative;
    height:40px;
	line-height:normal;
	vertical-align:top;
}
@media (max-width: 576px){#keyboard tr td{font-size:16px !important;}}

#keyboard tr td .layer1{
	display:flex;
	justify-content:center;
	align-items:center;
}
#keyboard tr td span {
    background-color:var(--bg-body);
    outline:1px solid #999;
    outline-offset:-2px;
    border-radius: 8px;
    height:100%;
    cursor:pointer;
    justify-content:center;
	align-items:center;
}

#keyboard tr td span:active{
	background:#9393933b;
}
#keyboard tr td:hover{
	opacity:.9;
}

td#delete span.layer1::after, td#uppercase span.layer1::after, td#enter span.layer1::after, td#space span.layer1::after{font-size:50%;position:absolute;bottom:4px;}
td#space span.layer1::after{bottom:14px;}

td#delete span.layer1::after{content: "del";}
td#uppercase span.layer1::after{content: "shift";}
td#enter span.layer1::after{content: "enter";}
td#space span.layer1::after{content: "space";}
td#row1-7 span.layer2, td#row1-8 span.layer2, td#row1-9 span.layer2 {font-size:75%;}

small.keyname {
    display:block;
    font-size:50%;
    color:#bbb;
    margin-top: -16px;
}

.noselect {
    -webkit-user-select: none; /* Safari */
    -moz-user-select: none;    /* Firefox */
    -ms-user-select: none;     /* Internet Explorer/Edge */
    user-select: none;         /* Non-prefixed version, currently supported by Chrome, Edge, Opera and Firefox */
}

td#enter span, td#uppercase span, td#delete span, td#number span, td#setting span {background:#9393933b !important}
.popupKey {
    position: absolute;
    width:100%;
    height:100%;;
    background-color: var(--bg-keyboard);
    border: 1px solid #ccc;
    border-radius: 10px;
    z-index: 10;
    display: none;
    transform: translate(0, -185%);
    text-align:center;
}

.layer2, .layer3, #settings {
    display: none;
}

.settings {
    height: 200px;
    margin: 0;
    border: 1px solid #999;
    border-radius: 10px;
    font-size: .875em;
    padding: .5em;
}
#fontSizeRange {width: 75%;
    height: auto;
    margin-left: .5em;
}
