/*
 * Forms and form fields
 */

input,
button,
select {
    vertical-align: middle;
    outline: none
}

textarea {
    vertical-align: top;
    outline: none
}

input,
button,
textarea {
    -webkit-appearance: none
}

button,
select,
label[for],
input[type="reset"],
input[type="radio"],
input[type="button"],
input[type="submit"],
input[type="checkbox"] {
    cursor: pointer
}

button[disabled],
select[disabled],
label[disabled][for],
input[disabled][type="reset"],
input[disabled][type="radio"],
input[disabled][type="button"],
input[disabled][type="submit"],
input[disabled][type="checkbox"] {
    cursor: default
}

input[type="number"]::-webkit-outer-spin-button,
input[type="number"]::-webkit-inner-spin-button {
    margin: 0;
    -webkit-appearance: none
}

input[type="number"] {
    -moz-appearance: textfield
}

input,
select {
    width: 100%;
    height: 41px;
    padding: 0 15px;
    border: 1px solid #b0b2b3;
    border-radius: 5px;
    font-size: 13px
}

input:focus {
    border-color: #78a42c;
    background: #f4f4f4
}

select {
    padding: 0 0 0 15px
}

input[type="checkbox"],
input[type="radio"] {
    /* display: none; */
    width: auto;
    height: auto
}

input[type="checkbox"]+label {
    position: relative;
    color: #a0a0a0;
    font-style: italic
}

input[type="checkbox"]+label:before {
    content: '';
    display: inline-block;
    width: 24px;
    height: 24px;
    margin: 0 11px -6px 0;
    border: 1px solid #CECECE;
    border-radius: 4px;
    transition: all 0.3s;
}

input[type="checkbox"]:checked+label:before {
    background: #1EBCBC;
    border: none;
}

input[type="checkbox"]:checked+label:hover:before {
    background-color: #158D8D;
}

input[type="checkbox"]+label:hover:before {
    border-color: #221638;
}

input[type="checkbox"]:checked+label:after {
    position: absolute;
    top: 6px;
    left: 5px;
    width: 13px;
    height: 9px;
    color: #fff;
    font-family: 'icons', sans-serif;
    font-size: 15px;
    font-style: normal;
}

label {
    font-size: 13px
}

.fields-container label {
    font-weight: normal;
}

label.hint {
    color: #a0a0a0;
    font-style: italic
}

label.hint a {
    color: #037523;
    font-weight: 700;
    font-style: normal
}

label.hint.middle {
    display: inline-block;
    padding-top: 32px
}


/*
  * Errors
  */

input.error {
    border-color: #e56b6b
}

label.error {
    display: inline-block;
    width: 100%;
    padding: 13px 15px 12px;
    border-radius: 5px;
    background: #e56b6b;
    color: #fff;
    font-size: 13px
}

.error-bottom+label.error {
    position: static;
    width: 100%
}

span.relative>label.error {
    top: 0
}

.fields-container {
    margin-top: 24px
}

.fields-container+p {
    margin-top: 25px
}