header {
	padding: var(--layout-spacing) 0 var(--layout-spacing) 0;
	background: linear-gradient(to right, var(--color-background) 50%, transparent 50%), url("../images/assets/background.png");
	background-repeat: repeat;
	background-attachment: fixed;
	position: relative;
	animation: fadeIn 0.5s;
}

header .content-box {
	min-height: calc(100vh - 2 * var(--layout-spacing));
	display: flex;
	align-items: center;
}

header .grid-box {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: var(--layout-spacing);
	align-items: center;
}

header .description h1 {
	padding: 0 0 calc(var(--layout-spacing) / 4) 0;
	font-size: var(--fontsize-base);
}

header .description h2 {
	text-transform: none;
	font-weight: 700;
	background: -webkit-linear-gradient(var(--color-accent), var(--color-accent-dark));
	background-clip: text;
	-webkit-background-clip: text;
	-webkit-text-fill-color: transparent;
}

header .description p {
	margin-bottom: calc(var(--layout-spacing) / 2);
}

header .profile img {
	max-width: 100%;
	height: auto;
	border-radius: 6px;
	box-shadow: 5px 10px 15px var(--color-shadow);
	animation: fadeIn 0.75s;
}

main {
	background-color: #ffffff;
	position: relative;
	border-top: 1px solid var(--color-border);
	border-bottom: 1px solid var(--color-border);
	box-shadow: 0 5px 15px var(--color-shadow);
}

main #publications {
	padding: var(--layout-spacing) 0;
}

main #publications .content-box > :last-child {
	border-bottom: none;
}

main #publications .publication {
	padding: calc(var(--layout-spacing) / 2) 0;
	border-bottom: 1px solid var(--color-border);
}

main #publications .publication .links a span {
	color: var(--color-accent);
	font-size: var(--fontsize-large);
	padding-right: var(--layout-spacing);
}

main #publications .publication .title {
	color: var(--color-accent);
	font-size: var(--fontsize-base);
	font-weight: 500;
	text-transform: uppercase;
}

main #publications .publication .title .special {
	color: var(--color-font-light);
	text-transform: none;
	margin-left: calc(var(--layout-spacing) / 4);
}

main #publications .publication .authors span {
	display: block;
	padding: calc(var(--layout-spacing) / 4) 0 calc(var(--layout-spacing) / 8) 0;
	color: var(--color-font-light);
	text-transform: uppercase;
	font-size: var(--fontsize-small);
	font-weight: 300;
}

main #publications .publication .venue span {
	display: block;
	padding: calc(var(--layout-spacing) / 4) 0 calc(var(--layout-spacing) / 8) 0;
	color: var(--color-font-light);
	text-transform: uppercase;
	font-size: var(--fontsize-small);
	font-weight: 300;
}

footer {
	padding: calc(2 * var(--layout-spacing)) 0;
	background-image: url("../images/assets/background.png");
	background-repeat: repeat;
	background-attachment: fixed;
}

@keyframes fadeIn {
	from {
		opacity: 0;
		transform: scale(1.1);
	}
	to {
		opacity: 1;
		transform: scale(1);
	}
}

@media screen and (max-width: 975px) {
	header {
		padding: calc(2 * var(--layout-spacing)) 0 calc(1.5 * var(--layout-spacing)) 0;
		background: var(--color-background);
	}

	header .content-box {
		min-height: 0;
	}

	header .grid-box {
		grid-template-columns: 1fr;
	}
}
