/* CSS */

/* Add the font in EOT format */
@font-face {
	font-family: 'OdudoMono';
	src: url('../webfonts/OdudoMono-Regular.eot');
	/* IE9 Compat Modes */
	src: url('../webfonts/OdudoMono-Regular.eot?#iefix') format('embedded-opentype'),
	/* IE6-IE8 */
	url('../webfonts/OdudoMono-Regular.woff2') format('woff2'),
	/* Modern Browsers */
	url('../webfonts/OdudoMono-Regular.woff') format('woff');
	font-weight: normal;
	font-style: normal;
}

@font-face {
	font-family: 'OdudoMono';
	src: url('../webfonts/OdudoMono-Bold.eot');
	src: url('../webfonts/OdudoMono-Bold.eot?#iefix') format('embedded-opentype'),
	url('../webfonts/OdudoMono-Bold.woff2') format('woff2'),
	url('../webfonts/OdudoMono-Bold.woff') format('woff');
	font-weight: bold;
	font-style: normal;
}

@font-face {
	font-family: 'OdudoMono';
	src: url('../webfonts/OdudoMono-Light.eot');
	src: url('../webfonts/OdudoMono-Light.eot?#iefix') format('embedded-opentype'),
	url('../webfonts/OdudoMono-Light.woff2') format('woff2'),
	url('../webfonts/OdudoMono-Light.woff') format('woff');
	font-weight: 300;
	font-style: normal;
}
/* lato-100 - latin */
@font-face {
	font-display: swap; /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
	font-family: 'Lato';
	font-style: normal;
	font-weight: 100;
	src: url('../webfonts/lato-v23-latin-100.eot'); /* IE9 Compat Modes */
	src: url('../webfonts/lato-v23-latin-100.eot?#iefix') format('embedded-opentype'), /* IE6-IE8 */
	url('../webfonts/lato-v23-latin-100.woff2') format('woff2'), /* Super Modern Browsers */
	url('../webfonts/lato-v23-latin-100.woff') format('woff'), /* Modern Browsers */
	url('../webfonts/lato-v23-latin-100.ttf') format('truetype'), /* Safari, Android, iOS */
	url('../webfonts/lato-v23-latin-100.svg#Lato') format('svg'); /* Legacy iOS */
}
/* lato-300 - latin */
@font-face {
	font-display: swap; /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
	font-family: 'Lato';
	font-style: normal;
	font-weight: 300;
	src: url('../webfonts/lato-v23-latin-300.eot'); /* IE9 Compat Modes */
	src: url('../webfonts/lato-v23-latin-300.eot?#iefix') format('embedded-opentype'), /* IE6-IE8 */
	url('../webfonts/lato-v23-latin-300.woff2') format('woff2'), /* Super Modern Browsers */
	url('../webfonts/lato-v23-latin-300.woff') format('woff'), /* Modern Browsers */
	url('../webfonts/lato-v23-latin-300.ttf') format('truetype'), /* Safari, Android, iOS */
	url('../webfonts/lato-v23-latin-300.svg#Lato') format('svg'); /* Legacy iOS */
}
/* lato-regular - latin */
@font-face {
	font-display: swap; /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
	font-family: 'Lato';
	font-style: normal;
	font-weight: 400;
	src: url('../webfonts/lato-v23-latin-regular.eot'); /* IE9 Compat Modes */
	src: url('../webfonts/lato-v23-latin-regular.eot?#iefix') format('embedded-opentype'), /* IE6-IE8 */
	url('../webfonts/lato-v23-latin-regular.woff2') format('woff2'), /* Super Modern Browsers */
	url('../webfonts/lato-v23-latin-regular.woff') format('woff'), /* Modern Browsers */
	url('../webfonts/lato-v23-latin-regular.ttf') format('truetype'), /* Safari, Android, iOS */
	url('../webfonts/lato-v23-latin-regular.svg#Lato') format('svg'); /* Legacy iOS */
}
/* lato-700 - latin */
@font-face {
	font-display: swap; /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
	font-family: 'Lato';
	font-style: normal;
	font-weight: 700;
	src: url('../webfonts/lato-v23-latin-700.eot'); /* IE9 Compat Modes */
	src: url('../webfonts/lato-v23-latin-700.eot?#iefix') format('embedded-opentype'), /* IE6-IE8 */
	url('../webfonts/lato-v23-latin-700.woff2') format('woff2'), /* Super Modern Browsers */
	url('../webfonts/lato-v23-latin-700.woff') format('woff'), /* Modern Browsers */
	url('../webfonts/lato-v23-latin-700.ttf') format('truetype'), /* Safari, Android, iOS */
	url('../webfonts/lato-v23-latin-700.svg#Lato') format('svg'); /* Legacy iOS */
}
/* lato-900 - latin */
@font-face {
	font-display: swap; /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
	font-family: 'Lato';
	font-style: normal;
	font-weight: 900;
	src: url('../webfonts/lato-v23-latin-900.eot'); /* IE9 Compat Modes */
	src: url('../webfonts/lato-v23-latin-900.eot?#iefix') format('embedded-opentype'), /* IE6-IE8 */
	url('../webfonts/lato-v23-latin-900.woff2') format('woff2'), /* Super Modern Browsers */
	url('../webfonts/lato-v23-latin-900.woff') format('woff'), /* Modern Browsers */
	url('../webfonts/lato-v23-latin-900.ttf') format('truetype'), /* Safari, Android, iOS */
	url('../webfonts/lato-v23-latin-900.svg#Lato') format('svg'); /* Legacy iOS */
}

