input {
    all: unset;
}

input[type=checkbox] {
    background: var(--accent) !important;
    cursor: pointer;
    display: inline-block;
    height: 1em !important;
    width: 1em !important;
}

input[type=checkbox]:not(:hover,:focus) {
    background: var(--foreground) !important;
}

input[type=checkbox] {
    border: unset !important;
}

input[type=radio] {
    background: var(--border);
    border-radius: 50%;
    box-shadow: inset 0 0 0 2px var(--background-hard) !important;
    display: inline-block;
    height: var(--s) !important;
    padding-right: 4px !important;
    width: var(--s) !important;
}

input[type=radio]:checked {
    background: var(--foreground);
    box-shadow: inset 0 0 0 2px var(--foreground) !important;
}

input[type=file] {
    all: unset;
    background: var(--gradient) !important;
    border-radius: var(--s);
    display: block;
    font-family: 'Open Sans', sans-serif !important;
    font-weight: 400 !important;
    padding: unset !important;
}

input[type=checkbox] {
    -moz-mask-image: url(../../icons/check-off.svg) !important;
    -o-mask-image: url(../../icons/check-off.svg) !important;
    -webkit-mask-image: url(../../icons/check-off.svg) !important;
    background-size: contain !important;
    margin-right: 4px !important;
    mask-image: url(../../icons/check-off.svg) !important;
}

input[type=checkbox]:checked {
    -moz-mask-image: url(../../icons/check-on.svg) !important;
    -o-mask-image: url(../../icons/check-on.svg) !important;
    -webkit-mask-image: url(../../icons/check-on.svg) !important;
    mask-image: url(../../icons/check-on.svg) !important;
}

input[type=color] {
    appearance: none;
    background-color: transparent;
    border: none;
    cursor: pointer;
    height: var(--xxl);
    width: var(--xxl);
}

input[type=color]::-webkit-color-swatch {
    border: none;
    border-radius: var(--s);
}

input[type=color]::-moz-color-swatch {
    border: none;
    border-radius: var(--s);
}

::file-selector-button {
    background-color: unset;
    border: unset;
    color: var(--foreground);
    cursor: pointer;
    fill: var(--foreground);
    font-family: 'Open Sans', sans-serif !important;
    font-weight: 700 !important;
    margin: 3px;
}

*|::-moz-button-content {
    all: unset !important;
}

button {
    cursor: pointer !important;
    display: block !important;
    margin-left: auto !important;
    margin-top: var(--s);
}

.alert button {
    border-color: #ff6347 !important;
    cursor: pointer !important;
    margin-top: unset !important;
}

button, label {
    color: currentColor;
}
button {
    font-family: 'Poppins', sans-serif;
    font-weight: 700 !important;
}

select::-ms-expand {
    display: none;
}

button, input, select, textarea {
    border: 1px solid var(--border) !important;
    border-radius: var(--s);
    display: inline-block;
    font-size: inherit;
    line-height: initial !important;
    max-width: border-box !important;
    overflow: hidden;
    padding: 6px 8px !important;
    width: auto;
}

button, select, textarea {
    background: var(--gradient) !important;
}

button, input:not([type=checkbox],[type=radio]) {
    background: var(--gradient) !important;
}

select {
    background-repeat: no-repeat;
    border-radius: var(--s);
    cursor: pointer;
    max-width: 100% !important;
}

select[multiple] {
    height: 20rem;
    overflow-y: scroll;
}

button:focus, button:hover, input:focus, input:hover, select:focus, select:hover, textarea:focus, textarea:hover {
    box-shadow: var(--shadow-inset-accent) !important;
}
