.formMessages > * {margin: 1em 0; padding: 10px; text-align: center; background: #fb0; color: #222; font-weight: 400; display: none;}
.formMessages .success {background: #070; color: #fff;}
.formMessages .error {background: #900; color: #fff;}

.acadia_form p.headline {font-size: 1.25em; font-weight: bold; margin: 1.5em 0 0;}
.acadia_form p.note {font-style: italic;}
.acadia_form .headlineDiv + .noteDiv p {margin: 0;}
.acadia_form hr {margin-left: auto; margin-right: auto;}

.acadia_form .error {padding: .5em; font-size: .9em;}
.acadia_form .fieldDiv .error {background: #c00; color: #fff; display: none;}
.acadia_form .errorDiv .error {display: block;}

.formRow {display: flex; flex-wrap: wrap; margin: 0 -10px;}
.formRow .fieldDiv {display: flex; flex-direction: column; flex-grow: 0; padding: 0 10px;}
.fieldDiv {width: 100%;}
.formRow .fieldDiv[class*="fieldDiv"] {flex-grow: 1; flex-basis: 25%;}
.formRow .fieldDiv.minimum {flex-grow: 0; flex-basis: unset;}
@media (max-width: 559px), (min-width: 768px) {
    #sidebar .fieldDiv {max-width: 100% !important; flex-basis: 100%;}
}
@media (min-width: 1025px) {
    .fieldDiv {width: auto;}
    .acadia_form hr.minimum {max-width: 100px;}
    .acadia_form .full {max-width: 100%;}
    .fieldDiv.full {flex-basis: 100% !important;}
    .fieldDiv.half, .acadia_form hr.half {max-width: 50%;}
    .fieldDiv.third, .acadia_form hr.third {max-width: 33.333%;}
    .fieldDiv.twothird, .acadia_form hr.twothird {max-width: 66.667%;}
    .fieldDiv.quarter, .acadia_form hr.quarter {max-width: 25%;}
    .fieldDiv.threequarter, .acadia_form hr.threequarter {max-width: 75%;}
}
.fieldDiv input[type="file"] + .filesize {display: inline-flex; align-items: center; justify-content: center; flex-basis: 75px; flex-shrink: 0; padding: .5em; background: linear-gradient(to right, rgba(0,0,0,.15), rgba(0,0,0,.05) 5px); font-size: 14px; white-space: nowrap;}
.fieldDiv input[type="file"] + .filesize:empty {display: none;}

.repeaterRow {display: flex;}
p.repeaterAddMore a {text-decoration: underline; cursor: pointer;}
button.repeaterRemove {margin: 0 !important; border-top-left-radius: 0 !important; border-bottom-left-radius: 0 !important;}
button.repeaterAdd {position: relative; margin: 1.5em 0 1.5em 20px; font-weight: bold; text-transform: uppercase; font-size: .8em; line-height: 1rem; overflow: visible;}
div[data-repeaterCount="1"] .repeaterRemove {display: none;}
button.repeaterAdd:before {content: '\002B'; position: absolute; left: -20px; top: 0; width: 20px; height: 1rem; line-height: 1rem; text-align: center; font-size: 1rem;}
.repeaterAtMax .repeaterAdd {display: none;}
div[data-repeaterIndex]:not([data-repeaterIndex="1"]) label,
div[data-repeaterIndex]:not([data-repeaterIndex="1"]) .fieldInstructions {display: none;}
div[data-repeaterIndex]:not([data-repeaterIndex="1"]) label + *,
div[data-repeaterIndex]:not([data-repeaterIndex="1"]) .fieldInstructions + * {margin-top: 1em;}
div[data-repeaterIndex]:not([data-repeaterLast="true"]) .fieldHint,
div[data-repeaterIndex]:not([data-repeaterLast="true"]) .repeaterAdd {display: none;}

.g-recaptcha {margin: 2em 0;}
.formality-submit-recaptcha.disabled {opacity: 0.3; transition: opacity 0.3s;}

.acadia_form .reqAst {color: #c00; margin-left: .25em;}
fieldset.radiocheck {height: 100%; margin: 1.5em 0 0;}
fieldset .answerList:not(.vert):not(.cols) > .answerDiv {display: inline-block;}
fieldset .answerList.cols {columns: 2;}
fieldset .answerList input[disabled] + label {opacity: .5;}
.acadia_form .fieldHint {font-size: .9em; font-style: italic; margin: 0 .25em; opacity: .8;}
.acadia_form .fieldInstructions {margin: 5px 0;}

.esignRow {position: relative; display: flex; align-items: stretch; border: 1px solid transparent; background: rgba(0,0,0,.2); max-width: 380px;}
.kbw-signature-disabled {opacity: 0.35;} /* needed? */
.kbw-signature, .esignField {position: relative; width: calc(100% - 60px) !important; height: 150px !important; -ms-touch-action: none; z-index: 3;}
.kbw-signature {padding: 3px;}
.esignField {position: absolute; left: 0; top: 0; z-index: 2; border: 10px solid #fff !important;}
.esignRow canvas {width: 100%; height: 100%; border-right: 1px dashed rgba(0,0,0,.2);}
.esignShield {position: absolute; inset: 0; z-index: 1;}
.esignSuccess {display: none; position: relative; width: 60px; background: #3D8B37; color: #fff; font-size: 50px; z-index: 1;}
.esignSuccess:before {content: '\2714'; position: absolute; left: 50%; top: 50%; transform: translate(-50%, -50%);}
.esignButton {font-size: 12px !important; margin-right: 10px;}