/* pt-sans-regular - latin */
@font-face {
	font-family: 'PT Sans';
	font-style: normal;
	font-weight: 400;
	src: url('/assets/fonts/PTSans/pt-sans-v17-latin-regular.eot'); /* IE9 Compat Modes */
	src: local(''),
		 url('/assets/fonts/PTSans/pt-sans-v17-latin-regular.eot?#iefix') format('embedded-opentype'), /* IE6-IE8 */
		 url('/assets/fonts/PTSans/pt-sans-v17-latin-regular.woff2') format('woff2'), /* Super Modern Browsers */
		 url('/assets/fonts/PTSans/pt-sans-v17-latin-regular.woff') format('woff'), /* Modern Browsers */
		 url('/assets/fonts/PTSans/pt-sans-v17-latin-regular.ttf') format('truetype'), /* Safari, Android, iOS */
		 url('/assets/fonts/PTSans/pt-sans-v17-latin-regular.svg#PTSans') format('svg'); /* Legacy iOS */
  }
  
  /* pt-sans-italic - latin */
  @font-face {
	font-family: 'PT Sans';
	font-style: italic;
	font-weight: 400;
	src: url('/assets/fonts/PTSans/pt-sans-v17-latin-italic.eot'); /* IE9 Compat Modes */
	src: local(''),
		 url('/assets/fonts/PTSans/pt-sans-v17-latin-italic.eot?#iefix') format('embedded-opentype'), /* IE6-IE8 */
		 url('/assets/fonts/PTSans/pt-sans-v17-latin-italic.woff2') format('woff2'), /* Super Modern Browsers */
		 url('/assets/fonts/PTSans/pt-sans-v17-latin-italic.woff') format('woff'), /* Modern Browsers */
		 url('/assets/fonts/PTSans/pt-sans-v17-latin-italic.ttf') format('truetype'), /* Safari, Android, iOS */
		 url('/assets/fonts/PTSans/pt-sans-v17-latin-italic.svg#PTSans') format('svg'); /* Legacy iOS */
  }
  
  /* pt-sans-700 - latin */
  @font-face {
	font-family: 'PT Sans';
	font-style: normal;
	font-weight: 700;
	src: url('/assets/fonts/PTSans/pt-sans-v17-latin-700.eot'); /* IE9 Compat Modes */
	src: local(''),
		 url('/assets/fonts/PTSans/pt-sans-v17-latin-700.eot?#iefix') format('embedded-opentype'), /* IE6-IE8 */
		 url('/assets/fonts/PTSans/pt-sans-v17-latin-700.woff2') format('woff2'), /* Super Modern Browsers */
		 url('/assets/fonts/PTSans/pt-sans-v17-latin-700.woff') format('woff'), /* Modern Browsers */
		 url('/assets/fonts/PTSans/pt-sans-v17-latin-700.ttf') format('truetype'), /* Safari, Android, iOS */
		 url('/assets/fonts/PTSans/pt-sans-v17-latin-700.svg#PTSans') format('svg'); /* Legacy iOS */
  }

:root {
	/** THEME 1 (bi lighting) **/
	/* --dark-bg: #14142aff;
	--dark-text: #693668ff;
	--dark-link: #a74482ff;
	--dark-accent: #f84aa7ff;
	--dark-text: #ff3562ff; */

	/** THEME 2 (deep blue) **/
	/** link: https://coolors.co/011627-af0872-7272ab-7899d4-7c9885 **/
	--dark-bg: #011627;
	--dark-text: #ccc;
	--dark-accent: #af0872;
	--dark-link: #7899d4;
	--accent-dark-bg: #515189;
	--accent-dark-bg-dim: #3d3d69;
}

body, html {
	margin: 0;
	padding: 0;
}

html {
	font-size: 1.25em;
}

body {
	background: var(--dark-bg);
	font-family: "PT Sans";
	color: var(--dark-text);
	padding: 1em;
}

main, footer {
	max-width: 1024px;
	margin: 0 auto;
	padding: 1rem 3rem;
}

footer {
	padding-top: 0;
}

@media screen and (max-width: 900px) {
	main {
		padding: 1rem 0.5rem;
	}
}

main ul {
	list-style: none;
	padding: 0;
}

main li {
	margin-bottom: 1rem;
}

main ul li:before {
	content: "✨";
	display: inline-block;
}

main span.links {
	font-size: 0.75rem;
}