:root {
	/* background colors */
	/* dark/light mode colors*/
	--color-dark: 255, 255, 255;
	--bgcol-dark: 51,  51,  51;
	--color-light: 0,  0,  0;
	--bgcol-light: 255, 255, 255;
	--border-radius:0.3em;
	--color: var(--color-light);
	--bgcol: var(--bgcol-light);
	--shadow: 0 0.6em 0.8em 0 rgba(0,0,0,0.5), 0.3em 0.3em 0.9em 0.3em rgba(0,0,0,0.2);
	--pane-filter: url('#blur');
	--pane-bgcol:rgba(var(--bgcol),0.0);
}
body.dark-mode {
	--color: var(--color-dark);
	--bgcol: var(--bgcol-dark);
	--pane-bgcol:rgba(0,0,0,0.4);
}
body:not(.dark-mode) {
	--color: var(--color-light);
	--bgcol: var(--bgcol-light);
	--pane-bgcol:rgba(255,255,255,0.4);
}
html {
	height: 100%;
	overflow:auto;
	width: 100%;
}
body {
	height: 100%;
	display:inline-block;
	margin:0;
	font-size:18px;
	font-family: 'Lato', sans-serif;
	font-weight: 400;
	color: rgb(var(--color));
	/* text-shadow: 0 0 0.2em white; */
	transition: color 1s ease, background-color 1s ease;
	display: flex;
	flex-direction: column;
	align-items: center;
	position:relative;
}

header,footer,main {
	width:100%;
	max-width:800px;
	margin: 1.6em;
}

header:after,
footer:after{
	content:"";
	position: absolute;
	left:0;
	height: 6em;
	width:100vw;
	z-index:-1;
	-webkit-box-shadow: var(--shadow); 
	box-shadow: var(--shadow);
	backdrop-filter: var(--pane-filter);
}
body:not(.dark-mode) header:after,
body:not(.dark-mode) footer:after,
body:not(.dark-mode) main{
	backdrop-filter: var(--pane-filter);
	background-color: var(--pane-bgcol);
}

body.dark-mode header:after,
body.dark-mode footer:after,
body.dark-mode main{
	backdrop-filter: var(--pane-filter);
	background-color: var(--pane-bgcol);
}

header:after{
	top:0;
}
footer:after{
	bottom:0;
}

main {
	-webkit-box-shadow: var(--shadow); 
	box-shadow: var(--shadow);
	backdrop-filter: var(--pane-filter);
	border-radius: var(--border-radius);
}

