/*   
Theme Name: WRTA 2026
Theme URI: https://www.wrta-online.com/
Description: Custom WordPress theme for WRTA
Author: Joe Kuzma
Author URI: https://www.farrismarketing.com/
Version: 2026.2
*/

/* Design Tokens
-------------------------------------------------------------- */
:root {
	--wrta-blue-dark: #005399;
	--wrta-blue: #0074bb;
	--wrta-green: #39b54a;
	--wrta-green-dark: #278b38;
	--wrta-text: #222;
	--wrta-muted: #66717c;
	--wrta-light: #f2f3f5;
	--wrta-border: rgba(0, 83, 153, 0.14);
	--wrta-white: #fff;

	--radius-sm: 8px;
	--radius-md: 14px;
	--radius-lg: 20px;
	--radius-xl: 24px;

	--shadow-sm: 0 4px 14px rgba(0, 40, 80, 0.06);
	--shadow-md: 0 10px 26px rgba(0, 40, 80, 0.10);
	--shadow-lg: 0 16px 34px rgba(0, 40, 80, 0.12);

	--section-space: 80px;
	--section-space-mobile: 52px;
}

/* Global
-------------------------------------------------------------- */
html {
	scroll-behavior: smooth;
}

body {
	/*font-family: "Lato", sans-serif;*/
	font-family: "Public Sans", sans-serif;
	background: var(--wrta-white);
	color: var(--wrta-text);
	font-size: 16px;
	line-height: 1.6;
}

img {
	max-width: 100%;
	height: auto;
}

h1,
h2,
h3,
h4,
h5,
h6 {
	/*font-family: "Lato", sans-serif;*/
	line-height: 1.2;
}

a {
	text-underline-offset: 0.15em;
}

.home-section {
	padding: var(--section-space) 0;
}

.section-light {
	background: var(--wrta-light);
}

.section-heading {
	max-width: 760px;
	margin: 0 auto 44px;
	text-align: center;
}

.section-heading h2,
.partner-title {
	margin-bottom: 10px;
	color: var(--wrta-blue-dark);
	font-size: clamp(2rem, 3vw, 2.75rem);
	font-weight: 900;
	line-height: 1.1;
	text-transform: uppercase;
}

.section-heading p {
	margin: 0;
	color: var(--wrta-muted);
	font-size: 1.05rem;
}

.content img {
	display: block;
	max-width: 100%;
	height: auto;
}

/* Responsive WordPress embeds */
.content .wp-block-embed,
.content .wp-block-embed__wrapper,
.content .wp-embed-aspect-16-9 {
	max-width: 100%;
}

.content .wp-block-embed__wrapper {
	position: relative;
	width: 100%;
	aspect-ratio: 16 / 9;
}

.content .wp-block-embed__wrapper iframe,
.content iframe[src*="youtube"],
.content iframe[src*="youtu.be"] {
	display: block;
	width: 100% !important;
	height: 100% !important;
	aspect-ratio: 16 / 9;
}

.content iframe[src*="youtube"],
.content iframe[src*="youtu.be"] {
	margin-bottom: 30px;
}

/* Buttons
-------------------------------------------------------------- */
.btn {
	border-radius: var(--radius-sm);
	font-weight: 700;
	letter-spacing: 0.01em;
	padding: 0.65rem 1.25rem;
	transition: background-color 0.2s ease, border-color 0.2s ease, color 0.2s ease, transform 0.2s ease;
}

.btn:hover {
	transform: translateY(-1px);
}

.btn-primary {
	color: var(--wrta-white) !important;
	background-color: var(--wrta-blue-dark);
	border-color: var(--wrta-blue-dark);
}

.btn-primary:hover,
.btn-primary:focus,
.btn-primary:active {
	color: var(--wrta-white) !important;
	background-color: #003f74;
	border-color: #003f74;
}

.btn-secondary {
	color: var(--wrta-blue-dark) !important;
	background-color: var(--wrta-white);
	border-color: var(--wrta-blue-dark);
}

.btn-secondary:hover,
.btn-secondary:focus,
.btn-secondary:active {
	color: var(--wrta-white) !important;
	background-color: var(--wrta-blue-dark);
	border-color: var(--wrta-blue-dark);
}

.btn-reverse {
	color: var(--wrta-green-dark) !important;
	background-color: transparent;
	border-color: var(--wrta-green);
}

.btn-reverse:hover,
.btn-reverse:focus,
.btn-reverse:active {
	color: var(--wrta-white) !important;
	background-color: var(--wrta-green);
	border-color: var(--wrta-green);
}

.btn:focus-visible,
a:focus-visible,
button:focus-visible {
	outline: 3px solid rgba(0, 116, 187, 0.35);
	outline-offset: 3px;
}

/* Hero
-------------------------------------------------------------- */
/*#hero {
	padding: 28px 24px 0;
	background:var(--wrta-blue-dark)
}

.hero-inner {
	width: min(100%, 1440px);
	margin: 0 auto;
	overflow: hidden;
	border-radius: var(--radius-lg);
	box-shadow: var(--shadow-md);
}

.hero-image {
	display: block;
	width: 100%;
	height: auto;
}*/

/* Hero Carousel
-------------------------------------------------------------- */
#hero {
	padding: 28px 0 0;
	background: var(--wrta-blue-dark);
}

