/*====================================================================================+
Author: Luc Sachteleben - BOX Internet Services BV - www.box.be - contact@box.be
------------------------------------------------------------------------------------
Copyright (C) 2025-2026 BOX Internet Services BV

This file is part of EBSCA website (ebsca.org)

This is NOT free software.
You may not, except with our express written permission,
distribute or commercially exploit the content.
Nor may you transmit it or store it in any other website
or other form of electronic retrieval system.

====================================================================================+*/

:root
{
	--wbsc-blue: #004494;
	--wbsc-blue-dark: #15243C;
	--wbsc-blue-light: #F7F9FC;

	--wbsc-yellow: #A88C2F;

	--wbsc-text: #404040;
	--wbsc-light: #E3E3E3;
	--wbsc-white: #FFFFFF;

	--wbsc-gradient: linear-gradient(
		to right,
		var(--wbsc-blue-dark) 0%,
		var(--wbsc-blue) 80%,
		var(--wbsc-yellow) 100%
	);
}

/* ================= BASE ================= */

body
{
	color: var(--wbsc-text);
	background-color: var(--wbsc-white);
}

a
{
	color: var(--wbsc-blue);
	text-decoration: none;
	transition: color 0.2s ease;
}

a:hover
{
	color: var(--wbsc-blue-dark);
	text-decoration: none;
}

/* ================= NAV WRAP ================= */

#navWrap
{
	position: sticky;
	top: 0;
	z-index: 9999;
	transition: box-shadow 0.3s ease;
	background: var(--wbsc-gradient);

	border-bottom: 5px solid transparent;
	border-image: linear-gradient(
		to right,
		#A88C2F,
		#C1A634,
		#DEC43A
	) 1;
}

#navWrap.shrink
{
	box-shadow:
		0 4px 12px rgba(0,0,0,0.12),
		0 1px 2px rgba(0,0,0,0.08);
}

#navWrap
{
	z-index: 9999;
}

.modal-backdrop
{
	z-index: 10000;
}

.modal
{
	z-index: 10001;
}

/* ================= TOPBAR ================= */

.topbar
{
	font-size: 13px;
	padding: 5px 0 0 0;
	transition: all 0.3s ease;
}

.topbar a
{
	color: #fff;
	opacity: 0.9;
}

.topbar a:hover
{
	color: var(--wbsc-yellow) !important;
	text-shadow: 0 0 6px rgba(221,196,61,0.6);
	text-decoration: none;
	opacity: 1;
}

.topbar-icons i
{
	font-size:16px;
}

/* ================= NAVBAR ================= */

.navbar
{
	background: transparent;
	padding-top: 0px;
	padding-bottom: 0px;
	border: none !important;
	transition: all 0.3s ease;
}

/* NAV LINKS */

.navbar .navbar-brand,
.navbar .nav-link
{
	color: #fff !important;
	font-size: 18px;
	font-weight: 400;
	padding: 0 12px;
	line-height: 1.2;
	letter-spacing: 0.3px;
	transition: opacity 0.2s ease;
}

.navbar .nav-link:hover
{
	opacity: 0.85;
	color: var(--wbsc-yellow) !important;
	text-shadow: 0 0 6px rgba(221,196,61,0.6);
}

.navbar .nav-item
{
	display: flex;
	align-items: center;
}

/* ================= SUBNAV ================= */

.subnav
{
	padding-top: 0;
	padding-bottom: 24px;
	margin-top: -12px; /* 🔥 dit is de key */
}

.subnav-menu
{
	list-style: none;
	padding: 0;
	margin: 0;
	display: flex;
	flex-wrap: wrap;
	justify-content: flex-end;
	gap: 14px;
	line-height: 1;
}

.subnav-menu a
{
	color: #fff;
	font-size: 13px;
	font-weight: 400;
	opacity: 0.85;
	transition: opacity 0.2s ease;
	line-height: 1.2;
	display: inline-block;	
}

.subnav-menu a:hover
{
	opacity: 1;
	text-decoration: none;
	color: var(--wbsc-yellow) !important;
	text-shadow: 0 0 6px rgba(221,196,61,0.6);
}