/*.dark-mode header,
.dark-mode footer,*/
.dark-mode main {
	/* backdrop-filter: var(--pane-filter); */
}	
main>section{
	margin: 0.8em 2.4em;
}
header>*:last-child,footer>*:last-child{
	margin-right:2.4em;
}
header>*:first-child,footer>*:first-child{
	margin-left:2.4em;
}

header,footer {
	display: flex;
	justify-content: space-between;
	align-items: center;
	gap: 0.8em;
	z-index:2;
}
header h2{
	text-shadow: 0 0 0.1em rgba(255, 255, 255, 0.5);
}
header h2 .thin{
	font-weight:300;
}

footer {
	font-size:0.75em;
}
main {
	flex: 1;
	z-index: 1;
	overflow-y: auto;
}

/* background */
#background-container,#background-overlay {
	position: fixed;
	z-index:-1;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
}

#background-container img {
	position:absolute;
	bottom:  -12.5%;
	right: -12.5%;
  width:  125%;
  height: 125%;
  object-fit: cover;
  /* transition: transform 3s ease-in-out; */
  transition: all 0.5s ease-out;/*ease-in-out; */
	/* transform: scale(1.3); */
}



#background-overlay {
	opacity:0.1;	
	background: 
	radial-gradient(circle at 60% 50%, rgba(var(--bgcol),1), rgba(var(--bgcol),0.0)),
	linear-gradient(0deg, rgba(var(--bgcol),0.0), rgba(var(--color),0));
	mix-blend-mode: normal;
	background-size: 100%, 100%, 300px;
	background-repeat: no-repeat, no-repeat;
}
.dark-mode #background-overlay {
	
}

/* scrollbar */
/* Firefox */
* {
	scrollbar-width: auto;
	scrollbar-color: rgb(var(--color)) rgba(var(--bgcolor),0.8);
	/* -webkit-box-shadow: 0 0.6em 0.8em -0.5em #000000, 0.3em 0.3em 0.9em 0.3em rgba(0,0,0,0);  */
	/* box-shadow: 0 0.6em 0.8em -0.5em #000000, 0.3em 0.3em 0.9em 0.3em rgba(0,0,0,0); */
}

/* Chrome, Edge, and Safari */
*::-webkit-scrollbar {
	width: 0.5em;
}

*::-webkit-scrollbar-track {
	background: rgba(var(--bgcolor),0.6);
	box-shadow: inset 0 0 6px rgba(0, 0, 0, 0.4);
}

*::-webkit-scrollbar-thumb {
	background-color: rgba(var(--color),0.6);
	border-radius: var(--border-radius);
	border: 3px solid rgba(var(--bgcolor),0.6);
	-webkit-box-shadow: var(--shadow); 
	box-shadow: var(--shadow);
}

/*logo*/
}
.logo-container {
	margin: 0.8em 0.8em;
}

.logo {
	width: 4em;
	height:4em;
}
.logo .d,
.logo .m{
	// display: none;
	fill: none;
	stroke: white;
	stroke-dasharray: 200, 500;
	stroke-linecap: round;
	stroke-width: 8;
	stroke-dashoffset: 200;
	transition: stroke-dashoffset 3s ease-in-out;
	filter: url('#glow');
}
.logo .circle {
	fill: none;
	stroke: rgba(16,16,16,0.65);
	stroke-linecap: round;
	stroke-width: 4;
}
/* nav */ 
nav {
	position: relative;
}
nav>ul{
	list-style: none;
}
.nav-links {
	display: flex;
	justify-content: space-between;
	align-items: center;
	margin: 0;
	padding: 0;
	gap: 0.4em;
}

nav li {
	display:
	margin-right: 0.4em;
}

nav li:last-child {
	margin-right: 0;
}
a {
		color: rgba(var(--color),1);
}
a:visited {
	color: rgba(var(--color),0.5);
}

nav ul li a {
	display:block;
	white-space: nowrap;
	text-decoration: none;
	padding: 0.4em 0.8em;
	border-radius: var(--border-radius);
	-webkit-box-shadow: inset 0 0 0 0 rgba(0,0,0,0.5);
	box-shadow: inset 0 0 0 0 rgba(0,0,0,0.5);	
	transition: box-shadow 0.5s ease-in-out, color 1s ease, background-color 1s ease;
}

