/* Color scheme */
:root {
	--bg: #ffffff;
	--primary: #2F4F4F;
	--secondary: #9FAFAF;
	--border: #D8E0E0;
	--overlay-bg: #000000;
	--overlay-bg-alt: #2F4F4F;
	--hover-color: black;
}

.dark {
	--bg: rgb(29, 30, 32);
	--primary: rgb(218, 218, 219);
	--secondary: rgb(155, 156, 157);
	--border: rgb(51, 51, 51);
	--overlay-bg: #000000;
	--overlay-bg-alt: rgb(46, 46, 51);
	--hover-color: #ffffff;
}

/* Sticky header */
#header {
	position: sticky;
	top: 0;
	background: var(--bg);
	z-index: 100;
	padding-top: 40px;
	transition: background-color 0.3s;
}

.menubar {
	padding-top: 20px;
	padding-bottom: 20px;
}

.content {
	padding-top: 40px;
}

.profile_pic {
	border-radius: 50%;
}

.myname {
	font-size: 22px;
	font-variant: small-caps;
	font-weight: normal;
	transform: scale(1, 1.2);
	letter-spacing: 0.15em;
	color: var(--primary) !important;
	float:left;
	text-align:left;
}

.menuitem {
	padding: 5px;
	float:right;
	text-align:right;
	font-weight: lighter;
	font-variant: small-caps;
}

/* Animated underline on nav links */
.menuitem a {
	position: relative;
	display: inline-block;
}

.menuitem a::after {
	content: '';
	position: absolute;
	width: 0;
	height: 1px;
	bottom: -2px;
	left: 0;
	background-color: var(--primary);
	transition: width 0.25s ease;
}

.menuitem a:hover::after {
	width: 100%;
}

/* Active nav state */
.menuitem a.active {
	color: var(--primary);
}

.menuitem a.active::after {
	width: 100%;
}

/* Fade transition for content */
#content {
	padding-top: 40px;
}

.profileitem {
	padding-top: 40px;
	padding-right: 15px;
	float:left;
	text-align:left;
	font-weight: lighter;
	font-variant: small-caps;
	line-height:1.2em;
	color: var(--secondary);
}

.container {
	width: 200;
}

.container2 {
	width: 266;
}

.overlay {
	position: absolute;
	top: 0;
	bottom: 0;
	left: 15;
	right: 0;
	height: 100%;
	width: 200;
	opacity: 0;
	transition: 0.5s ease;
	background-color: var(--overlay-bg);
}

.overlay2 {
	position: absolute;
	top: 0;
	bottom: 0;
	left: 15;
	right: 0;
	height: 100%;
	width: 266;
	opacity: 0;
	transition: 0.5s ease;
	background-color: var(--overlay-bg-alt);
}

.overlay3 {
	position: absolute;
	top: 0;
	bottom: 0;
	left: 15;
	right: 0;
	height: 100%;
	width: 270;
	opacity: 0;
	transition: 0.5s ease;
	background-color: var(--overlay-bg);
}

.container:hover .overlay {
	opacity: 0.8;
}

.container:active .overlay {
	opacity: 1;
}

.container2:hover .overlay2 {
	opacity: 0.6;
}

.container2:active .overlay2 {
	opacity: 1;
}

.container2:hover .overlay3 {
	opacity: 0.8;
}

.container2:active .overlay3 {
	opacity: 1;
}

.hovertext {
  color: white; /* white */
  font-size: 20px;
  font-weight: lighter;
  line-height:1.5em;
  position: absolute;
  top: 50%;
  left: 50%;
  -webkit-transform: translate(-50%, -50%);
  -ms-transform: translate(-50%, -50%);
  transform: translate(-50%, -50%);
  text-align: center;
}

p {
	color: var(--primary);
	font-weight: lighter;
	line-height:1.5em;
	transition: color 0.3s;
}

a {
	color: var(--secondary);
}

/* unvisited link */
a:link {
  text-decoration: none;
  font-weight: lighter;
}

/* mouse over link */
a:hover {
  color: var(--hover-color);
  font-weight: lighter;
  text-decoration: none;
}

/* selected link */
a:active {
  color: var(--hover-color);
  font-weight: lighter;
  text-decoration: none;
}

/* Body dark mode transition */
body {
	background: var(--bg);
	transition: background-color 0.3s;
}

/* Theme toggle button */
#theme-toggle {
	background: none;
	border: none;
	cursor: pointer;
	padding: 5px;
	margin-left: 10px;
	display: inline-flex;
	align-items: center;
	vertical-align: middle;
}

#theme-toggle svg {
	width: 20px;
	height: 20px;
	stroke: var(--secondary);
	transition: stroke 0.3s;
}

#theme-toggle:hover svg {
	stroke: var(--primary);
}

body.dark #moon {
	display: none;
}

body:not(.dark) #sun {
	display: none;
}