/* ================= HAMBURGER ================= */

.navbar-toggler
{
	border: none;
	padding: 0;
	background: none;
	box-shadow: none;
}

.navbar-toggler-icon
{
	background: none !important;
	width: 30px;
	height: 22px;
	position: relative;
}

.navbar-toggler-icon::before,
.navbar-toggler-icon::after,
.navbar-toggler-icon span
{
	content: "";
	position: absolute;
	left: 0;
	width: 100%;
	height: 3px;
	background: #fff;
	border-radius: 2px;
}

.navbar-toggler-icon::before { top: 0; }
.navbar-toggler-icon span { top: 50%; transform: translateY(-50%); }
.navbar-toggler-icon::after { bottom: 0; }

.navbar-toggler:focus,
.navbar-toggler:active
{
	outline: none;
	box-shadow: 0 0 0 2px var(--wbsc-yellow);
}

/* ================= LOGO ================= */

.nav-logo
{
	height: 96px;
	width: auto;
	transition: height 0.3s ease;
}

/* ================= SHRINK ================= */

#navWrap.shrink .topbar
{
	padding: 4px 0; 
	font-size: 11px;
}

#navWrap.shrink .navbar
{
	padding-top: 8px; 
	padding-bottom: 0; 
}

#navWrap.shrink .subnav
{
	padding-top: 0;
	padding-bottom: 16px; 
	margin-top: -8px; }

#navWrap.shrink .nav-logo
{
	height: 68px; 
}

/* ================= BUTTONS ================= */

.btn-primary
{
	background-color: var(--wbsc-blue);
	border-color: var(--wbsc-blue);
}

.btn-primary:hover
{
	background-color: var(--wbsc-blue-dark);
	border-color: var(--wbsc-blue-dark);
}

.btn-accent
{
	background-color: var(--wbsc-yellow);
	border: none;
	color: #000;
}

/* ================= FRONT FORMS ================= */

.section-light .form-control,
.section-light .form-select,
.card .form-control,
.card .form-select
{
	background-color: #EEF6FF;
	border-color: #C8D9EE;
	color: var(--wbsc-text);
}

.section-light .form-control:focus,
.section-light .form-select:focus,
.card .form-control:focus,
.card .form-select:focus
{
	background-color: #F6FAFF;
	border-color: var(--wbsc-blue);
	box-shadow: 0 0 0 0.2rem rgba(0,68,148,0.15);
}

.section-light .btn,
.card .btn
{
	width: auto;
	display: inline-flex;
	align-items: center;
	justify-content: center;
}

.more-news-link
{
	color: var(--wbsc-blue);
	font-weight: 500;
	transition: 0.2s;
}

.more-news-link:hover
{
	color: var(--wbsc-yellow);
}

/* ================= SECTIONS ================= */

.section-light
{
	background-color: var(--wbsc-blue-light);
}

.section-dark
{
	background-color: var(--wbsc-blue);
	color: #fff;
}

/* ================= EVENTS ================= */

.event-card-img
{
	aspect-ratio:16 / 10;
	object-fit:cover;
}

.event-detail-hero
{
	position:relative;
	min-height:440px;
	display:flex;
	align-items:flex-end;
	padding:120px 0 64px;
	color:#fff;
	background:#111820;
	overflow:hidden;
}

.event-detail-hero::before
{
	content:"";
	position:absolute;
	inset:0;
	background:var(--event-hero-image) center center / cover no-repeat;
	opacity:.55;
}

.event-detail-hero::after
{
	content:"";
	position:absolute;
	inset:0;
	background:linear-gradient(90deg,rgba(0,0,0,.82) 0%,rgba(0,0,0,.56) 52%,rgba(0,0,0,.22) 100%);
}

.event-detail-hero .container
{
	position:relative;
	z-index:2;
}

.event-detail-hero-content
{
	max-width:880px;
}

.event-detail-hero h1
{
	margin:0 0 18px;
	font-size:56px;
	line-height:1.04;
	font-weight:800;
	letter-spacing:0;
	color:#fff;
}

