/* ==========================================================================
   Hunter Knee & Shoulder Clinic — design system
   Selectors mirror the original site for SEO-consistent markup.
   ========================================================================== */

:root {
	--hns-red: #f61a22;
	--hns-red-bright: #fe202a;
	--hns-slate: #374f59;
	--hns-slate-mid: #4b6069;
	--hns-slate-dark: #374e58;
	--hns-footer: #8b9398;
	--hns-nav: #8d8d8d;
	--hns-text: #222222;
	--hns-link: #374f5a;
	--hns-border: #ccc;
	--hns-topbar: #f8f8f8;
	--hns-news-bg: #f7f7f7;
	--hns-font: Arial, Helvetica, Verdana, sans-serif;

	/* Theme settings bridge (HNS options → HNS look) */
	--np-setting-brand-color: var(--hns-red);
	--np-setting-heading-color: var(--hns-red);
	--np-setting-text-color: var(--hns-text);
	--np-setting-header-background: #ffffff;
	--np-setting-footer-background: var(--hns-footer);
	--np-setting-footer-text-color: #ffffff;
	--np-setting-footer-link-color: #ffffff;
	--np-setting-container-width: 1000px;
	--hns-container: var(--np-setting-container-width, 1000px);
	--np-setting-font-family-base: var(--hns-font);
	--np-setting-font-family-heading: var(--hns-font);
}

::selection {
	color: #fff;
	background: rgba(0, 0, 0, 0.5);
}

*,
*::before,
*::after {
	box-sizing: border-box;
}

html {
	overflow-y: scroll;
	-webkit-font-smoothing: antialiased;
	scroll-behavior: smooth;
}

body {
	margin: 0;
	padding: 0;
	background: #fff;
	font: 12px/1.4em Verdana, Arial, Helvetica, sans-serif;
	color: var(--hns-text);
	min-height: 100%;
}

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

a {
	color: var(--hns-link);
	text-decoration: underline;
}

a:hover {
	color: var(--hns-link);
	text-decoration: none;
}

.clear {
	clear: both;
}

.absolute {
	position: absolute;
}

.np-skip-link {
	position: absolute;
	left: -9999px;
	top: 0;
	z-index: 100000;
	padding: 8px 16px;
	background: var(--hns-red);
	color: #fff;
	text-decoration: none;
}

.np-skip-link:focus {
	left: 8px;
	top: 8px;
}

/* -------------------------------------------------------------------------- */
/* Headings                                                                   */
/* -------------------------------------------------------------------------- */

h1, h2, h3, h4, h5, h6 {
	font-family: Arial, Helvetica, sans-serif;
	color: var(--hns-red);
	font-weight: bold;
	margin-top: 0;
}

h1 {
	font-size: 24px;
	line-height: 1.5em;
	margin-bottom: 15px;
	text-transform: uppercase;
}

h2 {
	font-size: 22px;
	line-height: 1.5em;
	margin-bottom: 15px;
	text-transform: uppercase;
}

h3 {
	font-size: 18px;
	line-height: 1em;
	margin-top: 5px;
	margin-bottom: 5px;
}

h4 {
	font-size: 16px;
	line-height: 1em;
	margin-bottom: 3px;
}

section {
	width: 100%;
}

.container {
	max-width: var(--hns-container);
	width: 100%;
	margin: auto;
	position: relative;
}

.siteTop .container,
.siteBottom .container,
footer .container,
#banner,
#banner .container,
#subBannerHome,
#subBannerHome .container {
	box-sizing: border-box;
}

/* -------------------------------------------------------------------------- */
/* Top bar                                                                    */
/* -------------------------------------------------------------------------- */

.topBar {
	width: 100%;
	background: var(--hns-topbar);
	border-bottom: 1px solid var(--hns-border);
	color: #111;
	padding: 5px;
	box-sizing: border-box;
}

.bannerContainer {
	width: 100%;
	max-width: var(--hns-container);
	margin: auto;
	display: flex;
	flex-direction: row;
	align-items: center;
	justify-content: flex-end;
}

.topBar a,
.topBarNav a {
	color: #444;
	text-decoration: none;
	text-align: right;
	font-size: 11px;
	letter-spacing: 0.02em;
	text-transform: uppercase;
}

