/*
Theme Name: custom-theme
Theme URI: https://www.themeboy.com/football-club/
Author: ThemeBoy
Author URI: https://www.themeboy.com
Description: Football Club is a fully responsive theme made for sports organisations looking to use the SportsPress plugin. Once you've installed the theme and SportsPress, you'll be able to select a preset for your sport and demo content to help you get started on building your sports website.
Version: 1.0
License: GNU General Public License v3 or later
License URI: http://www.gnu.org/licenses/gpl-3.0.html
Text Domain: rookie
*/

/* Elements */
html {
	overflow-x: hidden;
	max-width: 100vw;
}

body {
	font-size: 16px;
	font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;
	color: #1a1a1a;
	background: #f8f9fa;
	line-height: 1.5;
	overflow-x: hidden;
	max-width: 100vw;
	position: relative;
}

h1,
h2,
h3,
h4,
h5,
h6 {
	font-family: inherit;
}

a {
	color: #d4000f;
}

table {
	font-size: 14px;
}

th {
	padding: 6px 8px;
	line-height: 1;
	background: #fff;
	font-weight: bold;
}

td {
	padding: 8px;
	background: #f5f5f5;
}

tbody tr td {
	border-bottom: 1px solid #fff;
}

tbody tr:last-child td {
	border-bottom: none;
}

input {
	font-family: "HelveticaNeue", "Helvetica Neue", "Helvetica", "Arial", "Lucida Grande", sans-serif;
}

input[type="text"],
input[type="email"],
input[type="url"],
input[type="password"],
input[type="search"],
textarea {
	border-radius: 3px;
	border: 1px solid rgba(0,0,0,0.25);
	font-size: 16px;
	padding: 0.5rem;
}

input[type="text"]:focus,
input[type="email"]:focus,
input[type="url"]:focus,
input[type="password"]:focus,
input[type="search"]:focus,
textarea:focus {
	outline: 2px solid #d4000f;
	outline-offset: 2px;
}

input[type="submit"],
button,
.button {
	color: #fff;
	background: #d4000f;
	border-radius: 9999px;
	padding: calc(0.667em + 2px) calc(1.333em + 2px);
	font-weight: bold;
	border: none;
	box-shadow: 0 2px 4px rgba(0,0,0,0.1);
	transition: all 0.3s ease;
	cursor: pointer;
}

input[type="submit"]:hover,
button:hover,
.button:hover {
	background: #b3000d;
	box-shadow: 0 4px 8px rgba(0,0,0,0.15);
	transform: translateY(-1px);
}

/* Layout */
.site {
	overflow-x: hidden;
	width: 100%;
	max-width: 100vw;
	margin: 0;
	position: relative;
}

.site-widgets {
	background: #fff;
	padding: 8px;
	margin: 0;
	border-bottom: 1px solid #ccc;
}

.site-widgets .widget {
	margin: 0;
}

.header-area {
	background-color: #f5f5f5;
	position: relative;
	z-index: 0;
}

.header-area-custom {
	background-color: rgba(245, 245, 245, 0) !important;
	background-size: cover !important;
	background-position: center !important;
	background-repeat: no-repeat !important;
	min-height: 200px;
	position: relative;
	display: block;
	z-index: 0;
}

.site-banner {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	z-index: 1;
	pointer-events: none;
	overflow: hidden;
}

.site-banner-image {
	width: 100%;
	height: clamp(120px, 10vw, 220px);
	object-fit: cover;
	object-position: 50% 100%;
	display: block;
}

.site-branding {
	text-transform: uppercase;
	background: transparent;
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	z-index: 10;
	padding: 1.75em 3.125%;
}

.site-logo {
	position: relative;
}

.site-title {
	font-family: HelveticaNeue-CondensedBlack, HelveticaNeue-CondensedBold, Impact, Futura-CondensedExtraBold, AvenirNextCondensed-Bold, "Helvetica Narrow","Arial Narrow", Haettenschweiler, "Franklin Gothic Bold", Charcoal, "Helvetica Inserat", "Bitstream Vera Sans Bold", "Arial Black", sans-serif;
	font-size: 60px;
	line-height: 1;
	color: #fff;
}

.site-title a {
	color: #fff !important;
}

.site-title a:hover {
	color: #fff !important;
}

.site-branding hgroup,
.site-branding .site-title,
.site-branding .site-description {
	color: #fff !important;
}

.site-description {
	color: #fff !important;
	font-weight: bold;
	line-height: 1;
}

.site-branding .site-description,
.site-branding hgroup .site-description,
hgroup .site-description {
	color: #fff !important;
}

.main-navigation {
	font-size: 13px;
	min-height: 40px;
	height: 40px;
	font-weight: bold;
	background: #a01111;
	box-shadow: none;
	position: relative;
	z-index: 1000;
}

.main-navigation li {
	border-right: none;
	line-height: 14px;
	margin-right: -1px;
	position: relative;
	height: 40px;
	display: inline-block;
	vertical-align: top;
}

.main-navigation ul ul li,
.main-navigation ul ul li a {
	border: none;
	margin: 0;
}

.main-navigation a {
	color: #fff;
	font-size: 13px;
	opacity: 1;
	padding: 10px 12px;
	text-shadow: none;
	border-right: none;
	display: block;
	height: 40px;
	line-height: 20px;
	box-sizing: border-box;
	white-space: nowrap;
}

.main-navigation .nav-menu > .current-menu-item > a,
.main-navigation .nav-menu > .current-menu-parent > a,
.main-navigation .nav-menu > .current-menu-ancestor > a,
.main-navigation .nav-menu > .current_page_item > a,
.main-navigation .nav-menu > .current_page_parent > a,
.main-navigation .nav-menu > .current_page_ancestor > a {
	opacity: 1;
}

.main-navigation li:hover a {
	background: #d4000f;
	color: #fff;
	opacity: 1;
	text-shadow: none;
	height: 40px;
	padding: 10px 12px;
	box-sizing: border-box;
}

.main-navigation ul ul {
	background: #d4000f;
	padding-bottom: 10px;
	position: absolute;
	top: 100%;
	left: 0;
	min-width: 200px;
	z-index: 100;
	display: none;
	box-shadow: 0 2px 8px rgba(0, 0, 0, 0.2);
	margin-top: 0;
}

