.dgf-form .dgf-field { margin-bottom: 1.25em; }
.dgf-form label,
.dgf-form legend { display: block; font-weight: 600; margin-bottom: .25em; }
.dgf-form .dgf-choice label,
.dgf-form .dgf-subfield label { font-weight: 400; }
.dgf-form input[type="text"],
.dgf-form input[type="email"],
.dgf-form input[type="tel"],
.dgf-form select,
.dgf-form textarea { width: 100%; max-width: 40em; box-sizing: border-box; }
.dgf-form .dgf-help { margin: 0 0 .5em; font-size: .9em; }
.dgf-form :focus-visible,
.dgf-errors:focus-visible,
.dgf-success:focus-visible { outline: 3px solid #1a4f8b; outline-offset: 2px; }
.dgf-form .dgf-error { margin: 0 0 .5em; font-weight: 700; color: #b00020; }
.dgf-form .dgf-has-error input,
.dgf-form .dgf-has-error select,
.dgf-form .dgf-has-error textarea { border: 2px solid #b00020; }
.dgf-errors { border: 3px solid #b00020; padding: 1em; margin-bottom: 1.5em; }
.dgf-errors-title { margin-top: 0; font-size: 1.25em; }
.dgf-errors a { color: #b00020; font-weight: 700; }
.dgf-success { border: 3px solid #1b6e3c; padding: 1em; }
.dgf-hp { position: absolute; left: -10000px; top: auto; width: 1px; height: 1px; overflow: hidden; }
.dgf-visually-hidden { position: absolute; width: 1px; height: 1px; margin: -1px; padding: 0; overflow: hidden; clip: rect(0, 0, 0, 0); white-space: nowrap; border: 0; }
