a, .link { color: var(--blue-dark); text-decoration: none; border-bottom: 2px solid; cursor: pointer; }
.brand { border: 0 none; font-weight: 100; }
.brand a { border: 0 none; }
.brand a:hover { border-bottom: 2px solid; }

.hidden { display: none !important; }
.expand { width: 100%; flex-grow: 1; }

input:not([type=checkbox]):not([type=radio]),
.input,
input-with-icons,
textarea,
select,
button,
.button,
.bullet { display: inline-block; padding: 1rem; background: rgba(255,255,255,.05); color: var(--light); border-radius: .5rem; border: .2rem solid transparent; }
button, .button { cursor: pointer; text-align: center; padding: 1rem 2rem; background: var(--blue-dark); color: var(--dark);  }
button.inverted,
.button.inverted,
.bullet { background: transparent; border-color: var(--blue-dark); color: var(--blue-dark); }
.bullet { text-transform: uppercase; display: inline-block; padding: 0 1rem .3rem 1rem; }
input:focus-visible { outline: .2rem var('--blue-dark'); }

input-with-icons { display: flex; }
input-with-icons input:not([type="checkbox"]):not([type="radio"]) { width: 100%; padding: 0; background: transparent; color: inherit; border: 0 none; }
input-with-icons input:focus-visible { outline: 0 none; }
input-with-icons:focus-within { outline: .2rem solid var(--focus-outline-color); }

.input-group > * { border-radius: 0; }
.input-group > :first-child { border-radius: .5rem 0 0 .5rem; }
.input-group > :last-child { border-radius: 0 .5rem .5rem 0; }

form.standard { display: flex; flex-direction: column; }
form-field { padding: 0 0 2rem 0; display: flex; flex-direction: column; }
form-field * { flex-grow: 1; }
form-field:last-child { padding: 0; }