.main-navigation ul ul li {
	border: none;
	line-height: 1.5;
}

.main-navigation ul ul a {
	padding: 10px 12px;
	display: block;
	white-space: nowrap;
}

.main-navigation ul ul a:hover {
	text-decoration: underline;
	background: rgba(0, 0, 0, 0.1);
}

/* Show dropdown on hover */
.main-navigation ul li:hover > ul {
	display: block;
}

.main-navigation .menu-toggle {
	color: #fff;
	background: transparent;
	font-weight: bold;
}

.main-navigation.toggled .menu-toggle {
	background: #d4000f;
}

.main-navigation .search-form label {
	border-right: none;
	display: inline-block;
	height: 34px;
	padding: 7px 12px;
	margin-bottom: -10px;
}

.main-navigation .search-form .search-field {
	height: 20px;
	font-size: 11px;
}

.main-navigation .search-form .search-submit {
	background: transparent;
	border: none;
	font-size: 13px;
	line-height: 14px;
	padding: 10px 12px;
	color: #fff;
	opacity: 0.6;
	text-shadow: 1px 1px 0 rgba(0, 0, 0, 0.5);
	border-left: none;
	display: flex;
	align-items: center;
	justify-content: center;
	cursor: pointer;
}

.main-navigation .search-form .search-submit .search-icon {
	width: 16px;
	height: 16px;
	display: block;
	fill: currentColor;
}

.main-navigation .search-form .search-submit:hover {
	opacity: 1;
}

/* Mobile Header Bar */
.mobile-header-bar {
	display: none;
	position: sticky;
	top: 0;
	left: 0;
	right: 0;
	width: 100%;
	max-width: 100vw;
	background: #a01111;
	border-bottom: 1px solid rgba(0, 0, 0, 0.1);
	z-index: 1002;
	padding: 0.75rem 1rem;
	box-sizing: border-box;
	align-items: center;
	justify-content: flex-start;
	gap: 0.75rem;
}

.mobile-header-logo {
	display: flex;
	align-items: center;
	flex-shrink: 0;
}

.mobile-header-logo img {
	height: 40px;
	width: auto;
	max-width: 64px;
	display: block;
}

.mobile-header-title {
	margin: 0;
	padding: 0;
	font-size: 2.5rem;
	font-weight: 600;
	color: #fff;
	overflow: hidden;
	text-overflow: ellipsis;
	white-space: nowrap;
	flex-shrink: 1;
	text-decoration: none;
}

.mobile-header-title:hover,
.mobile-header-title:focus {
	text-decoration: underline;
}

.mobile-header-actions {
	display: flex;
	align-items: center;
	flex-shrink: 0;
	margin-left: auto;
}

/* Hamburger Menu - Mobile */
.site-header-responsive-trigger {
	display: none;
	position: relative;
	z-index: 1001;
	width: 44px;
	height: 44px;
	cursor: pointer;
	background: transparent;
	border: none;
	padding: 8px;
	box-sizing: border-box;
	color: #fff;
}

.mobile-header-bar .site-header-responsive-trigger {
	display: flex;
	align-items: center;
	justify-content: center;
}

.hamburger-icon {
	width: 24px;
	height: 24px;
	display: block;
	fill: currentColor;
}

.mobile-menu-overlay {
	position: fixed;
	top: 0;
	left: 0;
	width: 100%;
	height: 100vh;
	background: rgba(0, 0, 0, 0.5);
	z-index: 999998;
	opacity: 0;
	visibility: hidden;
	transition: opacity 0.3s ease, visibility 0.3s ease;
}

.mobile-menu-overlay.active {
	opacity: 1;
	visibility: visible;
}

.mobile-menu-wrapper {
	position: fixed;
	top: 0;
	left: 0;
	width: 80%;
	max-width: 320px;
	height: 100vh;
	background: #a01111;
	z-index: 999999;
	transition: transform 0.3s ease;
	overflow-x: hidden;
	overflow-y: auto;
	-webkit-overflow-scrolling: touch;
	touch-action: pan-y;
	box-shadow: 2px 0 10px rgba(0, 0, 0, 0.2);
	transform: translateX(-100%);
}



.mobile-menu-content {
	display: flex;
	flex-direction: column;
	height: 100%;
}

.mobile-menu-title-bar {
	display: flex;
	align-items: center;
	justify-content: space-between;
	padding: 1rem;
	border-bottom: 1px solid rgba(255, 255, 255, 0.15);
	background: #a01111;
	position: sticky;
	top: 0;
	z-index: 10;
}

.mobile-menu-title-left {
	display: flex;
	align-items: center;
	flex: 1;
	min-width: 0;
}

.mobile-menu-title-right {
	display: flex;
	align-items: center;
	flex-shrink: 0;
}

.mobile-menu-logo {
	display: flex;
	align-items: center;
	flex-shrink: 0;
}

.mobile-menu-logo img {
	height: 40px;
	width: auto;
	max-width: 64px;
}

.mobile-menu-site-title {
	flex: 1;
	margin: 0;
	padding: 0 1rem;
	font-size: 2rem;
	font-weight: 600;
	color: #fff;
	overflow: hidden;
	text-overflow: ellipsis;
	white-space: nowrap;
	min-width: 0;
}

.mobile-menu-search-toggle {
	background: transparent;
	border: none;
	width: 44px;
	height: 44px;
	cursor: pointer;
	display: flex;
	align-items: center;
	justify-content: center;
	padding: 0;
	flex-shrink: 0;
	color: #fff;
}

.mobile-menu-search-toggle .search-icon {
	width: 20px;
	height: 20px;
	fill: currentColor;
}

.mobile-menu-search-toggle:hover {
	color: rgba(255, 255, 255, 0.8);
}

.mobile-menu-close {
	background: transparent;
	border: none;
	font-size: 1.5rem;
	width: 44px;
	height: 44px;
	cursor: pointer;
	display: flex;
	align-items: center;
	justify-content: center;
	padding: 0;
	flex-shrink: 0;
	color: #fff;
}