.hero-carousel {
	position: relative;
}

.hero-inner {
	overflow: hidden;
	border-radius: var(--radius-lg);
	box-shadow: var(--shadow-md);
}

.hero-image {
	display: block;
	width: 100%;
	height: auto;
}

.hero-carousel .carousel-control-prev,
.hero-carousel .carousel-control-next {
	width: 7%;
	opacity: 0;
	transition: opacity 0.2s ease;
}

.hero-carousel:hover .carousel-control-prev,
.hero-carousel:hover .carousel-control-next,
.hero-carousel:focus-within .carousel-control-prev,
.hero-carousel:focus-within .carousel-control-next {
	opacity: 0.9;
}

.hero-carousel .carousel-control-prev-icon,
.hero-carousel .carousel-control-next-icon {
	width: 44px;
	height: 44px;
	padding: 12px;
	background-color: rgba(0, 83, 153, 0.82);
	background-size: 45%;
	border-radius: 50%;
}

.hero-carousel .carousel-indicators {
	bottom: 14px;
	margin-bottom: 0;
}

.hero-carousel .carousel-indicators button {
	width: 11px;
	height: 11px;
	margin: 0 5px;
	background-color: var(--wrta-white);
	border: 2px solid rgba(0, 83, 153, 0.7);
	border-radius: 50%;
	opacity: 0.85;
}

.hero-carousel .carousel-indicators .active {
	background-color: var(--wrta-green);
	border-color: var(--wrta-white);
	opacity: 1;
}

@media (max-width: 767px) {
	#hero {
		padding: 12px 0;
	}

	.hero-inner {
		border-radius: var(--radius-md);
	}

	.hero-carousel .carousel-control-prev,
	.hero-carousel .carousel-control-next {
		width: 12%;
		opacity: 0.9;
	}

	.hero-carousel .carousel-control-prev-icon,
	.hero-carousel .carousel-control-next-icon {
		width: 36px;
		height: 36px;
	}
}

/* Tracker

-------------------------------------------------------------- */
#tracker {
	background: var(--wrta-blue-dark);
	color: var(--wrta-white);
	padding-top: 40px;
}

.tracker-feature {
	overflow: hidden;
	margin-bottom: 40px;
	background: rgba(255, 255, 255, 0.06);
	border: 1px solid rgba(255, 255, 255, 0.22);
	border-radius: var(--radius-lg);
	box-shadow: var(--shadow-md);
}

.tracker-feature-image-link {
	display: block;
	height: 100%;
	overflow: hidden;
}

.tracker-feature img {
	display: block;
	width: 100%;
	height: 100%;
	min-height: 280px;
	object-fit: cover;
	object-position: center;
	transition: transform 0.25s ease;
}

.tracker-feature-image-link:hover img,
.tracker-feature-image-link:focus img {
	transform: scale(1.015);
}

.tracker-feature-content {
	display: flex;
	flex-direction: column;
	justify-content: center;
	height: 100%;
	padding: 34px;
	text-align: left;
}

.tracker-eyebrow {
	margin-bottom: 8px;
	color: rgba(255, 255, 255, 0.72);
	font-size: 0.78rem;
	font-weight: 800;
	letter-spacing: 0.06em;
	text-transform: uppercase;
}

.tracker-feature h2 {
	margin-bottom: 14px;
	font-size: clamp(1.65rem, 2.4vw, 2.15rem);
	font-weight: 800;
	line-height: 1.15;
}

.tracker-feature-content > p:not(.tracker-eyebrow) {
	margin-bottom: 22px;
	color: rgba(255, 255, 255, 0.84);
	font-size: 0.98rem;
	line-height: 1.6;
}

.tracker-feature .btn-primary {
	align-self: flex-start;
	color: var(--wrta-blue-dark) !important;
	background-color: var(--wrta-white);
	border-color: var(--wrta-white);
	box-shadow: none;
}

.tracker-feature .btn-primary:hover,
.tracker-feature .btn-primary:focus,
.tracker-feature .btn-primary:active {
	color: var(--wrta-white) !important;
	background-color: var(--wrta-green);
	border-color: var(--wrta-green);
}

.tracker-card {
	overflow: hidden;
	color: var(--wrta-white);
	background: rgba(255, 255, 255, 0.04);
	border: 1px solid rgba(255, 255, 255, 0.24);
	border-radius: var(--radius-lg);
	box-shadow: var(--shadow-sm);
	text-align: center;
}

.tracker-card img {
	width: 100%;
	border-radius: var(--radius-lg) var(--radius-lg) 0 0;
}

.tracker-card .card-body {
	display: flex;
	flex-direction: column;
	align-items: center;
	padding: 24px;
}

.tracker-card h3 {
	margin-bottom: 8px;
	font-size: 1.4rem;
	font-weight: 800;
}

.tracker-card p {
	margin-bottom: 22px;
	color: rgba(255, 255, 255, 0.86);
}

.tracker-card .btn {
	margin-top: auto;
}

/* Rider Information
-------------------------------------------------------------- */
#info-center {
	color: #333;
}

.info-feature {
	margin-bottom: 44px;
	padding: 24px;
	background: var(--wrta-white);
	border: 1px solid var(--wrta-border);
	border-radius: var(--radius-xl);
	box-shadow: var(--shadow-md);
    border-top: 3px solid var(--wrta-green);
}

