/* WNC base CSS. Applied by the platform, not by the form author. */
* { margin:0; padding:0; box-sizing:border-box }
html, body { font-size:100%; font:inherit; vertical-align:baseline; height:100% }
body { font-family:Arial,sans-serif; line-height:1.5; color:#333; background-color:#fff; display:flex; flex-direction:column }
#wrapper { flex:1; display:flex; flex-direction:column; width:100%; padding:20px 60px }
#main { flex:1; max-width:1200px; width:100%; margin:0 auto }
a { color:#005BAC; text-decoration:none }
a:hover, a:focus { text-decoration:underline }
img { max-width:100%; height:60px }
h1, h2, h3, h4 { font-family:Arial,sans-serif; font-weight:bold; color:#000 }
h1 { font-size:2.285em; line-height:1.8em; margin:.85em 0 0 }
h2, legend { font-size:1.8em; padding-top:.1em; margin:2.05em 0 1.3em }
#mast { background:#386193; padding:10px 20px; display:flex; justify-content:space-between; align-items:center; box-shadow:0 2px 4px rgba(0,0,0,.1); border-radius:5px }
#content { background-color:#fff; padding:20px 24px; margin:40px 0; border-radius:5px; box-shadow:0 2px 14px rgba(0,0,0,.1) }
#content.full { width:100% }
#content h1 { font-size:2em; margin-bottom:20px; color:#333 }
#content p { margin-bottom:15px; line-height:1.6; color:#666 }
#content ul, #content ol { margin:15px 0; padding-left:40px }
#content ul li, #content ol li { margin-bottom:10px; color:#666 }
#content form { margin:20px 0 }
#content form fieldset { border:1px solid #ccc; padding:20px; margin-bottom:40px; border-radius:5px }
#content form legend { font-size:1.5em; font-weight:bold; margin-bottom:10px }
#content form label { display:block; margin-bottom:10px; font-weight:bold }
#content form input[type="text"], #content form input[type="email"], #content form input[type="tel"], #content form input[type="number"], #content form input[type="date"], #content form input[type="url"], #content form input[type="password"], #content form select, #content form textarea { width:100%; padding:10px; margin-bottom:10px; border:1px solid #ccc; border-radius:5px; font-family:Arial,sans-serif; font-size:14px }
#content form input:focus, #content form select:focus, #content form textarea:focus { outline:2px solid #005BAC; outline-offset:2px }
.submit-button { background-color:#385889; border:1px solid #385889; color:#efefef; border-radius:6px; cursor:pointer; display:inline-block; font-family:Roboto,sans-serif; font-weight:900; font-size:14px; padding:.42rem 1.47rem .53rem; text-align:center; text-decoration:none; transition:.3s }
.submit-button:hover { background-color:#0e335b; border-color:#0e335b }
.result { margin-top:30px; padding:20px; background:#e8f5e9; display:none; border-radius:5px }
.error { background:#ffebee }
footer { background-color:#000; color:#fff; padding:20px 0; box-shadow:0 -2px 4px rgba(0,0,0,.1); text-align:center; border-radius:5px }
footer ul { padding:0; margin:0 0 15px 0; list-style:none }
footer ul li { display:inline; margin:0 10px }
footer ul li a { color:#fff; text-decoration:none }
.clear { clear:both }
@media (max-width:600px) { #wrapper { padding:20px 15px } #content { padding:20px 12px } #content form fieldset { padding:10px } }
.checkbox-group, .radio-group { border:none; background:none; padding:0; margin:0 }
.checkbox-label, .radio-label { display:flex; align-items:center; gap:10px; margin-bottom:8px; font-weight:normal }
.checkbox-label input, .radio-label input { width:auto; margin:0; accent-color:#386193 }
#content form .checkbox-label label, #content form .radio-label label { font-weight:normal; display:inline; margin:0 }
.form-group { margin-bottom:20px }
.required { color:#d32f2f }
.error-message { display:block; color:#d32f2f; font-size:.9em; min-height:1em }

/* neneforms-step-validation */
.nf-step-notice {
    border: 4px solid #d32f2f;
    background: #fff;
    padding: 1rem 1.25rem;
    margin: 0 0 1.5rem;
}

.nf-step-notice:focus {
    outline: 3px solid #e2ca76;
    outline-offset: 0;
}

.nf-step-notice-title {
    margin: 0 0 0.5rem;
    font-weight: 700;
    color: #d32f2f;
}

.nf-step-notice ul {
    margin: 0;
    padding-left: 1.25rem;
}

.nf-step-notice a {
    color: #d32f2f;
}

/* The following selectors were also defined by this form and have been removed,
   because the base CSS above owns them and a later rule would override it:
   *
   html, body
   body
   #wrapper
   #main
   a
   a:hover, a:focus
   img
   h1, h2, h3, h4
   h1
   h2, legend
   #mast
   #content
   #content.full
   #content h1
   #content p
   #content ul, #content ol
   #content ul li, #content ol li
   #content form
   #content form fieldset
   #content form legend
   #content form label
   #content form input[type="text"], #content form input[type="email"], #content form input[type="tel"], #content form input[type="number"], #content form input[type="date"], #content form input[type="url"], #content form input[type="password"], #content form select, #content form textarea
   #content form input:focus, #content form select:focus, #content form textarea:focus
   .submit-button
   .submit-button:hover
   .result
   .error
   footer
   footer ul
   footer ul li
   footer ul li a
   .clear
   .checkbox-group, .radio-group
   .checkbox-label, .radio-label
   .checkbox-label input, .radio-label input
   #content form .checkbox-label label, #content form .radio-label label
   .form-group
   .required
   .error-message
   .nf-step-notice
   .nf-step-notice:focus
   .nf-step-notice-title
   .nf-step-notice ul
   .nf-step-notice a
*/

/* Form-specific styles. */
@media (max-width:600px) { #wrapper { padding:20px 15px } #content { padding:20px 12px } #content form fieldset { padding:10px } }

@media (max-width:600px) { #wrapper { padding:20px 15px } #content { padding:20px 12px } #content form fieldset { padding:10px } }

@media (max-width:600px) { #wrapper { padding:20px 15px } #content { padding:20px 12px } #content form fieldset { padding:10px } }

@media (max-width:600px) { #wrapper { padding:20px 15px } #content { padding:20px 12px } #content form fieldset { padding:10px } }

@media (max-width:600px) { #wrapper { padding:20px 15px } #content { padding:20px 12px } #content form fieldset { padding:10px } }

@media (max-width:600px) { #wrapper { padding:20px 15px } #content { padding:20px 12px } #content form fieldset { padding:10px } }

@media (max-width:600px) { #wrapper { padding:20px 15px } #content { padding:20px 12px } #content form fieldset { padding:10px } }

@media (max-width:600px) { #wrapper { padding:20px 15px } #content { padding:20px 12px } #content form fieldset { padding:10px } }

@media (max-width:600px) { #wrapper { padding:20px 15px } #content { padding:20px 12px } #content form fieldset { padding:10px } }

@media (max-width:600px) { #wrapper { padding:20px 15px } #content { padding:20px 12px } #content form fieldset { padding:10px } }

@media (max-width:600px) { #wrapper { padding:20px 15px } #content { padding:20px 12px } #content form fieldset { padding:10px } }

@media (max-width:600px) { #wrapper { padding:20px 15px } #content { padding:20px 12px } #content form fieldset { padding:10px } }

.form-step { display:none }

.form-step.active { display:block }

.progress-bar { height:6px; background:#b1b4b6; border-radius:3px; overflow:hidden; margin:20px 0 8px }

.progress-fill { height:100%; width:0; background:#386193; transition:width .3s }

.step-indicator { color:#505a5f; font-size:.9em; margin-bottom:20px }

.step-nav { display:flex; gap:12px; margin-top:20px; justify-content:flex-end }

.nav-btn { background-color:#385889; border:1px solid #385889; color:#efefef; border-radius:6px; cursor:pointer; display:inline-block; font-family:Roboto,sans-serif; font-weight:900; font-size:14px; padding:.42rem 1.47rem .53rem; text-align:center; transition:.3s }

.nav-btn:hover { background-color:#0e335b; border-color:#0e335b }

.prev-btn { background-color:#505a5f; border-color:#505a5f }

.prev-btn:hover { background-color:#0b0c0c; border-color:#0b0c0c }

.field-hint { font-size:14px; color:#666; margin:4px 0 8px 0 }
