/* Native authentication with the September overall login reference. */
@font-face { font-family:JJMontserrat;src:url('../../../local/jjcurriculum/pix/canva/Montserrat-Regular.woff2') format('woff2');font-weight:400;font-display:swap; }
@font-face { font-family:JJMontserrat;src:url('../../../local/jjcurriculum/pix/canva/Montserrat-Bold.woff2') format('woff2');font-weight:700;font-display:swap; }
body.jj-canva-login { font-family:JJMontserrat,Arial,sans-serif !important;background:#f7f9f5; }
.jj-canva-login .login-hero-container,.jj-canva-login .jj-login-card,.jj-canva-login #login input,.jj-canva-login #login button { font-family:JJMontserrat,Arial,sans-serif !important; }
.jj-canva-login .login-hero-container { padding-top:20px !important;padding-bottom:20px !important; }
.jj-canva-login .hero-title { font-family:inherit !important;font-size:clamp(2rem,3.3vw,3rem) !important;line-height:1.15 !important;color:#28584d !important; }
.jj-canva-login .hero-subtitle { font-size:1rem !important;line-height:1.7 !important; }
.jj-canva-login .hero-image-wrapper { margin:20px 0 !important; }
.jj-canva-login .hero-image { border-radius:18px !important; }
.jj-canva-login .hero-features { gap:12px; }
.jj-canva-login .hero-features h4 { font-size:.85rem !important;line-height:1.5; }
.jj-canva-login .jj-login-card { padding:20px;border:1px solid #d8e4d2;border-radius:22px;background:white; }
.jj-canva-login .jj-login-logo { display:inline-block;margin-bottom:14px; }
.jj-canva-login .jj-login-logo img { width:80px;height:auto; }
.jj-canva-login .jj-login-title { color:#28584d;font-size:1.6rem;margin:0 0 8px; }
.jj-canva-login .jj-login-intro { font-size:.9rem;line-height:1.6;margin:0 0 20px; }
.jj-canva-login #login label.visually-hidden { position:static !important;clip:auto !important;clip-path:none !important;width:auto !important;height:auto !important;margin:0 0 6px !important;white-space:normal !important;display:block;font-weight:700;font-size:.85rem; }
.jj-canva-login #login input:not([type=hidden]) { width:100% !important;max-width:none !important;box-sizing:border-box;min-height:48px;border:1px solid #9ba99b;border-radius:10px; }
body#page-login-index.jj-canva-login #login #loginbtn { background:#2f695c !important;border-color:#2f695c !important;min-height:48px; }
body#page-login-index.jj-canva-login #login #loginbtn:hover { background:#214d43 !important; }
.jj-canva-login .loginform a,.jj-canva-login .jj-login-explore { color:#28584d !important;text-decoration:underline; }
.jj-canva-login .jj-login-explore { display:inline-block;margin-top:16px;min-height:44px;padding:10px 0;font-size:.9rem; }
.jj-canva-login :is(a,button,input):focus-visible { outline:3px solid #9c5b12 !important;outline-offset:3px; }
@media(max-width:767px) {
 .jj-canva-login .login-hero-container { padding-top:8px !important;padding-bottom:8px !important; }
 .jj-canva-login .hero-image-wrapper,.jj-canva-login .hero-features { display:none !important; }
 .jj-canva-login .hero-title { font-size:2rem !important; }
 .jj-canva-login .jj-login-card { padding:18px; }
}
/* September overall reference: white login, orange action and generous two-column spacing. */
body.jj-canva-login{background:#fff!important;color:#303830!important}
.jj-canva-login #region-main-box,.jj-canva-login #region-main,.jj-canva-login .login-wrapper,.jj-canva-login .login-container{display:block!important;width:100%!important;max-width:none!important;padding:0!important;margin:0!important;background:transparent!important;border:0!important;box-shadow:none!important;min-height:0!important}
.jj-canva-login #page-content,.jj-canva-login .outercont{max-width:1500px!important;width:100%!important;margin:0 auto!important;padding:0 28px!important}
.jj-auth-header{display:flex;justify-content:space-between;align-items:center;gap:24px;padding:18px 0 28px;border-bottom:1px solid #ecefea;margin-bottom:44px}
.jj-horizontal-brand{display:inline-flex!important;align-items:center;gap:6px;color:#234c85!important;text-decoration:none!important;flex-shrink:0}
.jj-brand-symbol{display:block;width:108px;height:68px;overflow:hidden;flex-shrink:0}
.jj-brand-symbol img{width:116px!important;height:107px!important;max-width:none!important;object-fit:contain;display:block}
.jj-brand-wordmark{font-size:20px;letter-spacing:3px;line-height:1.25;font-weight:400}
.jj-brand-wordmark small{display:block;color:#659158;font-size:12px;letter-spacing:2px;margin-top:3px}
.jj-auth-links{display:flex;gap:32px;flex-wrap:wrap}.jj-auth-links a{color:#354533!important;font-size:.9rem}
.jj-auth-grid{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,1fr);gap:clamp(32px,6vw,92px);max-width:1160px;margin:0 auto 55px;align-items:start}
.jj-auth-eyebrow{font-size:1.3rem;margin:0 0 12px}.jj-auth-eyebrow i{color:#6f9163;margin-right:10px}
.jj-auth-hero h1{font-size:clamp(2.3rem,4vw,3.6rem)!important;line-height:1.12;color:#37552d;font-weight:700;margin:0 0 20px}
.jj-auth-tagline{line-height:1.7;font-size:1.1rem}.jj-auth-photo{width:100%;height:245px;object-fit:cover;border-radius:18px;margin:8px 0 28px}
.jj-auth-benefits{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px;text-align:center}
.jj-auth-benefits i{display:inline-grid;place-items:center;width:58px;height:58px;border-radius:50%;background:#f0f4e9;color:#6d905b;font-size:24px;margin-bottom:14px}
.jj-auth-benefits>div:nth-child(2) i{background:#f3ebf8;color:#8757b1}.jj-auth-benefits>div:nth-child(3) i{background:#fff1e8;color:#d8682a}
.jj-auth-benefits h2{font-size:.83rem!important;line-height:1.5;font-weight:700}.jj-auth-benefits p{font-size:.77rem;line-height:1.8;margin:0}
.jj-canva-login .jj-login-card{padding:38px!important;border:1px solid #f0f0eb!important;border-radius:26px!important;box-shadow:0 5px 24px #25462d0a;background:white!important}
.jj-login-card>h2{font-size:1.4rem;font-weight:700;color:#283128;margin:5px 0 16px}.jj-login-card>p{font-size:.86rem;margin-bottom:28px}
.jj-login-card .card,.jj-login-card .card-body,.jj-login-card .loginform{background:transparent!important;border:0!important;box-shadow:none!important;padding:0!important}
.jj-login-card .loginform>h1,.jj-login-card .login-logo,.jj-login-card #loginlogo{display:none!important}
.jj-canva-login #login input:not([type=hidden]){border:1px solid #dfe3db!important;border-radius:8px!important;min-height:50px;margin-bottom:8px}
.jj-canva-login #login label.visually-hidden{font-weight:400;font-size:.86rem;margin-top:20px!important}
body#page-login-index.jj-canva-login #login #loginbtn{background:#e56720!important;border-color:#e56720!important;color:#fff!important;margin-top:18px;border-radius:8px;min-height:50px;font-size:1rem}
body#page-login-index.jj-canva-login #login #loginbtn:hover{background:#bf5015!important}
.jj-auth-signup{text-align:center;font-size:.85rem;margin-top:28px}.jj-auth-signup a{color:#365e2e!important}
.jj-login-card .login-signup{display:none}
body#page-login-index.jj-canva-login .jj-login-card .loginform button.btn[data-modal="alert"]{margin-top:16px!important;padding:8px 0!important;background:transparent!important;border:0!important;width:auto!important;min-height:44px;text-decoration:underline;font-size:.8rem}
.jj-password-field{position:relative}.jj-password-field input{padding-right:78px!important}.jj-password-toggle{position:absolute;right:7px;top:5px;min-height:40px;background:transparent;border:0;color:#365d2e;font-size:.8rem;cursor:pointer}
.jj-canva-login .login-identityproviders{margin-top:20px}
@media(max-width:850px){.jj-auth-grid{gap:28px}.jj-auth-links{gap:16px}.jj-canva-login .jj-login-card{padding:24px!important}.jj-auth-hero h1{font-size:2.5rem!important}}
@media(max-width:680px){.jj-auth-grid{grid-template-columns:minmax(0,1fr)}.jj-auth-header{align-items:flex-start;flex-direction:column;gap:18px;margin-bottom:25px}.jj-auth-links{justify-content:space-between;width:100%;gap:12px}.jj-auth-hero{margin-bottom:0}.jj-auth-photo,.jj-auth-benefits{display:none}.jj-canva-login #page-content,.jj-canva-login .outercont{padding:0 10px!important}.jj-auth-grid{margin-bottom:30px}}
body.jj-signup-page{font-family:JJMontserrat,Arial,sans-serif!important;background:#f9faf7!important;color:#303a30}
.jj-signup-page #region-main{max-width:900px!important;margin:20px auto!important;padding:30px!important;background:white!important;border:1px solid #e3e8dc;border-radius:22px}
.jj-signup-page .jj-auth-header{flex-wrap:wrap;margin-bottom:24px;padding-top:0}
.jj-signup-page .jj-auth-links{gap:18px}.jj-signup-page .jj-brand-symbol{width:80px}
.jj-signup-page h1{font-family:inherit;font-size:1.9rem;color:#37552d}.jj-signup-intro{line-height:1.7;margin:0 0 24px}
.jj-signup-page .mform input:not([type=hidden]):not([type=checkbox]),.jj-signup-page select{border:1px solid #a8b5a2;border-radius:7px;min-height:44px;font-family:inherit;max-width:100%;box-sizing:border-box}
.jj-signup-page input[type=submit]{padding:10px 18px;background:#e56720;color:white;border-color:#e56720!important;cursor:pointer}
.jj-signup-page input[type=submit][name=cancel]{background:white;color:#365e2e}
.jj-signup-page #fitem_id_passwordpolicyinfo{font-size:.85rem;line-height:1.7}
.jj-signup-page .jj-password-field { width:100%; max-width:100%; }
.jj-signup-page .jj-password-field input { width:100%; }
.jj-signup-page .jj-password-toggle { top:0; min-height:44px; }
/* Keep Bootstrap's validation icon clear of the Show/Hide button and typed text. */
.jj-password-field input.is-invalid { background-position:right 80px center; padding-right:108px!important; }
.jj-signup-support a { overflow-wrap:anywhere; }
.jj-signup-page :is(a,button,input,select):focus-visible{outline:3px solid #956014;outline-offset:3px}
@media(max-width:600px){.jj-signup-page #region-main{padding:18px!important;margin:10px auto!important}.jj-signup-page .jj-auth-header{gap:14px}.jj-signup-page .jj-auth-links{width:100%;gap:14px}}
.jj-signup-page .jj-brand-symbol{width:108px}
.jj-canva-login .jj-signedin-actions { display:flex; gap:12px; flex-wrap:wrap; margin-top:24px; }
.jj-canva-login .jj-signedin-actions .singlebutton { margin:0; }
.jj-canva-login .jj-signedin-actions button { min-height:44px; white-space:normal; }
.jj-canva-login .jj-signedin-actions button.btn { background:#2f695c!important;border-color:#2f695c!important;color:#fff!important; }
.jj-canva-login .jj-signedin-actions button.btn:hover { background:#214d43!important;border-color:#214d43!important; }
/* Bootstrap's empty secondary-header row must fit inside the mobile login padding. */
.jj-canva-login .outercont > .row { margin-left:0!important;margin-right:0!important; }