.info-video {
	overflow: hidden;
	border-radius: var(--radius-lg);
	box-shadow: var(--shadow-sm);
	margin: 8px 0;
}

.info-video iframe {
	width: 100%;
	height: 100%;
	border: 0;
}

.info-feature img {
	display: block;
	width: 100%;
	border-radius: var(--radius-lg);
}

.info-feature h3 {
	margin-bottom: 18px;
	color: var(--wrta-blue-dark);
	font-size: 1.65rem;
	font-weight: 800;
	line-height: 1.2;
}

.info-feature p:last-child {
	margin-bottom: 0;
}

.info-card {
	padding: 26px 22px;
	background: var(--wrta-white);
	border: 1px solid var(--wrta-border);
	border-top: 3px solid var(--wrta-green);
	border-radius: var(--radius-md);
	box-shadow: var(--shadow-sm);
	text-align: center;
}

.info-card h3 {
	margin-bottom: 18px;
	color: var(--wrta-blue-dark);
	font-size: 1.25rem;
	font-weight: 800;
}

.info-card ul {
	margin-bottom: 0;
}

.info-card li + li {
	margin-top: 6px;
}

.info-card a {
	color: var(--wrta-blue-dark);
	text-decoration: none;
}

.info-card a:hover,
.info-card a:focus {
	color: var(--wrta-blue);
	text-decoration: underline;
}

/* News
-------------------------------------------------------------- */
#news-center {
	padding-top: 0;
}

.news-card {
	display: flex;
	flex-direction: column;
	padding: 24px;
	background: var(--wrta-white);
	border: 1px solid var(--wrta-border);
	border-radius: var(--radius-md);
	box-shadow: var(--shadow-sm);
}

.news-card h3 {
	margin: 12px 0 14px;
	color: var(--wrta-blue-dark);
	font-size: 1.25rem;
	font-weight: 800;
	line-height: 1.35;
}

.news-card time {
	margin-bottom: 24px;
	color: var(--wrta-green-dark);
	font-size: 0.92rem;
}

.news-card .btn {
	margin-top: auto;
	align-self: flex-start;
}

.news-card-feature {
	background: var(--wrta-blue-dark);
	border-color: var(--wrta-blue-dark);
	color: var(--wrta-white);
}

.news-card-feature h3,
.news-card-feature time {
	color: var(--wrta-white);
}

.news-card-accent {
	background: var(--wrta-green);
	border-color: var(--wrta-green);
	color: var(--wrta-white);
}

.news-card-accent h3,
.news-card-accent time {
	color: var(--wrta-white);
}

.news-label {
	align-self: flex-start;
	padding: 0.3rem 0.6rem;
	background: rgba(255, 255, 255, 0.18);
	border-radius: 999px;
	color: inherit;
	font-size: 0.75rem;
	font-weight: 800;
	letter-spacing: 0.04em;
	text-transform: uppercase;
}

.news-label-muted {
	background: rgba(0, 83, 153, 0.08);
	color: var(--wrta-blue-dark);
}

/* Always Moving Forward
-------------------------------------------------------------- */
#forward {
	background-color: var(--wrta-white);
	background-image: url("images/forward-bg.png");
	background-position: center center;
	background-repeat: no-repeat;
	/*background-size: cover;*/
}

.forward-header {
	max-width: 560px;
	margin: 0 auto 44px;
}

.forward-card {
	overflow: hidden;
	background: var(--wrta-white);
	border: 1px solid rgba(0, 83, 153, 0.22);
	border-radius: var(--radius-lg);
	box-shadow: var(--shadow-md);
	text-align: center;
}

.forward-card img {
	display: block;
	width: 100%;
	border-radius: var(--radius-lg) var(--radius-lg) 0 0;
}

.forward-card .card-body {
	display: flex;
	flex-direction: column;
	padding: 22px;
}

.forward-card h3 {
	margin-bottom: 20px;
	color: var(--wrta-blue-dark);
	font-size: 1.35rem;
	font-weight: 700;
}

.forward-card .btn {
	margin-top: auto;
}

.forward-card-image-link {
	display: block;
	overflow: hidden;
	border-radius: var(--radius-lg) var(--radius-lg) 0 0;
}

.forward-card-image-link img {
	display: block;
	width: 100%;
	transition: transform 0.2s ease;
}

.forward-card-image-link:hover img,
.forward-card-image-link:focus img {
	transform: scale(1.015);
}

/* Partners
-------------------------------------------------------------- */
#partners {
	background: var(--wrta-white);
}

.partner-group {
	max-width: 1100px;
	margin: 0 auto;
}

.partner-title {
	font-size: clamp(1.4rem, 2.2vw, 2rem);
}

.partner-image {
	display: block;
	width: 100%;
	margin: 22px auto 0;
}

.partner-divider {
	width: min(420px, 70%);
	height: 1px;
	margin: 44px auto;
	background: rgba(0, 83, 153, 0.16);
}

/* Explore More
-------------------------------------------------------------- */
.explore-card {
	overflow: hidden;
	background: var(--wrta-white);
	border: 1px solid var(--wrta-border);
	border-radius: var(--radius-md);
	box-shadow: var(--shadow-sm);
	text-align: center;
	transition: transform 0.2s ease, box-shadow 0.2s ease;
}