.topBar a:hover,
.topBarNav a:hover {
	color: #b9b9b9;
	text-decoration: underline;
}

.topBarNav {
	display: flex;
	align-items: center;
	justify-content: flex-end;
	gap: 16px;
	margin: 0;
	padding: 0;
	list-style: none;
	width: 100%;
}

.topBarNav > ul {
	display: contents;
}

.topBarNav li {
	list-style: none;
	margin: 0;
	padding: 0;
	display: inline-block;
}

/* -------------------------------------------------------------------------- */
/* Banner / logo                                                              */
/* -------------------------------------------------------------------------- */

#banner {
	height: auto;
	background: #fff;
}

#banner .container {
	padding: 18px 15px;
	max-width: var(--hns-container);
	width: 100%;
	position: relative;
	min-height: 88px;
	display: flex;
	align-items: center;
	box-sizing: border-box;
}

/* Full-width banner (declared after #banner .container) */
body #banner .container.is-full-width {
	max-width: none;
	width: 100%;
}

#logo {
	width: auto;
	max-width: 320px;
	max-height: none;
	padding: 0;
	margin: 0;
	cursor: pointer;
	display: flex;
	align-items: center;
}

#logo > img,
#logo .custom-logo {
	width: auto;
	max-width: 100%;
	max-height: 56px;
	height: auto;
	display: block;
	object-fit: contain;
}

.hns-logo-link {
	display: flex;
	align-items: center;
	gap: 10px;
	text-decoration: none;
	color: inherit;
}

.hns-logo-mark {
	flex: 0 0 auto;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-width: 64px;
	height: 52px;
	padding: 0 10px;
	background: #45555f;
	border-radius: 6px;
	color: #fff;
	font: 700 22px/1 Arial, Helvetica, sans-serif;
	letter-spacing: 0.02em;
}

.hns-logo-mark span {
	color: var(--hns-red);
}

.hns-logo-text {
	display: flex;
	flex-direction: column;
	line-height: 1.15;
}

.hns-logo-line1 {
	font: 700 13px/1.2 Arial, Helvetica, sans-serif;
	color: #45555f;
	text-transform: uppercase;
}

.hns-logo-line1 em {
	font-style: normal;
	color: var(--hns-red);
}

.hns-logo-line1 span {
	color: var(--hns-red);
}

.hns-logo-line2 {
	font: 600 11px/1.2 Arial, Helvetica, sans-serif;
	color: #9aa3a8;
	text-transform: uppercase;
	letter-spacing: 0.08em;
	margin-top: 2px;
}

/* Call / Enquire — mobile only (fixed flush to viewport top) */
#callbacks {
	display: none;
}

/* -------------------------------------------------------------------------- */
/* Desktop menu                                                               */
/* -------------------------------------------------------------------------- */

#menu {
	position: relative;
	z-index: 100;
	max-width: var(--hns-container);
	margin: 0 auto;
	height: 0;
}

body #menu.is-full-width {
	max-width: none;
	width: 100%;
}

#menu nav {
	width: 100%;
	position: absolute;
	top: -62px;
	right: 15px;
	max-width: 600px;
	margin: 0;
	display: flex;
	justify-content: flex-end;
	flex-wrap: wrap;
	align-items: center;
	border: 1px solid var(--hns-border);
	border-radius: 10px;
	background: #fff;
	padding: 0;
	list-style: none;
}

#menu nav > ul {
	display: contents;
}

#menu nav li {
	list-style: none;
	float: left;
	display: inline-block;
	margin: 0;
	position: relative;
}

#menu nav li a {
	display: inline-block;
	text-decoration: none;
	width: 100%;
	padding: 15px 22px;
	color: #403a3a;
	box-sizing: border-box;
	vertical-align: top;
	font: 13px Arial, Helvetica, sans-serif;
	transition: all 0.5s ease-in-out;
	position: relative;
}

#menu nav li a:hover,
#menu nav li a.current,
#menu nav li.current-menu-item > a,
#menu nav li.current_page_item > a,
#menu nav li.current-menu-ancestor > a {
	color: #cc060f;
}

#menu nav > li > a.current::before,
#menu nav > li.current-menu-item > a::before,
#menu nav > li.current_page_item > a::before {
	content: "›";
	position: absolute;
	left: 8px;
	top: 50%;
	transform: translateY(-50%);
	color: var(--hns-red);
	font-size: 16px;
	line-height: 1;
}