.mobile-menu-search {
	padding: 0;
	margin: 0 -1rem;
	padding: 1rem;
	border-bottom: 1px solid rgba(255, 255, 255, 0.15);
	background: #a01111;
	width: calc(100% + 2rem);
}

.mobile-menu-search .search-form {
	display: flex;
	width: 100%;
}

.mobile-menu-search .search-field {
	flex: 1;
	padding: 0.75rem 1rem;
	border: 1px solid rgba(255, 255, 255, 0.3);
	border-radius: 4px;
	background: rgba(255, 255, 255, 0.1);
	color: #fff;
	font-size: 1rem;
}

.mobile-menu-search .search-field::placeholder {
	color: rgba(255, 255, 255, 0.7);
}

.mobile-menu-search .search-field:focus {
	outline: none;
	border-color: rgba(255, 255, 255, 0.5);
	background: rgba(255, 255, 255, 0.15);
}

.mobile-menu-search .search-submit {
	background: transparent;
	border: none;
	color: #fff;
	cursor: pointer;
	padding: 0.75rem;
	display: flex;
	align-items: center;
	justify-content: center;
}

.mobile-menu-search .search-submit .search-icon,
.mobile-menu-search .search-form .search-icon {
	width: 20px;
	height: 20px;
	display: block;
	fill: currentColor;
}

.mobile-menu-wrapper.active {
	transform: translateX(0);
}

.mobile-menu-close:hover {
	color: rgba(255, 255, 255, 0.8);
}

.mobile-menu {
	padding: 0;
	flex: 1;
	min-height: 0;
	overflow-x: hidden;
	overflow-y: auto;
	-webkit-overflow-scrolling: touch;
	touch-action: pan-y;
	display: block !important;
	visibility: visible !important;
	width: 100%;
	box-sizing: border-box;
	background: #a01111;
}

.mobile-menu ul {
	list-style: none;
	margin: 0;
	padding: 0;
	display: block !important;
	float: none;
	visibility: visible !important;
	width: 100%;
	box-sizing: border-box;
}

/* Strongly override desktop dropdown behavior inside the mobile menu */
.mobile-menu ul ul,
.mobile-menu .sub-menu {
	position: static !important;
	top: auto !important;
	left: auto !important;
	right: auto !important;
	margin: 0 !important;
	padding: 0 !important;
	width: 100% !important;
	box-shadow: none !important;
}

.mobile-menu li {
	border: none;
	border-bottom: none;
	border-top: none;
	display: block;
	height: auto;
	min-height: 0;
	float: none;
	visibility: visible;
	width: 100%;
	box-sizing: border-box;
	position: relative;
	margin: 0;
	padding: 0;
	background: transparent;
}

.mobile-menu a {
	display: flex;
	align-items: center;
	justify-content: space-between;
	padding: 1rem 1.25rem;
	color: #fff !important;
	text-decoration: none;
	font-size: 1rem;
	font-weight: 500;
	line-height: 1.5;
	visibility: visible;
	text-align: left;
	width: 100%;
	box-sizing: border-box;
	transition: none;
	background: transparent !important;
}

.mobile-menu a:link,
.mobile-menu a:visited,
.mobile-menu a:hover,
.mobile-menu a:focus,
.mobile-menu a:active {
	color: #fff !important;
	background: transparent !important;
}

.mobile-menu .sub-menu {
	display: none !important;
	list-style: none;
	margin: 0;
	padding: 0;
	background: transparent;
	position: static;
	width: 100%;
	clear: both;
	overflow: visible;
	border: none;
}

.mobile-menu .sub-menu.expanded {
	display: block !important;
}

.mobile-menu .sub-menu li {
	border: none;
	border-bottom: none;
	border-top: none;
	display: block;
	height: auto;
	min-height: 0;
	float: none;
	width: 100%;
	margin: 0;
	padding: 0;
	position: static;
	background: transparent;
}

.mobile-menu .sub-menu a {
	padding-left: 3rem;
	padding-right: 1.25rem;
	padding-top: 1rem;
	padding-bottom: 1rem;
	font-size: 0.9rem;
	display: block;
	width: 100%;
	box-sizing: border-box;
	background: transparent !important;
	border: none;
}

.mobile-menu .menu-item-has-children {
	position: relative;
	display: block;
	float: none;
	width: 100%;
	overflow: visible;
}

.mobile-menu .menu-item-has-children > a {
	position: relative;
	z-index: 1;
	display: block;
}

.mobile-menu .menu-item-has-children > a::after {
	content: '▼';
	font-size: 0.7rem;
	margin-left: 0.5rem;
	transition: transform 0.2s ease;
	display: inline-block;
}

.mobile-menu .menu-item-has-children.expanded > a::after {
	transform: rotate(180deg);
}

.mobile-menu .menu-item-has-children .sub-menu {
	position: static !important;
	display: none !important;
	margin: 0 !important;
	padding: 0 !important;
	width: 100% !important;
	top: auto !important;
	left: auto !important;
	right: auto !important;
	bottom: auto !important;
	transform: none !important;
	z-index: auto !important;
	opacity: 1 !important;
	visibility: visible !important;
	background: transparent !important;
	clear: both;
}

/* Only show the direct child submenu when expanded (not nested submenus) */
.mobile-menu .menu-item-has-children.expanded > .sub-menu {
	display: block !important;
	position: static !important;
	margin: 0 !important;
	padding: 0 !important;
	top: auto !important;
	left: auto !important;
	right: auto !important;
	bottom: auto !important;
	transform: none !important;
	z-index: auto !important;
	opacity: 1 !important;
	visibility: visible !important;
	background: transparent !important;
}

/* Override framework: in mobile menu submenus are toggle-only, never show on hover */
.mobile-menu .menu-item-has-children:not(.expanded) > .sub-menu {
	display: none !important;
}

.desktop-menu {
	display: none;
}