.explore-card:hover {
	transform: translateY(-3px);
	box-shadow: var(--shadow-md);
}

.explore-card img {
	display: block;
	width: 100%;
	border-radius: var(--radius-md) var(--radius-md) 0 0;
}

.explore-card .card-body {
	display: flex;
	flex-direction: column;
	padding: 22px;
}

.explore-card h3 {
	margin-bottom: 10px;
	color: var(--wrta-blue-dark);
	font-size: 1.25rem;
	font-weight: 800;
}

.explore-card p {
	margin-bottom: 20px;
	color: var(--wrta-muted);
	font-size: 0.96rem;
}

.explore-card .btn {
	margin-top: auto;
}

/* Interior Page Refinements
-------------------------------------------------------------- */
#content-container {
	padding: 36px 0 58px;
}
#content-container .content {
    margin-bottom: 32px;
}

.content,
.sidebar-section {
	background: var(--wrta-white);
	border: 1px solid var(--wrta-border);
	border-radius: var(--radius-md);
	box-shadow: var(--shadow-sm);
}

.content {
	padding: 34px;
	color: #39424e;
	font-size: 16px;
	line-height: 1.65;
}

.content h1 {
	margin-bottom: 20px;
	color: #1d1d1d;
	font-size: clamp(2rem, 3vw, 2.35rem);
	font-weight: 800;
	letter-spacing: -0.02em;
	line-height: 1.12;
}

.content h2 {
	margin-top: 32px;
	margin-bottom: 10px;
	color: var(--wrta-blue-dark);
	font-size: 1.5rem;
	font-weight: 700;
	line-height: 1.25;
}

.content h3 {
	margin-top: 26px;
	margin-bottom: 8px;
	font-size: 1.2rem;
	line-height: 1.3;
}

.content p {
	margin-bottom: 1.2rem;
}

.content ul,
.content ol {
	margin: 14px 0 22px;
	padding-left: 1.4rem;
}

.content li {
	margin-bottom: 0.3rem;
}

.content a:not(.btn) {
	color: var(--wrta-blue-dark);
	font-weight: 600;
}

.content a:not(.btn):hover,
.content a:not(.btn):focus {
	color: var(--wrta-green-dark);
}

.content hr {
	margin: 28px 0;
	border: 0;
	border-top: 1px solid #dfe6ec;
	opacity: 1;
}

.child-page-card {
    padding: 26px;
}

.sidebar-section {
	padding: 24px;
	margin-bottom: 20px;
}

.sidebar-heading {
	margin: 0 0 16px;
	padding-bottom: 12px;
	border-bottom: 1px solid var(--wrta-border);
	color: var(--wrta-text);
	font-size: 1.15rem;
	font-weight: 800;
}

.interior-callout {
	margin-top: 18px;
	padding: 28px;
}

.interior-callout h2 {
	margin: 0 0 8px;
	color: var(--wrta-blue-dark);
	font-size: 1.45rem;
	font-weight: 800;
	line-height: 1.25;
}

.interior-callout p {
	margin-bottom: 16px;
	font-size: 0.96rem;
	line-height: 1.6;
}

.callout-image img,
.child-page-image img {
	display: block;
	width: 100%;
	border-radius: var(--radius-sm);
}

.child-page-card h2 {
	margin-bottom: 12px;
	color: var(--wrta-blue-dark);
	font-weight: 800;
}

.schedule-actions {
	margin: 0 0 24px;
}

.schedule-actions .list-inline-item {
	margin-bottom: 8px;
}

.trip-planner-embed {
	margin-top: 30px;
}

.route-links {
    padding: 28px;
}

.route-links-title {
    margin-bottom: 18px;
}

.route-links-title {
	margin: 0 0 20px;
	color: var(--wrta-blue-dark);
	font-size: 1.5rem;
	font-weight: 800;
}

.route-links-list {
	margin-bottom: -10px;
}

.route-links-list .list-inline-item {
	margin-right: 5px;
	margin-bottom: 10px;
}

.route-links .btn {
	padding: 0.5rem 0.8rem;
	font-size: 0.9rem;
}

.page-sidebar {
	position: relative;
}

.sidebar-menu {
	list-style: none;
	padding: 0;
	margin: 0;
}

.sidebar-menu li {
	padding-bottom: 8px;
	margin-bottom: 8px;
	border-bottom: 1px solid #eee;
	font-size: 0.92rem;
	line-height: 1.45;
}

.sidebar-menu li:last-child {
	padding-bottom: 0;
	margin-bottom: 0;
	border-bottom: 0;
}

.sidebar-menu a {
	color: var(--wrta-blue);
	text-decoration: none;
}

.sidebar-menu a:hover,
.sidebar-menu a:focus {
	color: var(--wrta-blue-dark);
	text-decoration: underline;
}

.app-store-links {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
	margin-bottom: 18px;
}

.app-store-links .list-inline-item {
	margin: 0;
}

.sidebar-app-icon {
	display: block;
	width: auto;
	max-width: 125px;
	margin: 0;
}

@media (min-width: 992px) {
	.page-sidebar {
		position: sticky;
		top: 24px;
	}
}