nav ul li a.active {
	background-color:rgba(0,0,0,0.5);
}

nav ul li a:hover,
nav ul li a.active:hover {
	-webkit-box-shadow: inset -0.06em 0.06em 0.6em 0.4em rgba(0,0,0,0.5);
	box-shadow: inset -0.06em 0.06em 0.6em 0.4em rgba(0,0,0,0.5);	
}
.hidden {
	display:none;
}
.hamburger {
	display: none;
	cursor: pointer;
}

/* Dark Mode */
.hasdmtoggle .dark,
.hasdmtoggle .light{
	height:100%;
	padding:0 0.4em;
}
.hasdmtoggle .dark {display:none;}
.hasdmtoggle .light {display:inline-block;}
body.dark-mode .hasdmtoggle .dark {display:inline-block;}
body.dark-mode .hasdmtoggle .light {display:none;}

.hasdmtoggle.desktp {
	display:list-item;
}


.dark-mode-toggle {
}

.dark-mode-toggle i {
}

.dark-mode-toggle:hover i {
}
.dark-mode .dark-mode-toggle i {
}

/* tab sections */
section:not(.active) {
	display: none;
}

section {
	transition: opacity 0.5s ease-in-out;
}

section.active {
	opacity: 1;
}


/* home */
#directory {
	//border: 0.05em solid #ddd;
	margin-top: 2.5em;
	border-radius: var(--border-radius);
}

#directory h2 {
	//font-size: 1.2em;
	margin-bottom: 10px;
}

#directory ul {
	list-style: none;
	margin: 0;
	padding: 0;
}

#directory li {
	line-height: 1.5;
	margin-bottom: 10px;
}

#directory a {
	font-weight: bold;
	text-decoration: none;
	transition: color 0.2s ease-in-out;
}

#directory a:hover {
	color: #666;
}

/* about */
.flex-container {
	display: flex;
	flex-wrap: wrap;
	align-items:  stretch;
	justify-items: center;
	justify-content: center;
	gap:2em;
	/*padding: 2rem;*/
}

.flex-container .tile{
	width:200px;
}
.about-image {
	flex:1;
	text-align:center;
}
.about-image img {
	max-width: 250px;
	height: auto;
	border-radius: 30%;
	margin:0 auto;
	-webkit-box-shadow: var(--shadow); 
	box-shadow: var(--shadow);
}

.about-text {
	text-align: left;
	width: 400px;
}

/* contact */
form {
	display: flex;
	flex-direction: column;
	max-width: 500px;
	margin: auto;
	margin-top: 2em;
}

	/* Style for the label */
label {
	position: absolute;
	top:  0.8em;
	left:  0.8em;
	font-size: 1em;
	pointer-events: none;
	transition: all 0.5s ease 0s;
	color: rgb(var(--color));
	z-index:2;
}

input:focus + label,
input:not(:placeholder-shown) + label,
textarea:focus + label,
textarea:not(:placeholder-shown) + label{
	//transform: translateY(-1.2em);
	top: -1.4em;
	font-size: 0.6em;
	color: rgb(var(--color));
}

.input-container{
	position:relative;
}
.input-container input,
.input-container textarea{
	display:block;
	width:100%;
	box-sizing: border-box;
}

input, select, textarea,
input:focus, select:focus, textarea:focus{
	color: rgb(var(--color));
	background-color: rgba(var(--bgcol),0.5);
}

input[type="text"],
input[type="email"],
textarea {
	padding: 0.8em;
	border-radius: var(--border-radius);
	-webkit-box-shadow: 0 0.6em 0.8em -0.5em #000000, 0.3em 0.3em 0.9em 0.3em rgba(0,0,0,0); 
	box-shadow: 0 0.6em 0.8em -0.5em #000000, 0.3em 0.3em 0.9em 0.3em rgba(0,0,0,0);
	border: none;
	margin-bottom: 1.6em;
	font-family: 'Lato', sans-serif;
	font-weight: 300;
	font-size:1em;
}
/* chrome fix */
input[type="text"]:-internal-autofill-selected,
input[type="email"]:-internal-autofill-selected{
	color: rgb(var(--color)) !important;
	background-color: rgb(var(--bgcol)) !important;
}