@media (min-width: 1100px) {
	.site-header-responsive-trigger,
	.mobile-menu-wrapper,
	.mobile-menu-overlay {
		display: none !important;
	}
	
	.desktop-menu {
		display: block;
	}
	
	.main-navigation.mobile-menu {
		display: none;
	}
	
	.mobile-header-bar {
		display: none !important;
	}
	
	/* Desktop menu bar styling */
	.main-navigation.desktop-menu,
	.main-navigation:not(.mobile-menu) {
		background: #a01111;
		height: 40px;
		min-height: 40px;
		position: relative;
		z-index: 1000;
		margin-top: 0;
	}
	
	.main-navigation.desktop-menu ul ul,
	.main-navigation:not(.mobile-menu) ul ul {
		z-index: 100;
	}
	
	.main-navigation.desktop-menu a,
	.main-navigation:not(.mobile-menu) a {
		color: #fff;
		opacity: 1;
		text-shadow: none;
		height: 40px;
		line-height: 20px;
		padding: 10px 12px;
		box-sizing: border-box;
		display: flex;
		align-items: center;
	}
	
	.main-navigation.desktop-menu li,
	.main-navigation:not(.mobile-menu) li {
		height: 40px;
		line-height: 40px;
	}
	
	.main-navigation.desktop-menu li:hover a,
	.main-navigation:not(.mobile-menu) li:hover a {
		height: 40px;
		padding: 10px 12px;
		box-sizing: border-box;
		line-height: 20px;
	}
	
	/* Ensure header area maintains height for absolutely positioned branding */
	.header-area {
		position: relative;
		overflow: visible;
	}
	
	/* Site-banner in flow so height is driven by the image; menu sits directly below */
	.site-banner {
		position: relative;
		width: 100%;
		overflow: hidden;
	}
	
	.site-banner .site-banner-image {
		margin-top: 0 !important;
		clip-path: none !important;
	}
	
	/* Site-menu (and desktop-menu-items) appears directly below site-banner */
	.header-area .site-menu {
		position: relative;
		z-index: 2;
		padding-top: 0;
	}
	
	/* Ensure desktop navigation appears directly below site-banner */
	.header-area .site-menu .main-navigation.desktop-menu {
		position: relative;
		z-index: 2;
		margin-top: 0;
	}
}

/* Desktop Search */
.desktop-menu-wrapper {
	display: flex;
	align-items: center;
	position: relative;
	flex: 1;
}

.desktop-menu-items {
	display: flex;
	align-items: center;
	flex: 1;
	transition: transform 0.3s ease, opacity 0.3s ease;
}

.desktop-menu-wrapper.search-open .desktop-menu-items {
	transform: translateX(-100%);
	opacity: 0;
	pointer-events: none;
}

.desktop-search-toggle {
	background: transparent;
	border: none;
	cursor: pointer;
	padding: 0.5rem;
	display: flex;
	align-items: center;
	justify-content: center;
	margin-left: 1rem;
	transition: opacity 0.3s ease;
	color: #fff;
	flex-shrink: 0;
	z-index: 2;
}

.desktop-search-toggle .search-icon {
	width: 20px;
	height: 20px;
	display: block;
	fill: currentColor;
}

.desktop-search-toggle:hover {
	opacity: 0.7;
}

.desktop-menu-wrapper.search-open .desktop-search-toggle {
	display: none;
}

.desktop-search-close {
	background: transparent;
	border: none;
	cursor: pointer;
	padding: 0.5rem;
	display: none;
	align-items: center;
	justify-content: center;
	margin-left: 1rem;
	color: #fff !important;
	flex-shrink: 0;
	z-index: 2;
	font-size: 1.25rem;
	line-height: 1;
	width: 32px;
	height: 32px;
}

.desktop-search-close span {
	color: #fff !important;
}

.desktop-menu-wrapper.search-open .desktop-search-close {
	display: flex;
}

.desktop-search-close:hover {
	opacity: 0.7;
}

.desktop-search-dialog {
	position: absolute;
	left: 0;
	top: 0;
	width: 0;
	overflow: hidden;
	transition: width 0.3s ease;
	display: flex;
	align-items: center;
	height: 100%;
}

.desktop-menu-wrapper.search-open .desktop-search-dialog {
	width: calc(100% - 80px);
}

.desktop-search-form {
	display: flex;
	align-items: center;
	width: 100%;
	gap: 0.5rem;
}

.desktop-search-input {
	flex: 1;
	padding: 0.5rem 1rem;
	border: 1px solid rgba(255, 255, 255, 0.3);
	border-radius: 4px;
	font-size: 1rem;
	background: transparent;
	color: #fff !important;
}

.desktop-search-input::placeholder {
	color: rgba(255, 255, 255, 0.7);
}

.desktop-search-input:focus {
	outline: none;
	border-color: rgba(255, 255, 255, 0.5);
	background: transparent;
	color: #fff !important;
}

.desktop-search-submit {
	background: transparent;
	border: none;
	cursor: pointer;
	padding: 0.5rem;
	display: flex;
	align-items: center;
	justify-content: center;
	color: #fff;
}

.desktop-search-submit .search-icon {
	width: 18px;
	height: 18px;
	display: block;
	fill: currentColor;
}

.desktop-search-clear:hover,
.desktop-search-submit:hover {
	opacity: 0.7;
}

.screen-reader-text {
	position: absolute;
	left: -9999px;
	width: 1px;
	height: 1px;
	overflow: hidden;
}

@media (max-width: 1099px) {
	.main-navigation .menu-toggle {
		display: none;
	}
	
	.desktop-menu {
		display: none;
	}
	
	.site-header-responsive-trigger {
		display: block;
	}
	
	.mobile-header-bar {
		display: flex;
	}
	
	.site-branding {
		display: none;
	}
	
	.site-banner {
		display: none !important;
	}
	
	body.menu-open {
		overflow: hidden;
		position: fixed;
		width: 100%;
		height: 100%;
	}
	
	html.menu-open {
		overflow: hidden;
		height: 100%;
	}
	
	/* Ensure no content appears above mobile menu overlay */
	body.menu-open article,
	body.menu-open article header,
	body.menu-open .entry-header,
	body.menu-open .article-header,
	body.menu-open main,
	body.menu-open .site-content {
		z-index: 1 !important;
		position: relative;
	}
	
	html {
		margin-top: 0 !important;
		overflow-x: hidden;
		max-width: 100vw;
		overscroll-behavior: none;
		overscroll-behavior-y: none;
	}
	
	body {
		overflow-x: hidden;
		max-width: 100vw;
		overscroll-behavior: none;
		overscroll-behavior-y: none;
	}
	
	.site-content {
		overflow-x: hidden;
		max-width: 100vw;
		overscroll-behavior: none;
	}
	
	.site {
		max-width: 100vw;
		overflow-x: hidden;
		overscroll-behavior: none;
	}
}

