@import url('https://fonts.googleapis.com/css2?family=Crimson+Text:ital,wght@0,400;0,600;0,700;1,400&display=swap');
@import url('https://fonts.googleapis.com/css2?family=La+Belle+Aurore&display=swap');
@import url('https://fonts.googleapis.com/css2?family=Lato:wght@400;700&display=swap');
@import url('https://fonts.googleapis.com/css2?family=Material+Symbols+Rounded:opsz,wght,FILL,GRAD@20,400,0,0&icon_names=alternate_email,arrow_left,arrow_right,emoticon');

:root {
	/* color */
	--color-almond: #EED9C4;
	--color-mango: #FDBE02;
	--color-vermilion: #CC2A1F;
	--color-crimson: #871108;
	--color-midnight: #2b2b38;
	--color-daisy: #FED049;

	--tab-hover-color: #e6cfb8;

	--background-color: var(--color-almond);

	/* space */
	--space-base: 8px;

	/* type */
	--font-family-default: 'Crimson Text';
	--font-family-special: 'La Belle Aurore';
	--font-family-caption: 'Lato';
	--fs-base: 16px;

	/* body */
	--body-fs: 1.125rem;
	--body-lh: 1.3;
	--text-color: var(--color-midnight);

	/* nav */
	--item-fs: 1rem;
	--item-lh: 1;
	--item-fw: 600;
	--item-opc: 100%;

	--border-color: var(--color-vermilion);

	--flower-color: var(--color-vermilion);
	--flower-display: none;

	/* tab */


	/* footer */
	--footer-opacity: 24%;
}

@media (prefers-color-scheme: dark) {
	:root {
		--background-color: var(--color-crimson);
		--text-color: var(--color-almond);
		--border-color: var(--color-daisy);
		--flower-color: var(--color-daisy);
		--tab-hover-color: #991408;
	}
}


/* Global Stuff */

* {
	margin: 0;
	padding: 0;
	scrollbar-gutter: stable;
	color-scheme: light dark;

	font-family: var(--font-family-default);
	font-size: var(--fs-base);
	line-height: 1.2;
	text-decoration: none;
}

body {
	background-color: var(--background-color);
	min-height: 100dvh;
	display: grid;
	grid-template-columns: repeat(5, 1fr);
	/* grid-template-rows: 2fr 2fr 1fr; */
	gap: calc(var(--space-base) * 6);
	box-sizing: border-box;
	padding: calc(var(--space-base) * 6);
}


/* nav */

nav {
	grid-column: 5;
	grid-row: 1;

	display: flex;
	flex-flow: column nowrap;
	align-items: stretch;
	gap: var(--space-base);
}

nav div {
	padding: calc(var(--space-base) / 2) 0;
	
}

nav div a {
	color: var(--text-color);
	font-size: var(--item-fs);
	line-height: var(--item-lh);
	font-weight: var(--item-fw);
	opacity: var(--item-opc);

	border-bottom: solid var(--border-color) 3.6px;
	border-radius: 2px;
}

nav i {
	font-style: normal;
	color: var(--flower-color);
	display: var(--flower-display);
}

nav div a:hover {
	--item-opc: 93%;
}

nav div a:hover + i {
	--flower-display: inline;
}

/* body */

main {
	grid-column: 2 / span 2;
	
	display: flex;
	flex-flow: column nowrap;
}

.bottom_aligned {
	grid-row: 2;
	align-self: self-end;
}

.normal {
	grid-row: 1 / span 2;
}

section {
	padding-bottom: calc(var(--space-base) * 3);
}

main p {
	font-size: var(--body-fs);
	line-height: var(--body-lh);
	color: var(--text-color);
	margin-bottom: var(--space-base);
}


/* tab */

.tab-container {
	display: flex;
	margin-bottom: calc(var(--space-base) * 3);
	border-bottom: solid 1px var(--tab-hover-color);
}

.tab {
	padding: 8px 0 4px 0;
	border-radius: 4px 4px 0 0;
	opacity: calc(var(--footer-opacity) * 3);
}

.tab a {
	padding: 8px 16px;
	color: var(--text-color);
	font-size: var(--item-fs);
	font-weight: var(--item-fw);
}

.tab:hover {
	background-color: var(--tab-hover-color);
	opacity: 100%;
}

.active {
	opacity: 100%;
	border-bottom: solid 3px var(--border-color);
}


/* gallery & slide */

.gallery {
	margin: calc(var(--space-base) * 2) 0;
}

img {
	width: 100%;
	border: 2px solid var(--background-color);
	border-radius: 6px;
}

.slide-container img {
	display: none;
}

.slide-nav {
	display: flex;
	justify-content: flex-end;
	gap: var(--space-base);
}

.slide-indicator {
	display: flex;
	align-items: center;
	gap: var(--space-base);
}

.dot {
	font-family: var(--font-family-caption);
	font-weight: 900;
	font-size: .675rem;
	padding: 2px;
}

.slide-nav span, .dot {
	opacity: var(--footer-opacity);
	color: var(--span-color);
}

.slide-nav span:hover, .dot:hover, .dot-active {
	--footer-opacity: 100% !important;
	cursor: pointer;
}

.caption {
	padding-bottom: var(--space-base);
}

.caption p, .caption span {
	font-family: var(--font-family-caption);
	margin: 0;
	color: var(--subtext-color);
}

.caption p:nth-child(1), .caption span {
	font-size: .625rem;
	font-weight: 700;
	text-transform: uppercase;
}

.caption p:nth-child(2) {
	font-size: .875rem;
	font-weight: 400;
	text-transform: lowercase;
}

.strikethrough {
	text-decoration: line-through;
}

/* footer */

footer {
	grid-column: 2 / 6;
	grid-row: 3;
	align-self: self-end;

	display: flex;
	flex-flow: row nowrap;
	justify-content: space-between;
}

footer p, footer a {
	color: var(--text-color);
	opacity: var(--footer-opacity);
}

footer p {
	font-family: var(--font-family-caption);
	font-size: .75rem;
	font-weight: 400;
	text-transform: uppercase;
	align-self: self-end;
}

footer a:hover {
	--footer-opacity: 100%;
}

footer div {
	height: 24px;
	padding: 4px;
}


@media only screen and (max-width: 1023px) {
	footer {
		grid-column: 1 / span 5;
	}

	main {
		grid-column: 1 / span 3;
	}
}

@media only screen and (max-width: 767px) {
	nav {
		grid-column: 1 / span 5;
	}

	.normal, .bottom_aligned{
		grid-column: 1 / span 5;
		grid-row: 2;
	}
}

@media only screen and (max-width: 479px) {
	body {
		padding: calc(var(--space-base) * 3);
	}
}