/******************************************************************************
START default styles

The styles in this section do some minimal CSS resets, set default fonts and
colors, and handle the layout for our footer.
******************************************************************************/
/* Our default values set as CSS variables */
:root {
	--color-bg: #D7F5EF;
	--color-text-main: #000000;
	--color-primary: #AFECE0;
	--wrapper-height: 85vh;
	--image-max-width: 320px;
	--font-family: "HK Grotesk", sans-serif;
	--font-family-header: "HK Grotesk", sans-serif;
}

/* Basic page style resets */
* {
	box-sizing: border-box;
}

[hidden] {
	display: none !important;
}

/* Navigation grid */
.footer {
	display: flex;
	justify-content: space-between;
	margin: 1rem auto 0;
	padding: 1rem 0 0.75rem 0;
	width: 100%;
	flex-wrap: wrap;
	border-top: 4px solid #fff;
}

.footer a:not(.btn--remix):link,
a:not(.btn--remix):visited {
	font-family: HK Grotesk;
	font-style: normal;
	font-weight: normal;
	font-size: 1.1rem;
	color: #000;
	text-decoration: none;
	border-style: none;
}

.footer a:hover {
	background: var(--color-primary);
}

.footer .links {
	padding: 0.5rem 1rem 1.5rem;
	white-space: nowrap;
}

.divider {
	padding: 0 1rem;
}

/******************************************************************************
END default styles
******************************************************************************/

/* Page structure */
body {
	font-family: var(--font-family);
	background-color: var(--color-bg);
	margin: 15px;
}

.wrapper {
	min-height: var(--wrapper-height);
	place-items: center;
	margin: 3rem 2rem 0;
}

.content {
	display: flex;
	flex-direction: column;
	max-width: 900px;
	margin: 0 auto;
}

/* Typography */
p {
	margin: 0 0 1rem 0;
	line-height: 1.5 !important;
	font-size: 1rem;
}

h1, h2, h3, h4, h5 {
	margin: 1rem 0 .8rem;
	font-family: var(--font-family-header);
	font-weight: 600;
	line-height: 1.1;
	color: var(--color-text-main);
}

h1 {
	font-size: 3rem;
	line-height: 1.1;
}

h2 {
	font-size: 2.5rem;
}

h3 {
	font-size: 2rem;
}

h4 {
	font-size: 1.5rem;
}

h5 {
	font-size: 1.25rem;
}

small,
.text_small {
	font-size: 0.8rem;
}

ul > li,
ol > li {
	margin-bottom: 0.75rem;
	line-height: 1.5;
	font-size: 1rem;
}

ul {
	padding: 0 0 0 18px;
	margin: 0;
}

ul.no-bullet {
	list-style-type: none;
}

/* Link styles */
a:not(.btn--remix):link,
a:not(.btn--remix):visited {
	text-decoration: none;
	border-bottom: 6px solid var(--color-primary);
	color: var(--foreground);
	transition: background 0.2s linear;
}

a:hover {
	background: var(--color-primary);
}

@media (min-width: 700px) {
	#single-layout {
		display: none;
	}
	#split-layout {
		width: 100%;
		display: grid;
		grid-template-columns: 1fr 2fr;
		gap: 20px;
	}

	#split-layout__index {
		grid-column: 1;
		grid-row: 1;
		border-right: 1px solid #999;
	}
	#split-layout__content {
		grid-column: 2;
		grid-row: 1;
	}
}
@media (max-width: 700px) {
	#split-layout {
		display: none;
	}
	h1 {
		font-size: 24px;
	}
}

footer {
	margin-top: 30px;
	padding: 5px;
	border-top: 1px solid #999;
	font-size: small;
}

pre code {
  display: block;
  background: #2d2d2d;
  color: #cccccc;
  font-family: 'JetBrains Mono', Monaco, Consolas, monospace;
  line-height: 1.5;
  border: 1px solid #ccc;
  padding: 10px;
}

.code-block {
	line-height: 2em;
}