#menu nav .parent > a:after,
#menu nav .menu-item-has-children > a:after {
	font-family: FontAwesome;
	margin-left: 8px;
	content: "\f107";
	line-height: 1em;
	color: inherit;
}

/* Desktop submenu — matches original HNS grey dropdown */
#menu nav ul {
	position: absolute;
	min-width: 280px;
	width: max-content;
	max-width: 360px;
	margin: 0;
	padding: 0;
	display: none;
	font-size: 0.85em;
	z-index: 300;
	left: 0;
	top: 100%;
	list-style: none;
}

#menu nav li:hover > ul,
#menu nav li.focus > ul {
	display: block;
}

#menu .subContainer {
	background: #8b9398;
	margin-top: 8px;
	position: relative;
	display: block;
	padding: 0;
	width: 100%;
	box-sizing: border-box;
	border-radius: 0;
	overflow: hidden;
}

#menu nav ul li {
	width: 100%;
	display: block;
	float: none;
	margin: 0;
	border-bottom: 1px solid rgba(255, 255, 255, 0.35);
	background: #8b9398;
}

#menu nav ul li:last-child {
	border-bottom: 0;
}

#menu nav ul li a,
#menu nav ul li a span {
	display: block;
	width: 100%;
	padding: 10px 14px;
	border: 0;
	color: #fff;
	background: transparent;
	font: 12px/1.35 Arial, Helvetica, sans-serif;
	text-decoration: none;
	white-space: nowrap;
	box-sizing: border-box;
}

#menu nav ul li a {
	padding: 0;
}

#menu nav ul li a:hover,
#menu nav ul li a.current,
#menu nav ul li.current-menu-item > a {
	background: #fff;
	color: #fa1919;
	border: 0;
}

#menu nav ul li a:hover span,
#menu nav ul li a.current span,
#menu nav ul li.current-menu-item > a span {
	color: #fa1919;
}

/* Submenu links never use the top-level current chevron */
#menu nav ul li a::before,
#menu nav ul li a::after {
	content: none;
	display: none;
}

#mobileMenu {
	display: none;
}

#navToggle {
	display: none;
}

/* -------------------------------------------------------------------------- */
/* Home slider + quick links                                                  */
/* -------------------------------------------------------------------------- */

body #subBannerHome .container {
	max-width: none;
	width: 100%;
	background: var(--hns-slate);
	padding: 0;
}

.flicker-example {
	position: relative;
	width: 100%;
	height: 436px;
	background-color: #e6e6e6;
	overflow: hidden;
}

.hns-slider-placeholder {
	width: 100%;
	height: 100%;
	background: #e6e6e6;
}

.hns-slider-list {
	margin: 0;
	padding: 0;
	list-style: none;
	height: 100%;
	position: relative;
}

.hns-slide {
	position: absolute;
	inset: 0;
	background-position: center;
	background-size: cover;
	opacity: 0;
	transition: opacity 0.6s ease;
}

.hns-slide.is-active {
	opacity: 1;
	z-index: 1;
}

.dot-navigation {
	position: absolute;
	bottom: 16px;
	left: 0;
	right: 0;
	z-index: 2;
	text-align: center;
}

.dot-navigation .dot {
	display: inline-block;
	width: 10px;
	height: 10px;
	margin: 0 4px;
	border-radius: 50%;
	background: rgba(255, 255, 255, 0.55);
}

.dot-navigation .dot.active {
	background: #fff;
}

#buttons {
	background: var(--hns-slate);
	max-width: var(--hns-container);
	margin: 0 auto;
	color: #fff;
	font-size: 11px;
	padding: 10px 0 20px;
}

#buttons td {
	position: relative;
	vertical-align: top;
}

#buttons .first-btn,
#buttons .second-btn {
	border-right: 1px solid rgba(255, 255, 255, 0.2);
	padding: 15px;
	box-sizing: border-box;
}

#buttons .third-btn {
	padding: 15px;
	box-sizing: border-box;
}

#buttons a {
	color: #fff;
	text-decoration: none;
	display: block;
	margin-bottom: 5px;
}

#buttons a:hover {
	color: var(--hns-red);
}

#buttons img {
	display: block;
}

