/* ========================================== */
/* || ========== GENERAL STYLES ============= */
/* ========================================== */

:root {
	--works-list-bckgrd-color: rgb(254, 250, 224);
	--more-works-list-bckgrd-color: rgb(205, 180, 219);
	--about-bckgrd-color: rgb(204, 213, 174);
	--normally-black:  rgb(23, 24, 29);
	--white-transparent: rgba(255, 255, 255, 0.5);
	--ui-red-color: rgb(220, 38, 38);
	--ui-green-color: rgb(16, 185, 129);

	font-size: 12pt;
}

* {
	margin: 0;
	padding: 0;
	font-family: 'lanord-semilight';
}

body {
	display: flow-root;
	position: relative;
	width: 100%;
	background: var(--works-list-bckgrd-color);
}

h1,
h2,
h3,
h4,
h5,
h6 {
	color: var(--normally-black);
	margin: 0;
}

h1,
h2,
h4 {
	font-size: 1.8rem;
	font-weight: normal;
	margin-bottom: 30px;
}

p {
	font-size: 1rem;
	line-height: 1.66rem;
	color: var(--normally-black);
	text-decoration: none;
	margin-bottom: 30px;
}

p:last-child {
	margin: 0;
}

a {
	font-size: inherit;
	line-height: inherit;
	color: inherit;
	text-decoration: inherit;
	margin-bottom: inherit;
}

a:hover {
	text-decoration: none;
	border-bottom: 1px solid var(--normally-black);
}

code {
	font-family: monospace;
	font-size: 0.66rem;
	color: rgb(140, 140, 140);
}

pre {
	color: var(--normally-black);
	font-family: monospace;
}

hr {
	border: none;
	height: 1px;
	background: var(--normally-black);
}

::selection {
	background: var(--normally-black);
	color: var(--works-list-bckgrd-color);
}

/* ==================================== */
/* || ========== SNIPPETS ============= */
/* ==================================== */

/* ||| ========== MESSAGES ============= */

#slideshow > div h4 {
	margin: 0;
}

.msg:not(.static) {
	animation-name: msg-fade;
	animation-duration: 1s;
	animation-timing-function: ease;
	animation-delay: 3s;
	animation-fill-mode: forwards;
}

@keyframes msg-fade {
	0% {
		opacity: 1;
	}

	100% {
		opacity: 0;
	}
}

.msg.red {
	background: var(--ui-red-color);
}

.msg.green {
	background: var(--ui-green-color);
}

.msg.clear {
	background: var(--works-list-bckgrd-color);
	opacity: 1;
}

.msg.green h4,
.msg.green p {
	color: rgb(254, 250, 224);
}

/* ||| ========== LINKS AS BUTTON ============= */

.link-as-button {
	padding: 10px;
	text-align: center;
	border: 1px solid var(--normally-black);
	color: var(--normally-black);
	font-size: 1.17rem;
}

.link-as-button:hover {
	background: var(--normally-black);
	color: var(--works-list-bckgrd-color);
}

/* ======================================= */
/* || ========== GRIDS & TAB ============= */
/* ======================================= */

/* ||| ========== GRID 6 COLUMNS ============= */

#grid-6-col {
	padding: 80px 20px 20px 20px;
	display: grid;
	grid-template-columns: repeat(6, 1fr);
	grid-row-gap: 15vw;
}

#grid-6-col > * {
	width: 100%;
}

#grid-6-col > .one {
	grid-column-start: 1;
	grid-column-end: 5;
}

#grid-6-col > .two {
	grid-column-start: 2;
	grid-column-end: 6;
}

#grid-6-col > .three {
	grid-column-start: 3;
	grid-column-end: 7;
}
#grid-6-col > .min {
	grid-column-start: 3;
	grid-column-end: 5;
}

/* ||| ========== SWISS TAB ============= */

.swiss-tab {
	display: grid;
	grid-template-rows: min-content;

	border-top: 1px solid var(--normally-black);
}

.swiss-tab:last-child {
	border-bottom: 1px solid var(--normally-black);
}

.swiss-tab.left {
	grid-template-columns: 150px auto;
}

.swiss-tab.right {
	grid-template-columns: auto 150px;
	text-align: right;
}

.swiss-tab.left > div:nth-child(odd) p,
.swiss-tab.right > div:nth-child(even) p {
	text-transform: capitalize;
}

.swiss-tab-row {
	display: grid;
	grid-template-rows: min-content;
}

.swiss-tab-row.simple {
	grid-template-columns: auto;
}

.swiss-tab-row.double {
	grid-template-columns: 100px auto;
}

.swiss-tab-row > .swiss-tab-row:not(:last-child) {
	border-bottom: 1px solid var(--normally-black);
}

.swiss-tab-row p {
	margin: 0;
}

.swiss-tab-row a:hover {
	text-decoration: line-through;
	border: none;
}

/* ===================================== */
/* || ========== HALF PAGE ============= */
/* ===================================== */

.half {
	display: flex;
	justify-content: flex-start;
	align-items: flex-start;
	gap: 0;
}

.half > div {
	width: 50%;
	min-height: 100vh;
	box-sizing: border-box;
}

.half > div:first-child {
	position: fixed;
	background-size: cover;
	background-repeat: no-repeat;
	background-position: center center;
}

