select,
textarea,
input[type="text"],
input[type="password"],
input[type="datetime"],
input[type="datetime-local"],
input[type="date"],
input[type="month"],
input[type="time"],
input[type="week"],
input[type="number"],
input[type="email"],
input[type="url"],
input[type="search"],
input[type="tel"],
input[type="color"] {
    height: 30px;
    padding: 4px 6px;
    font-size: 14px;
    line-height: 20px;
    color: #555555;
    vertical-align: middle;
    border: 1px solid #cccccc;
    border-radius: 4px;
    width: auto;
}

[data-theme="dark"] input[type="text"],
[data-theme="dark"] input[type="password"] {
    color: white;
}

input.readonly {
    background-color: #f2f2f2;
    cursor: not-allowed;
}

select {
    padding: 5px 35px 5px 10px;
    font-size: 16px;
    border: 1px solid #cccccc;
    height: 34px;
    background: #ffffff;
    background-size: 20px;
}

input[type="checkbox"] {
    cursor: pointer;
    appearance: none;
    background: #ffffff;
    box-sizing: border-box;
    width: 20px;
    height: 20px;
    border: 1px solid #000000;
    transition: all 0.2s linear;
    border-radius: 4px;
}

input[type="checkbox"]:checked {
    background-color: #3093fc;
}

/* this requires loading the FontAwesome CSS from the CDN before loading the server.css */
input[type="checkbox"]:checked::before {
    /* stylelint-disable-next-line font-family-no-missing-generic-family-keyword */
    font-family: "Font Awesome\ 5 Free";
    content: "\f00c";
    color: var(--text-white);
    font-size: 18px;
    font-weight: 900;
}

select.disabled,
textarea.disabled,
input.disabled {
    background-color: lightgrey;
}