/* -------------------------------------------------------------------------- */
/* Content area                                                               */
/* -------------------------------------------------------------------------- */

.siteBottom {
	width: 100%;
	max-width: var(--hns-container);
	margin: auto;
	display: flex;
	justify-content: space-between;
	align-items: flex-start;
}

.siteBottom .container {
	display: flex;
	justify-content: space-between;
	align-items: stretch;
	box-sizing: border-box;
	width: 100%;
}

.contentWrap {
	width: 100%;
	flex: 0 1 auto;
}

.siteContent {
	width: 100%;
	flex: 1 1 auto;
}

.contentCopy {
	padding: 20px;
	font-size: 12px;
	line-height: 1.5em;
}

/* Space under header before page / homepage content */
.siteTop {
	background: #fff;
	padding-bottom: 16px;
	margin: 0;
}

/* Homepage Custom HTML between dynamic header + footer */
.hns-front-content {
	width: 100%;
	margin: 0;
	padding: 0;
}

.hns-front-content > *:first-child {
	margin-top: 0;
}

.hns-front-content .alignfull {
	max-width: none;
	width: 100%;
}

.contentCopy p {
	margin: 0 0 1em;
}

.contentCopy .entry-content > *:first-child {
	margin-top: 0;
}

.hns-entry-media {
	margin: 0 0 1.25em;
}

.hns-entry-media__img {
	display: block;
	width: 100%;
	height: auto;
}

/* Sidebar / Clinic News */
.sidebar {
	width: 230px;
	padding: 0 15px;
	margin: 0 15px 0 0;
	box-sizing: border-box;
	flex-shrink: 0;
	line-height: 1.5em;
	display: none;
}

.np-sidebar-right .sidebar,
.np-sidebar-left .sidebar {
	display: block;
	background: transparent;
	width: 300px;
	margin: 0;
	padding: 0 0 0 15px;
}

.np-sidebar-left .siteBottom .container {
	flex-direction: row;
}

.np-sidebar-left .sidebar {
	order: 0;
	padding: 0 15px 0 0;
}

.np-sidebar-right .sidebar {
	order: 2;
}

.sidebar .item,
#outerSidebar .item {
	width: 100%;
	margin-top: 15px;
}

#outerSidebar {
	width: 300px;
	padding: 0 15px;
	flex-shrink: 0;
	display: none;
	order: 2;
}

.link0 #outerSidebar,
.home #outerSidebar {
	display: inline-block;
}

#customside,
.customside {
	border: 1px solid #bbb;
	padding: 0 9px 10px;
	margin: 10px 0 20px;
	border-radius: 10px 0 0 0;
	background: var(--hns-news-bg);
}

.sidebar .widget-title,
#outerSidebar .widget-title,
.np-widget-title,
.sidebar h1,
#outerSidebar h1 {
	font: 700 24px/1.5 Arial, Helvetica, sans-serif;
	color: var(--hns-red);
	text-transform: uppercase;
	margin: 15px 0 10px;
	border: 0;
	background: none;
	padding: 0;
}

.sidebar .widget,
#outerSidebar .widget {
	border: 0;
	background: transparent;
	padding: 0;
	margin: 15px 0 0;
}

#outerSidebar .item > h1,
.sidebar .item > h1,
.widget > .np-widget-title {
	margin-top: 15px;
	margin-bottom: 0;
}

#customside p {
	margin: 0.6em 0;
}

#customside strong {
	color: #111;
}

/* -------------------------------------------------------------------------- */
/* Footer                                                                     */
/* -------------------------------------------------------------------------- */

footer {
	width: 100%;
	background: #333536;
	font-size: 0.8em;
	padding: 20px 0 10px;
	margin-top: 0;
}

footer .container {
	overflow: hidden;
	display: flex;
	justify-content: space-between;
	align-items: center;
	max-width: var(--hns-container);
	margin: 0 auto;
	padding: 0 10px;
	box-sizing: border-box;
}

#footerTop .container {
	display: flex;
	justify-content: flex-end;
}

#footertext {
	text-align: right;
	float: right;
	font-size: 14px;
	color: #fff;
	margin-bottom: 10px;
}

footer,
footer a {
	color: rgba(255, 255, 255, 1);
	text-decoration: none;
}

footer a:hover {
	color: rgba(255, 255, 255, 0.5);
}