.event-detail-kicker
{
	display:inline-flex;
	padding:7px 12px;
	border:1px solid rgba(255,255,255,.48);
	background:rgba(0,0,0,.28);
	font-size:13px;
	font-weight:700;
	text-transform:uppercase;
	letter-spacing:0;
}

.event-detail-meta
{
	font-size:19px;
}

.event-detail-panel
{
	background:#fff;
	border:1px solid rgba(0,0,0,.08);
	border-radius:8px;
	padding:24px;
	box-shadow:0 10px 28px rgba(18,32,48,.08);
}

.memberarea-member-photo
{
	width:120px;
	height:150px;
	object-fit:cover;
}

.event-detail-main-image
{
	border-radius:8px;
	aspect-ratio:16 / 10;
	object-fit:contain;
	background:#eef2f6;
}

.event-accommodation-img
{
	border-radius:8px;
	aspect-ratio:16 / 10;
	object-fit:cover;
}

.event-content table
{
	width:100%;
}

.event-info-row
{
	display:flex;
	justify-content:space-between;
	gap:18px;
	padding:12px 0;
	border-bottom:1px solid rgba(0,0,0,.08);
}

.event-info-row span
{
	color:#667085;
}

.event-price-product
{
	border:1px solid rgba(0,0,0,.08);
	border-radius:8px;
	padding:18px;
	background:#f8fbff;
}

.event-price-card
{
	height:100%;
	border:1px solid rgba(0,0,0,.08);
	border-radius:8px;
	padding:16px;
	background:#fff;
	display:flex;
	flex-direction:column;
	gap:14px;
}

.event-price-card-muted
{
	opacity:.58;
	background:#f2f4f7;
}

.event-price-amount
{
	font-size:28px;
	font-weight:800;
	color:var(--wbsc-blue);
}

.event-price-amount-closed
{
	color:#667085;
	text-decoration:line-through;
}

.event-price-badge-dark
{
	background:#343a40;
	color:#fff;
}

.event-price-body
{
	width:100%;
}

.event-price-action
{
	width:100%;
	margin-top:auto;
}

.event-price-action .btn
{
	width:100%;
}

.event-person
{
	display:flex;
	align-items:center;
	gap:12px;
	color:var(--wbsc-text);
}

.event-person-button
{
	width:100%;
	padding:0;
	border:0;
	background:transparent;
	text-align:left;
	cursor:pointer;
}

.event-person-button:hover strong
{
	color:var(--wbsc-blue);
}

.event-person img
{
	width:58px;
	height:58px;
	border-radius:50%;
	object-fit:cover;
	flex:0 0 auto;
}

.event-person small
{
	display:block;
	color:#667085;
}

.event-clinicians-more
{
	padding:14px 16px;
	border:1px solid rgba(0,0,0,.08);
	border-radius:8px;
	background:#f5f7fa;
	color:var(--wbsc-text);
}

.event-clinicians-more strong
{
	display:block;
	font-weight:700;
}

.event-clinicians-more span
{
	display:block;
	color:#667085;
}

.event-clinicians-socials
{
	display:flex;
	gap:10px;
	margin-top:10px;
}

.event-clinicians-socials a
{
	display:inline-flex;
	align-items:center;
	justify-content:center;
	width:34px;
	height:34px;
	border-radius:50%;
	background:#333;
	color:#fff;
	text-decoration:none;
}

.event-clinicians-socials a:hover
{
	background:#111;
	color:#fff;
}

.clinician-modal-photo,
.clinician-detail-photo
{
	border-radius:8px;
	aspect-ratio:1 / 1;
	object-fit:cover;
	background:#eef2f6;
}

.clinician-filter
{
	display:grid;
	grid-template-columns:minmax(220px,1fr) 180px auto auto;
	gap:10px;
	align-items:center;
}

.clinician-card
{
	display:block;
	height:100%;
	overflow:hidden;
	border:1px solid rgba(0,0,0,.08);
	border-radius:8px;
	background:#fff;
	color:var(--wbsc-text);
	box-shadow:0 10px 28px rgba(18,32,48,.08);
}