@media (max-width: 767px) {
	#content-container {
		padding: 26px 0 44px;
	}

	.content,
	.sidebar-section {
		padding: 22px;
	}

	.content {
		font-size: 15.5px;
		line-height: 1.62;
	}

	.content h1 {
		font-size: 1.85rem;
	}

	.content h2 {
		margin-top: 28px;
		font-size: 1.35rem;
	}

	.interior-callout {
		padding: 22px;
	}

	.interior-callout .callout-image {
		margin-bottom: 4px;
	}
}

/* Standard featured images
-------------------------------------------------------------- */
.featured-image {
	overflow: hidden;
	margin-bottom: 24px;
	padding: 10px;
	background:
		linear-gradient(
			135deg,
			rgba(0, 83, 153, 0.04),
			rgba(57, 181, 74, 0.04)
		);
	border: 1px solid var(--wrta-border);
	border-radius: var(--radius-md);
	box-shadow: var(--shadow-sm);
}

.featured-image img {
	display: block;
	width: 100%;
	height: clamp(260px, 34vw, 420px);
	background: var(--wrta-white);
	border-radius: calc(var(--radius-md) - 4px);
	object-fit: cover;
	object-position: center;
}

/* Preserve full promotional graphics on news posts */
.single-post .featured-image img {
	height: auto;
	max-height: 520px;
	object-fit: contain;
}

/* Schedule map featured image
-------------------------------------------------------------- */
.schedule-map-card {
	margin-bottom: 26px;
	padding: 18px;
	background:
		linear-gradient(
			135deg,
			rgba(0, 83, 153, 0.05),
			rgba(57, 181, 74, 0.05)
		);
	border: 1px solid var(--wrta-border);
	border-radius: var(--radius-lg);
	box-shadow: var(--shadow-sm);
}

.schedule-map-link {
	position: relative;
	display: block;
	overflow: hidden;
	background: #fff;
	border-radius: var(--radius-md);
	cursor: zoom-in;
}

.schedule-map-image {
	display: block;
	width: 100%;
	height: 420px;
	object-fit: contain;
	padding: 18px;
	background: #fff;
	transition: transform 0.25s ease;
}

.schedule-map-overlay {
	position: absolute;
	inset: 0;
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	gap: 10px;
	background: rgba(0, 83, 153, 0.72);
	color: #fff;
	opacity: 0;
	transition: opacity 0.25s ease;
}

.schedule-map-icon {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 58px;
	height: 58px;
	background: rgba(255, 255, 255, 0.16);
	border: 1px solid rgba(255, 255, 255, 0.35);
	border-radius: 50%;
	font-size: 1.5rem;
}

.schedule-map-label {
	font-size: 0.95rem;
	font-weight: 800;
	letter-spacing: 0.04em;
	text-transform: uppercase;
}

.schedule-map-link:hover .schedule-map-overlay,
.schedule-map-link:focus .schedule-map-overlay {
	opacity: 1;
}

.schedule-map-link:hover .schedule-map-image,
.schedule-map-link:focus .schedule-map-image {
	transform: scale(1.015);
}

@media (max-width: 767px) {
	.schedule-map-card {
		padding: 12px;
	}

	.schedule-map-image {
		height: 300px;
		padding: 10px;
	}
}

/* Image lightbox
-------------------------------------------------------------- */
.image-lightbox {
	width: min(94vw, 1400px);
	max-width: none;
	max-height: 94vh;
	padding: 20px;
	background: #fff;
	border: 0;
	border-radius: var(--radius-lg);
	box-shadow: 0 24px 80px rgba(0, 0, 0, 0.35);
}

.image-lightbox::backdrop {
	background: rgba(0, 20, 40, 0.82);
	backdrop-filter: blur(3px);
}

.image-lightbox-image {
	display: block;
	width: auto;
	max-width: 100%;
	max-height: calc(94vh - 40px);
	margin: 0 auto;
	object-fit: contain;
}

.image-lightbox-close {
	position: absolute;
	top: 10px;
	right: 10px;
	z-index: 2;
	display: flex;
	align-items: center;
	justify-content: center;
	width: 42px;
	height: 42px;
	background: var(--wrta-blue-dark);
	border: 0;
	border-radius: 50%;
	color: #fff;
	font-size: 1.15rem;
	cursor: pointer;
}

.image-lightbox-close:hover,
.image-lightbox-close:focus {
	background: var(--wrta-green-dark);
}

/* News Page
-------------------------------------------------------------- */
.page-header-card {
	margin-bottom: 24px;
}

.page-header-card .page-title {
	margin-bottom: 12px;
}

.page-header-card .page-intro {
	max-width: 680px;
	margin-bottom: 0;
	color: var(--wrta-muted);
}

.news-post {
	margin-bottom: 24px;
}

.news-post-image-link {
	display: block;
	overflow: hidden;
	border-radius: var(--radius-sm);
}

.news-post-image {
	display: block;
	width: 100%;
	aspect-ratio: 4 / 3;
	object-fit: cover;
	transition: transform 0.2s ease;
}

.news-post-image-link:hover .news-post-image,
.news-post-image-link:focus .news-post-image {
	transform: scale(1.02);
}

.news-post-meta {
	margin-bottom: 8px !important;
	color: var(--wrta-green-dark);
	font-size: 0.82rem;
	font-weight: 700;
	letter-spacing: 0.03em;
	text-transform: uppercase;
}