footer nav {
	width: 60%;
	display: inline-block;
}

footer nav > ul {
	display: contents;
}

footer nav li {
	list-style: none;
	float: left;
	display: inline-block;
	margin: 0;
}

footer nav li a {
	text-decoration: none;
	padding: 5px 10px;
	display: inline-block;
	color: #fff;
	font-size: 12px;
}

.footerRight {
	text-align: right;
	margin-right: 10px;
}

.footerRight .copyright,
.footerRight .havealook {
	color: #fff;
	line-height: 1.5;
}

#toTop {
	position: fixed;
	bottom: 20px;
	right: 20px;
	z-index: 1000;
	width: 45px;
	height: 45px;
	border-radius: 100%;
	background: #818181;
	text-align: center;
	line-height: 45px;
	color: #fff;
	text-decoration: none;
	opacity: 0;
	visibility: hidden;
	transition: opacity 0.25s ease, visibility 0.25s ease;
	font-size: 14px;
}

#toTop.is-visible {
	opacity: 0.85;
	visibility: visible;
}

#toTop:hover {
	opacity: 1;
	background: #666;
}

/* -------------------------------------------------------------------------- */
/* Full width layout (overrides constrained containers via specificity)       */
/* -------------------------------------------------------------------------- */

body.np-layout-full .siteBottom,
body.np-layout-full .siteBottom .container,
body.np-layout-full .contentWrap,
.siteBottom.is-full-width,
.siteBottom.is-full-width .container,
body .container.is-full-width,
body .bannerContainer.is-full-width,
body #banner .container.is-full-width,
body #menu.is-full-width,
body #buttons.is-full-width,
footer.is-full-width .container,
footer .container.is-full-width,
.topBar.is-full-width .bannerContainer {
	max-width: none;
	width: 100%;
}

body.np-layout-full .siteBottom .container,
.siteBottom.is-full-width .container,
body .container.is-full-width {
	padding-left: 24px;
	padding-right: 24px;
	box-sizing: border-box;
}

body.np-layout-full .contentCopy,
.siteBottom.is-full-width .contentCopy {
	max-width: none;
}

@media (max-width: 700px) {
	body.np-layout-full .siteBottom .container,
	.siteBottom.is-full-width .container,
	body .container.is-full-width {
		padding-left: 12px;
		padding-right: 12px;
	}
}

/* -------------------------------------------------------------------------- */
/* Archives / cards / author                                                  */
/* -------------------------------------------------------------------------- */

.np-archive-grid,
.np-post-cards-grid,
.hns-archive-grid {
	display: grid;
	grid-template-columns: repeat(var(--archive-grid-cols, 2), minmax(0, 1fr));
	gap: 20px;
	margin: 20px 0;
}

.np-post-cards-grid.has-columns-1 { --archive-grid-cols: 1; }
.np-post-cards-grid.has-columns-2 { --archive-grid-cols: 2; }
.np-post-cards-grid.has-columns-3 { --archive-grid-cols: 3; }
.np-post-cards-grid.has-columns-4 { --archive-grid-cols: 4; }

.np-post-cards-grid.is-list-layout {
	grid-template-columns: 1fr;
}

.hns-article-card {
	border: 1px solid #ddd;
	background: #fff;
	margin: 0;
}

.hns-article-card-link {
	display: block;
	text-decoration: none;
	color: inherit;
	height: 100%;
}

.hns-article-card-media {
	overflow: hidden;
	background: #eee;
}

.hns-article-card-image {
	display: block;
	width: 100%;
	height: auto;
	aspect-ratio: 16 / 10;
	object-fit: cover;
}

.hns-article-card-inner {
	padding: 14px 16px 18px;
}

.hns-article-title {
	font-size: 16px;
	text-transform: none;
	margin: 0 0 8px;
	color: var(--hns-slate);
	line-height: 1.3;
}

.hns-article-title a {
	color: inherit;
	text-decoration: none;
}

.hns-article-title a:hover,
.hns-article-card-link:hover .hns-article-title {
	color: var(--hns-red);
}

.hns-article-card-media-link {
	display: block;
	text-decoration: none;
}

.hns-card-written-by {
	margin-top: 8px;
}

.hns-article-excerpt {
	margin: 0 0 8px;
	color: #444;
	font-size: 12px;
	line-height: 1.45;
}

