.custom-logo {
    max-width: 100%;
    height: auto;
}

.header__top {
	flex-wrap: wrap;
}

.menu-toggle__bar {
	display: block;
	width: 28px;
	height: 3px;
	margin: 5px 0;
	background: var(--header-menu-colour);
}

.header__bottom .page-title {
	width: 100%;
	text-align: var(--header-page-title-alignment, left);
}

/* Header top-bar colour. Standard headers retain the primary colour as fallback. */
.header__top.has-primary-background-color {
	background-color: var(--header-top-background-colour, var(--colour-primary, #005f73)) !important;
}

/* Featured Overlay remains transparent unless explicitly enabled. */
body.featured-overlay-top-background .header--featured-overlay .header__top {
	background-color: var(--header-top-background-colour, var(--colour-primary, #005f73));
}

/* Dropdown text can be configured independently from the main menu colour. */
.header .primary-menu .sub-menu li > a {
	color: var(--header-menu-dropdown-text-colour, var(--header-menu-colour));
}

/* Keep desktop dropdowns inside the viewport. JavaScript adds these classes only when needed. */
@media (min-width: 769px) {
	.header .primary-menu > .menu-item-has-children.submenu-align-right > .sub-menu {
		left: auto;
		right: 0;
	}

	.header .primary-menu .sub-menu .menu-item-has-children.submenu-open-left > .sub-menu {
		left: auto;
		right: 100%;
	}

	.header .primary-menu .sub-menu .menu-item-has-children.submenu-open-left > a::after {
		transform: rotate(135deg);
	}

	.header .primary-menu .sub-menu.submenu-viewport-constrained {
		width: max-content;
		max-width: calc(100vw - 32px);
	}

	.header .primary-menu .sub-menu.submenu-viewport-constrained a {
		white-space: normal;
		overflow-wrap: anywhere;
	}

	.header .primary-menu .sub-menu.submenu-viewport-shift {
		transform: translateX(var(--submenu-viewport-shift, 0px));
	}
}

/* Fixed header top bar */
body.header-top-fixed.header-fixed-ready .header__top {
	position: fixed;
	top: var(--header-fixed-offset-top, 0px);
	left: 0;
	right: 0;
	width: auto;
	box-sizing: border-box;
	z-index: 10000;
}

/* Replace the space normally occupied by the fixed top bar. */
body.header-top-fixed.header-fixed-ready .header::before {
	content: "";
	display: block;
	flex: 0 0 var(--header-fixed-top-height, 0px);
	height: var(--header-fixed-top-height, 0px);
	width: 100%;
}

/* Featured Overlay normally gets its spacing from the outer header. */
body.header-top-fixed.header-fixed-ready .header--featured-overlay .header__top {
	padding: 2rem 10%;
	transition: background-color 0.2s ease;
}

body.header-top-fixed.header-fixed-ready.header-has-scrolled .header--featured-overlay .header__top {
	background-color: var(--header-top-background-colour, var(--colour-primary, #005f73));
}

@media (max-width: 768px) {
	.header .primary-menu > li > a,
	.header .primary-menu .sub-menu li > a {
		color: var(--header-menu-dropdown-text-colour, var(--header-menu-colour));
	}

	body.header-top-fixed.header-fixed-ready .header--featured-overlay .header__top {
		padding: 1.5rem;
	}
}


/* Mobile submenu toggle buttons are inserted by JavaScript but remain hidden on desktop. */
.header .submenu-toggle {
	display: none;
}

/* Optional nested mobile navigation. Submenus only collapse after JavaScript has added working toggle buttons. */
@media (max-width: 768px) {
	body.mobile-submenus-collapsible .main-navigation.mobile-submenus-ready .primary-menu .menu-item-has-children.mobile-submenu-enabled {
		display: grid;
		grid-template-columns: 44px minmax(0, 1fr) 44px;
		align-items: center;
	}

	body.mobile-submenus-collapsible .main-navigation.mobile-submenus-ready .primary-menu .menu-item-has-children.mobile-submenu-enabled > a {
		grid-column: 2;
		grid-row: 1;
		min-width: 0;
	}

	body.mobile-submenus-collapsible .main-navigation.mobile-submenus-ready .primary-menu .menu-item-has-children.mobile-submenu-enabled > .submenu-toggle {
		grid-column: 3;
		grid-row: 1;
		align-self: center;
		display: inline-flex;
		align-items: center;
		justify-content: center;
		width: 44px;
		height: 44px;
		min-width: 44px;
		min-height: 44px;
		padding: 0;
		border: 0;
		background: transparent;
		color: var(--header-menu-dropdown-text-colour, var(--header-menu-colour));
		cursor: pointer;
	}

	body.mobile-submenus-collapsible .main-navigation.mobile-submenus-ready .primary-menu .menu-item-has-children.mobile-submenu-enabled > .submenu-toggle::before {
		content: "";
		display: block;
		width: 0.5rem;
		height: 0.5rem;
		border-right: 2px solid currentColor;
		border-bottom: 2px solid currentColor;
		transform: rotate(45deg);
		transition: transform 0.2s ease;
	}

	body.mobile-submenus-collapsible .main-navigation.mobile-submenus-ready .primary-menu .menu-item-has-children.mobile-submenu-enabled > .submenu-toggle:hover,
	body.mobile-submenus-collapsible .main-navigation.mobile-submenus-ready .primary-menu .menu-item-has-children.mobile-submenu-enabled > .submenu-toggle:focus-visible {
		color: var(--header-menu-hover-colour);
	}

	body.mobile-submenus-collapsible .main-navigation.mobile-submenus-ready .primary-menu .menu-item-has-children.mobile-submenu-enabled > .sub-menu {
		grid-column: 1 / -1;
		grid-row: 2;
		display: none;
		position: static;
		width: 100%;
		min-width: 0;
		margin: 0;
	}

	body.mobile-submenus-collapsible .main-navigation.mobile-submenus-ready .primary-menu .menu-item-has-children.mobile-submenu-enabled.submenu-is-open > .sub-menu {
		display: block;
	}

	body.mobile-submenus-collapsible .main-navigation.mobile-submenus-ready .primary-menu .menu-item-has-children.mobile-submenu-enabled.submenu-is-open > .submenu-toggle::before {
		transform: rotate(225deg);
	}
}

/* Optional fixed featured-image background for a parallax-style effect. */
body.featured-header-background-fixed .header__featured-image {
	background-attachment: fixed;
}

body.featured-header-background-fixed .header--featured-overlay {
	background-attachment: fixed, fixed;
}

/* Fixed background attachment is unreliable on many mobile browsers. */
@media (max-width: 768px) {
	body.featured-header-background-fixed .header__featured-image,
	body.featured-header-background-fixed .header--featured-overlay {
		background-attachment: scroll;
	}
}

