input[type='email'],
input[type='number'],
input[type='password'],
input[type='search'],
input[type='tel'],
input[type='text'],
input[type='url'],
textarea,
select {
    font-family: inherit;
    box-sizing: border-box;
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
    background-color: transparent;
    border: 0.1rem solid #eee;
    box-shadow: none;
    height: 3em;
    padding: .6em 0.6em;
    width: 100%;
    font-size: 1em;
}

input[type='email']:focus,
input[type='number']:focus,
input[type='password']:focus,
input[type='search']:focus,
input[type='tel']:focus,
input[type='text']:focus,
input[type='url']:focus,
textarea:focus,
select:focus {
    border-color: #9e9d9d;
    outline: 0;
}

select {
    background: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" height="14" viewBox="0 0 29 14" width="29"><path fill="#d1d1d1" d="M9.37727 3.625l5.08154 6.93523L19.54036 3.625"/></svg>') center right no-repeat;
    padding-right: 3.0rem;
}

select:focus {
    background-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" height="14" viewBox="0 0 29 14" width="29"><path fill="#9b4dca" d="M9.37727 3.625l5.08154 6.93523L19.54036 3.625"/></svg>');
}

textarea {
    min-height: 6.5rem;
}

label,
legend {
    display: block;
    font-size: 1em;
    color: #323;
    font-weight: 700;
    margin-bottom: .5rem;
}

fieldset {
    border-width: 0;
    padding: 0;
}

input[type='checkbox'],
input[type='radio'] {
    display: inline;
}

.label-inline {
    display: inline-block;
    font-weight: normal;
    margin-left: .5rem;
}

.button-container {
    text-align: center;
}