.site-header {
	position: relative;
	z-index: 1000;
}

.site-content {
	background: #fff;
	position: relative;
	z-index: 1;
}

#content {
	width: 100%;
	max-width: 100%;
	position: relative;
	z-index: 1;
}

.hentry {
	margin: 0;
	display: block;
	clear: both;
	border-bottom: 1px solid #ccc;
	margin-bottom: 28px;
	position: relative;
	z-index: 1;
}

.single .hentry {
	border-bottom: none;
}

.hentry:after {
	content: "";
	display: table;
	clear: both;
}

.page .hentry {
	border-bottom: none;
}

.page-template-template-homepage .hentry {
	margin-bottom: 0;
}

.entry-thumbnail {
	margin: -28px -28px 28px;
}

.article-thumbnail {
	padding: 8px;
	border: 1px solid #ccc;
	background: #f5f5f5;
	margin: 0 auto 28px;
}

.article-thumbnail img {
	display: block;
}

.entry-header {
	margin: -28px -28px 28px;
	padding: 12px 28px;
	line-height: 32px;
	border-top: 1px solid #ccc;
	border-bottom: 1px solid #ccc;
	background: #f5f5f5;
	box-shadow: inset 0px -70px 70px -70px rgba(0,0,0,0.1);
	overflow: auto;
}

.hentry:first-child .entry-header {
	border-top: none;
}

.entry-header a,
.entry-header a:hover {
	color: inherit;
}

.posted-on,
.taxonomy-description {
	font-weight: bold;
	font-size: 11px;
	color: #333;
}

.posted-on a {
	color: inherit;
}

.entry-header .posted-on,
.entry-header .taxonomy-description {
	float: right;
}

.entry-header .taxonomy-description p {
	margin-bottom: 0;
}

.entry-title {
	font-size: 26px;
	margin: 0;
}

.entry-header .entry-title {
	clear: none;
	display: block;
}

.entry-header .entry-details {
	display: inline;
}

.entry-header .entry-thumbnail {
	margin: -12px -28px 12px;
	background: #222;
}

.entry-header .entry-thumbnail img {
	width: auto;
	height: auto;
	max-width: 100%;
	margin: 0 auto;
}

.entry-header .entry-meta {
	display: none;
}

.article-header .posted-on {
	display: block;
	margin-bottom: 16px;
}

.content-area {
	padding: 28px;
}

.page-template-template-homepage .content-area {
	padding: 8px;
}

.entry-footer {
	padding: 0 28px 40px;
}

.entry-tag-links {
	display: none;
}

/* Search Form */
.search-form .search-field {
	border: none;
	box-shadow: inset 0 1px 3px rgba(0,0,0,0.25);
	background-color: #f5f5f5;
}

/* Widgets */
.widget-area {
	padding: 1rem;
}

.widget {
	margin-bottom: 1.5rem;
	border: none;
	padding: 1.5rem;
	background: #fff;
	border-radius: 6px;
	box-shadow: 0 2px 8px rgba(0,0,0,0.1);
}

.not-found .widget {
	border: none;
	padding: 0;
	background: transparent;
	margin-top: 1.75rem;
	box-shadow: none;
}

.widget-area .widget {
	outline: none;
}

.widget-title,
.widgettitle {
	background: #d4000f;
	color: #fff;
	font-size: 1rem;
	padding: 0.75rem 1rem;
	margin: -1.5rem -1.5rem 1rem;
	font-weight: bold;
	line-height: 1.4;
	border-radius: 6px 6px 0 0;
	box-shadow: none;
}

.not-found .widget .widget-title,
.not-found .widget .widgettitle {
	background: transparent;
	box-shadow: none;
	color: #222;
	margin-top: 28px;
}

.widget iframe {
	display: block;
}

.widget .textwidget {
	padding: 8px;
}

.widget .gallery {
	margin: 0;
}

.widget_search .search-form {
	margin: 0;
}

.widget_recent_entries ul,
.widget_pages ul,
.widget_categories ul,
.widget_archive ul,
.widget_recent_comments ul,
.widget_nav_menu ul,
.widget_links ul,
.widget_meta ul,
.widget_recent_entries li:last-child,
.widget_pages li:last-child,
.widget_categories li:last-child,
.widget_archive li:last-child,
.widget_recent_comments li:last-child,
.widget_nav_menu li:last-child,
.widget_links li:last-child,
.widget_meta li:last-child {
	margin-bottom: 0;
}

/* Footer */
.site-footer {
	background: #a01111;
	padding: 0;
}

.site-footer .footer-logo {
	padding: 28px;
}

.site-info {
	max-width: 1200px;
	width: 100%;
	margin: 0 auto;
	padding: 0;
	background: #a01111 !important;
	font-size: 13px;
	font-weight: bold;
	display: none;
}

.site-info,
.site-info .info-area {
	background: #a01111 !important;
}

.site-info a {
	color: inherit;
}

.site-footer {
	color: #fff;
	color: rgba(255, 255, 255, 0.5);
}

.site-footer a {
	color: inherit;
}

.site-footer a:hover {
	color: #fff;
}

.site-footer .footer-widget-region {
	padding: 28px 28px 0;
	text-align: center;
	width: 100%;
	display: flex;
	flex-direction: column;
	align-items: center;
}

.footer-widgets .widget,
.footer-widget-region .widget {
	padding: 0;
	border: none;
	background: transparent;
	margin-bottom: 28px;
	text-align: center;
	box-shadow: none !important;
	display: flex;
	flex-direction: column;
	align-items: center;
	width: 100%;
}

.footer-widgets .widget * {
	box-shadow: none !important;
}

.footer-widgets .widget-title,
.footer-widgets .sp-table-caption,
.footer-widgets h1.widget-title,
.footer-widgets h2.widget-title,
.footer-widgets h3.widget-title {
	padding: 0;
	margin: 0 0 20px;
	background: transparent !important;
	box-shadow: none !important;
	font-size: 16px;
	color: #fff;
	text-align: center !important;
	border-radius: 0;
	order: 1;
	width: 100%;
}

