:root {
	--HEADER-BGCOLOR: #f8f3e2;
	--HEADER-COLOR: #1e1612;
	--NAV-BORDER-COLOR: #e3decd;
	--DARK-TOGGLE-BGCOLOR: #d2c8a9;
	--DDOWN-SHADOW-COLOR: gray;
	--NAVBAR-UNDERLINE-COLOR: blueviolet;
	--DISPLAY-DARK-THEME-ICON: none;
}

:root[data-theme="dark"] {
	--HEADER-BGCOLOR: #26211f;
	--HEADER-COLOR: #fff8df;
	--NAV-BORDER-COLOR: #3f342e;
	--DARK-TOGGLE-BGCOLOR: black;
	--DDOWN-SHADOW-COLOR: black;
	--DISPLAY-LIGHT-THEME-ICON: none;
	--DISPLAY-DARK-THEME-ICON: block;
	--TOGGLE-CIRCLE-TRANSFORM: translateX(25px);
}

.homepage-logo {
	height: 42px;
	width: 150px;
	position: fixed;
	top: 0;
	z-index: 999;
	margin-left: 1rem;
	margin-top: 8px;
	transition: transform 0.2s;
	background-color: var(--BODY-COLOR);
	-webkit-mask-repeat: no-repeat;
	-webkit-mask-position: center;
	-webkit-mask-size: contain;
	mask-repeat: no-repeat;
	mask-position: center;
	mask-size: contain;
	-webkit-mask-image: url("https://static.igem.wiki/teams/5645/wiki-images/navbar/phytclub-logo.webp");
	mask-image: url("https://static.igem.wiki/teams/5645/wiki-images/navbar/phytclub-logo.webp");
	opacity: 0.85;
	transition: all 0.2s ease-in-out;
}

.homepage-logo:hover {
	opacity: 1;
}

.navbar {
	font-family: "Nunito", Calibri, sans-serif;
	width: 100%;
	font-size: 1.2rem;
	display: flex;
	justify-content: right;
	align-items: center;
	position: fixed;
	top: 0;
	left: 0;
	right: 0;
	background-color: var(--HEADER-BGCOLOR);
	z-index: 998;
	padding-right: 2rem;
	transition: all 0.2s;
}

.navbar::after {
	position: absolute;
	top: 100%;
	left: 50%;
	transform: translateX(-50%);
	content: "";
	width: 100%;
	height: 1.5px;
	background: var(--NAV-BORDER-COLOR);
	display: block;
	z-index: 999;
}

.navbar ul {
	display: flex;
	justify-content: right;
	margin: 0;
}

.navbar li {
	list-style: none;
	padding: 0;
	margin: 0;
	text-align: center;
	position: relative;
}

#navbar-ihp {
	min-width: 11.5rem;
}

.navbar li a {
	display: block;
	text-decoration: none;
	padding: 1rem;
	color: var(--HEADER-COLOR);
	width: fit-content;
	margin: auto;
}

.navbar li a:hover {
	text-decoration: none;
	color: var(--HEADER-COLOR);
}

.navbar ul li a::after {
	content: "";
	width: 0%;
	height: 1.5px;
	background: var(--NAVBAR-UNDERLINE-COLOR);
	display: block;
	margin: auto;
	transition: 0.5s;
}

.navbar ul li a:hover::after,
.navbar ul li a:focus::after {
	width: 100%;
}

.navbar .has-ddown {
	cursor: pointer;
	color: var(--HEADER-COLOR);
}

.navbar .has-ddown > a:hover::after,
.navbar .has-ddown > a:focus::after {
	width: 0;
}

.navbar .ddown {
	position: absolute;
	display: none;
	padding: 0;
	z-index: 1000;
	text-align: center;
	background-color: var(--HEADER-BGCOLOR);
	padding: 0 0.5rem;
	left: 50%;
	transform: translateX(-50%);
	top: 100%;
	transform-origin: top center;
	box-shadow: 0 1px 2px var(--DDOWN-SHADOW-COLOR);
	border-radius: 0.5rem;
}

.navbar .ddown li a {
	padding: 0.4rem 1rem;
}

.navbar li.has-ddown:hover .ddown,
.navbar li.has-ddown:focus-within .ddown {
	display: block;
}