a {
	text-decoration: none;
	color: var(--dark-link);
	border-bottom: dotted 1px;
}

a:visited {
	color: var(--dark-link);
}

a:hover {
	border-bottom: solid 1px;
}

main strong {
	color: var(--dark-accent);
	border-bottom: none;
	font-weight: bold;
}

.link-title {
	font-weight: bold;
}

a > svg {
	max-height: 10px;
}

p.desc {
	margin: 0.2rem 0;
	font-size: 0.8rem;
}

p.desc .tags {
	margin: 0.2rem 0;
	display: inline-block;
}

p.desc .tags .tag {
	margin: 0 0.2rem;
	padding: 0.1rem 0.4rem;
	color: var(--dark-text);
	background-color: var(--dark-accent);
	border-radius: 1rem;
	min-width: calc(0.7rem * 2);
	display: inline-block;
	font-size: 0.7rem;
	text-align: center;
	text-shadow: 1px 1px 2px var(--dark-bg);
}

hr {
	width: 75%;
	margin: 2rem auto;
	height: 3px;
	background-color: var(--dark-accent);
	border: 0 none;
}

small {
	font-size: 0.75rem;
}

.blog-content {
	display: grid;
	grid-template-columns: 70% auto;
}

.blog-content h1 {
	margin-bottom: 0.5rem;
}

.blog-content p.subtitle {
	font-size: 0.8rem;
	margin-bottom: 1.5rem;
	margin-top: 0.5rem;
}

h1:after, h2:after, h3:after {
	content: "";
	display: block;
	width: 33%;
	height: 2px;
	background-color: var(--dark-accent);
}

h2:after {
	width: 25%;
	background-color: var(--accent-dark-bg);
}

h3:after {
	width: 25%;
	height: 1px;
	background-color: #ffd700;
}

.blog-content article h1 {
	font-size: 2rem;
}

.blog-content article ol li, .block-content article ul li {
	margin-bottom: 0.2rem;
}

.blog-content article pre {
	tab-size: 4;
}

pre.block, .blog-content article code:not(.hljs) {
	/** These values taken from the current hljs theme */
	/** Will probably want to update them if the hljs theme changes */
	background: #2b2b2b;
	color: #f8f8f2;
	padding: 0 5px;
}

pre.block {
	padding: 0.75rem;
}

.blog-content article pre > code:not(.hljs) {
	display: block;
	padding: 0.5rem;
}

.blog-content article table {
	margin: 1.5rem auto;
	background: var(--accent-dark-bg);
	color: var(--dark-text);
	border-collapse: collapse;
}

.blog-content article table td, .blog-content article table th {
	padding: 0.3rem 0.6rem;
}

.blog-content article table th {
	border-bottom: solid 2px currentColor;
}

.blog-content article table tr:nth-child(even) {
	background-color: var(--accent-dark-bg-dim);
}

.blog-content article p.img {
	margin-bottom: 0;
	text-align: center;
}

.blog-content article p.caption {
	text-align: center;
	font-style: italic;
	font-size: 0.75rem;
	margin-top: 0;
}

nav.toc {
	position:sticky;
	top: 1em;
	font-size: 0.75rem;
}

@media screen and (max-width: 900px) {
	.blog-content {
		grid-template-columns: 100%;
	}
	nav.toc {
		display: none;
	}
}

nav.toc ol {
	list-style: none;
}

nav.toc ol ol {
	margin-top: 1em;
	padding-left: 2em;
}

nav.toc ol li:before {
	content: "✨";
	display: inline-block;
}

.header-nav {
	background-color: var(--accent-dark-bg-dim);
	margin: 0.2rem 0 0.5rem;
	padding: 0.2rem 0;
	text-align: center;
}

.header-nav a {
	display: inline-block;
	margin: 0 0.5rem;
	padding: 0;
	font-size: 0.8rem;
}

.warning {
	background-color: var(--dark-accent);
	padding: 1rem;
	color: var(--dark-bg);
}

ul.posts li.draft {
	background-color: var(--dark-accent);
}

ul.posts li.draft a {
	color: var(--dark-bg);
}

blockquote {
	border-left: solid 3px var(--dark-accent);
	margin: 0;
	padding: 0.5rem 1.5rem;
	background: var(--accent-dark-bg);
	font-size: 0.8rem;
}

blockquote p {
	padding: 0;
	margin: 0;
}