header {
	position: fixed;
	overflow: visible;
	display: flex;
	align-items: center;
	flex-direction: column;
	width: 100%;
	top: 0;
	background: var(--wiki-header-background);
	border-bottom: 1px solid color-mix(in srgb, var(--color-base-content) 20%, transparent);
	transition: height 0.2s ease-in-out;
	z-index: 1;
}
header::before {
	content: '';
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	backdrop-filter: blur(10px);
	-webkit-backdrop-filter: blur(10px);
	z-index: -1;
}
header .header-shared {
	display: flex;
	width: 100%;
	align-items: center;
	justify-content: center;
	overflow: hidden;
}
header .header-shared .header-inner {
	transition: all 0.2s ease-in-out;
}
header .header-shared .header-inner #search-container #main-bar {
	transition:
		width 0.2s ease-in-out,
		height 0.2s ease-in-out;
}
header .header-shared .header-inner #search-container #main-bar .searchBtn {
	transition: inherit;
}
header .header-shared h1 {
	text-shadow: none;
}
header .header-shared h1 a {
	color: var(--color-base-content);
	display: flex;
	align-items: center;
	justify-content: center;
	height: 100%;
	margin: 0;
	transition: font-size 0.2s;
}
header .header-shared h1 a img {
	width: 54px;
	margin-right: 12px;
	transition: all 0.2s ease-in-out;
}
header .header-shared .sidebar-wrapper {
	position: fixed;
	width: 100vw;
	left: 0;
	transition-property: background-color, backdrop-filter;
	transition-duration: 400ms;
	pointer-events: none;
	/* navigation bar */
	/* the rest of the styles are split between mobile and desktop */
}
header .header-shared .sidebar-wrapper.active {
	backdrop-filter: blur(5px);
	-webkit-backdrop-filter: blur(5px);
	background-color: color-mix(in srgb, var(--color-neutral) 40%, transparent);
	pointer-events: all;
}
header .header-shared .sidebar-wrapper #navSidebar {
	position: absolute;
	height: 100vh;
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	gap: 8px;
	border-radius: 0px 30px 30px 0px;
	border-right: 1px solid color-mix(in srgb, var(--color-base-content) 20%, transparent);
	background:
		linear-gradient(
			180deg,
			transparent 0%,
			color-mix(in srgb, var(--color-primary) 8%, transparent) 51.04%,
			color-mix(in srgb, var(--color-accent) 20%, transparent) 100%
		),
		var(--color-base-200);
	transition: 0.4s;
}
header .header-shared .sidebar-wrapper #navSidebar.active {
	left: 0;
	box-shadow: 0px 4px 10px 0px var(--wiki-shadow-color);
}
header .header-shared .sidebar-wrapper #navSidebar #navWedgeContainer {
	position: sticky;
	padding: 16px;
	width: 100%;
}
header .header-shared .sidebar-wrapper #navSidebar #navWedgeContainer #navHeader {
	display: flex;
	align-items: center;
	gap: 10px;
}
header .header-shared .sidebar-wrapper #navSidebar #navWedgeContainer #navHeader #sidebarX {
	display: flex;
	align-items: center;
	color: var(--color-base-content);
	background: none;
	border: none;
	font-size: 32px;
}
header .header-shared .sidebar-wrapper #navSidebar #navWedgeContainer #navHeader #sidebarX:hover {
	color: var(--color-neutral);
}
header .header-shared .sidebar-wrapper #navSidebar #navWedgeContainer hr {
	margin-top: 8px;
	margin-bottom: 8px;
	margin-left: 0;
	margin-right: 0;
	height: 2px;
}
header .header-shared .sidebar-wrapper #navSidebar #navWedgeContainer #navWedgeItems {
	display: block;
	overflow-y: scroll;
	overflow: auto;
	font-size: 18px;
	font-weight: 500;
	max-height: calc(100vh - 168px);
}
header
	.header-shared
	.sidebar-wrapper
	#navSidebar
	#navWedgeContainer
	#navWedgeItems
	h3:first-child {
	margin-top: 0;
}
header .header-shared .sidebar-wrapper #navSidebar #navWedgeContainer #navWedgeItems h3 {
	margin-bottom: 8px;
}
header .header-shared .sidebar-wrapper #navSidebar #navWedgeContainer #navWedgeItems h3::before {
	content: '';
	display: inline-block;
	background: var(--color-secondary) 0% 0% no-repeat padding-box;
	height: 17px;
	margin-right: 8px;
	width: 4px;
	position: inherit;
	border-radius: 2px;
}
header .header-shared .sidebar-wrapper #navSidebar #navWedgeContainer #navWedgeItems ol {
	display: flex;
	flex-direction: column;
	gap: 8px;
	width: 100%;
	overflow: auto;
	padding: 0 12px 12px 12px;
}
header .header-shared .sidebar-wrapper #navSidebar #navWedgeContainer.sticky {
	position: sticky;
}
header .header-shared .sidebar-wrapper #navSidebar #navWedgeContainer.sticky #navWedgeItems {
	max-height: calc(100vh - 168px);
}
header .header-shared .sidebar-wrapper #navSidebar .btn-container {
	display: flex !important;
	justify-content: center;
	margin-top: 8px !important;
}
header .header-shared .sidebar-wrapper #navSidebar .btn-container a.kofi-button {
	box-shadow: none !important;
}

