.form-group a {
    color: #58a9ff;
}

.required {
    color: red;
}

.radio-form-control,
.checkbox-form-control {
    height: auto;
    border: none;
    line-height: normal;
    padding-left: 0;
    padding-right: 0;
}

.file-preview {
    margin-top: 10px;
}

.file-preview img {
    max-height: 200px;
}

.file-preview a,
.file-preview a:hover {
    color: #089BD9;
}

.checkbox-custom,
.radio-custom {
    position: relative;
    display: block;
    margin-top: 10px;
    margin-bottom: 10px
}

.checkbox-custom label,
.radio-custom label {
    min-height: 22px;
    margin-bottom: 0;
    cursor: pointer
}

.checkbox-custom input[type=checkbox],
.radio-custom input[type=radio],
.radio-custom input[type=checkbox] {
    position: absolute;
    margin-top: 0;
    margin-bottom: 0;
    margin-left: -20px
}

.checkbox-custom.disabled label,
.radio-custom.disabled label {
    cursor: not-allowed
}

.checkbox-custom {
    padding-left: 20px
}

.checkbox-custom label {
    position: relative;
    display: inline-block;
    padding-left: 10px;
    vertical-align: middle
}

.checkbox-custom label:empty {
    padding-left: 0
}

.checkbox-custom label::before {
    position: absolute;
    left: 0;
    display: inline-block;
    width: 20px;
    height: 20px;
    margin-left: -20px;
    content: "";
    background-color: #fff;
    border: 1px solid #e4eaec;
    border-radius: .215rem;
    -webkit-transition: all .3s ease-in-out 0s;
    -o-transition: all .3s ease-in-out 0s;
    transition: all .3s ease-in-out 0s
}

.checkbox-custom label::after {
    position: absolute;
    top: 0;
    left: 0;
    display: inline-block;
    width: 20px;
    height: 20px;
    padding-top: 1px;
    margin-left: -20px;
    font-size: 12px;
    line-height: 20px;
    color: #76838f;
    text-align: center
}

.checkbox-custom input[type=checkbox],
.checkbox-custom input[type=radio] {
    z-index: 1;
    width: 20px;
    height: 20px;
    cursor: pointer;
    opacity: 0
}

.checkbox-custom input[type=checkbox]:checked + input[type=hidden] + label::before,
.checkbox-custom input[type=checkbox]:checked + label::before,
.checkbox-custom input[type=radio]:checked + input[type=hidden] + label::before,
.checkbox-custom input[type=radio]:checked + label::before {
    border-color: #e4eaec;
    border-width: 10px;
    -webkit-transition: all .3s ease-in-out 0s;
    -o-transition: all .3s ease-in-out 0s;
    transition: all .3s ease-in-out 0s
}

.checkbox-custom input[type=checkbox]:checked + input[type=hidden] + label::after,
.checkbox-custom input[type=checkbox]:checked + label::after,
.checkbox-custom input[type=radio]:checked + input[type=hidden] + label::after,
.checkbox-custom input[type=radio]:checked + label::after {
    font-family: "Web Icons";
    content: ""
}

.checkbox-custom input[type=checkbox]:disabled,
.checkbox-custom input[type=radio]:disabled {
    cursor: not-allowed
}

.checkbox-custom input[type=checkbox]:disabled + input[type=hidden] + label,
.checkbox-custom input[type=checkbox]:disabled + label,
.checkbox-custom input[type=radio]:disabled + input[type=hidden] + label,
.checkbox-custom input[type=radio]:disabled + label {
    opacity: .65
}

.checkbox-custom input[type=checkbox]:disabled + input[type=hidden] + label::before,
.checkbox-custom input[type=checkbox]:disabled + label::before,
.checkbox-custom input[type=radio]:disabled + input[type=hidden] + label::before,
.checkbox-custom input[type=radio]:disabled + label::before {
    cursor: not-allowed;
    background-color: #f3f7f9;
    border-color: #e4eaec;
    border-width: 1px
}

.checkbox-custom.checkbox-circle label::before {
    border-radius: 50%
}

.checkbox-custom.checkbox-inline {
    display: inline-block;
    margin-top: 0;
    margin-bottom: 0
}

.checkbox-inline + .checkbox-inline {
    margin-left: 20px
}

.checkbox-primary input[type=checkbox]:checked + input[type=hidden] + label::before,
.checkbox-primary input[type=checkbox]:checked + label::before,
.checkbox-primary input[type=radio]:checked + input[type=hidden] + label::before,
.checkbox-primary input[type=radio]:checked + label::before {
    background-color: #3e8ef7;
    border-color: #3e8ef7
}