.clinician-card:hover h2
{
	color:var(--wbsc-blue);
}

.clinician-card img
{
	width:100%;
	aspect-ratio:4 / 3;
	object-fit:cover;
	background:#eef2f6;
}

.clinician-card-body
{
	padding:18px;
}

.event-exhibitor-logo
{
	display:flex;
	flex-direction:column;
	align-items:center;
	justify-content:center;
	min-height:128px;
	padding:12px;
	border:1px solid rgba(0,0,0,.08);
	border-radius:8px;
	color:var(--wbsc-text);
	background:#fff;
	text-align:center;
}

.event-exhibitor-logo img
{
	max-width:86px;
	max-height:72px;
	object-fit:contain;
	margin-bottom:10px;
}

.event-media-thumb
{
	position:relative;
	display:block;
	overflow:hidden;
	border-radius:8px;
	color:#fff;
	background:#111820;
}

.event-media-thumb img
{
	aspect-ratio:16 / 10;
	object-fit:cover;
}

.event-media-thumb span
{
	position:absolute;
	left:12px;
	bottom:12px;
	padding:6px 10px;
	border-radius:6px;
	background:rgba(0,0,0,.72);
	color:#fff;
	font-size:13px;
	font-weight:700;
}

.event-photo-carousel-img
{
	max-height:80vh;
	object-fit:contain;
	background:#111820;
}

/* ================= CARDS ================= */

.card
{
	border: none;
	border-radius: 8px;
	overflow: hidden;
	transition: transform 0.2s ease;
}

.card:hover
{
	transform: translateY(-3px);
}

.card-img-top
{
	aspect-ratio: 16 / 9;
	object-fit: cover;
}

.card:hover img
{
	transform:scale(1.05);
	transition:0.3s;
}

/* ================= OVERLAY ================= */

.card-img-overlay
{
	background: linear-gradient(
		to top,
		rgba(0,0,0,0.75) 0%,
		rgba(0,0,0,0.4) 40%,
		rgba(0,0,0,0) 100%
	);
}

.card-img-overlay h2,
.card-img-overlay p
{
	color: #fff;
	text-shadow: 0 3px 10px rgba(0,0,0,0.8);
}

.img-center-overlay
{
	position:absolute;
	top:50%;
	left:50%;
	transform:translate(-50%,-50%);
	background:rgba(0,0,0,0.8);
	color:#fff;
	padding:10px 16px;
	border-radius:6px;
	font-size:14px;
	font-weight:500;
	opacity:0;
	transition:0.3s;
	pointer-events:none;
}

.card:hover .img-center-overlay
{
	opacity:1;
}

/* ================= TYPO ================= */

h1, h2, h3, h4, h5
{
	color: var(--wbsc-text);
	font-weight: 400;
}

h1
{
	font-size: 48px;
	font-weight: 700;
}

h2
{
	font-size: 36px;
	font-weight: 700;
}

h3
{
	font-size: 36px;
}

h4
{
	font-size: 24px;
}

h4
{
	font-size: 18px;
}

/* ================= UTIL ================= */

.border-bottom
{
	border-color: var(--wbsc-light) !important;
}

.bg-light
{
	background-color: var(--wbsc-blue-light) !important;
}

/* ICONS */

.topbar-icons
{
	gap: 10px;
}

.topbar-icons a
{
	color: #fff;
	font-size: 20px;
	margin-left: 14px;
	margin-right: 10px;
	opacity: 0.85;
	position: relative;
	transition: all 0.2s ease;
}

.topbar-icons a:hover
{
	color: var(--wbsc-yellow);
	opacity: 1;
	transform: translateY(-1px);
}

.topbar-icons a.topbar-cart-link.has-items
{
	color: var(--wbsc-yellow);
	opacity: 1;
}

.topbar-icons a.topbar-member-link.is-active,
.topbar-icons a.topbar-member-link.is-active i
{
	color: var(--wbsc-yellow) !important;
	opacity: 1;
	text-shadow: 0 0 6px rgba(221,196,61,0.6);
}