/* Tiered Widget Title Sizing */
.footer-sponsor-main .widget-title,
.footer-sponsor-main .sp-table-caption,
.footer-sponsor-main h1.widget-title,
.footer-sponsor-main h2.widget-title,
.footer-sponsor-main h3.widget-title {
	font-size: 28px;
}

.footer-sponsor-diamond .widget-title,
.footer-sponsor-diamond .sp-table-caption,
.footer-sponsor-diamond h1.widget-title,
.footer-sponsor-diamond h2.widget-title,
.footer-sponsor-diamond h3.widget-title {
	font-size: 24px;
}

.footer-sponsor-platinum .widget-title,
.footer-sponsor-platinum .sp-table-caption,
.footer-sponsor-platinum h1.widget-title,
.footer-sponsor-platinum h2.widget-title,
.footer-sponsor-platinum h3.widget-title {
	font-size: 20px;
}

.footer-sponsor-official .widget-title,
.footer-sponsor-official .sp-table-caption,
.footer-sponsor-official h1.widget-title,
.footer-sponsor-official h2.widget-title,
.footer-sponsor-official h3.widget-title {
	font-size: 16px;
}

.footer-widgets .textwidget {
	padding: 0;
}

.footer-widgets .sp-view-all-link {
	color: #fff;
	text-shadow: none;
	box-shadow: none;
	float: right;
}

/* Sponsor Widget Layout - CSS Grid for fully responsive rows
 * - Uses auto-fit + minmax so any number of sponsors and any viewport width
 *   produce evenly filled rows (no hard-coded items-per-row).
 */
.footer-widgets .widget_sponsors,
.footer-widgets .widget_sportspress-sponsors,
.footer-widgets .sp-sponsors {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(160px, 1fr));
	justify-items: center;
	align-items: center;
	gap: 1.5rem;
	margin: 0 auto;
	order: 2;
	width: 100%;
}

/* Sponsor link styling - center logo inside its grid cell */
.footer-widgets .sp-sponsors a,
.footer-widgets .sp-sponsors .sponsor {
	display: flex;
	justify-content: center;
	align-items: center;
	min-width: 0;
}

.footer-widgets .widget_sponsors img,
.footer-widgets .widget_sportspress-sponsors img,
.footer-widgets .sp-sponsors img {
	height: auto;
	max-width: 100%;
	object-fit: contain;
}

/* Tiered Sponsor Sizing */
.footer-sponsor-main .widget_sponsors img,
.footer-sponsor-main .widget_sportspress-sponsors img,
.footer-sponsor-main .sp-sponsors img {
	max-width: 600px; /* Biggest - Club main partners */
}

.footer-sponsor-diamond .widget_sponsors img,
.footer-sponsor-diamond .widget_sportspress-sponsors img,
.footer-sponsor-diamond .sp-sponsors img {
	max-width: 300px; /* Diamond Partners */
}

.footer-sponsor-platinum .widget_sponsors img,
.footer-sponsor-platinum .widget_sportspress-sponsors img,
.footer-sponsor-platinum .sp-sponsors img {
	max-width: 200px; /* Platinum Partners */
}

.footer-sponsor-official .widget_sponsors img,
.footer-sponsor-official .widget_sportspress-sponsors img,
.footer-sponsor-official .sp-sponsors img {
	max-width: 150px; /* Smallest - Official Partners */
}

/* Mobile Sponsor Sizing - Viewport Width */
@media (max-width: 1099px) {
	.footer-sponsor-main .widget_sponsors img,
	.footer-sponsor-main .widget_sportspress-sponsors img,
	.footer-sponsor-main .sp-sponsors img {
		max-width: 80vw !important; /* Club main partners - mobile only */
	}

	.footer-sponsor-diamond .widget_sponsors img,
	.footer-sponsor-diamond .widget_sportspress-sponsors img,
	.footer-sponsor-diamond .sp-sponsors img {
		max-width: 50vw !important; /* Diamond Partners - mobile only */
	}

	.footer-sponsor-platinum .widget_sponsors img,
	.footer-sponsor-platinum .widget_sportspress-sponsors img,
	.footer-sponsor-platinum .sp-sponsors img {
		max-width: 40vw !important; /* Platinum Partners - mobile only */
	}

	.footer-sponsor-official .widget_sponsors img,
	.footer-sponsor-official .widget_sportspress-sponsors img,
	.footer-sponsor-official .sp-sponsors img {
		max-width: 20vw !important; /* Official Partners - mobile only */
	}
}

/* Galleries */
.gallery-item {
	display: block;
	float: left;
	width: 100px;
	position: relative;
}

.gallery-item img {
	width: 100px;
	max-width: 100%;
}

/* SportsPress */

aside[class^="widget_sp_"],
aside[class*=" widget_sp_"] {
	padding: 1px;
}

aside[class^="widget_sp_"] .widget-title,
aside[class*=" widget_sp_"] .widget-title {
	margin: 0 0 1px;
}

.sp-data-table a {
	color: inherit;
}

.sp-data-table .data-number,
.sp-data-table .data-rank {
	text-align: right;
}

.sp-template {
	margin-bottom: 8px;
	border: 1px solid #ccc;
	padding: 1px;
	background: #fff;
	clear: both;
	overflow: auto;
}

.sp-template:after {
	content: "";
	display: table;
	clear: both;
}

.widget .sp-template {
	margin: 0;
	padding: 0;
	border: none;
	background: #f5f5f5;
}

.widget .gallery .sp-template {
	background: transparent;
}

.sp-template-profile-selector,
.sp-template-event-logos,
.sp-template-event-staff,
.sp-template-team-logo,
.sp-template-details,
.sp-template-tournament-winner,
.sp-template-tournament-bracket {
	margin: 0 0 16px;
	padding: 0;
	border: none;
	background: transparent;
	clear: none;
}

.sp-template-event-logos .sp-event-logos .sp-team-logo .sp-team-result {
	background: #d4000f;
	color: #fff;
	border: 1px solid #fff;
	outline: 1px solid #ccc;
	margin: 0.5em 0;
}