.checkbox-primary input[type=checkbox]:checked + input[type=hidden] + label::after,
.checkbox-primary input[type=checkbox]:checked + label::after,
.checkbox-primary input[type=radio]:checked + input[type=hidden] + label::after,
.checkbox-primary input[type=radio]:checked + label::after {
    color: #fff
}

.radio-custom {
    padding-left: 20px
}

.radio-custom label {
    position: relative;
    display: inline-block;
    padding-left: 10px;
    vertical-align: middle
}

.radio-custom label:empty {
    padding-left: 0
}

.radio-custom label::before {
    position: absolute;
    left: 0;
    display: inline-block;
    width: 20px;
    height: 20px;
    margin-left: -20px;
    content: "";
    background-color: #fff;
    border: 1px solid #e4eaec;
    border-radius: 50%;
    -webkit-transition: border .3s ease-in-out 0s, color .3s ease-in-out 0s;
    -o-transition: border .3s ease-in-out 0s, color .3s ease-in-out 0s;
    transition: border .3s ease-in-out 0s, color .3s ease-in-out 0s
}

.radio-custom label::after {
    position: absolute;
    top: 7px;
    left: 7px;
    display: inline-block;
    width: 6px;
    height: 6px;
    margin-left: -20px;
    content: " ";
    background-color: transparent;
    border: 2px solid #76838f;
    border-radius: 50%;
    -webkit-transition: .1s cubic-bezier(.8, -.33, .2, 1.33);
    -o-transition: .1s cubic-bezier(.8, -.33, .2, 1.33);
    transition: .1s cubic-bezier(.8, -.33, .2, 1.33);
    -webkit-transform: scale(0, 0);
    -ms-transform: scale(0, 0);
    -o-transform: scale(0, 0);
    transform: scale(0, 0)
}

.radio-custom input[type=radio],
.radio-custom input[type=checkbox] {
    z-index: 1;
    width: 20px;
    height: 20px;
    cursor: pointer;
    opacity: 0
}

.radio-custom input[type=radio]:checked + input[type=hidden] + label::before,
.radio-custom input[type=radio]:checked + label::before,
.radio-custom input[type=checkbox]:checked + input[type=hidden] + label::before,
.radio-custom input[type=checkbox]:checked + label::before {
    border-color: #e4eaec;
    border-width: 10px
}

.radio-custom input[type=radio]:checked + input[type=hidden] + label::after,
.radio-custom input[type=radio]:checked + label::after,
.radio-custom input[type=checkbox]:checked + input[type=hidden] + label::after,
.radio-custom input[type=checkbox]:checked + label::after {
    -webkit-transform: scale(1, 1);
    -ms-transform: scale(1, 1);
    -o-transform: scale(1, 1);
    transform: scale(1, 1)
}

.radio-custom input[type=radio]:disabled,
.radio-custom input[type=checkbox]:disabled {
    cursor: not-allowed
}

.radio-custom input[type=radio]:disabled + input[type=hidden] + label,
.radio-custom input[type=radio]:disabled + label,
.radio-custom input[type=checkbox]:disabled + input[type=hidden] + label,
.radio-custom input[type=checkbox]:disabled + label {
    opacity: .65
}

.radio-custom input[type=radio]:disabled + input[type=hidden] + label::before,
.radio-custom input[type=radio]:disabled + label::before,
.radio-custom input[type=checkbox]:disabled + input[type=hidden] + label::before,
.radio-custom input[type=checkbox]:disabled + label::before {
    cursor: not-allowed
}

.radio-custom.radio-inline {
    display: inline-block;
    margin-top: 0;
    margin-bottom: 0
}

.radio-inline + .radio-inline {
    margin-left: 20px
}

.radio-primary input[type=radio]:checked + input[type=hidden] + label::before,
.radio-primary input[type=radio]:checked + label::before,
.radio-primary input[type=checkbox]:checked + input[type=hidden] + label::before,
.radio-primary input[type=checkbox]:checked + label::before {
    border-color: #3e8ef7
}

.radio-primary input[type=radio]:checked + input[type=hidden] + label::after,
.radio-primary input[type=radio]:checked + label::after,
.radio-primary input[type=checkbox]:checked + input[type=hidden] + label::after,
.radio-primary input[type=checkbox]:checked + label::after {
    border-color: #fff
}