/* 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%; }