.news-post-title {
	margin: 0 0 10px;
	font-size: 1.45rem;
	line-height: 1.3;
}

.news-post-excerpt p {
	margin-bottom: 16px;
}

.news-pagination {
	margin-top: 8px;
}

/* 404 Page
-------------------------------------------------------------- */
.error-page {
	padding-top: 54px;
	padding-bottom: 78px;
}

.error-card {
	padding: 56px 44px;
}

.error-code {
	margin-bottom: 8px;
	color: rgba(0, 83, 153, 0.10);
	font-size: clamp(5rem, 12vw, 8rem);
	font-weight: 900;
	line-height: 0.9;
	letter-spacing: -0.06em;
}

.error-card h1 {
	margin-bottom: 14px;
}

.error-intro {
	max-width: 620px;
	margin: 0 auto 28px;
	color: var(--wrta-muted);
	font-size: 1.05rem;
}

.error-actions {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	gap: 12px;
	margin-bottom: 36px;
}

.error-search {
	max-width: 560px;
	margin: 0 auto;
	padding-top: 30px;
	border-top: 1px solid var(--wrta-border);
}

.error-search h2 {
	margin: 0 0 16px;
	color: var(--wrta-blue-dark);
	font-weight: 800;
}

.error-search .search-form {
	display: flex;
	gap: 10px;
}

.error-search .search-field {
	flex: 1;
	min-width: 0;
	padding: 0.7rem 0.85rem;
	border: 1px solid #cfd8e1;
	border-radius: var(--radius-sm);
}

.error-search .search-submit {
	padding: 0.7rem 1.1rem;
	background: var(--wrta-blue-dark);
	border: 1px solid var(--wrta-blue-dark);
	border-radius: var(--radius-sm);
	color: var(--wrta-white);
	font-weight: 700;
}

.error-search .search-submit:hover,
.error-search .search-submit:focus {
	background: #003f74;
	border-color: #003f74;
}

@media (max-width: 767px) {
	.error-card {
		padding: 38px 24px;
	}

	.error-actions {
		flex-direction: column;
	}

	.error-actions .btn {
		width: 100%;
	}

	.error-search .search-form {
		flex-direction: column;
	}

	.error-search .search-submit {
		width: 100%;
	}
}

/* Search
-------------------------------------------------------------- */
.search-header {
	margin-bottom: 24px;
}

.search-eyebrow,
.search-result-type {
	margin-bottom: 8px;
	color: var(--wrta-green-dark);
	font-size: 0.78rem;
	font-weight: 800;
	letter-spacing: 0.05em;
	text-transform: uppercase;
}

.search-header h1 {
	margin-bottom: 10px;
}

.search-again {
	margin-top: 24px;
}

.search-form {
	display: flex;
	gap: 10px;
}

.search-field {
	flex: 1;
	min-width: 0;
	padding: 0.72rem 0.9rem;
	background: var(--wrta-white);
	border: 1px solid #cfd8e1;
	border-radius: var(--radius-sm);
	color: var(--wrta-text);
}

.search-field:focus {
	border-color: var(--wrta-blue);
	box-shadow: 0 0 0 0.25rem rgba(0, 116, 187, 0.16);
	outline: 0;
}

.search-submit {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 8px;
	padding: 0.72rem 1.15rem;
	background: var(--wrta-blue-dark);
	border: 1px solid var(--wrta-blue-dark);
	border-radius: var(--radius-sm);
	color: var(--wrta-white);
	font-weight: 700;
}

.search-submit:hover,
.search-submit:focus {
	background: #003f74;
	border-color: #003f74;
}

.search-result-card {
	margin-bottom: 24px;
}

.search-result-image-link {
	display: block;
	overflow: hidden;
	border-radius: var(--radius-sm);
}

.search-result-image {
	display: block;
	width: 100%;
	aspect-ratio: 4 / 3;
	object-fit: cover;
	transition: transform 0.2s ease;
}

.search-result-image-link:hover .search-result-image,
.search-result-image-link:focus .search-result-image {
	transform: scale(1.02);
}

.search-result-title {
	margin: 0 0 8px;
	font-size: 1.45rem;
	line-height: 1.3;
}

.search-result-title a {
	color: var(--wrta-blue-dark);
	text-decoration: none;
}

.search-result-title a:hover,
.search-result-title a:focus {
	color: var(--wrta-blue);
	text-decoration: underline;
}

.search-result-date {
	margin-bottom: 10px !important;
	color: var(--wrta-muted);
	font-size: 0.88rem;
}

.search-result-excerpt p {
	margin-bottom: 16px;
}

.search-pagination {
	margin-top: 8px;
}

.search-empty-state {
	text-align: center;
}

.search-empty-state h2 {
	margin-top: 0;
}

.search-empty-state > p {
	max-width: 560px;
	margin-right: auto;
	margin-left: auto;
}

.search-empty-form {
	max-width: 620px;
	margin: 24px auto;
}

@media (max-width: 767px) {
	.search-form {
		flex-direction: column;
	}

	.search-submit {
		width: 100%;
	}

	.search-result-card .col-md-4 {
		margin-bottom: 4px;
	}
}


/* Navigation
-------------------------------------------------------------- */
.navigation-clean-button {
	width: 100%;
	padding: 0;
	background: var(--wrta-white);
	border: 0;
	border-bottom: 1px solid rgba(0, 83, 153, 0.10);
	border-radius: 0;
	box-shadow: none;
	color: var(--wrta-text);
	z-index: 3;
}