.topbar-cart-count
{
	align-items: center;
	background: #e5252a;
	border: 1px solid #fff;
	border-radius: 999px;
	color: #fff;
	display: flex;
	font-size: 10px;
	font-weight: 700;
	height: 16px;
	justify-content: center;
	line-height: 1;
	min-width: 16px;
	padding: 0 4px;
	position: absolute;
	right: -10px;
	top: -8px;
}

@media (max-width: 991.98px)
{

/* ================= MOBILE ================= */

	.navbar-nav
	{
		padding-top: 20px;
		padding-bottom: 20px;
		border-bottom: 3px solid rgba(255,255,255,0.2);
	}

	.navbar .nav-link
	{
		display: block;
		padding: 6px 0;
		font-size: 16px;
	}

	.navbar-nav .nav-item
	{
		margin: 0;
		padding: 0;
	}
	.subnav
	{
		display: none;
		width: 100%;
		margin-top: 0px;
		padding-top: 0px;
		padding-bottom: 20px;
		border-top: none;
		text-align: center;
	}

	#navWrap.subnav-open .subnav
	{
		display: block;
	}

	.subnav-menu a
	{
		display: block;
		padding: 0;
		font-size: 14px;
		line-height: 1.1;
	}
	
	/* container als referentie */
	.navbar .container
	{
		display: flex;
		flex-direction: column;
		align-items: center;
		padding-top: 20px;
		padding-bottom: 20px;		
	}

	/* LOGO perfect centreren */
	.navbar-brand
	{
		position: relative;
		left: auto;
		transform: none;
		display: block;
		margin: 0 auto;
		text-align: center;
		top: auto;
	}

	.navbar-toggler
	{
		position: absolute;
		right: 15px;
		top: 20px; /* 🔥 NIET 50% */
		transform: none; /* 🔥 BELANGRIJK */
		width: 40px;
		height: 40px;
		display: flex;
		align-items: center;
		justify-content: center;
		line-height: 0;
	}

	.navbar-collapse
	{
		width: 100%;
		text-align: center;
	}

	.navbar-nav
	{
		align-items: center;
		margin-top: 10px;
	}

	.navbar .nav-link
	{
		text-align: center;
		padding-left: 0;
	}	
	
	.nav-logo
	{
		height: 78px;
	}
	
	.subnav-menu
	{
		flex-direction: column;
		align-items: center;
		justify-content: center;
		gap: 0;
	}	
	
	.subnav-menu li
	{
		margin: 0;
		padding: 0;
	}
	
	#navWrap.shrink .nav-logo
	{
		height: 78px;
		margin-top: 0;
	}
	
	#navWrap.shrink .subnav
	{
		margin-top: 10px;
		padding-bottom: 10px;
	}	
	
	.sport-toggle-desktop
	{
		display:none !important;
	}

	.sport-toggle-mobile
	{
		display:flex !important;
		width:100%;
		justify-content:center;
		align-items:center;
		margin-top:20px !important;
		border-left:0 !important;
		padding-left:0 !important;
		transform:none;
	}

	.sport-toggle-mobile span
	{
		display:flex;
		align-items:center;
		justify-content:center;
	}
	
	.news-item:nth-child(n+3)
	{
		display:none;
	}

	.event-item:nth-child(n+3)
	{
		display:none;
	}	
}



.navbar-caption
{
	color:#ffffff;
	text-decoration:none;
	font-size: 1.25rem;
	font-weight:700;
}

.navbar-caption:hover
{
	opacity: 0.85;
	color: var(--wbsc-yellow) !important;
	text-shadow: 0 0 6px rgba(221,196,61,0.6);
}

.tooltip
{
	z-index:999999 !important;
}

.custom-indicators
{
	position:absolute;
	top:15px;
	right:15px;
	left:auto;
	margin:0;
	z-index:5;
}

.custom-indicators [data-bs-target]
{
	width:12px;
	height:12px;
	border-radius:50%;
	background-color:rgba(255,255,255,0.5);
	border:none;
	margin:0 4px;
	opacity:1;
	transition:0.3s;
	box-shadow:0 0 6px rgba(0,0,0,0.6);
}