/*
 * These files are split like this so 
 * that we don't have to spam !important
 */
@media not all and (max-width: 1230px) {
	header {
		height: 88px;
	}
	header .header-shared {
		min-height: 100%;
		flex-direction: row;
		justify-content: space-evenly;
		/* very very jank weird searchbar code */
	}
	header .header-shared #btnContainer {
		text-align: center;
		width: 150px;
	}
	header .header-shared #hamburgerBtn {
		text-align: center;
		cursor: pointer;
		flex-shrink: 0;
		color: var(--color-base-content);
		border: none;
		background: none;
		border-radius: 32px;
		padding: 4px;
	}
	header .header-shared #hamburgerBtn .ph-bold.ph-list {
		font-size: 42px;
	}
	header .header-shared #hamburgerBtn:hover {
		background: var(--color-base-300);
	}
	header .header-shared #twoBotans {
		display: flex;
		width: 150px;
		justify-content: space-evenly;
	}
	header .header-shared #githubBtn {
		text-align: center;
		flex-shrink: 0;
		color: var(--color-base-content);
		border: none;
		background: none;
		border-radius: 25px;
		padding: 4px;
	}
	header .header-shared #githubBtn .ph-bold.ph-github-logo {
		font-size: 32px;
	}
	header .header-shared #githubBtn:hover {
		background: var(--color-base-300);
		text-decoration: none;
	}
	header .header-shared #discordBtn {
		text-align: center;
		flex-shrink: 0;
		color: var(--color-base-content);
		border: none;
		background: none;
		border-radius: 25px;
		padding: 4px;
	}
	header .header-shared #discordBtn .ph-bold.ph-discord-logo {
		font-size: 32px;
	}
	header .header-shared #discordBtn:hover {
		background: var(--color-base-300);
		text-decoration: none;
	}
	header .header-shared .header-inner {
		display: flex;
		align-self: flex-start;
		flex: 1;
		padding: 12px 32px;
		justify-content: space-between;
		align-items: center;
		flex-shrink: 0;
		border-radius: 0px 0px 25px 25px;
		border-bottom: 1px solid color-mix(in srgb, var(--color-base-content) 20%, transparent);
		background:
			linear-gradient(
				180deg,
				transparent 0%,
				color-mix(in srgb, var(--color-primary) 8%, transparent) 51.04%,
				color-mix(in srgb, var(--color-accent) 20%, transparent) 100%
			),
			var(--color-accent);
	}
	header .header-shared h1 {
		font-size: 42px;
		font-weight: 281;
	}
	header .header-shared #navigationButtons > div {
		width: fit-content;
	}
	header .header-shared #navigationButtons > div a {
		transition: all 0.2s ease-in-out;
	}
	@media screen and (max-width: 1500px) {
		header .header-shared h1 a {
			padding: 0px;
			border: 0px solid var(--color-primary);
		}
		header .header-shared h1 a:hover {
			color: var(--color-base-content);
			background-color: transparent;
		}
		header .header-shared #navigationButtons > div a {
			width: 150px;
		}
		header .header-shared #navigationButtons > div a:hover::after {
			width: 150px;
		}
	}
	header .header-shared .sidebar-wrapper {
		height: calc(100vh - 88px);
		top: 88px;
		/* navigation bar */
	}
	header .header-shared .sidebar-wrapper:has(#navSidebar.sticky) {
		height: calc(100vh - 68px);
		top: 68px;
	}
	header .header-shared .sidebar-wrapper #navSidebar {
		left: -406px;
		width: 406px;
	}
	header .header-shared .sidebar-wrapper #navSidebar .hideMe {
		display: none;
		padding: 0 !important;
	}
	header .header-shared #search-container {
		/* Change the white to any color */
		/*Change text in autofill textbox*/
	}
	header .header-shared #search-container input:-webkit-autofill,
	header .header-shared #search-container input:-webkit-autofill:hover,
	header .header-shared #search-container input:-webkit-autofill:focus,
	header .header-shared #search-container input:-webkit-autofill:active {
		-webkit-box-shadow: 0 0 0 30px var(--color-base-200) inset !important;
	}
	header .header-shared #search-container input:-webkit-autofill {
		-webkit-text-fill-color: var(--color-base-content) !important;
	}
	header .header-shared #search-container #main-bar {
		display: flex;
		flex-direction: row;
		flex-shrink: 0;
		width: 454px;
		height: 52px;
		border-radius: 30px;
		border: 3px solid var(--color-primary);
		background: var(--color-base-200);
		padding-left: 24px;
	}
	header .header-shared #search-container #main-bar .searchBtn {
		display: flex;
		justify-content: center;
		align-items: center;
		flex-shrink: 0;
		width: 58px;
		height: 46px;
		color: var(--color-base-content);
		border: none;
		border-radius: 0px 25px 25px 0px;
		background: var(--color-base-300);
	}
	header .header-shared #search-container #main-bar .searchBtn .ph-bold.ph-magnifying-glass {
		font-size: 28px;
		transition: font-size 0.2s;
	}
	header .header-shared #search-container:focus-visible {
		outline: none;
	}
	header .header-shared #search-container input#search-input {
		width: 100%;
		height: 100%;
		color: var(--color-neutral);
		background: none;
		text-align: left;
		border: none;
		font-family: 'Author', sans-serif;
		font-size: 18px;
		font-weight: 494;
	}
	header .header-shared #search-container input#search-input:focus-visible {
		outline: none;
		color: var(--color-base-content);
	}
	header .header-shared #search-container #results-fixstuff {
		z-index: 1;
		padding: 16px;
		margin-left: 24px;
		margin-right: 24px;
		margin-top: 22px;
		position: absolute;
		display: none;
		flex-direction: column;
		width: 406px;
		max-height: 408px;
		border-radius: 0px 0px 30px 30px;
		border-right: 1px solid color-mix(in srgb, var(--color-base-content) 20%, transparent);
		border-bottom: 1px solid color-mix(in srgb, var(--color-base-content) 20%, transparent);
		border-left: 1px solid color-mix(in srgb, var(--color-base-content) 20%, transparent);
		background:
			linear-gradient(
				180deg,
				transparent 0%,
				color-mix(in srgb, var(--color-primary) 8%, transparent) 51.04%,
				color-mix(in srgb, var(--color-accent) 20%, transparent) 100%
			),
			var(--color-base-200);
		box-shadow: 0px 4px 4px 0px var(--wiki-shadow-color);
		transition: 0.2s;
	}
	header .header-shared #search-container #results-container {
		display: flex;
		flex-direction: column;
		align-items: flex-start;
		gap: 8px;
		padding: 0px 8px 8px 8px;
		overflow: auto;
	}
	header .header-shared #search-container #results-container h3::before {
		content: '';
		display: inline-block;
		background: var(--color-secondary) 0% 0% no-repeat padding-box;
		height: 17px;
		margin-right: 8px;
		width: 4px;
		position: inherit;
		border-radius: 2px;
	}
	header .header-shared #search-container #results-container li::marker {
		content: '';
	}
	header .logo a:hover {
		text-decoration: none;
	}
	header.sticky {
		height: 68px;
	}
	header.sticky .logo {
		font-size: 32px;
		font-style: normal;
		line-height: normal;
	}
	header.sticky .logo img {
		width: 44px;
		transition: all 0.2s ease-in-out;
	}
	header.sticky .logo a:hover {
		text-decoration: none;
	}
	header.sticky #navigationButtons {
		gap: 4px;
	}
	header.sticky #navigationButtons > div a {
		border-radius: 0px;
	}
	header.sticky #navigationButtons > div:first-child a {
		border-radius: 25px 0 0 25px;
	}
	header.sticky #navigationButtons > div:last-child a {
		border-radius: 0 25px 25px 0;
	}
	header.sticky .header-inner {
		height: initial;
		padding: 8px 32px;
	}
	header.sticky .header-inner #search-container #results-fixstuff {
		margin-top: 16px;
		transition: 0.2s;
	}
	header.sticky .header-inner #search-container #main-bar {
		flex-shrink: 0;
		height: 42px;
	}
	header.sticky .header-inner #search-container #main-bar .searchBtn {
		flex-shrink: 0;
		width: 48px;
		height: 36px;
	}
	header.sticky .header-inner #search-container #main-bar .searchBtn .ph-bold.ph-magnifying-glass {
		font-size: 24px;
	}
}
@media all and (max-width: 1230px) {
	/* john note: none of this is updated with the current header design */
	/* we still need a proper mobile header design! */
	header {
		height: 52px;
		transition: all 0.2s ease-in-out;
	}
	header .header-shared {
		flex-direction: row;
		justify-content: center;
		min-height: 100%;
		gap: 10px;
	}
	header .header-shared #hamburgerBtn {
		text-align: center;
		cursor: pointer;
		flex-shrink: 0;
		color: var(--color-base-content);
		border: none;
		background: none;
		border-radius: 32px;
		padding: 4px;
		margin-left: 10px;
	}
	header .header-shared #hamburgerBtn .ph-bold.ph-list {
		font-size: 32px;
	}
	header .header-shared #hamburgerBtn:hover {
		background: var(--color-base-300);
	}
	header .header-shared #twoBotans {
		display: none;
	}
	header .header-shared #main-bar {
		display: none;
	}
	header .header-shared .header-inner {
		background: var(--color-accent);
		display: flex;
		align-self: flex-start;
		flex: 1;
		padding: 8px 16px;
		justify-content: space-between;
		align-items: center;
		flex-shrink: 0;
		transition: transform 0.2s;
		border-radius: 0px 0px 10px 25px;
		border-bottom: 1px solid color-mix(in srgb, var(--color-base-content) 20%, transparent);
		background:
			linear-gradient(
				180deg,
				transparent 0%,
				color-mix(in srgb, var(--color-primary) 8%, transparent) 51.04%,
				color-mix(in srgb, var(--color-accent) 20%, transparent) 100%
			),
			var(--color-accent);
	}
	header .header-shared .header-inner h1 a {
		gap: 5px;
		font-size: 24px;
		font-weight: 300;
	}
	header .header-shared .header-inner h1 a img {
		margin-right: 8px;
		width: 32px;
	}
	header .header-shared .header-inner #navigationButtons {
		margin: 0;
		gap: 2px;
	}
	header .header-shared .header-inner #navigationButtons > div:first-child,
	header .header-shared .header-inner #navigationButtons > div:last-child {
		display: none;
	}
	header .header-shared .header-inner #navigationButtons > div {
		width: 140px;
		height: 32px;
	}
	header .header-shared .header-inner #navigationButtons > div a {
		text-shadow: 0 2px 2px var(--wiki-shadow-color);
		width: 140px;
		height: 32px;
		font-size: 14px;
	}
	header .header-shared .header-inner #navigationButtons > div a:hover::after {
		width: 140px;
	}
	header .header-shared .header-inner #navigationButtons > div:nth-child(2) a {
		border-radius: 20px 5px 5px 20px;
	}
	header .header-shared .header-inner #navigationButtons > div:nth-child(3) a {
		border-radius: 5px 20px 20px 5px;
	}
	header .header-shared .sidebar-wrapper {
		height: calc(100vh - 52px);
		top: 52px;
		/* navigation bar */
	}
	header .header-shared .sidebar-wrapper #navSidebar {
		left: -100%;
		width: 100%;
	}
	header .header-shared .logo a:hover {
		text-decoration: none;
	}
	header #search-container {
		display: none;
	}
}
