/* FedOpp 1.1.8 account -> plan -> pay flow */
:root{--fo-navy:#071a3d;--fo-navy-2:#0c3565;--fo-blue:#075da7;--fo-red:#ef2f35;--fo-ink:#1d2d42;--fo-muted:#66758a;--fo-line:#d9e1eb;--fo-bg:#f6f8fb;--fo-green:#128457}
body.page-type-login,body.page-type-createaccount,body.page-type-createaccount_thanks{background:var(--fo-bg);font-family:Inter,"Segoe UI",Arial,sans-serif;color:var(--fo-ink)}
body.page-type-login .fo-site-header,body.page-type-createaccount .fo-site-header,body.page-type-createaccount_thanks .fo-site-header,body.page-type-login .fo-site-footer,body.page-type-createaccount .fo-site-footer,body.page-type-createaccount_thanks .fo-site-footer,body.page-type-login .themevale_Mobile,body.page-type-createaccount .themevale_Mobile,body.page-type-createaccount_thanks .themevale_Mobile,body.page-type-login .themevale_background,body.page-type-createaccount .themevale_background,body.page-type-createaccount_thanks .themevale_background,body.page-type-login .halo-notification-bar,body.page-type-createaccount .halo-notification-bar,body.page-type-createaccount_thanks .halo-notification-bar{display:none!important}
body.page-type-login .body,body.page-type-createaccount .body,body.page-type-createaccount_thanks .body{margin:0!important;padding:0!important;background:var(--fo-bg)}
body.page-type-login .body>.container,body.page-type-createaccount .body>.container,body.page-type-createaccount_thanks .body>.container{width:100%!important;max-width:none!important;margin:0!important;padding:0!important}
.fo-auth-page{position:relative;isolation:isolate;min-height:100vh;padding:26px 20px 84px;overflow:hidden;background:linear-gradient(180deg,#fff 0,#fff 130px,var(--fo-bg) 390px,var(--fo-bg) 100%)}
.fo-auth-page:before{content:"";position:absolute;z-index:-1;left:50%;top:5px;width:min(1120px,92vw);height:720px;transform:translateX(-50%);background:url("../images/fedopp-logo.svg") center 78px/780px auto no-repeat;opacity:.025;pointer-events:none}
.fo-auth-logo{display:block;width:220px;margin:0 auto 30px}
.fo-auth-logo img{display:block;width:100%;height:auto}
.fo-account-progress{position:relative;width:min(680px,calc(100% - 20px));margin:0 auto 48px;padding:0;display:grid;grid-template-columns:repeat(4,1fr);list-style:none}
.fo-account-progress:before{content:"";position:absolute;z-index:-1;top:17px;left:12.5%;right:12.5%;height:1px;background:#bbc5d1}
.fo-account-progress li{display:flex;flex-direction:column;align-items:center;gap:12px;color:#a1a9b4;text-align:center}
.fo-account-progress li span{width:36px;height:36px;display:grid;place-items:center;border:1px solid #bac3cf;border-radius:50%;background:#fff;font-size:.82rem;font-weight:800}
.fo-account-progress li strong{font:700 1rem/1.2 Lexend,Inter,sans-serif}
.fo-account-progress li.is-current{color:var(--fo-navy)}
.fo-account-progress li.is-current span{border-color:var(--fo-navy);box-shadow:inset 0 0 0 9px #fff;background:var(--fo-navy);color:transparent}
.fo-account-progress li.is-current span:after{content:"";width:7px;height:7px;border-radius:50%;background:var(--fo-navy)}
.fo-account-progress li.is-complete{color:var(--fo-green)}
.fo-account-progress li.is-complete span{border-color:var(--fo-green);background:var(--fo-green);color:#fff}
.fo-auth-card{width:min(620px,100%);margin:0 auto;padding:42px 46px;border:1px solid var(--fo-line);border-radius:8px;background:#fff;box-shadow:0 16px 42px rgba(8,28,58,.09)}
.fo-auth-card--wide{width:min(790px,100%)}
.fo-auth-card__header{text-align:center;margin-bottom:34px}
.fo-auth-eyebrow{margin:0 0 8px;color:var(--fo-blue);font-size:.74rem;font-weight:850;letter-spacing:.13em;text-transform:uppercase}
.fo-auth-card h1,.fo-plan-screen h1{margin:0;color:var(--fo-navy);font:750 clamp(1.75rem,3vw,2.25rem)/1.15 Lexend,Inter,sans-serif;text-transform:uppercase}
.fo-auth-card__header>p:last-child,.fo-plan-screen__header>p:last-child{max-width:630px;margin:14px auto 0;color:var(--fo-muted);font-size:1.03rem;line-height:1.65}
.fo-auth-card .alertBox{margin:0 0 24px}
.fo-auth-form-grid{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px 28px;margin:0!important}
.fo-auth-form-grid>.form-field{float:none!important;width:auto!important;max-width:none!important;margin:0!important;padding:0!important;grid-column:1/-1}
.fo-auth-form-grid>.form-field:nth-child(1),.fo-auth-form-grid>.form-field:nth-child(2),.fo-auth-form-grid>.form-field[data-field-type="FirstName"],.fo-auth-form-grid>.form-field[data-field-type="LastName"]{grid-column:auto}
.fo-account-form .form-label,.fo-login-form .form-label{display:block;margin:0 0 9px;color:#32445a;font-size:1rem;font-weight:700}
.fo-account-form .form-label small,.fo-login-form .form-label small{font-size:0;color:var(--fo-red)}
.fo-account-form .form-label small:after,.fo-login-form .form-label small:after{content:" *";font-size:.95rem}
.fo-account-form .form-input,.fo-account-form .form-select,.fo-account-form textarea,.fo-login-form .form-input{width:100%;min-height:58px;margin:0;padding:13px 16px;border:1px solid #cbd5e2;border-radius:4px;background:#fff;color:var(--fo-ink);font:500 1rem/1.4 Inter,sans-serif;box-shadow:none;transition:border-color .15s ease,box-shadow .15s ease}
.fo-account-form textarea{min-height:110px}
.fo-account-form .form-input:focus,.fo-account-form .form-select:focus,.fo-account-form textarea:focus,.fo-login-form .form-input:focus{border-color:var(--fo-blue);outline:0;box-shadow:0 0 0 3px rgba(7,93,167,.12)}
.fo-confirm-email-error{display:none;margin:8px 0 0;color:#b4232b;font-size:.86rem;font-weight:650}
.fo-confirm-email-error.is-visible{display:block}
.fo-auth-selected-plan{margin:28px 0 24px;padding:15px 18px;display:grid;grid-template-columns:auto 1fr auto;gap:12px;align-items:center;border:1px solid #cddceb;border-radius:6px;background:#f5f9fd}
.fo-auth-selected-plan span{color:var(--fo-muted);font-size:.88rem;font-weight:700;text-transform:uppercase;letter-spacing:.05em}
.fo-auth-selected-plan strong{color:var(--fo-navy);font-size:1rem}
.fo-auth-selected-plan a{color:var(--fo-blue);font-weight:750;text-decoration:none}
.fo-auth-actions{margin:26px 0 0!important;padding:0!important;text-align:initial!important}
.fo-auth-submit,.fo-plan-pay-button,.fo-access-button{width:100%;min-height:52px;margin:0!important;padding:14px 22px!important;border:0!important;border-radius:4px!important;background:var(--fo-red)!important;color:#fff!important;font:800 .9rem/1.2 Inter,sans-serif!important;text-align:center;text-decoration:none!important;text-transform:uppercase;cursor:pointer;transition:background .15s ease,transform .15s ease}
.fo-auth-submit:hover,.fo-plan-pay-button:hover,.fo-access-button:hover{background:#d9222a!important;transform:translateY(-1px)}
.fo-auth-alternate{margin:23px 0 0;color:#8993a1;font-size:1rem;text-align:center}
.fo-auth-alternate a,.fo-login-meta a{color:var(--fo-red);font-weight:750;text-decoration:none}
.fo-login-form .form-field{margin:0 0 24px}
.fo-login-meta{margin:-5px 0 24px;display:flex;justify-content:space-between;gap:20px;color:var(--fo-muted);font-size:.88rem}
.fo-auth-message{text-align:center}
.fo-auth-message h2{color:var(--fo-navy);font:700 1.35rem/1.3 Lexend,Inter,sans-serif}
.fo-plan-screen{width:min(1160px,100%);margin:0 auto;padding:42px 0 20px}
.fo-plan-screen__header{margin-bottom:38px;text-align:center}
.fo-plan-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px;align-items:stretch}
.fo-billing-plan{position:relative;padding:31px 28px 27px;display:flex;flex-direction:column;border:1px solid var(--fo-line);border-radius:9px;background:#fff;box-shadow:0 12px 34px rgba(8,28,58,.07)}
.fo-billing-plan--featured{border:2px solid var(--fo-red);box-shadow:0 18px 42px rgba(8,28,58,.12)}
.fo-billing-plan.is-selected{outline:4px solid rgba(239,47,53,.12);border-color:var(--fo-red)}
.fo-billing-plan__badge{position:absolute;top:-14px;left:50%;transform:translateX(-50%);padding:7px 15px;border-radius:999px;background:var(--fo-red);color:#fff;font-size:.68rem;font-weight:850;text-transform:uppercase;white-space:nowrap}
.fo-billing-plan__name{margin:0 0 16px;color:var(--fo-navy);font:750 1.12rem/1.3 Lexend,Inter,sans-serif}
.fo-billing-plan__price{display:flex;align-items:baseline;gap:7px;color:var(--fo-navy)}
.fo-billing-plan__price strong{font:750 2.45rem/1 Lexend,Inter,sans-serif}
.fo-billing-plan__price span{color:var(--fo-muted);font-size:.9rem}
.fo-billing-plan>p:not(.fo-billing-plan__name){margin:10px 0 0;color:var(--fo-muted)}
.fo-billing-plan ul{margin:24px 0 28px;padding:0;flex:1;list-style:none}
.fo-billing-plan li{position:relative;padding:7px 0 7px 25px;color:#54677e;font-size:.95rem;line-height:1.45}
.fo-billing-plan li:before{content:"✓";position:absolute;left:0;color:var(--fo-green);font-weight:900}
.fo-plan-pay-button{display:flex;align-items:center;justify-content:center}
.fo-plan-security-note{max-width:780px;margin:30px auto 0;padding:18px 22px;display:flex;gap:14px;align-items:center;justify-content:center;border:1px solid #d6e3ef;border-radius:7px;background:#fff;color:var(--fo-muted);text-align:center}
.fo-plan-security-note strong{color:var(--fo-navy);white-space:nowrap}
@media(max-width:800px){.fo-auth-page{padding-inline:14px}.fo-account-progress{margin-bottom:34px}.fo-auth-card{padding:34px 24px}.fo-auth-form-grid{grid-template-columns:1fr}.fo-auth-form-grid>.form-field:nth-child(1),.fo-auth-form-grid>.form-field:nth-child(2),.fo-auth-form-grid>.form-field[data-field-type="FirstName"],.fo-auth-form-grid>.form-field[data-field-type="LastName"]{grid-column:1}.fo-plan-grid{grid-template-columns:1fr;max-width:570px;margin-inline:auto}.fo-billing-plan--featured{margin-top:10px}.fo-plan-security-note{flex-direction:column}.fo-auth-selected-plan{grid-template-columns:1fr;text-align:center}.fo-login-meta{flex-direction:column;gap:8px;text-align:center}}
@media(max-width:520px){.fo-auth-logo{width:185px;margin-bottom:24px}.fo-account-progress{width:100%;margin-bottom:28px}.fo-account-progress li{gap:8px}.fo-account-progress li span{width:30px;height:30px}.fo-account-progress:before{top:14px}.fo-account-progress li strong{font-size:.76rem}.fo-auth-card h1,.fo-plan-screen h1{font-size:1.55rem}.fo-auth-card__header>p:last-child,.fo-plan-screen__header>p:last-child{font-size:.94rem}.fo-account-form .form-input,.fo-account-form .form-select,.fo-login-form .form-input{min-height:54px}.fo-plan-screen{padding-top:28px}}
.fo-plan-grid--single{grid-template-columns:1fr;max-width:520px;margin-inline:auto}