.hns-author-header {
	display: flex;
	gap: 20px;
	align-items: flex-start;
	margin-bottom: 20px;
}

.hns-author-header--centered {
	flex-direction: column;
	align-items: center;
	justify-content: center;
	text-align: center;
	gap: 14px;
	padding: 16px 0 28px;
	width: 100%;
}

.hns-author-header--centered .hns-author-avatar {
	display: flex;
	justify-content: center;
	width: 100%;
}

.hns-author-header--centered .hns-author-avatar img {
	margin: 0 auto;
	border-radius: 50%;
	width: 140px;
	height: 140px;
	object-fit: cover;
	display: block;
}

.hns-author-header--centered .hns-author-info {
	width: 100%;
	text-align: center;
}

.hns-author-header--centered .hns-author-info h1,
.hns-author-header--centered .hns-author-name {
	margin: 0 0 8px;
	text-transform: none;
	font-size: 28px;
	line-height: 1.25;
	color: var(--hns-slate);
	font-weight: 700;
}

.hns-author-header--centered .hns-author-role,
.hns-author-header--centered .hns-author-count {
	margin: 4px 0;
	color: #555;
	text-align: center;
}

.hns-author-avatar img {
	border-radius: 4px;
	display: block;
}

.hns-author-bio {
	margin: 0 auto 24px;
	padding: 12px 14px;
	background: var(--hns-news-bg);
	border: 1px solid #bbb;
	text-align: left;
	max-width: 720px;
}

.hns-breadcrumb-nav {
	margin-bottom: 16px;
	font-size: 11px;
	text-align: left;
}

.hns-breadcrumb-nav a {
	text-decoration: none;
}

/* Singular “Written by Name” — only the name is linked */
.np-author-meta,
.hns-author-meta {
	display: block;
	margin: 0 0 16px;
	padding: 0;
	border: 0;
	background: none;
	box-shadow: none;
	color: #555;
	font-size: 13px;
	line-height: 1.5;
}

.hns-written-by {
	display: flex;
	align-items: center;
	gap: 10px;
	margin: 0 0 4px;
	padding: 0;
	color: #555;
	font-size: 13px;
	font-weight: 400;
	text-transform: none;
}

.hns-written-by-avatar {
	flex: 0 0 auto;
	display: block;
	width: 40px;
	height: 40px;
	border-radius: 50%;
	overflow: hidden;
	line-height: 0;
	text-decoration: none;
}

.hns-written-by-avatar img {
	width: 40px;
	height: 40px;
	border-radius: 50%;
	object-fit: cover;
	display: block;
}

.hns-written-by-text {
	display: inline;
	min-width: 0;
}

.hns-written-by .hns-written-by-label {
	color: #555;
	font-weight: 400;
	text-decoration: none;
	pointer-events: none;
}

.hns-written-by a.np-meta-author-name {
	color: var(--hns-red);
	text-decoration: none;
	font-weight: 700;
}

.hns-written-by a.np-meta-author-name:hover {
	text-decoration: underline;
	color: var(--hns-red);
}

.hns-author-date,
.np-author-date {
	margin: 0 0 2px;
	padding: 0;
	color: #777;
	font-size: 12px;
}

.hns-published-date,
.hns-modified-date {
	display: block;
}

.np-entry-author-meta,
.hns-entry-meta {
	margin: 0 0 16px;
	color: #666;
	font-size: 11px;
}

.navigation.pagination,
.hns-pagination-nav {
	margin: 24px 0;
}

.navigation.pagination .nav-links {
	display: flex;
	flex-wrap: wrap;
	gap: 6px;
}

.navigation.pagination a,
.navigation.pagination span {
	display: inline-block;
	padding: 6px 10px;
	border: 1px solid #ccc;
	text-decoration: none;
	color: var(--hns-slate);
}

.navigation.pagination .current {
	background: var(--hns-slate);
	color: #fff;
	border-color: var(--hns-slate);
}

/* -------------------------------------------------------------------------- */
/* WordPress content helpers                                                  */
/* -------------------------------------------------------------------------- */

.alignleft {
	float: left;
	margin: 0 1em 1em 0;
}

.alignright {
	float: right;
	margin: 0 0 1em 1em;
}

.aligncenter {
	display: block;
	margin: 0 auto 1em;
}