.navbar .big-ddown a:active[href],
.navbar .has-ddown:active {
	-webkit-tap-highlight-color: transparent;
}

.navbar .big-ddown a:active[href] {
	opacity: 0.5;
}

.nav-toggle-icon {
	display: none;
}

.dark-toggle {
	width: 56px;
	height: 25px;
	border-radius: 30px;
	background-color: var(--DARK-TOGGLE-BGCOLOR);
	display: flex;
	align-items: center;
	padding: 0 5px;
	cursor: pointer;
	transition: background-color 0.3s;
	align-self: center;
	margin: 0 1rem;
}

.toggle-circle {
	width: 20px;
	height: 20px;
	border-radius: 50%;
	display: flex;
	align-items: center;
	justify-content: center;
	transition: transform 0.3s;
	transform: var(--TOGGLE-CIRCLE-TRANSFORM);
}

.toggle-circle img {
	height: 20px;
	width: 20px;
}

.light-theme-icon {
	display: var(--DISPLAY-LIGHT-THEME-ICON);
}

.dark-theme-icon {
	rotate: -30deg;
	margin-top: 1px;
	display: var(--DISPLAY-DARK-THEME-ICON);
}

@media screen and (max-width: 960px) {
	.homepage-logo {
		margin-top: 1.6px;
		height: 40px;
		width: 100px;
	}

	.navbar {
		flex-direction: row-reverse;
	}

	.navbar .big-ddown {
		position: absolute;
		top: 100%;
		left: 0;
		display: none;
		z-index: 998;
		text-align: center;
		background-color: var(--HEADER-BGCOLOR);
		padding: 0.5rem;
		height: calc(100vh - 48px);
		overflow-y: scroll;
	}

	.navbar .big-ddown > li {
		width: 100vw;
		display: flex;
		justify-content: center;
	}

	.nav-toggle-container {
		/* margin-top: 0.2rem; */
		background-color: transparent;
		border: none;
		display: flex;
		width: 48px;
		height: 48px;
		justify-content: center;
		align-items: center;
		position: relative;
	}

	.nav-toggle-icon {
		appearance: none;
		display: block;
	}

	.nav-toggle-icon,
	.nav-toggle-icon::before,
	.nav-toggle-icon::after {
		background-color: var(--HEADER-COLOR);
		width: 40px;
		height: 5px;
		border-radius: 5px;
		position: absolute;
		transition: all 0.3s;
	}

	.nav-toggle-icon::before,
	.nav-toggle-icon::after {
		content: "";
	}

	.nav-toggle-icon::before {
		transform: translateY(-12px);
	}

	.nav-toggle-icon::after {
		transform: translateY(12px);
	}

	.nav-toggle-icon:checked {
		background-color: transparent;
	}

	.nav-toggle-icon:checked::before {
		transform: rotate(-45deg);
	}

	.nav-toggle-icon:checked::after {
		transform: rotate(45deg);
	}

	.navbar .big-ddown-hidden {
		display: flex;
		transform-origin: top center;
		animation: hideMenu 0.3s ease-in-out forwards;
	}

	.navbar .ddown {
		animation: showMenu 0.3s ease-in-out forwards;
		box-shadow: none;
	}

	@keyframes hideMenu {
		0% {
			transform: scaleY(1);
		}
		100% {
			transform: scaleY(0);
		}
	}

	.navbar .big-ddown-shown {
		display: flex;
		flex-direction: column;
		justify-content: center;
		transform-origin: top center;
		animation: showMenu 0.3s ease-in-out forwards;
	}

	@keyframes showMenu {
		0% {
			transform: scaleY(0);
		}
		100% {
			transform: scale(1);
		}
	}

	.navbar li.has-ddown:hover .ddown {
		display: none;
	}

	.navbar li.has-ddown:focus-within .ddown {
		display: block;
	}

	.navbar .big-ddown li {
		display: flex;
		flex-direction: column;
	}

	.navbar .ddown {
		position: relative;
		left: 0;
		top: 0;
	}

	.navbar .ddown li a {
		font-size: 1.1rem;
	}

	.navbar ul li a::after,
	.navbar ul li a:hover::after,
	.navbar ul li a:focus::after {
		display: none;
	}
}
