@font-face {
	font-family: 'JetBrains Mono';
	src: url('/fonts/JetBrainsMonoNerdFontPropo-Light.woff2') format('woff2');
	font-weight: 300;
	font-style: normal;
}

@font-face {
	font-family: 'JetBrains Mono';
	src: url('/fonts/JetBrainsMonoNerdFontMono-Regular.woff2') format('woff2');
	font-weight: 400;
	font-style: normal;
}

@font-face {
	font-family: 'JetBrains Mono';
	src: url('/fonts/JetBrainsMonoNerdFontMono-ExtraBold.woff2') format('woff2');
	font-weight: 800;
	font-style: normal;
}

:root {
	--ease-out-quint: cubic-bezier(0.23, 1, 0.32, 1);
	--ease-in-quint:  cubic-bezier(0.64, 1, 0.78, 1);
	--ease-out-expo:  cubic-bezier(0.19, 1, 0.22, 1);
	--ease-in-expo:   cubic-bezier(0.95, 0.05, 0.795, 0.035);
	--ease-out-log:   cubic-bezier(0.16, 1, 0.3, 1);
	--ease-in-log:    cubic-bezier(0.7, 0, 0.84, 0)
}

* {
	font-family: 'JetBrains Mono';
	font-weight: 400;
}

html, body {
	height: 100%;
	margin: 0;
}

body {
	background-color: white;
    color: black;
}

body.dark {
    background-color: black;
    color: white;
}

a:visited,
a:hover,
a {
    color: black;
    text-decoration: none;
}

body.dark
a:visited,
body.dark
a:hover,
body.dark
a {
    color: white;
    text-decoration: none;
}

li {
	list-style: none;
}

ul {
	gap: 1rem;
}

.link {
	transform: skewX(0deg);
	transition: all 0.1s var(--ease-out-quint);
}

.link:hover {
	transform: skewX(-10deg);
	transition: all 0.1s var(--ease-out-quint);
}

header {
	position: sticky;
	top: 0;
	z-index: 1000;
	width: 100%;
	background: white;
    /* box-shadow: 0 8px 64px rgba(0, 0, 0, 0.2); */
}

body.dark header {
    background: black;
}

.child {
	flex: 1;
	width: 75%;
	margin: 0 auto;
}

.parent {
	display: flex;
	flex-direction: column;
	min-height: 100vh;
}

.header-container {
	margin: 0 2vh;
	display: flex;
	align-items: center;
	justify-content: space-between;
}

.header-container .left-container {
	flex: 1;
}

.nav {
	margin-left: auto;
	display: flex;
	gap: 1.5rem;
	list-style: none;
	padding: 0;
}

.nav li {
	color: black;
	opacity: 1;
}

body.dark .nav li {
    color: white;
}

footer {
	color: black;
	text-align: center;
	padding: 1rem;
}

body.dark footer {
    color: white;
}

/* start of link-list */
.link-list {
	display: flex;
	flex-direction: column;
	gap: 1vh;
    margin-right: auto;
}

.link-wrapper {
	display: flex;
	flex-direction: row;
}

.link-image {
	width: 100px;
	height: 100px;
	overflow: hidden;
	flex-grow: 0;
	flex-shrink: 0;
	flex-basis: 100px;
	border-radius: 15%;
}

.link-object {
	margin-right: auto;
	margin-left: 20px;
	margin-top: auto;
	margin-bottom: auto;
}

.link-image img {
	width: 100px;
	height: 100px;
	object-fit: cover;
}

.projects .link-image img {
    width: 100px;
    height: auto;
    object-fit: cover;
}

.projects .link-image {
    height: auto;
}

.link-object h2 {
	margin: 0;
}

.link-object p {
	margin: 0;
}
/* end of link-list */

.socials-list,
.rant-list {
	display: flex;
	flex-direction: column;
	gap: 1vh;
	margin-right: auto;
}

.socials .child,
.rant .child {
	display: flex;
	align-items: center;
	justify-content: center;
	height: 100vh;
}

/* clock */
#clock .blink {
	transition: opacity 0.5s;
	opacity: 1;
}

#clock .blink.off {
	opacity: 0;
}

.cropped-image {
	overflow: hidden;
	border-radius: 20px;
}

.cropped-image img {
	width: 100%;
	height: 100%;
	display: block;
}

/* hamburger */
.header-link {
	transform: skewX(0deg);
	transition: all 0.1s var(--ease-out-quint);
}

.header-link:hover {
	transform: skewX(-10deg);
	transition: all 0.1s var(--ease-out-quint);
}

.hamburger {
	display: none;
}

.nav {
	display: none;
	flex-direction: column;
	background-color: rgba(255, 255, 255, 1);
	position: absolute;
	top: 66px;
	right: 20px;
    min-width: 50px;
	border-radius: 16px;
	padding: 12px 16px;
}

body.dark .nav {
    background-color: rgba(0, 0, 0, 1);
}

.nav.show {
	display: flex;
    box-shadow: 0 8px 64px rgba(0, 0, 0, 0.2);
}

.hamburger {
	display: block;
}

.projects .child {
	display: flex;
	align-items: center;
	justify-content: center;
	height: 100vh;
}

.code {
    background-color: #06080a;
    border-radius: 16px;
    padding: 12px 16px;
    word-wrap: break-word;
    overflow-wrap: break-word;
    display: inline-block;
    border: 2px solid #212234;
    box-shadow: 0 0 16px rgba(6, 8, 10, 0.2);
    transition: box-shadow 0.5s cubic-bezier(0.19, 1, 0.22, 1) 0s, transform 0.5s cubic-bezier(0.19, 1, 0.22, 1);
}

.code:hover {
    /* box-shadow: 0 0 128px rgba(6, 8, 10, 0.3); */
}

.code p {
    margin: 0px;
    color: #a0a8cd;
}

.code span {
    margin: 0px;
    color: #a0a8cd;
}

.code .line-number {
    color: #212234;
    width: 30px;
    text-align: left;
    padding-right: 10px;
    margin-right: 10px;
    font-weight: bold;
    user-select: none;
}

.code .red {
    color: #ee6d85;
}

.code .orange {
    color: #f6955d;
}

.code .yellow {
    color: #d7a65f;
}

.code .green {
    color: #95c561;
}

.code .blue {
    color: #7199ee;
}

.code .cyan {
    color: #38a89d;
}

.code .purple {
    color: #a485dd;
}

.code .gray {
    color: #4a5057;
}

.code .italic {
    font-style: italic;
}

.code .bold {
    font-weight: bold;
}

.shadow {
    box-shadow: 0 0 16px rgba(0, 0, 0, 0.3);
    transition: box-shadow 0.5s cubic-bezier(0.19, 1, 0.22, 1);
}

.shadow:hover {
    box-shadow: 0 0 64px rgba(0, 0, 0, 0.3);
}

.footer-music-player {
    display: flex;
    flex-direction: row;
}

.player-wrapper {
    display: flex;
    align-items: center;
}

.player-wrapper p {
    margin: 0;
}

.player-wrapper-wrapper {
    display: flex;
    justify-content: left;
    align-items: left;
    flex-direction: column;
    margin-left: 16px;
}