.single-sp_team .has-post-thumbnail .entry-header .entry-title {
	float: none;
}

.sp-template-photo {
	padding: 10px;
}

.single-sp_player .entry-header .entry-title strong {
	color: #fff;
	background: #d4000f;
	display: block;
	float: left;
	margin: -12px 12px -12px -28px;
	padding: 12px 20px;
}

.sp-template-gallery .gallery-item {
	padding: 5px;
}

.sp-template-gallery .gallery-caption {
	position: static;
}

.sp-template-gallery .gallery-item .gallery-caption{
	position: relative;
}

.sp-template-gallery .gallery-item strong {
	font-weight: bold;
	position: absolute;
	top: -24px;
	left: 0;
	background: #d4000f;
	color: #fff;
	font-size: 13px;
	height: 24px;
	line-height: 24px;
	padding: 0 8px;
	width: auto;
	margin-top: -1px;
	margin-left: -1px;
}

.sp-template-gallery .gallery-caption,
.sp-template-gallery .gallery-caption.has-number {
	padding: 4px;
	clear: both;
	background: #f5f5f5;
	border: 1px solid #ccc;
	font-size: 12px;
	font-weight: bold;
	text-align: left;
	line-height: 16px;
	color: #666;
	white-space: normal;
	overflow: visible;
	text-overflow: clip;
}

.sp-template-gallery .gallery-item:hover .gallery-caption {
	color: #222;
}

.widget_calendar caption,
.sp-table-caption,
.sp-template .player-group-name {
	background: #d4000f;
	color: #fff;
	font-size: 12px;
	padding: 6px 8px;
	margin: 0 0 1px;
	font-weight: bold;
	line-height: 1;
	box-shadow: inset 0px -12px 24px -10px rgba(0,0,0,0.25);
}

.sp-highlight {
	background: #fff;
	font-weight: bold;
}

.sp-heading {
	background: #d4000f;
	color: #fff;
	font-weight: bold;
}

.widget_sportspress .widget-title,
.widget_sportspress .widgettitle {
	background: #333;
}

.widget_calendar {
	padding: 1px;
}

.widget_calendar table {
	margin: 0;
}

.widget_calendar tbody tr td,
.sp-calendar tbody tr td {
	border-bottom: 1px solid #fff;
	border-right: 1px solid #fff;
}

.widget_calendar tbody tr td:last-child,
.sp-calendar tbody tr td:last-child {
	border-right: none;
}

.sp-view-all-link {
	margin: 0;
}

.sp-gallery-link {
	clear: both;
}

.sp-view-all-link a,
.widget_calendar tfoot td {
	margin: 0;
	padding: 6px 8px;
	line-height: 1;
	font-weight: bold;
	color: inherit;
	color: #888;
	background: #fff;
	border-top: 1px solid #fff;
	font-size: 12px;
	text-shadow: 1px 1px 0 #fff;
	box-shadow: inset 0px -12px 24px -10px rgba(0,0,0,0.15);
}

.sp-view-all-link a {
	display: block;
}

.sp-view-all-link a:hover {
	color: #222;
}

.sp-list-wrapper dl {
	background: #f5f5f5;
	padding: 12px 16px 0;
}

.widget_calendar tfoot td a {
	color: inherit;
}

.widget_calendar tfoot td a:hover {
	color: #d4000f;
}

.sp-template-event-performance-icons {
	width: 49.576%;
	clear: none;
	margin-bottom: 28px;
}

.sp-template-event-performance-icons:nth-child(2n) {
	padding-left: 0;
}

.sp-event-blocks .team-logo {
	margin-top: 0;
	margin-bottom: 0;
	max-width: 50px;
}

.sp-event-blocks .logo-odd {
	margin-left: 0;
}

.sp-event-blocks .logo-even {
	margin-right: 0;
}

.sp-event-blocks .sp-event-date {
	line-height: 20px;
	margin-top: 0;
	margin-bottom: 0;
}

.sp-event-blocks .sp-event-time,
.sp-event-blocks .sp-event-results {
	font-weight: bold;
	font-size: 18px;
	margin-top: 0;
	margin-bottom: 4px;
}

.sp-event-blocks .sp-event-title {
	font-size: 14px;
	font-weight: bold;
	text-transform: uppercase;
	line-height: 16px;
}

.widget .sp-event-blocks .sp-event-title {
	margin: 0;
}

.widget .sp-event-blocks .sp-event-title a {
	color: #d4000f;
}

.sp-template-countdown,
.widget .sp-template-countdown {
	padding: 8px;
}

.sp-template-countdown .event-name {
	font-size: 14px;
	font-weight: bold;
	text-transform: uppercase;
	line-height: 16px;
	text-align: center;
	margin-bottom: 4px;
}

.sp-template-countdown h5 {
	padding: 0;
	text-align: center;
}

.sp-template-countdown time span {
	padding: 0;
	font-size: 18px;
	font-weight: bold;
}

.sp-template-countdown time span small {
	font-weight: normal;
}

.sp-template-details dl {
	overflow: hidden;
	margin: 0;
}

.sp-footer-sponsors .sp-sponsors {
	border-top: 1px solid #ccc;
}

.sp-league-table .sp-highlight {
	color: #d4000f;
	background: #f5f5f5;
}

.sp-league-menu {
	box-shadow: 0 0 12px rgba(0,0,0,0.2);
}

.sp-data-table .sp-total-row td {
	background: transparent;
}

.sp-data-table tbody tr.odd td,
.sp-data-table tbody tr.alternate td,
.sp-calendar tbody td#today {
	background: #f0f0f0;
}

.sp-template-event-statistics {
	border: none;
	padding: 0;
}

.sp-template-event-statistics td {
	background: transparent;
}

.sp-statistic-ratio,
tbody tr:last-child .sp-statistic-ratio {
	padding: 1px;
	border: 1px solid #ccc;
	display: block;
	width: 100%;
}

.sp-statistic-value {
	padding: 1px 8px;
}

.sp-statistic-value:first-child {
	text-align: right;
}

