ghost_leaders_theme/assets/css/components/forms.css

159 lines
3.1 KiB
CSS

/* Forms
/* ---------------------------------------------------------- */
form {
margin: 0 0 var(--margin) 0;
}
fieldset {
margin: 0;
padding: 0;
border: 0;
}
label {
color: var(--color-primary);
play: block;
font-size: 0.9em;
font-weight: var(--font-bold);
margin: 0 0 (var(--margin) * 0.5) 0;
}
input[type="text"],
input[type="password"],
input[type="email"],
input[type="tel"],
input[type="search"],
input[type="url"],
select,
textarea {
background: var(--color-bg);
border-radius: var(--radius);
border: none;
border: solid 1px var(--color-border);
color: inherit;
display: block;
outline: 0;
padding: 0 0.6em;
text-decoration: none;
width: 100%;
}
input[type="text"]:invalid,
input[type="password"]:invalid,
input[type="email"]:invalid,
input[type="tel"]:invalid,
input[type="search"]:invalid,
input[type="url"]:invalid,
select:invalid,
textarea:invalid {
box-shadow: none;
}
input[type="text"]:focus,
input[type="password"]:focus,
input[type="email"]:focus,
input[type="tel"]:focus,
input[type="search"]:focus,
input[type="url"]:focus,
select:focus,
textarea:focus {
border-color: var(--color-primary);
box-shadow: 0 0 0 1px var(--color-primary);
}
select {
height: var(--height);
padding-right: var(--height);
text-overflow: ellipsis;
}
select option {
color: var(--color-primary);
background: var(--color-bg);
}
select:focus::-ms-value {
background-color: transparent;
}
select::-ms-expand {
display: none;
}
input[type="text"],
input[type="password"],
input[type="email"],
input[type="tel"],
input[type="search"],
input[type="url"],
select {
height: var(--height);
}
textarea {
padding: 0.3em 0.6em;
resize: vertical;
}
input[type="checkbox"],
input[type="radio"] {
display: block;
margin-right: -2em;
opacity: 0;
width: 1em;
z-index: -1;
}
input[type="checkbox"] + label,
input[type="radio"] + label {
display: flex;
align-items: center;
color: var(--color-base);
cursor: pointer;
font-size: 1em;
font-weight: var(--font-normal);
padding-left: calc(var(--height) * 0.6) + 0.75em;
padding-right: 2rem;
position: relative;
user-select: none;
}
input[type="checkbox"] + label:before,
input[type="radio"] + label:before {
background: var(--color-bg);
border-radius: var(--radius);
border: solid 1px var(--color-border);
content: '';
display: inline-block;
height: calc(var(--height) * 0.6);
line-height: calc(var(--height) * 0.56);
text-align: center;
width: calc(var(--height) * 0.6);
margin-right: 1rem;
}
input[type="checkbox"]:checked + label:before,
input[type="radio"]:checked + label:before {
background: var(--color-primary);
border-color: var(--color-primary);
color: var(--color-bg);
content: '✓';
}
input[type="checkbox"]:focus + label:before,
input[type="radio"]:focus + label:before {
border-color: var(--color-primary);
box-shadow: 0 0 0 1px var(--color-primary);
}
input[type="checkbox"] + label:before {
border-radius: var(--radius);
}
input[type="radio"] + label:before {
border-radius: 100%;
}