
html, body {
    width: 100%;
    height: 100%;    
    margin: 0;
    padding: 0;
    overflow-x: hidden;
    overflow-y: hidden;
    font-family: manrope;
    color: #fff;
    background: #040C24;
}

/* Header */

header {
    width: 100%;
    height: 8vh;
    white-space: nowrap;
    display: flex;
    justify-content: start;
    align-items: center;
    font-family: kanit;
    color: #fff;
    background: #010613;
}

header h2 {
    margin-left: 0.7em;
}

/* main container */

#container-content{
    display: flex;
    flex-direction: column;
    justify-content: start;
    align-items: center;
    transform: translate(-50%, -50%);
    position: absolute;
    top: 50%;
    left: 50%; 
    background: #293045;
    border-radius: 3vh;
    padding: 0.8em 1.5em;
    width: 55%;
    min-width: 300px;
    max-width: 600px;
}

/* password print box */

#text-box-password {
    background: transparent;
    border: none;
    width: 99%;
    height: 8vh;
    font-size: 3vh;
    border-radius: 0.5em;
    padding: 0.5em 0.5em;
    resize: none;
    pointer-events: none; 
    color: #000;
    background: #fff;
}

/* buttons */

#container-option-box {
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: flex-start;
    width: 103%;
    padding: 0.5em;
}

#container-option-box-button-row {
    display: flex;
    flex-direction: row;
    gap: 0.3em;
    width: 100%;
}

#container-option-box button {
    color: #fff;
    background: none;
    border: 1px solid #fff;
    border-radius: 1em;
    font-size: 2.7vh;
    white-space: nowrap;
    padding: 0.5em;
    margin: 0.2em;
    width: 100%;
    transition: 0.3s;
}

#container-option-box button i {
    margin-right: 0.2em;
}

#container-option-box-button-row button:hover{
    background: #fff;
    color: #293045;
}


/* slider */

#container-slider {
    display: flex;
    flex-direction: row;
    justify-content: space-between;
    align-items: center;
    gap: 0.6em;
    margin: 0.8em 0;
    width: 100%;
    font-size: 1.2em;
}

#slider-char {
    width: 100%;       
}

#slider-char-count{
    width: 3vh;
    min-width: 3vh;
}

/* checkbox */

#container-checkbox {
    display: grid;
    grid-template-columns: auto auto;
    gap: 0.7em;
    width: 100%;
}

.checkbox {
    height: 10vh;
    min-width: 130px;
    font-size: 1.5em;
    border: 2px solid #fff;
    border-radius: 2.5em;
    transition: 0.2s;
}

.checkbox input {
    display: none;
}

.checkbox label {
    display: flex;
    align-items: center;
    justify-content: center;
    user-select: none;
    white-space: nowrap;
    background: none;
    width: 100%;
    height: 100%;
    border-radius: 2.5em;
    transition: 0.2s;
}

.checkbox input[type="checkbox"]:checked + label {
    background-color: #fff;
    color: #293045;
}

/* footer */

footer {
    width: 100%;
    height: 8vh;
    position: fixed;
    bottom: 0;
    display: flex;
    justify-content: center;
    align-items: center;
    color: #fff;
    background: #010613;
}

footer a {
    font-size: 4.5vh;
    padding: 0.2em;
    color: #fff;
    background: none;
    border: none;
}

/* shared */

.checkbox:active, #container-option-box button:active {
    color: #fff;
    background: #fff;
    cursor: pointer;
}

.checkbox label, .checkbox:hover{
    background: #293045;
    cursor: pointer;
}

/* queries */

@media (max-width: 500px) {
    #container-option-box-button-row {
        flex-flow: column wrap;
    }

    #container-content{
        top: 48%;
    }

}