.sp-statistic-bar {
	background: #333;
	box-shadow: inset 0px 15px 10px -10px rgba(255,255,255,0.3);
}

.sp-statistic-bar-fill {
	background: #d4000f;
	box-shadow: inset 0px -12px 24px -10px rgba(0,0,0,0.25);
}

.sp-event-performance-teams .sp-template-event-performance-icons,
.sp-event-performance-teams .sp-template-event-performance-icons:nth-child(2n) {
	padding: 1px;
	width: 49.5%;
}

.sp-tab-menu {
    border-bottom: 1px solid #ccc;
}

.sp-tab-menu-item a {
    border-bottom: 1px solid transparent;
    margin: 0 5px -1px;
    padding: 8px;
    font-size: 14px;
    font-weight: bold;
}

.sp-tab-menu-item-active a {
    border-bottom-color: #d4000f;
}

/* BuddyPress */

#buddypress #item-header-cover-image #item-header-avatar img.avatar {
	background: #fff;
	padding: 5px;
	border: 1px solid #ccc;
}

#buddypress div#item-header-cover-image .user-nicename a,
#buddypress div#item-header-cover-image .user-nicename {
	margin-bottom: 1em;
}

#buddypress div.item-list-tabs ul li a {
    color: #222;
}

#buddypress div.item-list-tabs ul li a:hover {
	color: #d4000f;
}

#buddypress div.item-list-tabs ul li.current a,
#buddypress div.item-list-tabs ul li.selected a {
	color: #222;
}

#buddypress div.item-list-tabs#subnav {
	border-bottom: 1px solid #ccc;
}

#buddypress div.item-list-tabs#subnav ul li {
    border: 1px solid transparent;
}

#buddypress div.item-list-tabs#subnav ul li.current,
#buddypress div.item-list-tabs#subnav ul li.selected {
    border-color: #ccc;
}

#buddypress div.item-list-tabs#subnav ul li a {
    border: 1px solid #fff;
}

#buddypress div.item-list-tabs#subnav ul li.current a,
#buddypress div.item-list-tabs#subnav ul li.selected a {
    background: #f5f5f5;
}

/* Mega Slider */

.mega-slider {
	margin: 0;
}

.mega-slider__row--active {
	box-shadow: inset 0px -70px 70px -70px rgba(0,0,0,0.4);
}

.mega-slider__row--active,
.mega-slider__row--active:hover {
	background: #d4000f;
}

/* News Widget */

.news-widget__post {
	margin-bottom: 0;
}

@media screen and (max-width: 600px) {
	.main-navigation .search-form label {
		width: 75%;
	}

	.main-navigation .search-form .search-field {
		width: 100%;
	}

	.main-navigation .search-form .search-submit {
		background: #d4000f;
		opacity: 1;
	}
}


@media screen and (max-width: 1199px) {
	/* Social Sidebar */

	.social-sidebar {
		position: absolute;
		top: 100%;
		width: 100%;
	}
}

@media screen and (min-width: 1025px) {
	.site-branding {
		margin-top: 0;
		padding: 30px 20px;
		background: transparent;
	}

	.site-widgets .sp-scoreboard-wrapper {
		margin: 0;
	}
}

@media screen and (min-width: 801px) {
	.sp-has-venue.sp-has-results .content-area-full-width .sp-template-event-details,
	.sp-has-venue.sp-has-results .content-area-full-width .sp-template-event-results {
		width: 69.5%;
		padding: 1px;
		clear: none;
	}

	.sp-has-venue.sp-has-results .content-area-full-width .sp-template-event-venue {
		width: 29.5%;
		padding: 1px;
		clear: none;
	}

	.sp-event-performance-teams .sp-template-event-performance-icons,
	.sp-event-performance-teams .sp-template-event-performance-icons:nth-child(2n) {
		padding: 1px;
	}

	.site-footer .footer-widget-region {
		padding-left: 0;
		width: 100%;
		float: none;
		clear: both;
	}

	.site-footer .footer-widget-region:first-child {
		padding-left: 28px;
	}
	
	.footer-widgets .widget_sponsors,
	.footer-widgets .widget_sportspress-sponsors {
		gap: 1rem;
	}

	.sp-inline-statistics .sp-event-performance-teams .sp-template-event-performance {
		width: 29.5%;
	}
}

@media screen and (min-width: 783px) {
	.sp-widget-align-left {
		padding-right: 4px;
	}

	.sp-widget-align-right {
		padding-left: 4px;
	}

	.mega-slider__stage {
		width: 65.3%;
	}

	.mega-slider__sidebar {
		width: 34.7%;
	}
}

@media screen and (min-width: 601px) {
	.site-logo {
		margin: -1em 0;
	}

	.site-logo img {
		display: block;
	}

	.site-branding hgroup {
		padding-left: 20px;
	}

	.main-navigation ul {
		margin: 0;
	}

	.content-area {
		width: 65.2%;
	}

	.page-template-template-homepage .content-area {
		border: none;
		padding: 8px 8px 20px 8px;
	}

	.article-thumbnail {
		margin-right: 16px;
	}

	.content-area-full-width,
	.content-area-no-sidebar,
	.widecolumn {
		width: 100%;
	}
    
    .content-area-right-sidebar {
        box-shadow: 1px 0 0 #ccc;
    }
    
    .content-area-left-sidebar {
    	left: 34.8%;
        box-shadow: -1px 0 0 #ccc;
    }
    
    .content-area-double-sidebar {
    	width: 55.2%;
        left: 22.4%;
        box-shadow: 1px 0 0 #ccc, -1px 0 0 #ccc;
    }

	.page-template-template-homepage .content-area-double-sidebar {
		padding: 8px 8px 20px;
	}

	.widget-area {
		width: 34.8%;
		padding: 16px 16px 8px;
		margin-left: -1px;
	}
    
    .widget-area-right {
        box-shadow: 1px 0 0 #ccc;
    }

	.widget-area-left {
        box-shadow: 1px 0 0 #ccc;
		right: 65.2%;
	}

	.widget-area-narrow {
		width: 22.4%;
	}
    
    .widget-area-left.widget-area-narrow {
    	right: 55.2%;
    }

	.page-template-template-homepage .widget-area {
		border: none;
	}
}