/* Forms (shared). The look (colours, sizes, borders) is in each site's page CSS; this file is only the layout. */

.sr-only { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }
.trap { position: absolute; left: -9999px; width: 1px; height: 1px; overflow: hidden; }

/* Multi-step form */
.gform { display: block; }
.gf-step[hidden] { display: none; }
.gf-fields { display: grid; grid-template-columns: repeat(12, 1fr); width: 100%; }
.gf-field { grid-column: span 12; display: flex; flex-direction: column; min-width: 0; margin: 0; padding: 0; border: 0; }
.gf-span-1 { grid-column: span 1; } .gf-span-2 { grid-column: span 2; } .gf-span-3 { grid-column: span 3; } .gf-span-4 { grid-column: span 4; }
.gf-span-5 { grid-column: span 5; } .gf-span-6 { grid-column: span 6; } .gf-span-7 { grid-column: span 7; } .gf-span-8 { grid-column: span 8; }
.gf-span-9 { grid-column: span 9; } .gf-span-10 { grid-column: span 10; } .gf-span-11 { grid-column: span 11; }
.gf-label { display: block; }
.gform input[type=text], .gform input[type=email], .gform input[type=tel], .gform input[type=number], .gform select, .gform textarea { display: block; width: 100%; box-sizing: border-box; }
.gform textarea { resize: vertical; }
.gf-parts { display: flex; flex-wrap: wrap; column-gap: 2%; }
.gf-part { display: block; flex: 1 1 0; min-width: 0; }
.gf-part-full, .gf-part-address-line-1, .gf-part-address-line-2 { flex-basis: 100%; }
.gf-part-address-city, .gf-part-address-state, .gf-part-address-zip { flex: 1 1 48%; }
.gf-part-colon { flex: 0 0 auto; }
.gf-choices { display: block; }
.gf-choice { display: flex; align-items: flex-start; }
.gf-consent { max-height: 10em; overflow: auto; margin-bottom: 1em; }
.gf-section h3 { margin: 0; }
.gf-nav { display: flex; flex-wrap: wrap; align-items: center; }
.gf-bar { overflow: hidden; }
.gf-bar span { display: block; }
@media (max-width: 641px) {
  .gf-field { grid-column: 1 / -1; }
  .gf-part { flex-basis: 100%; }
  .gf-part-gfield-time-hour, .gf-part-gfield-time-minute, .gf-part-gfield-time-ampm { flex-basis: auto; }
}

/* empty slot where the spam check (Turnstile) goes; keeps the form the same height as before */
.gf-captcha { min-height: 102px; }

/* a form that is filled in on paper: a download link and a note */
.paper { padding: 40px 20px; }
.paper p { margin: 0 0 12px; }
.paper-button { display: inline-block; padding: 12px 20px; background: #333; color: #fff !important; }