.navigation-clean-button .navbar-brand img {
	display: inline-block;
	width: auto;
	max-height: 58px;
	margin-right: 10px;
}

.navigation-clean-button .navbar-toggler {
	border-color: rgba(0, 83, 153, 0.20);
}

.navigation-clean-button .navbar-toggler:hover,
.navigation-clean-button .navbar-toggler:focus {
	background: transparent;
}

.navigation-clean-button .navbar-nav a.active,
.navigation-clean-button .navbar-nav > .show > a {
	background: none;
	box-shadow: none;
}

.navigation-clean-button.navbar-light .navbar-nav a.active,
.navigation-clean-button.navbar-light .navbar-nav a.active:focus,
.navigation-clean-button.navbar-light .navbar-nav a.active:hover {
	color: var(--wrta-blue-dark);
	background: none;
	box-shadow: none;
}

.navigation-clean-button.navbar .navbar-nav .nav-link {
	padding: 25px 12px;
}

.navigation-clean-button.navbar-light .navbar-nav .nav-link {
	color: var(--wrta-text);
	font-size: 17px;
	font-weight: 700;
	text-transform: uppercase;
}

.navigation-clean-button.navbar-light .navbar-nav .nav-link:hover,
.navigation-clean-button.navbar-light .navbar-nav .nav-link:focus {
	color: var(--wrta-green-dark) !important;
	background: transparent;
}

.navigation-clean-button .navbar-nav > li > .dropdown-menu {
	margin-top: -5px;
	background: var(--wrta-white);
	border: 1px solid var(--wrta-border);
	border-radius: var(--radius-sm);
	box-shadow: var(--shadow-md);
}

.navigation-clean-button .dropdown-menu .dropdown-item {
	color: #37434d;
	font-size: 14px;
	line-height: 2;
}

.navigation-clean-button .dropdown-menu .dropdown-item:hover,
.navigation-clean-button .dropdown-menu .dropdown-item:focus {
	background: var(--wrta-light);
	color: var(--wrta-blue-dark);
}

.top-translate {
	display: flex;
	align-items: center;
	gap: 8px;
	padding: 25px 0 25px 12px;
	white-space: nowrap;
}

.translate-title {
	color: var(--wrta-muted);
	font-size: 0.82rem;
	font-weight: 700;
	text-transform: uppercase;
}

/* Footer
-------------------------------------------------------------- */
.footer {
	padding: 70px 0 24px;
	background-color: var(--wrta-blue-dark);
	background-image: url("images/rider-bg.jpg");
	background-position: center center;
	background-repeat: no-repeat;
	background-size: cover;
	color: var(--wrta-white);
}

.footer-brand {
	margin-bottom: 44px;
}

.footer-brand img {
	max-width: 240px;
}

.footer-main {
	margin-bottom: 42px;
}

.footer-heading {
	margin-bottom: 18px;
	color: var(--wrta-white);
	font-size: 1rem;
	font-weight: 800;
	letter-spacing: 0.04em;
	text-transform: uppercase;
}

.footer p,
.footer li {
	font-size: 0.94rem;
	line-height: 1.7;
}

.footer-contact li + li,
.footer-menu li + li {
	margin-top: 5px;
}

.footer a {
	color: var(--wrta-white);
	text-decoration: none;
}

.footer a:hover,
.footer a:focus {
	color: #d8ecff;
	text-decoration: underline;
}

.footer-bottom {
	padding-top: 22px;
	border-top: 1px solid rgba(255, 255, 255, 0.18);
}

.footer-bottom li {
	margin: 4px 8px;
	font-size: 0.84rem;
}

/* Forms
-------------------------------------------------------------- */
legend.frm_hidden,
.frm_verify {
	display: none !important;
}

.frm_screen_reader {
	position: absolute;
	width: 1px;
	height: 1px;
	padding: 0;
	margin: -1px;
	overflow: hidden;
	border: 0;
	clip: rect(1px, 1px, 1px, 1px);
	clip-path: inset(50%);
	word-wrap: normal !important;
}

.frm_screen_reader.frm_hidden {
	display: initial;
}

.frm_error {
	padding: 5px 0;
	color: #b42318;
	font-weight: 700;
}

.frm_error_style,
.frm_message {
	position: relative;
	padding: 0.75rem 1.25rem;
	margin-bottom: 1rem;
	border: 1px solid transparent;
	border-radius: var(--radius-sm);
}

.frm_error_style {
	color: #721c24;
	background: #f8d7da;
	border-color: #f5c6cb;
}

.frm_message {
	color: #155724;
	background: #d4edda;
	border-color: #c3e6cb;
}

.frm_error_style p,
.frm_message p {
	margin: 0;
}

.control-label {
	margin-top: 30px;
	margin-bottom: 10px;
	font-weight: 500;
}

.frm_description {
	font-size: 85%;
}

.form-group.frm_submit {
	margin-top: 30px;
}

.form-control:focus {
	border-color: var(--wrta-blue);
	box-shadow: 0 0 0 0.25rem rgba(0, 116, 187, 0.18);
}

/* WP-PageNavi / Bootstrap Pagination
-------------------------------------------------------------- */
.pagination {
	margin: 30px 0;
}