.custom-indicators .active
{
	background-color:#fff;
	transform:scale(1.2);
	box-shadow:0 0 8px rgba(0,0,0,0.8);
}

/* ================= SPORT TOGGLE ================= */

.sport-toggle
{
	display:flex;
	align-items:center;
	margin-left:12px;
	padding-left:12px;
	border-left:1px solid rgba(255,255,255,0.35);
}

.sport-toggle span
{
	display:inline-flex;
	align-items:center;
	justify-content:center;
	margin:0 6px;
	cursor:pointer;
	opacity:0.6;
	transition:0.2s;
}

.sport-toggle .icon
{
	width:16px;
	height:16px;
}

.sport-toggle .softball
{
	width:20px;
	height:20px;
}

.sport-toggle .all
{
	position:relative;
	width:28px;
	height:20px;
}

.sport-toggle .all .baseball
{
	position:absolute;
	left:0;
	top:3px;
	z-index:2;
	filter: drop-shadow(0 2px 3px rgba(0,0,0,0.9)) drop-shadow(0 0 4px rgba(0,0,0,0.7));
}

.sport-toggle .all .softball
{
	position:absolute;
	right:0;
	top:0;
	z-index:1;
}

.sport-toggle span.active
{
	opacity:1;
	transform:scale(1.15);
	filter:brightness(1.3);
	filter: drop-shadow(0 1px 2px rgba(0,0,0,0.7));
}

.sport-toggle span:not(.active)
{
	opacity:0.4;
}

/* ================= MEMBERSHIP ================= */

.membership-hero-box
{
	position:relative;
	background:url('/assets/images/BestShot-e1618680266160.jpg') center center / cover no-repeat;
	padding:60px 30px;
	border-radius:12px;
	overflow:hidden;
	box-shadow:0 10px 30px rgba(0,0,0,0.2);
	background-position: center 30%;
}

/* overlay */
.membership-hero-box::before
{
	content:"";
	position:absolute;
	top:0;
	left:0;
	width:100%;
	height:100%;
	background:linear-gradient(
		to bottom,
		rgba(0,0,0,0.5),
		rgba(0,0,0,0.3),
		rgba(0,0,0,0.5)
	);
}

/* content boven overlay */
.membership-hero-box > *
{
	position:relative;
	z-index:2;
}

/* headline */
.membership-hero-box h2
{
	color:#fff;
	filter: drop-shadow(0 1px 2px rgba(0,0,0,0.7));
}

.membership-hero-box h3
{
	color:#fff;
	filter: drop-shadow(0 1px 2px rgba(0,0,0,0.7));
}

.membership-hero-box btn
{
	filter: drop-shadow(0 1px 2px rgba(0,0,0,0.7));
}

/* softball button (fluo geel) */
.btn-softball
{
	background:#E6FF00;
	color:#000;
	border:none;
}

.btn-softball:hover
{
	background:#d4eb00;
	color:#000;
}

.hero-main-image
{
	aspect-ratio: 5 / 3;
	overflow: hidden;
}

.hero-main-img
{
	width: 100%;
	height: 100%;
	object-fit: contain;
	background: #000;
}

.sport-membership-hero
{
	position:relative;
	padding:90px 0 70px;
	color:#fff;
	background:#0b1117;
	overflow:hidden;
}

.sport-membership-hero::before
{
	content:"";
	position:absolute;
	inset:0;
	background:var(--sport-hero-image) center 44% / cover no-repeat;
	opacity:.42;
}

.sport-membership-hero-softball::before
{
	background-position:center center;
}

.sport-membership-hero::after
{
	content:"";
	position:absolute;
	inset:0;
	background:linear-gradient(90deg,rgba(3,9,16,.9) 0%,rgba(3,9,16,.68) 47%,rgba(3,9,16,.3) 100%);
}

.sport-membership-hero .container
{
	position:relative;
	z-index:2;
}

