.row {
    display: -webkit-box;
  display: -moz-box;
  display: -ms-flexbox;
  display: -webkit-flex;
  display: flex;
    position: relative;
}

.section {
    position: relative;
}

.section > div:not(.group),
.section > div.group > div {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
}

.section > div > .efs {
    width: 100%;
}

.row > .section {
    flex-basis: 100%;
}

.form-fields .group > div,
.form-fields .section > div {
    padding-top: 5px;
    padding-bottom: 5px;
}

.form-fields .section > div.group > div {
    padding-top: 5px;
    padding-bottom: 5px;
}

.form-fields .group > div.complex-editor > div,
.form-fields .section > div.complex-editor > div {
    display: flex;
}

.edit-permit .form-fields .section > div.complex-editor > div {
    flex-wrap: wrap;
}

.form-fields .section > div:first-of-type {
    padding-top: 0;
}

.form-fields .section > div:last-of-type {
    padding-bottom: 0;
}

.form-fields .section > div > label,
.form-fields .section > div.group > div > label {
    flex-grow: 0;
    flex-shrink: 0;
    width: 200px;
}

.address-row {
    align-items: flex-start;
}

.address-row ul.address-lines {
    width: unset;
    margin: 0;
    padding: 0;
}

.form-fields .section > div > label:after,
.form-fields .section > div.group > div > label:after {
    content: ':';
}

.form-fields .section > div > label:empty:after,
.form-fields .section > div.group > div > label:empty:after,
.form-fields .section > div > label.q:after,
.form-fields .section > div.group > div > label.q:after {
    content: '';
}

input[type=checkbox] {
    zoom: 1.75;
}

.docs-not-ok.attention {
    color: #ee5700;
}

.docs-ok,
.docs-ok div.iconed {
    color: #078951;
}

td.id,
th.id {
    width: 1em;
}

.form-fields .section > div > .choices {
    display: flex;
}

.form-fields .section > div > .choices > *:not(:last-child) {
    margin-right: 5px;
}

.form-fields .section > div > .choices > li > button {
    opacity: 0.75;
}

.form-fields .section > div > .choices > li > button.selected {
    opacity: 1;
    font-weight: bold;
    border: 3px solid #000000;
}

.attention {
    color: #d90303;
}

.warning {
    color: #f8a803;
}

.good {
    color: #00c26f;
}

.form-fields div.help {
    position: relative;
    background: #c6fafb;
    padding: 5px !important;
    padding-left: 40px !important;
    border-radius: 3px;
    margin: 5px 0 5px 0;
    color: #513a82 !important;
    display: block;
}

.form-fields div.help > p,
.form-fields div.help > div > p {
    margin: 0;
    font-size: 0.9em;
}

.form-fields div.help > p:not(:last-child),
.form-fields div.help > div > p:not(:last-child) {
    margin-bottom: 5px !important;
}

.form-fields div.help:before {
    font-family: 'Font Awesome 5 Pro';
    width: 1em;
    font-size: 24px;
    color: #0088ff;
    position: absolute;
    left: 5px;
}

.form-fields div.help:before {
    content: '\f05a';
}

.form-fields .section > div > ul.checkbox-list,
.form-fields .section > .group > div > ul.checkbox-list {
    display: flex;
}

.form-fields .section > div > ul.checkbox-list > :not(:last-child),
.form-fields .section > .group > div > ul.checkbox-list :not(:last-child) {
    margin-right: 1em;
}

.form-fields .section > div > ul.checkbox-list label,
.form-fields .section > .group > div > ul.checkbox-list label {
    display: flex;
    align-items: center;
}

.form-fields .section > div > ul.checkbox-list label input,
.form-fields .section > .group > div > ul.checkbox-list label input {
    margin-left: 0.5em;
}

@media screen and (max-width:960px) {

    .form-fields .section > div > label, 
    .form-fields .section > div.group > div > label {
        width: 100%;
    }

    .form-fields .section > div label {
        margin: 8px 0;
    }

    .row {
        flex-wrap:wrap;
    }
}