input:focus,
textarea,:focus {
	outline: none;
}

textarea {
	height:250px;
}	
input[type="submit"] {
	font-family: 'Lato', sans-serif;
	font-weight: 300;
	-webkit-box-shadow: 0 0.6em 0.8em -0.5em #000000, 0.3em 0.3em 0.9em 0.3em rgba(0,0,0,0); 
	box-shadow: 0 0.6em 0.8em -0.5em #000000, 0.3em 0.3em 0.9em 0.3em rgba(0,0,0,0);
	color: rgb(var(--color));
	background-color: rgba(var(--bgcol),0.4);
	padding: 0.8em 1.6em;
	border: none;
	border-radius: var(--border-radius);
	cursor: pointer;
	/* margin-top: 0.8em; */
	font-size:1em;
	width:100%;
}

input[type="submit"]:hover {
	background-color: rgba(var(--bgcol),0.2);
}

#form-messages{
	text-align:center;
}


@media screen and (min-width: 768px) {
	.nav-links {
	  display: flex !important; /* override display:block from slideToggle*/
	}
}
@media screen and (max-width: 768px) {
	#background-overlay:after {
		transition:none;
		animation:none;
	}
	header>h1 {
		//display:none;
	}
	.nav-links {
		display: flex;
		position: absolute;
		top: 100%;
		right: -1.4em;
		padding:0.2em;
		padding-top: 1em;
		flex-direction: column;
		align-items: stretch;
		overflow-y:hidden;
		transform: scaleY(0);
		transition: transform 0.26s ease;
		transform-origin: top;
		/*pane*/
		border-radius: var(--border-radius);
		-webkit-box-shadow: var(--shadow); 
		box-shadow: var(--shadow);
		backdrop-filter: var(--pane-filter);
		background-color: var(--pane-bgcol);
	}
	.nav-links.open{
		transform: scaleY(1);
	}
	.hasdmtoggle .dark-mode-toggle{
		display: flex;
	}
	.hasdmtoggle .dark,
  .hasdmtoggle .light,
	body.dark-mode .hasdmtoggle .dark,
	body.dark-mode .hasdmtoggle .light{
		display:inline;
		padding:0.4em;
		width:50%;
		max-width:50%;
		box-sizing: border-box;
		text-align:center;
  }
	nav ul li.hasdmtoggle a {
		-webkit-box-shadow: none;
		box-shadow: none;	
		padding:0;
	}
	.hasdmtoggle .dark:hover,
  .hasdmtoggle .light:hover,
	body.dark-mode .hasdmtoggle .dark:hover,
	body.dark-mode .hasdmtoggle .light:hover{
		-webkit-box-shadow: inset -0.06em 0.06em 0.6em 0.4em rgba(0,0,0,0.3);
		box-shadow: inset -0.06em 0.06em 0.6em 0.4em rgba(0,0,0,0.3);	
	}
	.hasdmtoggle .dark {
		-webkit-box-shadow: none;
		box-shadow: none;	
	}
	.hasdmtoggle .light {
		-webkit-box-shadow: inset -0.06em 0.06em 0.6em 0.4em rgba(0,0,0,0.5);
		box-shadow: inset -0.06em 0.06em 0.6em 0.4em rgba(0,0,0,0.5);	
	}
	body.dark-mode .hasdmtoggle .dark {
		-webkit-box-shadow: inset -0.06em 0.06em 0.6em 0.4em rgba(0,0,0,0.5);
		box-shadow: inset -0.06em 0.06em 0.6em 0.4em rgba(0,0,0,0.5);	
	}
	body.dark-mode .hasdmtoggle .light {
		-webkit-box-shadow: none;
		box-shadow: none;	
	}
	.nav-links li {
		display: block;
	}
	
	.nav-links li a {
	}
	
	.hamburger {
		display: block;
	}
}	