.sport-membership-kicker
{
	margin-bottom:14px;
	font-size:15px;
	font-weight:700;
	text-transform:uppercase;
	letter-spacing:0;
	color:#e6ff00;
}

.sport-membership-hero h1
{
	max-width:780px;
	margin:0 0 20px;
	font-size:clamp(42px,6vw,76px);
	line-height:1;
	letter-spacing:0;
	font-weight:800;
	color:#fff;
}

.sport-membership-hero-softball h1
{
	color:#fff;
}

.sport-membership-hero p
{
	max-width:680px;
	margin-bottom:28px;
	font-size:20px;
	line-height:1.45;
}

.sport-membership-photo
{
	aspect-ratio:1 / 1;
	overflow:hidden;
	border-radius:8px;
	background:#111;
}

.sport-membership-photo img
{
	width:100%;
	height:100%;
	object-fit:cover;
}

.sport-membership-options
{
	position:relative;
	overflow:hidden;
	background:#113f70;
	color:#fff;
}

.sport-membership-video
{
	position:absolute;
	inset:0;
	overflow:hidden;
	pointer-events:none;
}

.sport-membership-video iframe
{
	position:absolute;
	top:50%;
	left:50%;
	width:120vw;
	height:67.5vw;
	min-width:100%;
	min-height:100%;
	transform:translate(-50%,-50%);
	border:0;
}

.sport-membership-video-overlay
{
	position:absolute;
	inset:0;
	background:rgba(39,110,174,.74);
}

.sport-membership-options .container
{
	position:relative;
	z-index:2;
}

.sport-membership-options h2
{
	color:#fff;
}

.sport-membership-intro
{
	font-size:17px;
	line-height:1.62;
	text-align:justify;
	color:#fff;
	text-shadow:0 1px 2px rgba(0,0,0,.3);
}

.sport-membership-intro p:last-child
{
	margin-bottom:0;
}

.sport-membership-card
{
	display:flex;
	flex-direction:column;
	gap:20px;
	padding:28px;
	border-radius:8px;
	background:rgba(255,255,255,.96);
	color:#16212c;
	box-shadow:0 18px 42px rgba(0,0,0,.25);
}

.sport-membership-card-top
{
	margin:-28px -28px 0;
	padding:24px 28px;
	border-radius:8px 8px 0 0;
	background:#123f68;
	color:#fff;
}

.sport-membership-label
{
	margin-bottom:8px;
	font-size:13px;
	font-weight:700;
	text-transform:uppercase;
	letter-spacing:0;
	color:#e6ff00;
}

.sport-membership-card h3
{
	margin:0 0 14px;
	font-size:24px;
	line-height:1.15;
	letter-spacing:0;
	color:#fff;
}

.sport-membership-card-top h3
{
	color:#fff;
}

.sport-membership-price
{
	font-size:30px;
	font-weight:800;
	color:#fff;
}

.sport-membership-card ul
{
	flex:1;
	margin:0;
	padding-left:20px;
}

.sport-membership-card li
{
	margin-bottom:10px;
}

.sport-membership-card-note
{
	margin:-8px 0 0;
	font-size:15px;
	color:#4e5f70;
}

@media (max-width:991.98px)
{
	.event-detail-hero
	{
		min-height:360px;
		padding:96px 0 44px;
	}

	.event-detail-hero h1
	{
		font-size:40px;
	}

	.clinician-filter
	{
		width:100%;
		grid-template-columns:1fr;
	}

	.event-price-action
	{
		width:100%;
		min-width:0;
	}

	.sport-membership-hero
	{
		padding:64px 0 52px;
	}

	.sport-membership-hero h1
	{
		font-size:44px;
	}
}

/* ================= PARTNERS ================= */

.partners-slider
{
	overflow:hidden;
	position:relative;
}

.partners-track
{
	display:flex;
	align-items:center;
	gap:20px;
	animation:scrollPartners 30s linear infinite;
	width:max-content;
}

.partner-item img
{
	max-height:100px;
	width:auto;
	transition:0.3s;
}

.partner-item img:hover
{
	transform:scale(1.05);
}

