.site-title a {
	font-family: var(--geist-sans);
	font-weight: 700;
	letter-spacing: -0.02em;
}

#masthead.site-header {
	background: var(--rt-surface);
	position: sticky;
	top: 0;
	z-index: 100;
}

@media only screen and (max-width: 991.98px) {
	#masthead.site-header {
		position: static;
	}
}

.site-branding {
	background: transparent;
	min-height: 0;
	padding: 0.6em 0;
	align-items: center;
}

.site-branding .logo,
.site-branding .header-search {
	margin-bottom: 0;
}

#site-navigation {
	background: transparent;
	border-top: 1px solid #1B1B1B;
}

@media (min-width: 992px) {
	#site-navigation {
		overflow: hidden;
		max-height: 5em;
		transition: max-height 0.3s ease, opacity 0.3s ease, border-color 0.3s ease;
	}

	#masthead.rtc-nav-hidden #site-navigation {
		max-height: 0;
		opacity: 0;
		border-top-color: transparent;
	}
}

#site-navigation ul li a {
	font-size: 1em;
}

#site-navigation > ul > li > a {
	border-radius: var(--rt-radius);
	height: 2.1em;
	line-height: 2.1em;
	margin: 0.5125em 0;
}

.header-search input[type="text"],
.header-search #s,
.search-field,
input[type="search"] {
	background-color: #000000 !important;
	border: 0 !important;
}

.header-search #searchsubmit,
.header-search input[type="submit"] {
	background-color: var(--rt-primary) !important;
	border: 0 !important;
}

@media (min-width: 992px) {
	.site-branding {
		position: relative;
		/* Match .site-content's 1.5em horizontal padding so the logo lines up
		   with the video grid below (search stays centered — padding is symmetric). */
		padding-left: 1.5em;
		padding-right: 1.5em;
	}

	.site-branding .header-search {
		position: absolute;
		left: 50%;
		transform: translateX(-50%);
		width: 500px;
		max-width: 40%;
		margin: 0;
		text-align: center;
	}
}

.site-branding .header-search input {
	float: none;
	display: inline-block;
	vertical-align: middle;
}

@media (min-width: 1001px) {
	#site-navigation > ul {
		text-align: center;
		padding: 0;
	}

	#site-navigation > ul > li {
		float: none;
		display: inline-block;
		border-right: none;
	}

	#site-navigation > ul > li:first-child {
		border-left: none;
	}
}

@media only screen and (max-width: 991.98px) {
	.site-branding {
		position: relative;
	}

	.site-branding .logo,
	.site-branding p.site-description {
		width: 100%;
		text-align: center;
		float: none;
	}

	.site-branding .logo .site-title {
		width: 100%;
		margin: 0 auto;
		float: none;
		text-align: center;
	}

	.site-branding .logo .site-title a {
		display: inline-block;
		float: none;
		width: auto;
		text-align: center;
	}

	.site-branding .logo a.custom-logo-link,
	.site-branding .logo > a {
		display: block;
		width: 90%;
		margin: 0 auto;
		float: none;
	}

	.site-branding .logo img {
		width: 100%;
		height: auto;
		margin: 0 auto;
	}
}

@media (min-width: 768px) and (max-width: 991.98px) {
	.site-branding .logo a {
		width: 100%;
	}
}
