/*
Theme Name: Jasper Blue 2027
Theme URI: https://jaspercanadianrockieshalf.ca/
Author: MultiSportsCanada — Jasper site kit
Description: Responsive midnight/mountain-blue design companion for the 2027 Jasper Canadian Rockies Half Marathon Elementor templates. Starter theme for staging and preview.
Version: 1.0.2
License: GPL-2.0-or-later
Text Domain: jasper-blue-2027
Requires PHP: 7.4
*/
:root{--jn:#142b43;--jm:#244b6c;--jg:#96c9e8;--jc:#bc654e;--js:#c2d9e7;--jp:#dceaf0;--ji:#f1ecdf;--jt:#111;--jw:#fff;--jgold:#efd6a2}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--ji);color:var(--jn);font-family:Arial,Helvetica,sans-serif;-webkit-font-smoothing:antialiased}a{color:inherit}img{max-width:100%;height:auto}#content{min-height:65vh}a:focus-visible,button:focus-visible{outline:3px solid var(--jg);outline-offset:3px}.screen-reader-text{position:absolute;left:-999em}.screen-reader-text:focus{left:1rem;top:1rem;padding:.75rem;background:white;z-index:9999}
.j-site-top{background:var(--jc);color:#0d1012;text-align:center;font-size:10px;letter-spacing:1.5px;font-weight:900;padding:10px 12px}
.j-site-header{background:var(--jn);color:white;position:relative;z-index:30}.j-header-inner{max-width:1480px;margin:auto;padding:18px 5%;display:flex;align-items:center;justify-content:space-between;gap:22px}.j-logo{text-decoration:none;color:white;font-size:clamp(21px,2.6vw,29px);font-weight:1000;font-style:italic;letter-spacing:-1.7px;line-height:.95;display:inline-block;white-space:nowrap}.j-logo i{color:var(--jg);font-style:italic}.j-logo small{display:block;letter-spacing:1.35px;font-size:8px;font-style:normal;font-weight:800;margin-top:7px}.j-header-links{display:flex;align-items:center;gap:23px}.j-header-links a{font-size:11px;text-decoration:none;font-weight:900;letter-spacing:.5px}.j-header-links a:hover{color:var(--jg)}.j-top-register{background:var(--jc);color:white!important;padding:15px 19px;transform:skewX(-4deg)}.j-nav-toggle{display:none;background:none;border:1px solid #7292a7;border-radius:2px;color:white;font-weight:800;padding:9px 12px}.j-mob-nav{display:none}
.j-footer{background:#102235;color:#e9f1f5;padding:47px 6% 26px}.j-footer-inner{max-width:1300px;margin:auto;display:grid;grid-template-columns:1.4fr 1fr 1fr;gap:35px}.j-footer-brand{font-weight:1000;font-style:italic;font-size:24px}.j-footer p{max-width:350px;font-size:12px;line-height:1.7;color:#c9d9e4}.j-footer h4{font-size:12px;letter-spacing:1px}.j-footer ul{padding:0;margin:0;list-style:none}.j-footer li{margin:11px 0;font-size:12px}.j-footer a{text-decoration:none;color:inherit}.j-footer a:hover{text-decoration:underline}.j-footer-bottom{max-width:1300px;margin:35px auto 0;border-top:1px solid #fff3;padding-top:18px;font-size:11px;color:#b9ccdb}
.j-default-page{max-width:1100px;margin:4rem auto;padding:0 5% 5rem;line-height:1.6}.j-default-page h1{font-size:clamp(36px,7vw,70px);letter-spacing:-.06em}
/* Elementor page section system: all headings, copy, images and buttons remain native editable widgets */
.elementor .j-section,.elementor .j-tiles-section{padding:65px 6%;width:100%}.elementor .j-hero{display:grid!important;grid-template-columns:47% 53%;gap:0!important;min-height:545px;background:var(--jn)}.elementor .j-hero-copy{background:var(--jn);color:white;padding:65px 6% 65px 11%;display:flex;flex-direction:column;align-items:flex-start;justify-content:center;min-width:0}.elementor .j-hero-pic{position:relative;min-height:545px;background-color:#5a819a;background-position:center;background-size:cover;overflow:hidden;display:flex;justify-content:flex-end;align-items:flex-end;padding:0 17% 0 0}.elementor .j-hero-pic:before{content:"";inset:0;position:absolute;background:linear-gradient(90deg,#142b4377,transparent 50%,#142b4348)}
.elementor .j-hero-h1 .elementor-heading-title{font-size:clamp(62px,8.5vw,119px);line-height:.86;font-weight:1000;font-style:italic;letter-spacing:-.095em;color:white;margin:24px 0;text-transform:uppercase}.elementor .j-glacier{color:var(--jg)}.elementor .j-hero-label .elementor-heading-title{font-size:10px;letter-spacing:2px;font-weight:900;border:1px solid var(--jg);color:var(--jg);padding:11px 13px;display:inline-block}.elementor .j-hero-date .elementor-heading-title{font-size:clamp(16px,2vw,22px);font-weight:900;letter-spacing:-.7px;color:#fff}.elementor .j-hero-desc{margin:18px 0 26px}.elementor .j-hero-desc p{font-size:14px;line-height:1.75;color:#cbdbe4;max-width:380px;margin:0}
.elementor .j-hero-num{position:relative;z-index:2;transform:rotate(-6deg);margin-bottom:-.1em;white-space:nowrap}.elementor .j-hero-num .elementor-heading-title{color:var(--jc)!important;font-size:clamp(145px,22vw,300px);line-height:1;font-weight:1000;letter-spacing:-.13em;font-style:italic;text-shadow:0 6px 22px #07172791;white-space:nowrap}.elementor .j-hero-num sup{display:inline-block;position:relative;top:-.6em;vertical-align:baseline;font-size:.26em;letter-spacing:0;margin-left:.03em}
.elementor .j-button .elementor-button{background:var(--jc)!important;color:white!important;border-radius:0!important;transform:skewX(-4deg);padding:16px 22px;font-size:11px;font-weight:900;letter-spacing:.7px;box-shadow:none!important}.elementor .j-button .elementor-button:hover{background:#9e4d36!important}.elementor .j-button-dark .elementor-button{background:var(--jn)!important}.elementor .j-text-link .elementor-button,.elementor .j-card-link .elementor-button{background:transparent!important;color:var(--jc)!important;border:0!important;box-shadow:none!important;padding:0!important;text-align:left;font-size:11px;font-weight:900}.elementor .j-text-link .elementor-button:hover,.elementor .j-card-link .elementor-button:hover{background:transparent!important;color:var(--jn)!important}
.elementor .j-ticker{background:var(--jc);padding:18px 3%;text-align:center}.elementor .j-ticker-title .elementor-heading-title{color:#090909!important;font-size:clamp(15px,2.4vw,26px);line-height:1.3;font-style:italic;font-weight:1000;letter-spacing:-.6px}.elementor .j-distance-grid{display:grid!important;grid-template-columns:repeat(4,1fr);gap:2px!important;background:#a6c1d0}.elementor .j-distance-card{background:#dceaf0;align-items:center;justify-content:center;min-height:180px;text-align:center;padding:23px 8px}.elementor .j-distance-card:nth-child(even){background:#c2d9e7}.elementor .j-race-num .elementor-heading-title{font-size:clamp(37px,5.5vw,64px);font-style:italic;color:#090909!important;font-weight:1000;letter-spacing:-4px;line-height:1}.elementor .j-race-name .elementor-heading-title{color:#090909!important;font-size:11px;font-weight:900;letter-spacing:1px;margin:12px 0}.elementor .j-distance-card .j-text-link{margin:6px 0}
.elementor .j-split{display:grid!important;grid-template-columns:1fr 1fr;gap:0!important;align-items:stretch;padding:0!important}.elementor .j-split-text{padding:65px 9%;justify-content:center;display:flex;flex-direction:column;background:#244b6c;color:white}.elementor .j-split-photo{min-height:365px;overflow:hidden}.elementor .j-split-photo .elementor-widget-image,.elementor .j-split-photo .elementor-widget-container,.elementor .j-split-photo img{height:100%;width:100%}.elementor .j-split-photo img{object-fit:cover;display:block}.elementor .j-split.j-cream .j-split-text{background:var(--ji);color:#111}
.elementor .j-eyebrow .elementor-heading-title{font-size:10px;font-weight:900;letter-spacing:2px;color:#e4ad82;text-transform:uppercase}.elementor .j-cream .j-eyebrow .elementor-heading-title,.elementor .j-content .j-eyebrow .elementor-heading-title,.elementor .j-tiles-section .j-eyebrow .elementor-heading-title{color:#a65039}.elementor .j-h2 .elementor-heading-title{font-size:clamp(31px,4.7vw,62px);line-height:.99;letter-spacing:-.073em;font-weight:1000;font-style:italic;color:inherit;margin:15px 0}.elementor .j-cream .j-h2 .elementor-heading-title{color:#080808!important}.elementor .j-prose p,.elementor .j-prose li{font-size:14px;line-height:1.76;color:inherit;opacity:.9}.elementor .j-prose a{color:inherit;text-decoration:underline}.elementor .j-split .j-button{margin-top:20px}
.elementor .j-tiles-section{background:#f7f7f3}.elementor .j-section-intro{text-align:center;align-items:center;margin-bottom:27px}.elementor .j-section-intro .j-h2 .elementor-heading-title{color:#101010!important}.elementor .j-tiles{display:grid!important;grid-template-columns:repeat(4,minmax(0,1fr));gap:15px!important}.elementor .j-card{background:white;border-top:5px solid var(--jc);padding:25px 20px;min-height:200px;display:flex;flex-direction:column;align-items:flex-start}.elementor .j-card-big .elementor-heading-title{font-size:clamp(32px,4vw,48px);font-style:italic;letter-spacing:-.06em;color:#101010;font-weight:1000}.elementor .j-card-title .elementor-heading-title{font-size:15px;font-weight:900;color:#152d45;margin:8px 0}.elementor .j-card-text p{font-size:13px;line-height:1.65;color:#4c6272;margin:7px 0 17px}.elementor .j-card-link{margin-top:auto}
.elementor .j-page-banner{background-color:#244b6c;background-position:center center;background-size:cover!important;min-height:310px;padding:55px 7%;justify-content:center;position:relative;isolation:isolate}.elementor .j-page-banner:before{content:"";position:absolute;inset:0;background:linear-gradient(90deg,#142b43f5,#142b43c0 60%,#142b4370);z-index:-1}.elementor .j-banner-title .elementor-heading-title{color:white;font-size:clamp(47px,7.7vw,92px);font-style:italic;font-weight:1000;letter-spacing:-.082em;line-height:.91;margin:14px 0 16px}.elementor .j-banner-sub p{color:#d6e2eb;font-size:15px}.elementor .j-page-banner .j-eyebrow .elementor-heading-title{color:#e9c198}.elementor .j-content{background:var(--ji);color:#152f47}.elementor .j-content .j-h2 .elementor-heading-title{color:#111}
.elementor .j-info-columns{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px!important;background:#f6f3eb}.elementor .j-info-card{background:white;border-left:4px solid var(--jc);padding:23px}.elementor .j-list-heading .elementor-heading-title{font-size:17px;font-weight:900;color:#182e43}.elementor .j-info-card .j-prose p{font-size:14px;color:#536779}.elementor .j-note{background:#fff5df!important;color:#513b24;padding:21px 6%!important;border-top:1px solid #e0b783;border-bottom:1px solid #e0b783}.elementor .j-note p{font-size:13px;line-height:1.55;margin:0}.elementor .j-cta{text-align:center;align-items:center;justify-content:center;background:var(--jc);color:white;padding:54px 5%}.elementor .j-cta-title .elementor-heading-title{font-size:clamp(31px,4.8vw,63px);color:white;font-weight:1000;font-style:italic;letter-spacing:-.07em;margin:10px 0}.elementor .j-cta-p p{font-size:14px;margin:0 0 21px;color:white}.elementor .j-cta .j-eyebrow .elementor-heading-title{color:#fff6e9}
@media(max-width:990px){.j-header-links{gap:12px}.j-header-links a{font-size:10px}.elementor .j-tiles{grid-template-columns:repeat(2,minmax(0,1fr))}.elementor .j-hero-copy{padding-left:7%}.elementor .j-hero-h1 .elementor-heading-title{font-size:clamp(56px,8vw,95px)}}
@media(max-width:700px){.j-header-links{display:none}.j-nav-toggle{display:block}.j-mob-nav{display:none;background:#1c3a55;padding:8px 6% 20px}.j-mob-nav.is-open{display:block}.j-mob-nav a{display:block;padding:11px;color:#fff;font-size:12px;font-weight:800;text-decoration:none;border-bottom:1px solid #ffffff29}.j-footer-inner{grid-template-columns:1fr 1fr}.elementor .j-hero{grid-template-columns:1fr!important}.elementor .j-hero-copy{padding:50px 7%}.elementor .j-hero-pic{min-height:310px;justify-content:flex-end;padding-right:18%}.elementor .j-hero-num .elementor-heading-title{font-size:clamp(145px,33vw,235px)}.elementor .j-distance-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.elementor .j-split{grid-template-columns:1fr!important}.elementor .j-split-photo{min-height:250px;order:-1}.elementor .j-split-text{padding:45px 7%}.elementor .j-section{padding:43px 6%}.elementor .j-page-banner{min-height:270px;padding:45px 7%}.elementor .j-info-columns{grid-template-columns:1fr!important}.elementor .j-info-card{padding:19px}.elementor .j-cta{padding:48px 6%}}
@media(max-width:460px){.j-footer-inner{grid-template-columns:1fr}.elementor .j-tiles{grid-template-columns:1fr}.elementor .j-distance-card{min-height:142px}.elementor .j-hero-h1 .elementor-heading-title{font-size:clamp(62px,14.5vw,85px)}.elementor .j-hero-pic{min-height:280px}.elementor .j-ticker-title .elementor-heading-title{font-size:14px}.elementor .j-banner-title .elementor-heading-title{font-size:clamp(43px,11vw,64px)}.elementor .j-race-num .elementor-heading-title{font-size:44px}}
/* Keep WordPress custom primary menu horizontal (it becomes vertical on small screens). */
.j-header-links .j-wp-menu{display:flex;align-items:center;gap:19px;list-style:none;padding:0;margin:0}.j-mob-nav .j-wp-menu{list-style:none;padding:0;margin:0;display:block}
@media(max-width:990px){.j-header-links .j-wp-menu{gap:11px}}


/* v1.0.1 — Site navigation repair.
   WordPress supplies nested <ul class="sub-menu"> elements in existing menus.
   Without dropdown rules, every child page appeared expanded in the header. */
.j-site-header .j-header-links{min-width:0;}
.j-site-header .j-header-links .j-wp-menu{display:flex;align-items:center;gap:clamp(10px,1.35vw,19px);list-style:none;margin:0;padding:0;}
.j-site-header .j-header-links .j-wp-menu>li{position:relative;list-style:none;margin:0;padding:0;}
.j-site-header .j-header-links .j-wp-menu>li>a{display:block;padding:15px 0;white-space:nowrap;line-height:1.4;color:#fff;}
.j-site-header .j-header-links .j-wp-menu>li>a:hover,
.j-site-header .j-header-links .j-wp-menu>li>a:focus-visible{color:var(--jg);}
.j-site-header .j-header-links .j-wp-menu .sub-menu{
 position:absolute;top:100%;left:0;z-index:1000;
 width:max-content;min-width:220px;max-width:min(310px,90vw);
 display:block;list-style:none;margin:0;padding:9px 0;
 background:#1b3a55;border-top:3px solid var(--jc);
 box-shadow:0 15px 35px rgba(4,15,30,.3);
 visibility:hidden;opacity:0;pointer-events:none;
 transform:translateY(6px);
 transition:opacity .16s ease,transform .16s ease,visibility .16s ease;
}
.j-site-header .j-header-links .j-wp-menu li:hover>.sub-menu,
.j-site-header .j-header-links .j-wp-menu li:focus-within>.sub-menu{
 visibility:visible;opacity:1;pointer-events:auto;transform:none;
}
.j-site-header .j-header-links .j-wp-menu .sub-menu li{display:block;position:relative;list-style:none;margin:0;padding:0;}
.j-site-header .j-header-links .j-wp-menu .sub-menu a{
 display:block;color:#f5f7fa;font-size:11px;font-weight:750;
 line-height:1.4;white-space:normal;padding:11px 16px;text-decoration:none;
}
.j-site-header .j-header-links .j-wp-menu .sub-menu a:hover,
.j-site-header .j-header-links .j-wp-menu .sub-menu a:focus-visible{background:#2d5471;color:#fff;}
.j-site-header .j-header-links .j-wp-menu>.menu-item:last-child>.sub-menu{right:0;left:auto;}
/* Switch to an explicit closed-by-default mobile menu before the desktop header gets crowded. */
@media(max-width:1100px){
 .j-site-header .j-header-links{display:none!important;}
 .j-site-header .j-nav-toggle{display:inline-flex!important;align-items:center;justify-content:center;cursor:pointer;}
 .j-site-header .j-mob-nav{display:none!important;background:#1b3a55;padding:10px 6% 23px;max-height:75vh;overflow-y:auto;}
 .j-site-header .j-mob-nav.is-open{display:block!important;}
 .j-site-header .j-mob-nav .j-wp-menu,
 .j-site-header .j-mob-nav .j-wp-menu .sub-menu{list-style:none;margin:0;padding:0;display:block;}
 .j-site-header .j-mob-nav .j-wp-menu>li{border-bottom:1px solid rgba(255,255,255,.14);}
 .j-site-header .j-mob-nav .j-wp-menu a,
 .j-site-header .j-mob-nav>a{display:block;color:#fff;padding:12px 6px;font-size:12px;font-weight:850;text-decoration:none;line-height:1.4;}
 .j-site-header .j-mob-nav .j-wp-menu .sub-menu{border-left:2px solid var(--jc);margin:0 0 10px 10px;padding-left:13px;}
 .j-site-header .j-mob-nav .j-wp-menu .sub-menu a{font-size:11px;font-weight:650;padding:9px 5px;color:#d5e7f2;}
 .j-site-header .j-mob-nav a:hover,.j-site-header .j-mob-nav a:focus-visible{color:var(--jg);}
 .j-site-header .j-mob-nav>a:last-child{display:inline-block;margin-top:14px;background:var(--jc);padding:14px 18px;color:#fff;}
}
@media(prefers-reduced-motion:reduce){
 .j-site-header .j-header-links .j-wp-menu .sub-menu{transition:none;}
}