.pagination .page-link {
	position: relative;
	display: block;
	padding: 0.5rem 0.75rem;
	background: var(--wrta-white);
	border: 1px solid #ddd;
	border-radius: 0 !important;
	box-shadow: none;
	color: var(--wrta-blue);
	line-height: 1.25;
	text-decoration: none;
}

.pagination .page-link:hover,
.pagination .page-link:focus {
	z-index: 2;
	background: #f5f5f5;
	border-color: var(--wrta-blue);
	box-shadow: none;
	color: var(--wrta-blue-dark);
}

.pagination .page-item.active .page-link,
.pagination .page-item.active .page-link:hover,
.pagination .page-item.active .page-link:focus {
	z-index: 3;
	background: var(--wrta-blue);
	border-color: var(--wrta-blue);
	color: var(--wrta-white);
}

.pagination .page-link.pages,
.pagination .page-link.extend {
	background: var(--wrta-white);
	border-color: #ddd;
	color: var(--wrta-blue);
}

.pagination .page-item.disabled .page-link {
	background: var(--wrta-white);
	border-color: #ddd;
	color: #6c757d;
}

/* Responsive
-------------------------------------------------------------- */
@media (min-width: 992px) {
	#content-container {
		min-height: 800px;
		margin: 0;
	}
}

@media (max-width: 1199px) {
	.navigation-clean-button.navbar-light .navbar-nav .nav-link {
		padding: 25px 8px;
		font-size: 15px;
	}
}

@media (max-width: 991px) {

	.navigation-clean-button {
		padding: 10px 0;
	}

	.navigation-clean-button .container {
		display: grid;
		grid-template-columns: auto 1fr auto;
		grid-template-areas:
			"brand translate toggle"
			"menu menu menu";
		align-items: center;
		column-gap: 16px;
	}

	.navigation-clean-button .navbar-brand {
		grid-area: brand;
		margin: 0;
	}

	.navigation-clean-button .navbar-toggler {
		grid-area: toggle;
		justify-self: end;
		margin: 0;
	}

	.navigation-clean-button .navbar-collapse {
		grid-area: menu;
		width: 100%;
		padding: 14px 0 4px;
	}

	.navigation-clean-button .top-translate {
		grid-area: translate;
		justify-self: end;
		margin-left: 0 !important;
		padding: 0;
	}

	.navigation-clean-button .navbar-nav {
		width: 100%;
	}

	.navigation-clean-button.navbar .navbar-nav .nav-link {
		padding: 0.8rem 0;
	}

	.navigation-clean-button .nav-link.dropdown-toggle {
		display: flex;
		align-items: center;
		justify-content: space-between;
		width: 100%;
	}

	.navigation-clean-button .navbar-nav > li > .dropdown-menu {
		margin-top: 0;
		padding: 6px 0 10px 24px;
		background: transparent;
		border: 0;
		border-radius: 0;
		box-shadow: none;
	}

	.navigation-clean-button .dropdown-menu .dropdown-item {
		display: block;
		padding: 12px 0;
		background: transparent;
		border: 0;
		color: var(--wrta-text);
		font-size: 0.95rem;
		font-weight: 500;
		line-height: 1.4;
	}
	
	.navigation-clean-button .dropdown-menu > li {
		border-bottom: 1px solid var(--wrta-border);
	}

	.navigation-clean-button .dropdown-menu > li:last-child {
		border-bottom: 0;
	}

	.navigation-clean-button .dropdown-menu .dropdown-item {
		padding: 12px 0;
		border: 0;
	}

	.navigation-clean-button .dropdown-menu .dropdown-item:hover,
	.navigation-clean-button .dropdown-menu .dropdown-item:focus,
	.navigation-clean-button .dropdown-menu .dropdown-item.active {
		background: transparent;
		color: var(--wrta-blue);
	}

	.navigation-clean-button .dropdown-divider {
		display: none;
	}

	.footer .col-lg-2,
	.footer .col-lg-4 {
		margin-bottom: 10px;
	}
}

@media (max-width: 767px) {
	:root {
		--section-space: var(--section-space-mobile);
	}

	.section-heading {
		margin-bottom: 32px;
	}

	.tracker-feature,
	.info-feature {
		padding: 16px;
		border-radius: var(--radius-lg);
	}

	.tracker-card .card-body,
	.forward-card .card-body,
	.explore-card .card-body {
		padding: 20px;
	}

	.info-feature h3 {
		margin-top: 4px;
	}

	.footer {
		padding-top: 52px;
	}

	.footer-brand {
		margin-bottom: 34px;
	}

	.footer-main {
		margin-bottom: 28px;
	}
}

@media (max-width: 575px) {

	.navigation-clean-button .container {
		column-gap: 10px;
	}

	.translate-title {
		display: none;
	}

	.navigation-clean-button .top-translate {
		font-size: 0.9rem;
	}

	.navigation-clean-button .navbar-brand img {
		max-height: 48px;
	}

}

@media (prefers-reduced-motion: reduce) {
	html {
		scroll-behavior: auto;
	}

	*,
	*::before,
	*::after {
		scroll-behavior: auto !important;
		transition-duration: 0.01ms !important;
		animation-duration: 0.01ms !important;
		animation-iteration-count: 1 !important;
	}
}
