:root{
	--sky-50:#eef6ff;
	--navy-900:#071c38;
	--navy-800:#0a2f5c;
	--navy-700:#123f78;
	--label-blue:#2c6aa0;
	--sky-blue:#1f8fe0;
	--border:#dfe9f5;
	--ink-muted:#5c6f82;

	--wait-light:#28a745;
	--wait-mostlylight:#108d10;
	--wait-moderate:#ee9f4b;
	--wait-heavy:#de3545;
	--wait-unbearable:#870814;
	--wait-delay:#6a5fc4;

	--alert-heat:#c0392b;
	--alert-storm:#6a5fc4;
	--alert-severe:#870814;

	--font-display:'Montserrat', sans-serif;
	--font-body:'Inter', sans-serif;
	--font-mono:'IBM Plex Mono', monospace;
	--font-poppins:'Poppins', sans-serif;

	--radius:16px;
	--shadow:0 4px 16px rgba(10,47,92,.08);
	--shadow-md:0 10px 28px rgba(10,47,92,.14);
}

* { box-sizing:border-box; }
body
{
	font-family:var(--font-body); color:var(--navy-900);
	background:linear-gradient(to bottom, var(--sky-50), #fff 480px);
	margin:0; padding:0 0 8.5rem;
}
.wrap{ max-width:640px; margin:0 auto; padding:0 1rem; }

.site-nav{
	background:var(--navy-800); color:#fff;
	position:sticky; top:0; z-index:50;
}
.site-nav-top
{
	display:flex; align-items:center; gap:.6rem;
	position:relative;
	background:url('/images/banner2.jpg') center/cover no-repeat;

	padding-top:.5rem; padding-bottom:0;
	padding-left:max(0px, calc((100% - 640px) / 2));
	padding-right:max(.6rem, calc((100% - 640px) / 2));
}
.site-logo
{
	flex:0 0 auto; align-self:flex-end;
	height:62px; width:auto; border-radius:0; object-fit:contain;
	position:relative; z-index:6; top:2px;
}
.site-brand-text
{
	flex:1 1 auto; text-align:center; line-height:1;
	font-family:var(--font-display);
	font-weight:800;
	font-size:3rem;
}
.site-links{
	display:none;
	position:absolute;
	top:100%;
	right:max(.6rem, calc((100% - 640px) / 2));
	min-width:220px;
	flex-direction:column;
	gap:0;
	background:var(--navy-800);
	z-index:40;
	max-height:70vh;
	overflow-y:auto;
	border-radius:0 0 10px 10px;
	box-shadow:var(--shadow-md);
	font-size:.95rem;
}
.site-links.show{ display:flex; }
.site-links > a,
.site-links > .site-dropdown-wrap{
	padding:.8rem 1rem;
	border-top:1px solid rgba(255,255,255,.12);
	display:block;
}
.site-links a{ color:#fff; text-decoration:none; opacity:.9; }
.site-links a:visited,
.site-submenu a,
.site-submenu a:visited{ color:#fff; text-decoration:none; }
.hamburger{ display:flex; flex-direction:column; gap:5px; cursor:pointer; flex:0 0 auto; padding:.3rem; }
.hamburger span{ height:3px; width:22px; background:#fff; border-radius:2px; }
.site-submenu{
	display:flex; gap:.35rem; flex-wrap:wrap; align-items:center;
	padding:.4rem max(1rem, calc((100% - 640px) / 2));
	font-size:1.2rem;
	background:var(--navy-800);
	position:relative;
}

.site-submenu > a,
.site-submenu > .site-dropdown-wrap{
	display:inline-flex; align-items:center; gap:.3rem;
	background:rgba(255,255,255,.12);
	border:1px solid rgba(255,255,255,.18);
	padding:.32rem .55rem;
	border-radius:999px;
	font-family:var(--font-poppins); font-weight:600; font-size:.92rem;
	cursor:pointer;
	transition:background .15s, border-color .15s;
}
.site-submenu > a:hover,
.site-submenu > .site-dropdown-wrap:hover{
	background:rgba(255,255,255,.22);
	border-color:rgba(255,255,255,.35);
}
.site-submenu > a.chip-home{ padding:.32rem .55rem; }
.site-submenu > a.chip-home svg{ display:block; }

.site-submenu > .site-dropdown-wrap::after{
	content:''; width:0; height:0; margin-left:.15rem;
	border-left:4.5px solid transparent;
	border-right:4.5px solid transparent;
	border-top:5px solid rgba(255,255,255,.85);
}

.site-submenu > .site-dropdown-wrap{ position:static; }
.site-submenu .site-dropdown{
	left:max(1rem, calc((100% - 640px) / 2));
	right:auto;
	max-width:calc(100vw - 2rem);
}

.park-sticky{
	background:var(--navy-700); color:#fffb00;
	font-family:var(--font-display); font-weight:600; font-size:1rem;
	text-align:center; letter-spacing:.01em;
	padding:0 .7rem; max-height:0; opacity:0; overflow:hidden;
	transition:max-height .18s ease, opacity .18s ease, padding .18s ease;
}
.park-sticky.show{ max-height:3.6rem; opacity:1; padding:.22rem .7rem; }
.park-sticky .ps-park{ display:block; line-height:1.2; }
.park-sticky .ps-date{
	display:block; line-height:1.2;
	font-family:var(--font-poppins); font-weight:600; font-size:.72rem;
	color:rgba(255,255,255,.85); letter-spacing:0;
}
.park-sticky .ps-event{
	display:block; line-height:1.2;
	font-family:var(--font-poppins); font-weight:700; font-size:.85rem;
	color:#ffa525; letter-spacing:0;
}
/* Three lines instead of two need a taller cap than .park-sticky.show allows. */
.park-sticky.show:has(.ps-event){ max-height:5rem; }

.site-ride-banner-ride, .site-ride-banner-park{text-align:center; font-weight:700; font-size:2rem; padding:.5rem 0; background:var(--navy-700); color:#fffb00; position:relative; z-index:1; text-shadow:0 2px 5px rgba(0,0,0,.65); }
.site-ride-banner-ride{ color:#fff; font-size:1.43rem }
h1.park-banner, h1.site-ride-banner-ride{ margin:0; }

.site-dropdown-wrap{ position:relative; cursor:pointer; color:#fff; }
.site-dropdown{
	display:none;
	position:absolute;
	top:100%;
	left:auto;
	right:0;
	background:#fff;
	color:var(--navy-800);
	border-radius:8px;
	box-shadow:var(--shadow-md);
	min-width:220px;
	max-width:min(320px, calc(100vw - 2rem));
	margin-top:6px;
	z-index:30;
	padding:.4rem 0;
	white-space:normal;
	max-height:min(70vh, 460px);
	overflow-y:auto;
	overscroll-behavior:contain;
}

.site-dropdown-header{
	padding:.5rem .9rem .2rem;
	font-size:.72rem;
	font-weight:700;
	text-transform:uppercase;
	color:var(--sky-blue);
}
.site-dropdown a,
.site-dropdown a:visited{
	display:block;
	padding:.5rem .9rem;
	color:var(--navy-800);
	text-decoration:none;
	font-size:.85rem;
	white-space:normal;
	line-height:1.25;
}
.site-dropdown a:hover{ background:var(--sky-50); }

.site-dropdown.show{ display:block; }

@media (hover:hover) and (min-width:601px){
	.site-submenu .site-dropdown-wrap:hover .site-dropdown{ display:block; }
}

.site-links .site-dropdown{
	position:static;
	box-shadow:none;
	border-radius:0;
	background:var(--navy-900);
	margin:10px -1rem 0;
	min-width:0;
	max-width:none;
	width:auto;
	max-height:50vh;
}
.site-links .site-dropdown a,
.site-links .site-dropdown a:visited{
	color:#fff; padding-left:2rem;
	border-top:1px solid rgba(255,255,255,.08);
}
.site-links .site-dropdown a:hover{ background:rgba(255,255,255,.08); }
.site-links .site-dropdown-header{
	color:#7fb3f0;
	padding-top:.5rem;
	border-top:1px solid rgba(255,255,255,.08);
}
.site-links .site-dropdown-header:first-child{ border-top:none; }

@media (max-width:600px){
	.site-links{ left:0; right:0; min-width:0; border-radius:0; }

	.site-submenu .site-dropdown{
		width:auto !important;
		max-width:calc(100vw - 1.5rem);
		max-height:60vh;
	}

}

h1.section-label, h2.section-label{
	font-family:var(--font-display); font-size:1.8rem; font-weight:800;
	color:var(--navy-900); text-align:center;
	width:95%; max-width:600px; margin-left:auto; margin-right:auto; /*margin:2.2rem auto 1.1rem;*/
	display:block; position:relative; padding-bottom:.6rem;
}
.section-label .sl-line2{ display:block; }
.section-label .sl-park, .label .sl-park{ color:var(--label-blue); }
h1.section-label::after, h2.section-label::after{
	content:''; position:absolute; left:50%; bottom:0; transform:translateX(-50%);
	width:50vw; height:3px; border-radius:3px; background:var(--sky-blue);
}
h1.section-label.no-rule::after, h2.section-label.no-rule::after{ content:none; }
h1.section-label.no-rule, h2.section-label.no-rule{ padding-bottom:0; }

.site-tagline{ width:95%; max-width:600px; margin:.5rem auto .5rem; text-align:center; /*padding:.5rem 1rem;*/ }
.site-tagline .tagline-head{
	font-family:var(--font-display); font-weight:800; font-size:1.5rem; color:var(--navy-900);
	margin:0 0 .4rem; line-height:1.2;
}
.site-tagline .tagline-sub{ margin:0 0 .85rem; color:var(--ink-muted); font-size:.95rem; line-height:1.5; }
.site-tagline .tagline-chips{ display:flex; flex-wrap:wrap; gap:.5rem; justify-content:center; }
.site-tagline .tchip{
	display:inline-flex; align-items:center; gap:.35rem; font-size:.9rem; font-weight:600;
	padding:.4rem .8rem; border-radius:999px; background:#fff; border:1px solid var(--border); box-shadow:var(--shadow);
}
.site-tagline .tchip-storm{ color:var(--wait-delay); }
.site-tagline .tchip-heat{ color:var(--wait-heavy); }
.site-tagline .tchip-light{ color:var(--wait-moderate); }
.site-tagline .tchip-rain{ color:var(--sky-blue); }

.site-tagline{
	padding: 1.5rem 0;
	position:relative;
	overflow:hidden;
	border-radius:var(--radius);
	/*padding:1.5rem 1.2rem 1.3rem;*/
	box-shadow:var(--shadow);

	background-image:url('2.jpg');
	background-repeat:no-repeat;
	background-size:cover;
	background-position:center;

	background-size: 300%;
    background-position-x: -500px;
    background-position-y: -50px;

}
.site-tagline-text{padding: 0rem 1.2rem 1.3rem;}
.site-tagline::before{
	content:''; position:absolute; inset:0;
	background:linear-gradient(180deg, rgba(7,28,56,.5), rgba(7,28,56,.35) 45%, rgba(7,28,56,.7));
}
.site-tagline > *{ position:relative; z-index:1; }
.site-tagline .tagline-head{ color:#fff; text-shadow:0 2px 6px rgba(0,0,0,.6); }
.site-tagline .tagline-sub{ color:rgba(255,255,255,.92); text-shadow:0 1px 4px rgba(0,0,0,.55); }

.sectionHeader{
	font-family:var(--font-display); font-weight:800; font-size:1.8rem; color:var(--navy-900);
	text-align:center; width:95%; max-width:600px; margin:1rem auto 1rem;
	position:relative; padding-bottom:.6rem;
}
.sectionHeader::after{
	content:''; position:absolute; left:50%; bottom:0; transform:translateX(-50%);
	width:50vw; height:3px; border-radius:3px; background:var(--sky-blue);
}

.weather-row{
	display:grid;
	grid-auto-flow:column;
	grid-auto-columns:1fr;
	width:100%;
	gap:10px;
	font-family:Poppins, Arial, sans-serif;
	padding:10px 10px 0;
	margin:0 0 1rem;
}

.weather-tile{
	background-color:#f5f7fa;
	border-radius:12px;
	padding:0;
	text-align:center;
	box-shadow:0 2px 6px rgba(0, 0, 0, 0.1);
	border:1px solid #3b6795;
}

.sevenDayDate{
	background-color:#007acc;
	color:#fff;
	border-radius:10px 10px 0 0;
}

.day{
	font-size:1rem;
	font-weight:600;
}

.temps{
	font-size:1.4rem;
	font-weight:700;
}

.high{
	color:#c0392b;
}

.low{
	color:#555;
	margin-left:4px;
}

.rain{
	font-size:0.85rem;
	color:#007acc;
}

.parkWeatherBlurb{
	text-align:justify;
	border:1px solid rgb(56, 178, 172);
	background-color:rgb(230, 255, 250);
	color:rgb(13, 148, 136);
	border-radius:12px;
	font-weight:500;
	font-size:4vw;
	padding:10px 14px;
	margin:0 auto 1rem;
	width:95%;
	background:linear-gradient(135deg, #e6fffa 0%, #f0fdfa 100%);
	box-shadow:0 3px 8px rgba(0, 0, 0, 0.08);
}

.rides-summary{
	width:90%; max-width:600px; margin:0 auto 1rem; background:#fff; border:1px solid var(--border);
	border-radius:var(--radius); box-shadow:var(--shadow); display:flex; overflow:hidden;
}
.rs-stat{ flex:1 1 0; text-align:center; padding:.7rem .4rem; position:relative; }
.rs-stat + .rs-stat::before{
	content:''; position:absolute; left:0; top:20%; bottom:20%; width:1px; background:var(--border);
}
.rs-num{ font-family:var(--font-poppins); font-weight:800; font-size:1.5rem; line-height:1; }
.rs-num small{ font-size:.8rem; font-weight:700; }
.rs-lbl{
	font-family:var(--font-poppins); font-size:.75rem; letter-spacing:.03em;
	text-transform:uppercase; color:#000; margin-top:.3rem;
}
.rs-open .rs-num{ color:var(--wait-mostlylight); }
.rs-delay .rs-num{ color:var(--wait-delay); }
.rs-short .rs-num{ color:var(--wait-light); }
.rs-long .rs-num{ color:var(--wait-heavy); }
.rs-weather .rs-num{ color:#7c8b99; }
.rs-closed .rs-num{ color:var(--navy-900); }
.rs-sub{ font-family:var(--font-poppins); font-size:.5rem; color:var(--ink-muted); margin-top:2px; line-height:1.1; }

.rides-summary.stacked{ flex-direction:column; }
.rides-summary.stacked .rs-row{ display:flex; }
.rides-summary.stacked .rs-cap{
	background:var(--sky-50); border-bottom:1px solid var(--border);
	font-family:var(--font-poppins); font-size:.76rem; font-weight:700;
	text-transform:uppercase; letter-spacing:.06em; color:var(--label-blue);
	padding:.3rem .7rem; text-align:left;
}
.rides-summary.stacked .rs-row + .rs-cap{ border-top:1px solid var(--border); }

.fg-light{ color:var(--wait-light); }
.fg-mostlylight{ color:var(--wait-mostlylight); }
.fg-moderate{ color:var(--wait-moderate); }
.fg-heavy{ color:var(--wait-heavy); }
.fg-unbearable{ color:var(--wait-unbearable); }
.fg-delay,
.fg-delayed{ color:var(--wait-delay); }
.fg-zero{ color:var(--navy-900); }

.crowd{
	width:90%; margin:0 auto 1rem; background:#fff; 
	border-radius:14px; padding:.85rem 1rem .75rem; box-shadow:var(--shadow);
}
.crowd .crowd-head{ display:flex; align-items:baseline; justify-content:space-between; gap:.6rem; }
.crowd .crowd-title{
	font-family:var(--font-mono); font-size:1rem; text-transform:uppercase;
	letter-spacing:.05em; color:var(--ink-muted);
}
.crowd .crowd-level{ font-family:var(--font-display); font-weight:800; font-size:1.05rem; white-space:nowrap; }
.crowd .crowd-track{
	position:relative; height:12px; border-radius:999px; margin:.65rem 0 .35rem;
	background:linear-gradient(90deg, var(--wait-light), var(--wait-moderate) 55%, var(--wait-heavy));
}
.crowd .crowd-mark{
	position:absolute; top:50%; width:18px; height:18px; border-radius:50%;
	background:#fff; border:3px solid var(--navy-800); transform:translate(-50%,-50%);
	box-shadow:0 1px 4px rgba(0,0,0,.3);
}
.crowd .crowd-scale{
	display:flex; justify-content:space-between;
	font-family:var(--font-mono); font-size:.55rem; color:var(--ink-muted);
}
.crowd .crowd-sub{ margin-top:.55rem; font-size:1rem; color:var(--navy-900); }
.crowd .crowd-sub b{ color:var(--navy-800); font-weight:700; }

.left-col .crowd{
	width:100%; margin:.55rem 0 0; padding:.25rem 0 0;
	background:transparent; border-color:transparent; box-shadow:none;
}

.crowd-mini{ margin-top:.55rem; width:100%; }
.crowd-mini .cm-head{ display:flex; justify-content:space-between; align-items:baseline; gap:.5rem; }
.crowd-mini .cm-title{
	font-family:var(--font-mono); font-size:.55rem; text-transform:uppercase;
	letter-spacing:.05em; color:var(--ink-muted);
}
.crowd-mini .cm-level{ font-family:var(--font-display); font-weight:800; font-size:.72rem; white-space:nowrap; }
.crowd-mini .cm-track{
	position:relative; height:8px; border-radius:999px; margin:.35rem 0 .2rem;
	background:linear-gradient(90deg, var(--wait-light), var(--wait-moderate) 55%, var(--wait-heavy));
}
.crowd-mini .cm-mark{
	position:absolute; top:50%; width:13px; height:13px; border-radius:50%;
	background:#fff; border:2.5px solid var(--navy-800); transform:translate(-50%,-50%);
	box-shadow:0 1px 3px rgba(0,0,0,.3);
}
.crowd-mini .cm-sub{ font-size:.68rem; color:var(--ink-muted); }
.crowd-mini .cm-sub b{ color:var(--navy-800); }
.demo-note{
	font-family:var(--font-mono); font-size:.72rem; color:var(--ink-muted);
	background:#fff8e1; border:1px solid #ffe08a; border-radius:8px; padding:.5rem .8rem; margin-bottom:1rem;
}

.spacer{ height:1rem; }

.fc-card{
	width:95%; max-width:600px; margin:0 auto 1rem;
	background:#fff; border:1px solid var(--border); border-radius:var(--radius);
	box-shadow:var(--shadow); overflow:hidden;
}

@media (max-width:600px){
	.fc-card{ overflow-x:auto; }
	.fc-card table.hourly td,
	.fc-card table.hourly th{ padding-left:.08rem; padding-right:.08rem; }
	.fc-card table.hourly td.time{ padding-left:.4rem; }
	.fc-card table.hourly th:first-child{ padding-left:.4rem; }
}

.radar-card{
	width:95%; max-width:600px; margin:0 auto 1rem;
	background:#fff; border:1px solid var(--border); border-radius:var(--radius);
	box-shadow:var(--shadow); overflow:hidden;
}
#radarMap{ height:420px; width:100%; position:relative; z-index:0; }
.radar-bar{
	display:flex; align-items:center; gap:.6rem;
	padding:.55rem .7rem; background:var(--navy-800);
}
.radar-btn{
	font-family:var(--font-poppins); font-size:.8rem; font-weight:700; color:#fff;
	background:rgba(255,255,255,.16); border:1px solid rgba(255,255,255,.3);
	border-radius:999px; padding:.3rem .8rem; cursor:pointer; flex:0 0 auto;
}
.radar-range{ flex:1 1 auto; accent-color:var(--sky-blue); }
.radar-fill{ flex:1 1 auto; }
.radar-site{
	font-family:var(--font-poppins); font-size:.78rem; font-weight:700; color:#fff;
	background:rgba(255,255,255,.16); border:1px solid rgba(255,255,255,.3);
	border-radius:999px; padding:.2rem .6rem; flex:0 0 auto;
}
.radar-time{
	font-family:var(--font-mono); font-size:.8rem; color:#fff;
	flex:0 0 auto; min-width:5.5ch; text-align:right;
}
.fc-card-head{
	background:var(--navy-800); color:#fff; font-family:var(--font-display);
	font-weight:800; font-size:.95rem; padding:.6rem; text-align:center;
}
.fc-card-body{ padding:.8rem .7rem; }
.fc-chart{ position:relative; }   .fc-daystats{ display:flex; border-bottom:1px solid var(--border); }
.fc-daystat{ flex:1; text-align:center; padding:.55rem .3rem; position:relative; }
.fc-daystat + .fc-daystat::before{
	content:''; position:absolute; left:0; top:22%; bottom:22%; width:1px; background:var(--border);
}
.fc-daystat .v{ font-family:var(--font-poppins); font-weight:800; font-size:1.3rem; line-height:1; }
.fc-daystat .k{
	font-family:var(--font-poppins); font-size:.8rem; font-weight:700; text-transform:uppercase;
	color:var(--ink-muted); margin-top:.25rem;
}
.hours-legend{
	display:flex; gap:1.2rem; justify-content:center; align-items:center;
	width:95%; max-width:600px; margin:0 auto .5rem;
	font-family:var(--font-poppins); font-size:.95rem; font-weight:700; color:var(--ink-muted);
}
.hours-legend .hl{ display:inline-flex; align-items:center; gap:.35rem; }
.hours-legend i{ width:14px; height:14px; border-radius:3px; border:1px solid; display:inline-block; }
.hours-legend .hl-open{ background:#fff; }
.hours-legend .hl-closed{ background:#e1e1e1; }

table.hourly tr.closed-hour{ background-color:#e1e1e1; }
table.hourly tr.closed-hour td{background-color:#e1e1e1; color:#666}

.fc-daystat .v-hi{ color:var(--wait-heavy); }
.fc-daystat .v-lo{ color:var(--sky-blue); }
.fc-daystat .v-rain{ color:var(--label-blue); }

.hero-card{background:#fff; overflow:hidden; width:100%; margin:0 0 1rem}
.park-banner{
	background:var(--navy-900); color:#fffb00; text-align:center;
	font-family:vasr(--font-display); font-weight:800; font-size:1.9rem;
	padding:.5rem 1rem; line-height:1.15;
}
.hero-photo{ flex-wrap:wrap; }
.hero-photo .hero-hours{ width:100%; position:relative; z-index:1; margin-top:.15rem; }

.hero-photo .park-banner{
	position:absolute; top:0; left:0; right:0; z-index:2;
	background:transparent; text-shadow:0 2px 6px rgba(0,0,0,.7);
}
/* Event name under the park name in the hero (e.g. Halloween Horror Nights). */
.hero-photo .park-banner-sub{
	position:absolute; top:2.6rem; left:0; right:0; z-index:2;
	text-align:center; color:#ffa525;
	font-family:var(--font-display); font-weight:800; font-size:1.35rem; line-height:1.15;
	text-shadow:0 2px 6px rgba(0,0,0,.7);
}
/* Inline on desktop; on a phone the second half drops to its own line so the
   title stops running under the temperature. */
.park-banner-sub .pbs-line2{ display:inline; }
@media (max-width:600px){
	.park-banner-sub .pbs-line2{ display:block; }
}
.hero-card .hero-photo{ padding-top:.7rem; align-items:flex-start; }
.hero-card .hero-photo .park-banner{
	position:relative; top:auto; left:auto; right:auto;
	order:1; flex:0 0 100%; margin-left:0;
	box-sizing:border-box; padding:0; line-height:1.1;
}
.hero-card .hero-photo .park-Epic_Universe{ font-size:2.5rem; }
.hero-card .hero-photo .park-Universal_Studios_Hollywood{ font-size:1.7rem; }
.hero-card .hero-photo .hero-weather{order:3; align-self:flex-start;}
.hero-card .hero-photo .hero-temp{ font-size:3.5rem; }
.hero-card .hero-photo .hero-weather .hh-col-right{ font-size:.78rem; margin-top:.25rem; }
.hero-card .hero-photo .hero-photo-left{ order:2; margin-top:.4rem; align-self:flex-end; }
.hero-card .hero-photo .hero-hours{ order:3; }
.hero-card .hero-photo .hero-actions{ order:4; }
.hero-photo{
	min-height:100px; background-size:cover; background-position:center;
	display:flex; align-items:flex-end; justify-content:space-between;
	/*padding:2.2rem 1.5rem 1rem; */
	padding:2.6rem 1rem .5rem;

	position:relative;

	/*	The photo stays full width; its contents sit in the same 640px column as
		the rest of the site, so on a wide screen they don't end up pinned to
		opposite edges of the monitor. */
	padding-left:max(1rem, calc((100% - 640px) / 2));
	padding-right:max(1rem, calc((100% - 640px) / 2));
}
.hero-slim{ min-height:0; }
.hero-slim .site-ride-banner-park{ font-size:1.45rem; padding:.1rem 0; }
.hero-slim .site-ride-banner-ride{ font-size:1.05rem; padding:.1rem 0; }

.hero-photo::before{
	content:''; position:absolute; inset:0;
	background:linear-gradient(180deg, rgba(7,28,56,.5), rgba(7,28,56,.35) 45%, rgba(7,28,56,.7));
}
.hero-photo-left{ position:relative; z-index:1; display:flex; flex-direction:column; gap:.4rem; text-shadow:0 1px 4px rgba(0,0,0,.55); }
.hero-photo .hero-title{ color:#fff; }
.hero-photo .hero-weather{ align-self:flex-start; z-index:1; text-align:center; white-space:nowrap; text-shadow:0 1px 4px rgba(0,0,0,.55); }
.hero-photo .hero-weather .hh-col-right{
	display:grid; grid-template-columns:auto auto; column-gap:.3rem; row-gap:.12rem;
	justify-content:center; margin-top:.4rem;
	color:rgba(255,255,255,.85); font-family:var(--font-mono); font-size:.88rem; white-space:normal;
}
.hero-photo .hero-weather .hh-col-right .hh-lbl{ justify-self:end; }
.hero-photo .hero-weather .hh-col-right b{ color:#fff; justify-self:end; }
.hero-photo .hero-temp{ color:#fff; }
.hero-photo .hero-feels{ color:rgba(255,255,255,.85); }
.hero-photo .hero-feels b{ color:#fff; }
.hero-photo .hero-hilo{ color:rgba(255,255,255,.85); }
.hero-photo .hero-hilo b{ color:#fff; }
.hero-body{ /*padding-bottom:1.4rem*/ }
.hero-title{ font-family:var(--font-display); font-weight:800; font-size:1.7rem; }
.hero-hours{ margin-top:0; display:flex; flex-wrap:wrap; gap:.5rem; justify-content:center; }
.hero-photo .hero-hours{ justify-content:center; }
.hours-pill{
	display:flex; align-items:center; justify-content:space-evenly;
	width:100%; padding:.36rem .85rem;
	background:rgba(7,28,56,.5);
	border:1px solid rgba(255,255,255,.22);
	border-radius:999px;
	backdrop-filter:blur(3px);
}
.hero-photo .hero-hours .pill{
	background:none; border:0; box-shadow:none; border-radius:0;
	padding:0; margin:0; width:auto;
	display:inline-flex; align-items:baseline; gap:.28rem;
	font-family:var(--font-poppins); font-weight:600; font-size:.76rem;
	letter-spacing:.05em;
	color:rgba(255,255,255,.72);
	text-shadow:0 1px 4px rgba(0,0,0,.55);
}
.hero-photo .hero-hours .pill .pillTime{
	color:#fff; font-weight:700; font-size:.8rem; letter-spacing:0;
}
.hero-temp{ font-family:var(--font-mono); font-weight:800; font-size:3.4rem; line-height:.8; }
.hero-feels{ font-size:.99rem; color:var(--ink-muted); font-weight:600; }
.hero-hilo{ display:flex; gap:1rem; font-family:var(--font-poppins); font-size:.88rem; color:var(--ink-muted); }
.hero-hilo .hh-col{ display:grid; grid-template-columns:auto auto; column-gap:.3rem; row-gap:.12rem; align-content:end; }
.hero-hilo .hh-lbl{ justify-self:end; }
.hero-hilo b{ color:var(--navy-800); }

.alert{
	display:flex; align-items:flex-start; gap:.55rem; border-radius:12px; padding:.75rem 1rem;
	font-size:1rem; border:1px solid transparent; width:95%; margin:0 auto .55rem;
	border:1px solid;
}
.alert .alert-ico{ flex:0 0 2rem; width:2rem; text-align:center; font-size:2.15rem; line-height:1; margin-top:.05rem; }
.alert .alert-ico svg{ display:block; margin:0 auto; }
.alert .tag{
	font-family:var(--font-mono); font-size:.95rem; font-weight:700; text-transform:uppercase;
	padding:.15rem .5rem; border-radius:5px; color:#fff; margin-top:.1rem;
	flex:0 0 7rem; text-align:center;
}
.alert .alert-body{ flex:1; min-width:0; }
.alert .smalltime{ font-size:.72rem; opacity:.75; margin-top:.15rem; }
.alert-heat{ background:#fdeceb; color:var(--alert-heat); border-color:currentColor; align-items:center;}
.alert-heat .tag{ background:var(--alert-heat); }
.alert-storm{ background:#f1eefc; color:#4a3d99; border-color:currentColor; align-items:center; }
.alert-storm .tag{ background:var(--alert-storm); }
.alert-rain{ background:#e8f3fe; color:#1c5a8f; border-color:currentColor; align-items:center; }
.alert-rain .tag{ background:var(--sky-blue); }
.alert-severe{ background:#fbe6e8; color:var(--alert-severe); border-color:currentColor; align-items:center; }
.alert-severe .tag{ background:var(--alert-severe); }
.alert-snapshot{ background:var(--sky-50); color:var(--navy-800); border-color:var(--border); font-weight:400; }
.alert-snapshot .tag{ background:var(--label-blue); align-items:center; }

.date-line{ font-family:var(--font-poppins); font-size:.8rem; color:var(--ink-muted); width:95%; margin:0 auto .6rem; text-align:center; }

.weather-heading{ width:95%; max-width:600px; margin:0rem auto 1rem; text-align:center; position:relative; padding-bottom:.7rem; }
.weather-heading h1.section-label, .weather-heading h2.section-label{ width:auto; max-width:none; margin:0; padding:0; }
.weather-heading h1.section-label::after, .weather-heading h2.section-label::after{ content:none; }
.weather-heading .date-line{ width:auto; margin:.35rem auto 0; }
.weather-heading::after{
	content:''; position:absolute; left:50%; bottom:0; transform:translateX(-50%);
	width:50vw; height:3px; border-radius:3px; background:var(--sky-blue);
}
.page-intro{
	width:95%; max-width:600px; margin:0 auto .8rem;
	font-family:var(--font-body); font-size:.92rem; line-height:1.45;
	color:var(--ink-muted); text-align:center;
}
.snap-card{ background:#fff; padding:1rem 1.2rem; width:95%; margin:0 auto .55rem; }
.snap-head{ display:inline-block; font-family:var(--font-mono); font-size:.68rem; font-weight:700; text-transform:uppercase; letter-spacing:.04em; background:var(--label-blue); color:#fff; padding:.3rem .7rem; border-radius:999px; margin-bottom:.6rem; }
.snap-text{ font-size:1rem; color:var(--ink-muted); line-height:1.55; margin:0; }
.snap-sep{ width:50%; height:3px; border-radius:3px; background:var(--sky-blue); margin:1.1rem auto .9rem; }

.forecast-card{ background:#fff; border:1px solid var(--border); border-radius:var(--radius); box-shadow:var(--shadow); overflow-x:auto; width:95%; margin:0 auto; }
table.hourly{ width:100%; border-collapse:collapse; font-size:1rem; font-family:var(--font-poppins) }
table.hourly th{
	background:var(--label-blue); color:#fff; font-weight:600;
	text-transform:uppercase; font-size:.8rem; letter-spacing:.03em; padding:.45rem .15rem; text-align:center;
}
table.hourly th + th{ border-left:1px solid rgba(255,255,255,.45); }
table.hourly th:first-child{ padding-left:.8rem; }
table.hourly td{ padding:.4rem .15rem; text-align:center; border-bottom:1px solid var(--border); font-variant-numeric:tabular-nums;  }
table.hourly tr.day-row td{ font-size:24px; background:var(--navy-800); color:#fff; font-family:var(--font-display); font-weight:800; text-align:left; padding-left:.8rem; border-bottom:none; }
table.hourly td.time{ text-align:left; padding-left:.8rem; white-space:nowrap; width:1%; }
table.hourly td.warn-col{ text-align:left; padding-left:0; white-space:nowrap; width:1%; }
table.hourly td.time .t{ font-weight:700; font-size:.9rem; }
.wbadge{ display:inline-flex; align-items:center; justify-content:center; gap:.2rem; min-height:1.5rem; font-family:var(--font-poppins); font-size:.66rem; font-weight:700; padding:.12rem .1rem; border-radius:4px; text-transform:uppercase; letter-spacing:.02em; vertical-align:middle; }
.wbadge .ico{ font-size:1.15rem; line-height:1; }
.wbadge.heat{ background:#fdeceb; color:var(--alert-heat); border:1px solid #f6cfc9;  }
.wbadge.storm{ background:#fff4e5; color:#a05a00; border:1px solid #ffdca8; }
.wbadge.storm-mod{ background:#ffe4cc; color:#9a4200; border:1px solid #ffc999; }
.wbadge.storm-hi{ background:#ffd6d6; color:#a01616; border:1px solid #f2a8a8; }
table.hourly td.pill-cell{ position:relative; padding:.4rem 3px; }
table.hourly .wxpill{
	position:absolute; inset:0 3px; display:flex; align-items:center; justify-content:center;
	border-radius:6px; font-weight:500; font-size:.9rem;
}
table.hourly .wxpill.feels-hot{ background:var(--alert-heat); color:#fff; white-space:nowrap; }
table.hourly .wxpill.feels-hot .thermo{ margin-right:.15rem; }
table.hourly .wxpill.rain-hi{ color:#fff; background:var(--wait-heavy); }
table.hourly .wxpill.rain-mid{ color:#7a4a00; background:#ffe9c2; }
table.hourly .wxpill.uv-low{ color:#fff; background:#3ea72d; }
table.hourly .wxpill.uv-mod{ color:#5c5300; background:#fff300; }
table.hourly .wxpill.uv-high{ color:#fff; background:#f18b00; }
table.hourly .wxpill.uv-vhigh{ color:#fff; background:#e53210; }
table.hourly .wxpill.uv-extreme{ color:#fff; background:#b54cff; }

table.hourly tr.sun-row td{ text-align:center; color:var(--ink-muted); font-style:italic; font-size:.95rem; padding:.4rem; }
table.hourly tr.sun-row img{ width:32px; vertical-align:middle; margin-right:.3rem; }
table.hourly tr.more-row td{ text-align:center; padding:.7rem; border-bottom:none; }
.more-link{
	display:inline-block; background:#f0ffff; color:var(--sky-blue); font-weight:600; font-size:.82rem;
	padding:.4rem .9rem; border-radius:6px; border:1px solid var(--sky-blue);
	text-decoration:none; white-space:nowrap;
}

.forecast-blurb-card{ background:#fff; bpadding:1rem 1.2rem; width:95%; margin:0 auto; }
.forecast-blurb-time{
	display:inline-block; font-family:var(--font-mono); font-size:.78rem; font-weight:700;
	background:var(--label-blue); color:#fff; padding:.3rem .8rem; border-radius:999px; margin-bottom:.5rem;
}
.forecast-blurb-text{ font-size:1rem; color:var(--ink-muted); line-height:1.5; margin:0 0 1rem; }
.forecast-blurb-text:last-child{ margin-bottom:0; }

.rain-chart-card{background:#fff; padding:1rem 1.2rem; width:95%; margin:0 auto; }
.rain-blurb{ margin:0 0 .9rem; font-size:.95rem; line-height:1.5; color:var(--navy-900); text-align:center; }
.rain-blurb b{ color:var(--label-blue); }
.rain-bars{ display:flex; align-items:flex-end; gap:6px; height:125px; }
.rain-bar-col{ flex:1; display:flex; flex-direction:column; align-items:center; height:100%; }
.rain-bar-track{ flex:1 1 auto; min-height:0; width:100%; display:flex; flex-direction:column; justify-content:flex-end; align-items:center; }
.rain-bar{ width:100%; border-radius:3px 3px 0 0; flex:0 0 auto; }
.rain-bar-pct{ font-family:var(--font-mono); font-size:.68rem; font-weight:700; margin-bottom:3px; }
.rain-bar-hour{ font-family:var(--font-mono); font-size:.65rem; color:var(--ink-muted); margin-top:.3rem; }

.uv-alert{
	display:flex; align-items:center; gap:8px; background:#fdeceb; color:var(--alert-heat);
	border-radius:10px; padding:.6rem .9rem; font-size:1rem; margin-top:.8rem;
}
.uv-alert i{ flex:0 0 auto; display:flex; }
.uv-alert svg{ display:block; }

.ride-card{
	background:#fff; border:2px solid #b4c8de; border-radius:var(--radius);
	box-shadow:var(--shadow); overflow:hidden; width:95%; margin:0 auto 1.1rem;
}
.ride-top{ display:flex; background:var(--sky-50); }
.ride-left{ background:var(--sky-50); flex:1; padding:.5rem .5rem; display:flex; flex-direction:column; align-items:flex-start; }
.ride-name{ font-family:var(--font-display); font-weight:800; font-size:1.5rem; }
.ride-tags{ min-height:1.45rem; margin-bottom:.4rem; }
.indoor-tag{
	display:inline-flex; align-items:center; gap:4px; font-family:var(--font-poppins); font-size:1rem;
	color:var(--sky-blue); border:1px solid #b4c8de; background:#eef8ff; padding:.15rem .5rem; border-radius:5px;
}
.indoor-tag.tag-halloween{ color:#c05a00; border-color:#ffd8a8; background:#fff4e6; }
.indoor-tag.tag-christmas{ color:#c0392b; border-color:#f3c6cb; background:#fdeceb; }

.indoor-tag:not(.tag-halloween):not(.tag-christmas){
	color:var(--navy-800); background:none; border:none; border-radius:0;
	padding:0 0 3px; border-bottom:3px solid var(--sky-blue);
}

.ride-right{
	width:158px; flex:0 0 auto; color:#fff; text-align:center; display:flex; flex-direction:column;
	border-bottom-left-radius:14px; position:relative;
}
.wt-head{ background:var(--label-blue); font-family:var(--font-display); font-weight:700; font-size:.82rem; padding:.4rem 0; }
.wt-body{ flex:1; display:flex; flex-direction:column; align-items:center; justify-content:center; padding:.6rem .6rem 1.3rem; gap:0rem; }
.wt-body:has(.ride-delay-text){ justify-content:center; }
.ride-right .wait-num{ font-family:'Poppins', sans-serif; font-weight:600; font-size:2.6rem; line-height:1; text-shadow:none; }
.ride-right .wait-label{ font-size:1.3rem; font-weight:600; opacity:.9; margin-top:-.2rem; }
.ride-delay-text{ font-family:var(--font-display); font-weight:700; font-size:1.15rem; padding:.6rem 0; }
.trend{ width:90%; margin:0 auto; background:#fff; border-radius:8px; padding:.4rem .55rem; display:flex; gap:.5rem; align-items:center; text-align:left; font-family:var(--font-body); }
.trend .bar{ width:4px; align-self:stretch; border-radius:2px; flex:0 0 auto; }
.trend .big{ font-weight:800; font-size:.94rem; }
.trend .sub{ font-size:.88rem; color:var(--ink-muted); }
.trend.up .bar{ background:var(--wait-heavy); }
.trend.up .big{ color:var(--wait-heavy); }
.trend.down .bar{ background:#1b8a3a; }
.trend.down .big{ color:#1b8a3a; }

.stats-btn{
	display:inline-block; background:#f0ffff; color:var(--sky-blue); font-weight:600; font-size:.78rem;
	padding:.4rem .9rem; border-radius:6px; border:1px solid var(--sky-blue); text-decoration:none; white-space:nowrap;
}
.stats-float{ position:absolute; left:50%; bottom:-15px; transform:translateX(-50%); z-index:3; box-shadow:0 2px 6px rgba(10,47,92,.15); }

.ride-closed-note{ background:#fdeceb; color:var(--alert-heat); font-size:.8rem; text-align:center; padding:.5rem 1rem; margin:1.6rem 1rem .8rem; border-radius:8px; box-shadow:0 0 0 1.6rem var(--sky-50); }

.heat-empty{ height:20px; background:var(--sky-50); }
.heat-cap{ padding:14px 1rem .25rem; background:var(--sky-50); }
.heat-cap .lbl{ font-size:.68rem; font-weight:700; color:var(--ink-muted); text-transform:uppercase; letter-spacing:.03em; }
.heatbar-wrap{ background:var(--sky-50); padding:0 1rem; }
.heatMap{ display:flex; height:30px; border-radius:8px; overflow:hidden; background:#d8e2f0; }
.heatMap > div{ display:flex; width:100%; }

.heatMapBlock{ height:30px; flex:1 1 0 !important; width:auto !important; min-width:0; }
.heatMapFuture{ height:30px; background:#d8e2f0; }
.timeline{ padding:.35rem 1rem .7rem; font-family:var(--font-body); font-weight:600; font-size:.68rem; color:var(--ink-muted); background:var(--sky-50); }
.timeline-track{ position:relative; height:1rem; }
.timeline .timeframe{ position:absolute; top:0; white-space:nowrap; }

.bg-light{ background:var(--wait-light); }
.bg-mostlylight{ background:var(--wait-mostlylight); }
.bg-moderate{ background:var(--wait-moderate); }
.bg-heavy{ background:var(--wait-heavy); }
.bg-unbearable{ background:var(--wait-unbearable); }
.bg-delay{ background:var(--wait-delay); }
.bg-zero{ background:#000; }
.bg-delayed{ background:#ccc; }
.bg-delayed .ride-delay-text{ color:#1a1a1a; }

.waitTimeLegend{ display:flex; flex-wrap:wrap; justify-content:center; gap:.45rem .9rem; width:95%; margin:0 auto 1rem; }
.waitTimeLegendItem{ display:flex; align-items:center; gap:.35rem; }
.waitTimeLegendSwatch{ width:14px; height:14px; border-radius:4px; flex:0 0 auto; }
.waitTimeLegendLabel{ font-size:.72rem; color:var(--ink-muted); font-weight:600; }

.css_waitTimeZERO{ background-color:#000; }
.css_waitTimeLight{ background-color:#28a745; }
.css_waitTimeMostlyLight{ background-color:#108d10; }
.css_waitTimeModerate{ background-color:#ee9f4b; }
.css_waitTimeHeavy{ background-color:#de3545; }
.css_waitTimeUnbearable{ background-color:#870814; }

.css_waitTimeDelayed{ background-color:#6a5fc4; color:#fff !important; }
.css_waitTimeClosed{ background-color:#000; color:#fff; }
.css_waitTimeWeatherDelay{ background-color:#aaa; color:#fff; }
.css_waitTimeAtCapacity{ background-color:#000; color:#fff; font-size:3vw; }
.css_delayedText{ font-size:3vw; color:#000; padding-top:5px; }

.css_waitTimeText{ font-weight:700; line-height:1; padding:.3rem 0; font-size:2.5em; }
.css_waitTimeTextParkName{ font-size:4em; }
.css_waitTimeTextWD{ padding:5px; font-size:5.5vw; }
.css_waitTimeTextAC{ padding:5px; font-size:5vw; }
.css_waitTimeTextD{ padding:5px; font-size:1.3em; }
.css_calendarWaitTimeClosed{ font-size:1.7em; background-color:#000; color:#fff; }

.site-dropdown-wrap,
.site-links a{-webkit-tap-highlight-color:transparent}


.wto
{
    position: relative;
    max-width: 600px;
	width:95%;
    margin: 2rem auto;
    border-radius: 22px;
    box-shadow: 0 14px 34px rgba(10, 47, 92, .18);
    border: 2px solid #a5cdff;
    overflow: visible;
	
}
.wto-clip{overflow: hidden; }

.waitTimeOuter, .wto-clip{border-radius: 20px;}


.waitTimeOuter
{
    width: 100%;
    height: 1px;
    border-collapse: separate;
    border-spacing: 0;
    overflow: hidden;
    table-layout: fixed;
    border: 0;
}

.waitTimeOuter td { vertical-align: top; padding: 0; }

.left-col
{
    background: var(--sky-50);
    width: 70%;
    border-radius: 22px 0 0 22px;
}

.left-col-body { padding: .7rem 1.5rem 0; }

.hours-banner{
	background:#dbe9fa; color:var(--navy-800);
	font-family:var(--font-poppins); font-weight:600; font-size:.82rem;
	padding:.35rem 1rem;
	border-radius:22px 0 0 0;
	border-bottom:1px solid var(--border);
}
.hours-banner b{ color:var(--sky-blue); }
.hours-banner .pillTime{ color:var(--sky-blue); font-weight:700; }

.rideNameIndex
{
    font-family: var(--font-display);
    font-weight: 800;
    color: var(--navy-900);
    font-size: 1.6rem;
    line-height: 1.15;
}

.siteButtons
{
    display: flex;
    gap: .6rem;
    margin-bottom: .5rem;
    flex-wrap: wrap;
}

.hero-body .siteButtons{ margin-bottom: 0; margin-top: 1rem; justify-content: center; }

.aIndex
{
    background-color: #f0ffff;
    color: var(--sky-blue);
    font-weight: 600;
    font-size: .85rem;
    padding: .55rem 1rem;
    border-radius: 6px;
    text-decoration: none;
    border: 1px solid var(--sky-blue);
    transition: background-color .2s ease, color .2s ease;
}

.idxRidesOpen
{
    display: block;
    width: fit-content;
    align-items: center;
    gap: .4rem;
    background: #e6f9ea;
    color: var(--wait-mostlylight);
    font-weight: 700;
    font-size: .95rem;
    padding: .35rem .9rem;
    border-radius: 999px;
    margin-bottom: .4rem;
}

.idxRidesOpen::before
{
    content: '';
    display: inline-block;
    width: 8px;
    height: 8px;
    border-radius: 50%;
    background: var(--wait-mostlylight);
    vertical-align: middle;
    margin-right: 2px;
}

.ridesParkClosed
{
    display: block;
    width: fit-content;
    background: #eee;
    color: #000;
    font-weight: 700;
    font-size: .95rem;
    padding: .35rem .9rem;
    border-radius: 999px;
    margin-bottom: .4rem;
}

.ridesParkClosed::before
{
    content: '';
    display: inline-block;
    width: 8px;
    height: 8px;
    border-radius: 50%;
    background: #000;
    vertical-align: middle;
    margin-right: 2px;
}

.idxRidesClosed
{
    display: block;
    width: fit-content;
    background: #fdeaea;
    color: #c0392b;
    font-weight: 700;
    font-size: .95rem;
    padding: .35rem .9rem;
    border-radius: 999px;
    margin-bottom: .4rem;
}

.idxRidesClosed::before
{
    content: '';
    display: inline-block;
    width: 8px;
    height: 8px;
    border-radius: 50%;
    background: #de3545;
    vertical-align: middle;
    margin-right: 2px;
}

.right-col
{
    width: 30%;
    height: 100%;
    color: #fff;
    text-align: center;
    position: relative;
    border-radius: 0 22px 22px 0;

}

.waitTimeBanner
{
    background: var(--navy-800);
    font-family: var(--font-display);
    font-weight: 700;
    font-size: 1.05rem;
    line-height: 1.3;
    padding: 2rem 0 .7rem;
}

.right-col-inner
{
    height: 100%;
    display: flex;
    flex-direction: column;
}

.wait-lower
{
    flex: 1;
    display: flex;
    flex-direction: column;
}

.right-col .siteButtons
{
    flex-direction: column;
    gap: .4rem;
    margin: 0;
    padding: 0 .7rem 1rem;
}
.right-col .siteButtons .aIndex { text-align: center; white-space: nowrap; }
/* One rule per button so each can be sized independently. */
.right-col .siteButtons .aIndexViewPark { font-size: 1rem; }
.right-col .siteButtons .aIndex7Day     { font-size: 1rem; }
.right-col .siteButtons .aIndexHHN      { font-size: 1rem; }

.wait-body
{
    padding: .5rem .5rem .5rem;
    flex: 1;
    display: flex;
    flex-direction: column;
    justify-content: center;
}

.wait-body:has(.park-closed-text) { justify-content: center; }

.park-closed-text
{
    font-family: var(--font-display);
    font-weight: 700;
    font-size: 1.4rem;
}

.wait-num
{
    font-family: var(--font-poppins);
    font-weight: 800;
    font-size: 4.0rem;
    line-height: 1;
    text-shadow: 0 3px 8px rgba(0, 0, 0, .18);
}

.minutesText
{
    font-size: .9rem;
    font-weight: 600;
    opacity: .95;
}

.weatherBadge
{
    position: absolute;
    top: -16px;
    left: 85%;
    transform: translateX(-50%);
    display: flex;
    align-items: center;
    gap: 5px;
    background: #fff;
    border: 2px solid var(--navy-800);
    border-radius: 999px;
    padding: .35rem .8rem .35rem .5rem;
    box-shadow: 0 6px 14px rgba(10, 47, 92, .22);
    font-family: var(--font-mono);
    font-weight: 700;
    font-size: .95rem;
    color: var(--navy-800);
    z-index: 5;
}

.weatherBadge .weatherIcon
{
    width: 26px;
    height: 26px;
    display: block;
}

.left-col-wrap
{
    height: 100%;
    display: flex;
    flex-direction: column;
}

.left-col-body-bottom
{
    padding: .5rem .5rem 1rem;
    flex: 1;
    display: flex;
    flex-direction: column;
}

.pill
{
    display: inline-block;
    font-family: var(--font-poppins);
    font-size: .82rem;
    font-weight: 700;
    background: #fff;
    border: 1px solid var(--border);
    border-radius: 999px;
    padding: .5rem 1.1rem;
	padding: .5rem;
    box-shadow: 0 2px 8px rgba(10, 47, 92, .06);
    color: var(--navy-800);
    margin-top: auto;
    width: fit-content;
}
.pillTime{font-weight:600; color: var(--sky-blue);}
.pill b { color: var(--sky-blue); }

.footer
{
    position: fixed;
    bottom: 0;
    width: 100%;
    height: 60px;
    z-index: 1000;
}

.site-legal{
	width:95%; max-width:600px; margin:2rem auto 0;
	padding-top:1.2rem; border-top:1px solid var(--border);
	font-family:var(--font-body); font-size:.72rem; line-height:1.5;
	color:var(--ink-muted); text-align:justify;
}
.site-legal p{ margin:0 0 .7rem; }
.legal-social{ margin-bottom:1rem; text-align:center; }
.legal-social a{
	display:inline-flex; align-items:center; gap:.4rem;
	color:var(--navy-800); text-decoration:none;
	font-family:var(--font-poppins); font-weight:700; font-size:.86rem;
}
.legal-social a:hover{ color:var(--sky-blue); }

.site-footer{
	height:auto; background:var(--navy-800); color:#fff;
	padding:.28rem max(.7rem, calc((100% - 640px) / 2));
	font-family:var(--font-poppins);
	box-shadow:0 -4px 14px rgba(7,28,56,.18);
}
.site-footer .ft-row + .ft-row{ margin-top:.4rem; padding-top:.4rem; border-top:1px solid rgba(255,255,255,.14); }

.ft-cond{ display:flex; align-items:center; justify-content:space-between; gap:.5rem; }
.ft-grp{ display:flex; align-items:center; gap:.28rem; font-size:1.05rem; font-weight:600; white-space:nowrap; }
.ft-ico{ font-size:1.15rem; line-height:1; }
.ft-mut{ color:rgba(255,255,255,.62); font-weight:500; font-size:.86rem; }
.ft-sep{ width:1px; height:18px; background:rgba(255,255,255,.2); flex:0 0 auto; }
.ft-alerts{
	margin:-.28rem -.7rem 0; padding:.3rem 0;
	background:var(--alert-heat); overflow:hidden;
}
.ft-track{ display:flex; gap:.5rem; width:max-content; padding-left:.7rem; animation:ftScroll linear infinite; }
.ft-alerts.static .ft-track{ width:100%; justify-content:center; padding-left:0; animation:none; }
@keyframes ftScroll{ from{ transform:translateX(0); } to{ transform:translateX(-50%); } }

.ft-bub{
	display:inline-flex; align-items:center; gap:.3rem; white-space:nowrap;
	border:1px solid rgba(255,255,255,.35);
	border-radius:999px; padding:.14rem .65rem;
	font-size:.9rem; font-weight:700; color:#fff;
}
.ft-bub.ft-a-severe{ background:var(--alert-severe); }
.ft-bub.ft-a-rain{ background:var(--sky-blue); }
.ft-bub.ft-a-delay{ background:var(--alert-storm); }
.ft-bub.ft-a-heat{ background:var(--alert-heat); }
.ft-bub .ft-ico{ font-size:1rem; }
.ft-bub .ft-mut{ color:rgba(255,255,255,.85); font-weight:500; font-size:.78rem; }
.site-footer .ft-alerts + .ft-row{ margin-top:.28rem; padding-top:0; border-top:none; }
.ft-cond.ft-hot .ft-mut{ color:rgba(255,255,255,.8); }

.ft-dot{ width:8px; height:8px; border-radius:50%; flex:0 0 auto; }
.ft-dot.open{ background:#7ee08a; }
.ft-dot.dly{ background:#ffc978; }
.ft-dot.cls{ background:#ff9d9d; }

.ft-cnt{ display:flex; align-items:stretch; text-align:center; }
.ft-c{ flex:1; }
.ft-c + .ft-c{ border-left:1px solid rgba(255,255,255,.16); }
.ft-v{ display:block; font-family:var(--font-display); font-weight:800; font-size:1.1rem; line-height:1; }
.ft-v small{ font-size:.62em; }
.ft-k{ display:block; font-size:.62rem; line-height:1.1; text-transform:uppercase; letter-spacing:.05em; color:rgba(255,255,255,.62); font-weight:600; }
.ft-v.ok{ color:#7ee08a; } .ft-v.warn{ color:#ffc978; } .ft-v.wx{ color:#b9b1f0; } .ft-v.bad{ color:#ff9d9d; }
.ft-v.up{ color:#ff9d9d; } .ft-v.dn{ color:#7ee08a; }

.ft-swiwrap{ position:relative; }
.ft-swi{ display:flex; align-items:center; gap:.35rem; overflow-x:auto; scrollbar-width:none; padding-right:1.4rem; }
.ft-swi::-webkit-scrollbar{ display:none; }
.ft-swi .ft-pk,
.ft-swi .ft-pk:visited{
	flex:0 0 auto; font-size:.76rem; font-weight:600; padding:.3rem .6rem; border-radius:999px;
	background:rgba(255,255,255,.12); border:1px solid rgba(255,255,255,.18);
	white-space:nowrap; color:#fff; text-decoration:none;
}
.ft-swi .ft-pk.on{ background:#fff; color:var(--navy-800); border-color:#fff; }
.ft-fade{
	position:absolute; top:0; right:0; bottom:0; width:34px; pointer-events:none;
	background:linear-gradient(to right, rgba(10,47,92,0), var(--navy-800) 72%);
}


.statusRow
{
    display: flex;
    flex-wrap: wrap;
    gap: .35rem;
    margin-bottom: .5rem;
}

.statusChip
{
    display: inline-flex;
    align-items: center;
    font-size: 1.0rem;
    font-weight: 700;
    padding: .2rem .7rem;
    border-radius: 999px;
    white-space: nowrap;
	border:1px solid;
}

.chip-open { background: #e6f9ea; color: var(--wait-mostlylight); }
.chip-weather { background: #fdeaea; color: #c0392b; }
.chip-closed { background: #ccc; color: #000; }
.chip-delayed { background: #fff4e5; color: #b06000; }

@media (max-width: 480px)
{
    .left-col { width: 64%; }
    .right-col { width: 36%; }

    .weatherBadge { left: 82%; }

    .aIndex
    {
        font-size: .74rem;
        padding: .5rem .65rem;
    }

    .siteButtons { gap: .4rem; }

    .left-col-body-bottom .pill
    {
        display: block;
        width: 100%;
        text-align: center;
        box-sizing: border-box;
    }
}

.label{
	font-family:var(--font-display); font-weight:800; font-size:2rem; color:var(--navy-900);
	text-align:center; width:95%; max-width:600px; margin:1.4rem auto .1rem;
}
.dateText{
	font-family:var(--font-poppins); font-size:.9rem; color:var(--ink-muted); text-align:center;
	width:95%; max-width:600px; margin:0 auto; position:relative; padding-bottom:.7rem;
}
.dateText::after{
	content:''; position:absolute; left:50%; bottom:0; transform:translateX(-50%);
	width:50vw; height:3px; border-radius:3px; background:var(--sky-blue);
}

.weatherTime{
	font-family:var(--font-display); font-weight:800; font-size:1.15rem; color:var(--navy-900);
	text-align:center; /*padding:1.4rem 0 .2rem;*/
}

.weather_hour_table,
.rideStatSummaries{
	width:95%; max-width:600px; margin:0 auto 1.2rem;
	border-collapse:separate; border-spacing:0;
	background:#fff; border:1px solid var(--border); border-radius:var(--radius);
	box-shadow:var(--shadow); overflow:hidden; font-family:var(--font-body); font-size:.85rem;
}
.weather_hour_table th,
.rideStatSummaries th{
	background:var(--navy-800); color:#fff; font-family:var(--font-display); font-weight:700;
	font-size:.72rem; text-transform:uppercase; letter-spacing:.02em; padding:.55rem .6rem;
	text-align:center; border:none;
}
.weather_hour_table td,
.rideStatSummaries td{
	padding:.45rem .6rem; border:none; border-top:1px solid var(--border);
	text-align:center; color:var(--navy-900);
}

.ride_hour_table td:first-child{
	text-align:left; color:var(--ink-muted); font-size:.85rem; font-weight:700
}
.ride_hour_table td.dayOfWeek{
	background:var(--sky-50); color:var(--label-blue); font-family:var(--font-poppins);
	font-size:.72rem; text-transform:uppercase; letter-spacing:.03em; font-weight:700; text-align:center;
}
.ride_hour_table .rideDay{ font-family:var(--font-poppins); font-weight:700; }
.hour_line_item{ font-family:var(--font-poppins); }

.rideStatSummaries td:first-child{
	text-align:left; font-family:var(--font-poppins); font-size:.72rem; text-transform:uppercase;
	letter-spacing:.02em; color:var(--label-blue); font-weight:700;
}
.rideStatSummaries .pct{ font-family:var(--font-mono); color:var(--ink-muted); }

.rideStatSummaries .heat-low{  background:#e9f9ee; color:var(--wait-mostlylight); font-weight:700; }
.rideStatSummaries .heat-mid{  background:#fff2df; color:#b06000;                  font-weight:700; }
.rideStatSummaries .heat-high{ background:#fdecec; color:var(--wait-heavy);        font-weight:700; }

.rideStatsCalendar{
	width:95%; max-width:600px; margin:0 auto 0;
	border-collapse:separate; border-spacing:4px; font-family:var(--font-body);
	table-layout:fixed;
}
.rideStatsCalendar col,
.rideStatsCalendar tbody td{ width:14.28%; }
.rideStatsCalendar thead th[colspan]{
	background:var(--navy-800); color:#fff; font-family:var(--font-display); font-weight:800;
	font-size:1.05rem; padding:.6rem; border-radius:10px; text-align:center;
}
.rideStatsCalendar .rideStatsDOW{
	color:var(--ink-muted); font-family:var(--font-mono); font-size:.68rem;
	text-transform:uppercase; font-weight:700; padding:.35rem 0;
}
.rideStatsCalendar .rideStatsTD{
	height:62px; vertical-align:top; text-align:center; color:#fff; padding:.25rem .3rem;
	border-radius:10px;
}
.rideStatsCalendar .rideStatsTD > div:first-child{
	font-family:var(--font-mono); font-size:.68rem; text-align:left; opacity:.85;
}
.rideStatsCalendar .rideDay{ font-family:var(--font-poppins); font-weight:800; font-size:1.7rem; line-height:1.1; }
.rideStatsCalendar .rideDay a{ color:#fff; text-decoration:none; }
.rideStatsCalendar .rideStatsEmpty{ background:none; }
.rideStatsCalendar .rideStatsFuture{ border:1px solid #ccc; }
.rideStatsCalendar .rideStatsToday{ outline:3px solid var(--sky-blue); outline-offset:-3px; }
.rideStatSummaries .row-closed{
	text-align:center; font-family:var(--font-poppins); font-weight:700;
	font-size:.82rem; letter-spacing:.04em; color:var(--alert-heat); background:#fdeceb;
}
.rideStatsCalendar .cal-closed{
	font-family:var(--font-poppins); font-size:.62rem; font-weight:700;
	line-height:1.15; letter-spacing:.02em; margin-top:.3rem; color:#fff;
}
.rideStatsCalendar .rideStatsNowLbl{
	display:inline-block;
	font-family:var(--font-poppins); font-size:.55rem; font-weight:700;
	line-height:1; margin-top:.15rem; padding:.15rem .35rem;
	color:#fff; background:#000; border-radius:999px;
}

.hourly-avg-chart{
	width:95%; max-width:600px; margin:0 auto 1.4rem;
	display:flex; align-items:flex-end; justify-content:center; gap:3px;
	padding:1rem .5rem .6rem; background:#fff; border:1px solid var(--border);
	border-radius:var(--radius); box-shadow:var(--shadow);
}
.hac-col{ flex:1 1 0; min-width:0; display:flex; flex-direction:column; align-items:center; }
.hac-val{ font-family:var(--font-mono); font-size:.58rem; color:var(--ink-muted); margin-bottom:3px; }
.hac-bar{ width:72%; max-width:24px; min-height:2px; border-radius:4px 4px 0 0; }
.hac-hr{ font-family:var(--font-mono); font-size:.55rem; color:var(--ink-muted); margin-top:4px; white-space:nowrap; }

.hourly-avg-chart.paired .hac-pair{ display:flex; align-items:flex-end; justify-content:center; gap:2px; }
.hourly-avg-chart.paired .hac-bcol{ display:flex; flex-direction:column; align-items:center; }
.hourly-avg-chart.paired .hac-val{ font-size:.5rem; margin-bottom:2px; }
.hourly-avg-chart.paired .hac-bar{ width:11px; max-width:11px; }
.hourly-avg-chart.paired .hac-b1{ background:var(--sky-blue); }
.hourly-avg-chart.paired .hac-b2{ background:var(--wait-moderate); }
.hac-legend{ display:flex; gap:1.2rem; justify-content:center; margin:-.8rem 0 1.4rem; font-family:var(--font-mono); font-size:.62rem; color:var(--ink-muted); }
.hac-legend .lg{ display:inline-flex; align-items:center; gap:.35rem; }
.hac-legend .lg::before{ content:''; width:11px; height:11px; border-radius:2px; }
.hac-legend .lg-1::before{ background:var(--sky-blue); }
.hac-legend .lg-2::before{ background:var(--wait-moderate); }

.hac-bar.hac-pred{ opacity:.72; background-image:repeating-linear-gradient(45deg, rgba(255,255,255,.45) 0 3px, rgba(255,255,255,0) 3px 7px); }

.dow-chart{ padding-top:1.6rem; }
.dow-chart .hac-col{ position:relative; }
.dow-chart .hac-bar{ width:70%; max-width:40px; border-radius:5px 5px 0 0; }
.dow-chart .hac-hr{ font-size:.66rem; text-transform:uppercase; letter-spacing:.02em; }
.dow-chart .hac-val{ font-size:.72rem; font-weight:700; color:var(--navy-900); }
.dow-chart .hac-col.today .hac-hr{ color:var(--sky-blue); font-weight:800; }
.dow-chart .hac-col.today .hac-bar{ outline:2px solid var(--sky-blue); outline-offset:2px; }

/* HHN dining menu */
.hhn-loc{ width:90%; max-width:820px; margin:0 auto 1.4rem; }
.hhn-loc-name{ font-family:var(--font-display); font-weight:700; color:var(--navy-900); font-size:1.15rem; margin:0 0 .5rem; }
.hhn-menu{ background:#fff; border:1px solid var(--border); border-radius:var(--radius); box-shadow:var(--shadow); padding:.3rem 1.1rem; }
.hhn-sub{ font-family:var(--font-display); font-weight:600; text-transform:uppercase; letter-spacing:.03em; font-size:.72rem; color:var(--navy-700); margin:.9rem 0 .1rem; }
.hhn-item{ padding:.6rem 0; border-bottom:1px solid var(--border); }
.hhn-item:last-child{ border-bottom:none; }
.hhn-item-head{ display:flex; justify-content:space-between; align-items:baseline; gap:1rem; }
.hhn-item-name{ font-family:var(--font-display); font-weight:600; color:var(--navy-900); }
.hhn-item-price{ font-family:var(--font-mono); font-weight:700; color:var(--navy-700); white-space:nowrap; }
.hhn-item-desc{ font-family:var(--font-poppins); font-size:.84rem; color:var(--ink-muted); margin-top:.15rem; line-height:1.35; }
.hhn-sizes{ margin-top:.35rem; }
.hhn-size{ display:flex; justify-content:space-between; max-width:240px; font-family:var(--font-mono); font-size:.76rem; color:var(--navy-900); padding:.05rem 0; }
.hhn-tags{ margin-top:.45rem; display:flex; flex-wrap:wrap; gap:.3rem; }
.hhn-tag{ font-family:var(--font-poppins); font-size:.66rem; background:var(--sky-50); color:var(--navy-700); border:1px solid var(--border); border-radius:999px; padding:.1rem .5rem; }
.hhn-tag.veg{ background:#eaf7ea; color:#2e7d32; border-color:#cbe6cb; }
.hhn-taglabel{ font-family:var(--font-poppins); font-size:.62rem; font-weight:700; text-transform:uppercase; letter-spacing:.04em; color:var(--navy-700); align-self:center; margin-right:.1rem; }
.hhn-diet{ display:inline-block; font-family:var(--font-poppins); font-size:.66rem; font-weight:600; background:#eaf7ea; color:#2e7d32; border:1px solid #cbe6cb; border-radius:999px; padding:.08rem .5rem; vertical-align:middle; white-space:nowrap; }
/* An HHN operating night with no wait figure yet - tinted so the run's schedule
   still reads on the calendar. */
.cal-shaded{ background:#c9d2dc; color:var(--navy-900); }
.hhn-bars-banner{ width:90%; max-width:820px; margin:1.6rem auto 1rem; text-align:center; font-family:var(--font-display); font-weight:700; font-size:1.15rem; color:#fff; background:var(--navy-700); border-radius:var(--radius); padding:.6rem 1rem; box-shadow:var(--shadow); }
.hhn-bars-sub{ display:block; font-family:var(--font-poppins); font-weight:600; font-size:.68rem; text-transform:uppercase; letter-spacing:.03em; color:rgba(255,255,255,.8); margin-top:.15rem; }
.hhn-house-card{ background:var(--sky-50); }

/* At-a-glance list of every house and its wait, above the cards. */
.hsnap{ width:90%; max-width:600px; margin:0 auto 1.2rem; background:#fff; border:1px solid var(--border); border-radius:var(--radius); box-shadow:var(--shadow); padding:0; overflow:hidden; }
/* Same header band as .rs-cap on the summary card below, so the two match. */
.hsnap-title{
	background:var(--sky-50); border-bottom:1px solid var(--border);
	font-family:var(--font-poppins); font-size:.76rem; font-weight:700;
	text-transform:uppercase; letter-spacing:.06em; color:var(--label-blue);
	padding:.3rem .7rem; text-align:left; margin:0 0 .5rem;
}
.brow{ display:grid; grid-template-columns:minmax(90px,46%) 1fr 46px; align-items:center; gap:.55rem; padding:.12rem 1rem; border-bottom:1px solid #f0f4f8; }
.brow:last-child{ border-bottom:none; }
.brow-name{ font-family:var(--font-poppins); font-size:.9rem; color:var(--navy-900); white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.brow-name a{ color:inherit; text-decoration:none; }
.brow-name a:hover{ text-decoration:underline; }
.brow-track{ height:14px; background:#f2f6fa; border-radius:4px; overflow:hidden; }
.brow-fill{ height:100%; border-radius:4px; }
.brow-val{ font-family:var(--font-poppins); font-weight:700; font-size:.95rem; text-align:right; color:var(--navy-900); }
.brow-val.closed{ color:#aaa; font-size:.66rem; font-weight:600; }
.hhn-filter{ display:flex; gap:.4rem; justify-content:center; flex-wrap:wrap; margin:0 auto 1.1rem; }
.hhn-fbtn{ font-family:var(--font-poppins); font-size:.8rem; font-weight:600; padding:.35rem .95rem; border-radius:999px; border:1px solid var(--border); background:#fff; color:var(--navy-700); cursor:pointer; }
.hhn-fbtn.is-active{ background:var(--navy-700); color:#fff; border-color:var(--navy-700); }
.hhn-drinks-toggle{ display:flex; align-items:center; justify-content:space-between; width:100%; gap:.5rem; margin:.7rem 0 .3rem; padding:.55rem .85rem; background:var(--sky-50); border:1px solid var(--border); border-radius:8px; cursor:pointer; font-family:var(--font-display); font-weight:600; font-size:.9rem; color:var(--navy-700); text-align:left; }
.hhn-drinks-toggle:hover{ background:var(--sky-100, #e6f0f7); }
.hhn-caret{ box-sizing:border-box; flex:0 0 auto; width:13px; height:13px; margin:0 .4rem .4rem 0; border-right:2.5px solid var(--navy-700); border-bottom:2.5px solid var(--navy-700); transform:rotate(45deg); transition:transform .18s ease; }
.hhn-drinks-toggle.open .hhn-caret{ transform:rotate(225deg); margin:.4rem .4rem 0 0; }
.hhn-note{ width:90%; max-width:820px; text-align:center; font-family:var(--font-poppins); font-size:.72rem; color:var(--ink-muted); margin:0 auto 1rem; }
.hhn-cta{ display:block; width:90%; max-width:520px; margin:.2rem auto 1rem; text-align:center; text-decoration:none; font-family:var(--font-display); font-weight:700; font-size:1rem; color:#fff; background:linear-gradient(135deg,#7b2ff7,#c0392b); padding:.8rem 1rem; border-radius:var(--radius); box-shadow:var(--shadow); }
.hhn-cta:hover{ filter:brightness(1.06); }
/* The HHN bar inside a park card on the home page - fills the card, not the page. */
.hhn-cta-card{ width:auto; max-width:none; margin:.45rem 0 .1rem; padding:.5rem .7rem; font-size:.9rem; }
.aIndexHHN{ background:linear-gradient(135deg,#7b2ff7,#c0392b); background-color:#7b2ff7; color:#fff; border-color:transparent; }
.aIndexHHN:hover{ filter:brightness(1.06); color:#fff; }
.dow-tag{
	position:absolute; top:-1.35rem; left:50%; transform:translateX(-50%);
	font-family:var(--font-mono); font-size:.5rem; font-weight:700; letter-spacing:.05em;
	color:#fff; background:var(--sky-blue); padding:.1rem .3rem; border-radius:4px; white-space:nowrap;
}
.dow-caption{
	width:95%; max-width:600px; margin:.1rem auto 1.4rem; display:flex; gap:1.4rem;
	justify-content:center; font-family:var(--font-body); font-size:.82rem; color:var(--navy-900);
}
.dow-caption b{ color:var(--navy-800); }
.dow-caption .dot{ display:inline-block; width:9px; height:9px; border-radius:50%; margin-right:.35rem; vertical-align:middle; }

.wait-chart{
	position:relative; width:95%; max-width:600px; margin:0 auto 1.4rem;
	background:#fff; border:1px solid var(--border); border-radius:var(--radius);
	box-shadow:var(--shadow); padding:.6rem .6rem .3rem;
}
.wait-bars{ display:flex; align-items:flex-end; gap:2px; height:150px; overflow:hidden; }
.wait-bars.dense{ gap:0; }
.wait-bars .wb{
	flex:1 1 0; min-width:0; min-height:2px; border-radius:3px 3px 0 0;
	display:flex; flex-direction:column; align-items:center;
}
.wait-bars.dense .wb{ border-radius:0; }
.wait-bars .wb-val{ font-family:var(--font-poppins); font-weight:700; font-size:var(--wb-font, .8rem); color:#fff; margin-top:2px; line-height:1; }
.wait-bars.vlabels .wb-val{ writing-mode:vertical-rl; text-orientation:upright; line-height:1; letter-spacing:-1.5px; margin-top:3px; }
.wait-bars .wb-gap{ background:none; min-height:0; }
.wait-bars .wb-delay{ background-image:repeating-linear-gradient(45deg, rgba(255,255,255,.4) 0 3px, rgba(255,255,255,0) 3px 7px); opacity:.85; }
.wait-axis{ position:relative; height:16px; margin-top:8px; }
.wax{
	position:absolute; top:0; transform:translateX(-50%);
	font-family:var(--font-poppins); font-size:.55rem; color:var(--ink-muted); white-space:nowrap;
	font-weight:700;
}
.wait-plot{ display:flex; align-items:stretch; }
.wait-ylabels{ position:relative; flex:0 0 1.4rem; }
.wait-ylab{
	position:absolute; right:.45rem; transform:translateY(50%);
	font-family:var(--font-mono); font-size:.55rem; color:var(--ink-muted); line-height:1;
}
.wait-plot .wait-bars{ position:relative; flex:1 1 auto; min-width:0; }
.wait-plot .wb{ position:relative; z-index:1; }
.wait-gridline{ position:absolute; left:0; right:0; height:1px; background:var(--border); z-index:0; pointer-events:none; }
.wait-plot + .wait-axis{ margin-left:2rem; }

.snap-card, 
.forecast-blurb-card, 
.rain-chart-card, 
.forecast-card, 
.rides-summary,
.ride-card,
.rides,
.crowd,
.hsnap
{
	border: 3px solid var(--border);
	border-radius:var(--radius);
	box-shadow:var(--shadow);
} /*2px solid #b4c8de;*/

.rides-summary.stacked .crowd{
	width:100%; margin:0; padding:1.1rem 1rem .8rem;
	background:transparent; border:0; border-radius:0; box-shadow:none;
	position:relative;
}
.rides-summary.stacked .crowd::before{
	content:''; position:absolute; top:0; left:50%; transform:translateX(-50%);
	width:50%; height:3px; border-radius:3px; background:var(--sky-blue);
}

@media (min-width:601px){
	.alert,
	.snap-card,
	.forecast-blurb-card,
	.rain-chart-card,
	.forecast-card,
	.ride-card,
	.parkWeatherBlurb,
	.weather-row{
		max-width:600px;
	}

	.weather-row{ margin-left:auto; margin-right:auto; }

	.parkWeatherBlurb{ font-size:1rem; }
}

.hero-actions{
	width:100%; position:relative; z-index:1;
	display:flex; gap:.5rem; align-items:stretch;
	margin-top:.55rem;
}
.hero-action,
.hero-action:visited{
	flex:1 1 0; min-width:0;
	display:inline-flex; align-items:center; justify-content:center; gap:.38rem;
	background:#fff;
	padding:.5rem .5rem;
	border-radius:10px;
	color:var(--navy-900); text-decoration:none;
	font-family:var(--font-poppins); font-weight:700; font-size:.85rem;
	white-space:nowrap;
	box-shadow:0 2px 0 rgba(0,0,0,.28);
	transition:transform .12s ease, box-shadow .12s ease, background .12s ease;
}
.hero-action svg{ flex:0 0 auto; color:var(--sky-blue); }
.hero-action:hover{
	background:var(--sky-50);
	transform:translateY(-1px);
	box-shadow:0 3px 0 rgba(0,0,0,.32);
}
.hero-action:active{
	transform:translateY(1px);
	box-shadow:0 1px 0 rgba(0,0,0,.28);
}

.alert-foot{
	display:flex; align-items:center; justify-content:space-between; gap:.6rem;
	margin-top:.55rem; flex-wrap:wrap;
}
.alert-foot .alert-btn{ margin-left:auto; }
.alert-btn{
	display:inline-block; padding:.32rem .8rem; border-radius:999px;
	background:var(--sky-blue); color:#fff; text-decoration:none;
	font-family:var(--font-body); font-size:.82rem; font-weight:700; white-space:nowrap;
}
.alert-btn:hover{ background:var(--navy-800); }

.rday-toggle{
	display:block; width:calc(100% - 2rem); margin:.6rem 1rem .9rem; padding:.5rem .8rem;
	font-family:var(--font-body); font-size:.9rem; font-weight:600; color:var(--navy-800);
	background:#fff; border:2px solid var(--border); border-radius:8px; cursor:pointer;
	box-shadow:0 0 0 1rem var(--sky-50);
}
.rday-toggle:hover{ background:var(--sky-50); }

.rday-panel{ padding:0 1rem 1rem; background:var(--sky-50); }
.rday-panel[hidden]{ display:none; }

.rday-chart{
	display:flex; align-items:flex-end; gap:1px; height:130px; overflow-x:auto;
	padding:.5rem .25rem; background:var(--sky-50); border-radius:8px; margin-bottom:.9rem;
}
.rday-col{ flex:1 1 0; min-width:3px; display:flex; align-items:flex-end; height:100%; }
.rday-bar{ width:100%; border-radius:2px 2px 0 0; }
.rday-shut{ height:120px; background:repeating-linear-gradient(45deg, #c9d6e5, #c9d6e5 2px, #e8eef5 2px, #e8eef5 4px); }

.rday-panel table.weather_hour_table{
	width:100%; border-collapse:collapse; font-family:var(--font-body); font-size:.9rem;
}
.rday-panel table.weather_hour_table th{
	background:var(--navy-900); color:#fff; font-weight:700; text-align:left;
	padding:.45rem .6rem;
}
.rday-panel table.weather_hour_table td{
	padding:.35rem .6rem; border-bottom:1px solid var(--border);
}