.wp-caption {
	max-width: 100%;
}

.np-table-scroll {
	overflow-x: auto;
	max-width: 100%;
}

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

/* -------------------------------------------------------------------------- */
/* Tablet (701–950)                                                           */
/* -------------------------------------------------------------------------- */

@media (min-width: 701px) and (max-width: 950px) {
	#logo > img,
	#logo .custom-logo {
		height: auto;
		width: 75%;
	}

	#menu nav {
		max-width: 500px;
	}

	#menu nav li {
		font-size: 0.7em;
	}

	#menu nav li a {
		padding: 15px 12px;
	}
	.siteTop{padding-top:30px;}

	.flicker-example {
		height: 350px;
	}
}

/* -------------------------------------------------------------------------- */
/* Mobile (max 700)                                                           */
/* -------------------------------------------------------------------------- */

@media (max-width: 700px) {
	html, body {
		-webkit-text-size-adjust: none;
	}

	.topBar {
		display: none;
	}
	.siteTop{padding-top:30px;}

	#menu {
		display: none;
	}

	#banner {
		height: auto;
		border-bottom: 0;
		background: #fff;
	}

	#banner .container,
	#banner .hns-header-bar {
		padding: 10px 12px;
		min-height: 56px;
		display: flex;
		flex-direction: row;
		align-items: center;
		justify-content: space-between;
		gap: 10px;
		box-sizing: border-box;
	}

	#logo {
		width: auto;
		max-width: calc(100% - 56px);
		text-align: right;
		margin: 0;
		display: flex;
		justify-content: flex-end;
		align-items: center;
		position: static;
		padding: 0;
		order: 1;
		flex: 0 1 auto;
	}

	#logo > img,
	#logo .custom-logo {
		max-height: 44px;
		margin: 0 0 0 auto;
	}

	#logo .hns-logo-link {
		justify-content: flex-end;
	}

	#menu {
		height: auto;
	}

	body #callbacks {
		display: flex;
		flex-direction: row;
		justify-content: space-between;
		align-items: center;
		position: fixed;
		top: 0;
		left: 0;
		right: 0;
		width: 100%;
		margin: 0;
		padding: 0;
		background: #cc060f;
		z-index: 100000;
		box-sizing: border-box;
	}

	body.admin-bar #callbacks {
		top: 46px;
	}

	body #callbacks a {
		cursor: pointer;
		padding: 10px 0;
		margin: 0;
		font-size: 0.9em;
		color: #fff;
		text-decoration: none;
		width: 50%;
		text-align: center;
		box-sizing: border-box;
		font-family: Arial, Helvetica, sans-serif;
		line-height: 1.2;
	}

	body #callbacks a.email {
		border-left: 1px solid rgba(255, 255, 255, 0.2);
	}

	body #callbacks a:before {
		font-family: FontAwesome;
		margin-right: 5px;
		display: inline-block;
		position: relative;
		color: #fff;
	}

	body #callbacks a.phone:before {
		content: "\f095";
	}

	body #callbacks a.email:before {
		content: "\f0e0";
	}

	body #callbacks a:active {
		background: #666;
	}

	/* Reserve space under the fixed bar — bar itself is flush to top:0 */
	body {
		padding-top: 0px;
	}

	body.admin-bar {
		padding-top: 86px;
	}

	#navToggle {
		order: 2;
		margin-left: 0;
		flex: 0 0 auto;
		width: 44px;
		height: 44px;
		margin: 0;
		padding: 0;
		background: var(--hns-slate-dark);
		color: #f4f4f4;
		border-radius: 4px;
		position: relative;
		display: inline-flex;
		align-items: center;
		justify-content: center;
		text-align: center;
		cursor: pointer;
		user-select: none;
		-webkit-tap-highlight-color: transparent;
	}

	#navToggle:before {
		font-family: FontAwesome;
		margin: 0;
		content: "\f0c9";
		line-height: 1;
		font-size: 1.35em;
		color: #fff;
	}

	#navToggle:after {
		content: none;
	}

	#mobileMenu {
		display: block;
		background: var(--hns-slate-mid);
		width: 100%;
	}

	#mobileMenu nav {
		display: none;
		margin: 0;
		padding: 0;
	}

	#mobileMenu.is-open nav {
		display: block;
	}

	#mobileMenu li {
		list-style-type: none;
		border-bottom: 1px solid rgba(255, 255, 255, 0.1);
		margin: 0;
		position: relative;
	}

	#mobileMenu li > a {
		width: 100%;
		text-decoration: none;
		color: #fff;
		display: flex;
		align-items: center;
		justify-content: space-between;
		gap: 8px;
		box-sizing: border-box;
		padding: 12px 48px 12px 14px;
		font-size: 14px;
		font-family: Arial, Helvetica, sans-serif;
	}

	#mobileMenu li > a > span {
		display: inline;
		width: auto;
		flex: 1 1 auto;
		padding: 0;
		color: #fff;
		font-size: inherit;
		font-family: inherit;
	}

	#mobileMenu li a.current,
	#mobileMenu li.current-menu-item > a {
		background: rgba(0, 0, 0, 0.3);
	}

	#mobileMenu li:hover {
		background: rgba(255, 255, 255, 0.1);
	}

	#mobileMenu li ul {
		display: none;
		margin: 0;
		padding: 0;
		list-style: none;
		background: #555;
	}

	#mobileMenu li.is-open > ul {
		display: block;
	}

	#mobileMenu li ul a {
		padding-left: 24px;
		padding-right: 14px;
	}

	/* Parent link stays clickable; chevron button expands children */
	#mobileMenu .parent > a:after,
	#mobileMenu .menu-item-has-children > a:after {
		content: none;
		display: none;
	}

	#mobileMenu .hns-submenu-toggle {
		position: absolute;
		top: 0;
		right: 0;
		width: 44px;
		height: 44px;
		margin: 0;
		padding: 0;
		border: 0;
		background: transparent;
		color: #fff;
		cursor: pointer;
		display: inline-flex;
		align-items: center;
		justify-content: center;
		z-index: 2;
	}

	#mobileMenu .hns-submenu-toggle:before {
		font-family: FontAwesome;
		content: "\f107";
		line-height: 1;
		font-size: 14px;
		speak: none;
	}

	#mobileMenu .parent.is-open > .hns-submenu-toggle:before,
	#mobileMenu .menu-item-has-children.is-open > .hns-submenu-toggle:before {
		content: "\f106";
	}

	.flicker-example {
		height: 150px;
	}

	.dot-navigation {
		display: none;
	}

	.sidebar,
	.np-sidebar-left .sidebar,
	.np-sidebar-right .sidebar {
		display: none;
	}

	#outerSidebar {
		display: inline-block;
		width: 100%;
		box-sizing: border-box;
		order: 2;
		padding: 0 10px;
	}

	.siteBottom {
		flex-direction: column;
		max-width: 100%;
	}

	.contentCopy {
		padding: 20px 10px;
	}

	#buttons {
		max-width: 100%;
		margin: 0;
	}

	#buttons td,
	#buttons td[width] {
		width: 100%;
		display: block;
		margin: 0;
		border: none;
		border-right: 0;
		box-sizing: border-box;
	}

	#buttons .first-btn,
	#buttons .second-btn,
	#buttons .third-btn {
		border-right: 0;
		border-bottom: 1px solid rgba(255, 255, 255, 0.15);
	}

	footer {
		padding: 0 0 10px;
	}

	footer .container {
		flex-direction: column;
	}

	#footerTop .container {
		justify-content: center;
	}

	#footertext {
		float: none;
		text-align: center;
		width: 100%;
		padding: 10px 0 0;
	}

	footer nav {
		width: 100%;
		text-align: center;
		padding: 10px 0;
		display: flex;
		align-items: center;
		justify-content: center;
		flex-flow: row wrap;
	}

	footer nav li {
		float: none;
	}

	footer .footerRight {
		text-align: center;
		margin: 0 0 10px;
	}

	.np-archive-grid,
	.np-post-cards-grid,
	.hns-archive-grid {
		grid-template-columns: 1fr;
	}

	.hns-author-header {
		flex-direction: column;
		align-items: center;
		text-align: center;
	}

	.hns-author-header--centered .hns-author-avatar img {
		width: 110px;
		height: 110px;
	}
}

@media (max-width: 480px) {
	.hns-logo-line1 {
		font-size: 11px;
	}

	.hns-logo-mark {
		min-width: 56px;
		height: 46px;
		font-size: 18px;
	}
}
