@charset "utf-8";

.header {
	width: 100%;
	color: #FFFFFF;
	font-family: "Libre Franklin","Helvetica Neue",helvetica,arial,sans-serif;
	font-style: normal;
	font-size: 3rem;
	height: 4rem;
	background-color: #d85600;
	box-shadow: 0 10px 20px rgba(0,0,0,0.19), 0 6px 6px rgba(0,0,0,0.23);
	position: fixed;
	display: flex;
}

.headerText {
	margin: 0;
	margin-left: auto;
	margin-right: auto;
	width: auto;
	height: 100%;
	display: flex;
	justify-content: center;
  	align-content: center;
  	flex-direction: column;
}

.backLink {
	position: absolute;
	text-align: left;
	margin-left: 0.5rem;
	height: 100%;
	transition: all 0.3s cubic-bezier(.25,.8,.25,1);
	transition-property: margin-left;
	display: flex;
	justify-content: center;
  	align-items: center;
}

.backLink a {
	color: #FFFFFF;
	text-decoration: none;
}

#backArrow {
	display: inline;
	line-height: 100%;
}

#backText {
	opacity: 1;
	overflow: hidden;
	display: inline;
	transition-timing-function: cubic-bezier(0.4, 0.0, 0.2, 1);;
	transition-duration: 150ms;
	transition-property: max-height, opacity;
	transition-delay: 0s, 150ms;
}

.themeButton {
	position: absolute;
	right: 0;
	font-size: 100%;
	font-family: "Libre Franklin","Helvetica Neue",helvetica,arial,sans-serif;
	height: 100%;
	line-height: 100%;
	padding: 0;
	padding-right: 0.5rem;
	padding-left: 0.5rem;
	color: white;
	background-color: transparent;
	cursor: pointer;
	border: none;
}

.themeButton:hover {
	background-color: orchid;
}

.themeButton:active {
	background-color: orchid;
}

@media (max-aspect-ratio: 1/1) {
	.backLink {
		margin-left: 0.2em;
	}

	#backText {
		opacity: 0;
		max-height: 0;
		transition-delay: 150ms, 0s;
	}
}

body {
	margin: 0;
	padding-bottom: 5em;
	display: flex;
	--bg-colour: #CFCFCF;
	--body-colour: white;
	--text-colour: #333;
	--code-colour: #11111111;
	--a-colour: hsl(17, 500%, 40%);
	--wip-colour: hsl(303, 100%, 20%);
	--wip-bg-colour: hsla(300, 100%, 50%, 0.336);
}

body.dark {
	--bg-colour: #000000;
	--body-colour: #333;
	--text-colour: #cccccc;
	--code-colour: #444;
	--a-colour: hsl(0, 100%, 71%);
	--wip-colour: #ff6ff8;
	--wip-bg-colour: #59005c9c;
}

.body {
	text-align: justify;
	vertical-align: top;
	color: #333;
	font-family: "Libre Franklin","Helvetica Neue",helvetica,arial,sans-serif;
	font-style: normal;
	font-variant: normal;
	box-shadow: 0 10px 20px rgba(0,0,0,0.19), 0 6px 6px rgba(0,0,0,0.23);
	min-width: 60vw;
	width: 60vw;
	margin-left: auto;
	margin-right: auto;
	transition: width 175ms cubic-bezier(0.4, 0.0, 0.2, 1);
}

@media (prefers-color-scheme: dark) {
	body {
	--bg-colour: #000000;
	--body-colour: #333;
	--text-colour: #CCC;
	--code-colour: #444;
	--a-colour: hsl(0, 100%, 71%);
	--wip-colour: #ff6ff8;
	--wip-bg-colour: #59005c9c;
	}

	body.light {
		--bg-colour: #CFCFCF;
	  --body-colour: white;
	  --text-colour: #333;
	  --code-colour: #11111111;
	  --a-colour: hsl(17, 500%, 40%);
	  --wip-colour: hsl(303, 100%, 20%);
	  --wip-bg-colour: hsla(300, 100%, 50%, 0.336);
	}
}

body {
	background-color: var(--bg-colour);
}

.body {
	background-color: var(--body-colour);
	color: var(--text-colour);
}

a {
	color: var(--a-colour);
}

code {
	background-color: var(--code-colour);
}

pre code {
	background-color: transparent;
}

pre code.hljs {
	background-color: var(--code-colour);
}

.wip {
	color: var(--wip-colour);
	background-color: var(--wip-bg-colour);
}

.body-padding {
	padding-top: 5em;
	padding-left: 2em;
	padding-right: 2em;
}

.spaced-list {
	line-height: 2em;
}

.image {
	position: relative;
	width: 40%;
	transition: all 0.3s cubic-bezier(.25,.8,.25,1);
}

@media (max-aspect-ratio: 1/1) {
	.body {
		width: 100%;
	}

	.image {
		width: 80%;
	}
}

.image:hover {
	-webkit-box-shadow: 0 14px 28px rgba(0,0,0,0.25), 0 10px 10px rgba(0,0,0,0.22);
	box-shadow: 0 14px 28px rgba(0,0,0,0.25), 0 10px 10px rgba(0,0,0,0.22);
	width: 100%;
}


/* Old stuff, maybe deprecated */
.galleryContent {
	display: flex;
	flex-direction: row;
	flex-wrap: wrap;
	padding-top: 6rem;
	padding-left: 2em;
	padding-right: 2em;
}

.galleryContent ul {
	padding: 0;
	margin: 0;
    list-style-type: none;
	width: 100%;
}

.galleryContent ul li {
	max-height: 35vh;
	transition: all 0.6s cubic-bezier(.25,.8,.25,1);
}

.galleryContent ul li:hover {
	max-height: calc(100vh - 6rem);
}

.galleryContent ul li:not(:last-child) {
    margin-bottom: 2em;
}

.galleryContent ul li:last-child {
	margin-bottom: 3.5em;
}

.galleryImage {
	max-height: 35vh;
	min-width: 0%;
	width: 100%;
	object-fit: cover;
	vertical-align: bottom;
	transition: all 0.6s cubic-bezier(.25,.8,.25,1);
}

.galleryImage:hover {
	-webkit-box-shadow: 0 14px 28px rgba(0,0,0,0.25), 0 10px 10px rgba(0,0,0,0.22);
	box-shadow: 0 14px 28px rgba(0,0,0,0.25), 0 10px 10px rgba(0,0,0,0.22);
	max-height: calc(100vh - 8rem);
}