.half > div:nth-child(2) {
	position: absolute;
	right: 0;
	height: 100%;
	overflow: scroll;
	padding: 20px;
	transition: background 0.5s linear;
}

/* ||| ========== HOMEPAGE SPECIFIC ============= */

.half > div:nth-child(2) {
	background: var(--works-list-bckgrd-color);
}

.half > div:nth-child(2).about-color
{
	background: var(--about-bckgrd-color);
}

.half > div:nth-child(2).more-color
{
	background: var(--more-works-list-bckgrd-color);
}

/* |||| ===== ABOUT ===== */

#about {
	display: grid;
	grid-row-gap: 50px;
}

#about.closed {
	grid-template-rows: min-content;
	margin-bottom: 50px;
}

#about.open {
	height: 100%;
	grid-template-rows: min-content auto min-content;
	margin-bottom: 0;
}

#about > div:first-child {
	grid-area: short;
}

#about > div:nth-child(2) {
	grid-area: shop;
	justify-self: end;
}

#about > div:nth-child(3) {
	grid-area: long;
}

#about > div:nth-child(4) {
	grid-area: mail;
	align-self: end;
}

#about > div:nth-child(5) {
	grid-area: insta;
	align-self: end;
	justify-self: end;
}

.readmore-trigger {
	text-decoration: underline;
}

.readmore-trigger:hover {
	cursor: pointer;
}

#about > div:nth-child(4) a,
#about > div:nth-child(5) a {
	font-size: 1.8rem;
}

.mail:hover {
	text-decoration: none;
	border-bottom: 1px solid var(--normally-black);
}

.insta:hover {
	background: #f9ed32; /* Old browsers */
	background: -moz-linear-gradient(left, #f9ed32 0%, #ee2a7b 75%, #5900ff 100%); /* FF3.6-15 */
	background: -webkit-linear-gradient(left, #f9ed32 0%,#ee2a7b 75%,#5900ff 100%); /* Chrome10-25,Safari5.1-6 */
	background: linear-gradient(to right, #f9ed32 0%,#ee2a7b 75%,#5900ff 100%); /* W3C, IE10+, FF16+, Chrome26+, Opera12+, Safari7+ */
	filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#f9ed32', endColorstr='#5900ff',GradientType=1 ); /* IE6-9 */
	color: var(--about-bckgrd-color);
	-webkit-background-clip: text;
	-webkit-text-fill-color: transparent;
}

.insta a:hover {
	border-bottom: none;
}

.closed {
	display: none;
}

/* |||| ===== WORKS LIST ===== */

#photo.hidden,
#more.hidden
{
	display: none;
}

#works-menu {
	margin-bottom: 100px;
}

#works-menu > div:first-child {
	display: grid;
	grid-template-columns: repeat(2, 1fr);
	grid-template-rows: min-content;
	grid-template-areas:
		"photo more";
}

#works-menu > div:first-child > h4:nth-child(1) {
	justify-self: start;
}

#works-menu > div:first-child > h4:nth-child(2) {
	justify-self: end;
}

#works-menu > div:first-child > h4 {
	opacity: 1;
	cursor: text;
}

#works-menu > div:first-child > h4.hidden {
	opacity: 0.25;
	cursor: pointer;
}

/* ==================================== */
/* || ========== WORKPAGE ============= */
/* ==================================== */

/* ||| ========== HEADER ============= */

header {
	position: fixed;
	width: 100%;
	padding: 20px;
	box-sizing: border-box;
	z-index: 100;

	background: rgba(255, 255, 255, 0.25);
	backdrop-filter: blur(15px);
	-webkit-backdrop-filter: blur(15px);

	display: flex;
	flex-wrap: wrap;
}

header.info-show,
nav.info-show {
	z-index: 25;
}

header > * {
	flex-grow: 0;
	flex-shrink: 0;
	flex-basis: auto;
}

header > :first-child {
	flex-basis: 50%;
}

header h1,
header h2 {
	margin: 0;
}

header > :last-child {
	display: flex;
	justify-content: space-between;
	gap: 10px;
}

header div:first-child h1 a:nth-child(2){
	font-size: 1rem;
}

/* ======================================= */
/* || ========== ERROR PAGE ============= */
/* ======================================= */

header.error {
	background: none;
}

#error {
	display: grid;
	grid-template-columns: 1fr;
	grid-template-rows: 1fr;
	height: 100%;
}

#error > * {
	justify-self: center;
	align-self: center;
}

/* ========================================= */
/* || ========== MEDIA QUERIES ============= */
/* ========================================= */

/* ||| ========== DARK MODE ============= */

@media (prefers-color-scheme: dark) {
	:root
	{
		--works-list-bckgrd-color: rgb(23, 24, 29) !important;
		--more-works-list-bckgrd-color: rgb(44, 43, 59);
		--about-bckgrd-color: rgb(33, 36, 26);
		--normally-black: rgb(186, 184, 171);
		--white-transparent: rgba(0, 0, 0, 0.5);
		--ui-red-color: rgb(153, 27, 27);
	}

	header {
		background: none;
	}

	.msg.green h4,
	.msg.green p {
		color: rgb(23, 24, 29);
	}
}