/* animation */
@keyframes scrollPartners
{
	0%
	{
		transform:translateX(0);
	}
	100%
	{
		transform:translateX(-50%);
	}
}

.partners-slider:hover .partners-track
{
	animation-play-state:paused;
}

/* ================= FOOTER ================= */

.footer-ebsca
{
	background: #232323;
	color:#fff;

	border-top: 5px solid transparent;
	border-image: linear-gradient(
		to right,
		#A88C2F,
		#C1A634,
		#DEC43A
	) 1;
}

.footer-title
{
	font-size:16px;
	opacity:0.8;
}

.footer-links
{
	list-style:none;
	padding:0;
	margin:0;
}

.footer-links li
{
	margin-bottom:6px;
}

.footer-links a
{
	color:#fff;
	text-decoration:none;
	font-size:14px;
	transition:0.2s;
}

.footer-links a:hover
{
	color:var(--wbsc-yellow);
	text-shadow:0 0 6px rgba(221,196,61,0.6);
}

.footer-bottom
{
	font-size:13px;
	opacity:0.7;
}

.footer-bottom a
{
	color:#fff;
}

.footer-sport-info
{
	display:flex;
	align-items:center;
	flex-wrap:wrap;
	gap:12px;
	font-size:13px;
	opacity:0.8;
}

.sport-label
{
	display:inline-flex;
	align-items:center;
	line-height:1;
	margin-right:4px;
	font-weight: 500; 
}

.sport-legend
{
	display:inline-flex;
	align-items:center;
	gap:4px;
	line-height:1;
	margin:0;
}

.footer-sport-info .icon
{
	display:block;
	width:16px;
	height:16px;
	filter:drop-shadow(0 1px 2px rgba(0,0,0,0.7));	
}

.footer-sport-info .softball
{
	width:20px;
	height:20px;
}

.footer-sport-info .all
{
	position:relative;
	width:28px;
	height:20px;
	display:inline-block;
	flex:0 0 28px;
}

.footer-sport-info .all .baseball
{
	position:absolute;
	left:0;
	top:3px;
	z-index:2;
	filter:drop-shadow(0 2px 3px rgba(0,0,0,0.9)) drop-shadow(0 0 4px rgba(0,0,0,0.7));
}

.footer-sport-info .all .softball
{
	position:absolute;
	right:0;
	top:0;
	z-index:1;
}

.footer-heading
{
	color:#fff;
	font-size:20px;
	font-weight:600;
	line-height:1.2;
}

/* ================= NEWS DETAIL ================= */

.news-extra-media
{
	aspect-ratio: 16 / 9;
	object-fit: cover;
}

.news-media-thumb
{
	position: relative;
	display: block;
	overflow: hidden;
	border-radius: 0.375rem;
}

.news-extra-media
{
	aspect-ratio: 16 / 9;
	object-fit: cover;
	transition: 0.3s;
}

.news-media-thumb:hover .news-extra-media
{
	transform: scale(1.05);
}

.news-media-overlay
{
	position: absolute;
	inset: 0;

	display: flex;
	flex-direction: column;
	justify-content: space-between;

	padding: 15px;

	background: linear-gradient(
		to top,
		rgba(0,0,0,0.75),
		rgba(0,0,0,0.10)
	);

	color: #fff;
}

.news-media-click
{
	text-align: center;
	font-weight: 600;
	font-size: 14px;
	background: rgba(0,0,0,0.65);
	padding: 8px;
	border-radius: 6px;
}

.news-video-thumb
{
	position: relative;
	display: block;
}

.youtube-icon
{
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%,-50%);
	font-size: 80px;
	line-height: 1;
	color: #ff0000;
	text-shadow: 0 0 20px rgba(0,0,0,0.6);
	pointer-events: none;
}

.shadowed
{
	-webkit-filter: drop-shadow(6px 6px 12px rgba(0,0,0,0.7));
	filter: drop-shadow(6px 6px 12px rgba(0,0,0,0.7));
	-ms-filter: "progid:DXImageTransform.Microsoft.Dropshadow(OffX=6, OffY=6, Color='#333')";
}
