chota/src/_form.css

207 lines
4.1 KiB
CSS

fieldset {
padding: 0.5rem 2rem;
}
legend {
text-transform: uppercase;
font-size: 0.8em;
letter-spacing: 0.1rem;
}
input:not([type="checkbox"], [type="radio"], [type="submit"], [type="color"], [type="button"], [type="reset"]),
select,
textarea,
textarea[type="text"] {
font-family: inherit;
padding: 0.8rem 1rem;
border-radius: 4px;
border: 1px solid var(--color-lightGrey);
font-size: 1em;
transition: all 0.2s ease;
display: block;
width: 100%;
}
select {
appearance: none;
background: #f3f3f6 no-repeat 100%;
background-size: 1ex;
background-origin: content-box;
background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='60' height='40' fill='%23555'><polygon points='0,0 60,0 30,40'/></svg>");
}
.button,
[type="button"],
[type="reset"],
[type="submit"],
button {
padding: 1rem 2.5rem;
color: var(--color-darkGrey);
background: var(--color-lightGrey);
border-radius: 4px;
border: 1px solid transparent;
font-size: var(--font-size);
line-height: 1;
text-align: center;
transition: opacity 0.2s ease;
text-decoration: none;
transform: scale(1);
display: inline-block;
cursor: pointer;
}
.button.primary,
.button.secondary,
.button.dark,
.button.error,
.button.success,
[type="submit"] {
color: #fff;
z-index: 1; /* hightlight from other button's border when grouped */
background-color: #000;
background-color: var(--color-primary);
}
.button:hover,
[type="button"]:hover,
[type="reset"]:hover,
[type="submit"]:hover,
button:hover {
opacity: 0.8;
}
input:disabled,
input:disabled:hover,
button:disabled,
button:disabled:hover {
opacity: 0.4;
cursor: not-allowed;
}
.grouped {
display: flex;
}
.grouped > *:not(:last-child) {
margin-right: 16px;
}
.grouped.gapless > * {
margin: 0 0 0 -1px !important;
border-radius: 0 !important;
}
.grouped.gapless > *:first-child {
margin: 0 !important;
border-radius: 4px 0 0 4px !important;
}
.grouped.gapless > *:last-child {
border-radius: 0 4px 4px 0 !important;
}
input:not([type="checkbox"], [type="radio"], [type="submit"], [type="color"], [type="button"], [type="reset"], :disabled):hover,
select:hover,
textarea:hover,
textarea[type="text"]:hover {
border-color: var(--color-grey);
}
input:not([type="checkbox"], [type="radio"], [type="submit"], [type="color"], [type="button"], [type="reset"]):focus,
select:focus,
textarea:focus,
textarea[type="text"]:focus {
outline: none;
border-color: var(--color-primary);
box-shadow: 0 0 1px var(--color-primary);
}
input.error:not([type="checkbox"], [type="radio"], [type="submit"], [type="color"], [type="button"], [type="reset"]),
textarea.error {
border-color: var(--color-error);
}
input.success:not([type="checkbox"], [type="radio"], [type="submit"], [type="color"], [type="button"], [type="reset"]),
textarea.success {
border-color: var(--color-success);
}
[type="checkbox"],
[type="radio"] {
width: 2rem;
height: 1.6rem;
}
/* BUTTONS */
.button + .button {
margin-left: 1rem;
}
.button.secondary {
background-color: var(--color-grey);
}
.button.dark {
background-color: var(--color-darkGrey);
}
.button.error {
background-color: var(--color-error);
}
.button.success {
background-color: var(--color-success);
}
.button.outline {
background-color: transparent;
border-color: var(--color-lightGrey);
}
.button.outline.primary {
border-color: var(--color-primary);
color: var(--color-primary);
}
.button.outline.secondary {
border-color: var(--color-grey);
color: var(--color-grey);
}
.button.outline.dark {
border-color: var(--color-darkGrey);
color: var(--color-darkGrey);
}
.button.clear {
background-color: transparent;
border-color: transparent;
color: var(--color-primary);
}
.button.icon {
display: inline-flex;
align-items: center;
}
.button.icon > img {
margin-left: 2px;
}
.button.icon-only {
padding: 1rem;
}
.button:active:not(:disabled),
[type="button"]:active:not(:disabled),
[type="reset"]:active:not(:disabled),
[type="submit"]:active:not(:disabled),
button:active:not(:disabled) {
transform: scale(0.98);
}
::placeholder {
color: #bdbfc4;
}