/*
 *
 * Variables
 *
 */

:root {
	--bg-light: #F4F8FB;
	--bg-dark: #DFE3E6;
	--accent: #533A7B;
	--accent-orange: #FFE291;
	--accent-dark: #25171A;
	--rss-color: #ee802f;
}

/*
 *
 * Resets
 *
 */

*, *::before, *::after {
	box-sizing: border-box;
}

* {
	margin: 0;
	padding: 0;
}

/*
 *
 * Basic element styles
 *
 */

h2, h3 {
	padding: 0.5rem 0;
}

p ~ p {
	margin: 1rem 0;
}

a {
	text-decoration: none;
	color: inherit;
}

a:hover, a:focus,
a:hover, a:focus {
	text-decoration: underline;
}

nav:not(.posts) a:hover {
	text-decoration: none;
}

.e-content a {
	text-decoration: underline;
}

.e-content a:hover,
.e-content a:focus {
	text-decoration: none;
	color: purple;
}

.article-title a {
	text-decoration: none;
}

.article-title a:hover,
.article-title a:focus {
	text-decoration: underline;
	color: inherit;
}

blockquote, pre {
	overflow-x: scroll;
	margin: 1rem 0;
	padding: 0.5rem;
}

blockquote, pre, code {
	background-color: var(--bg-dark);
}

p code {
	padding: 0 0.5rem;
}

blockquote {
	font-style: italic;
}
hr {
	margin: 0.5rem 0;
}

.e-content ul, ol {
	padding: 0 1rem;
}

/*
 *
 * Main CSS
 *
 */

body {
	font-size: 1.1em;
	font-family: arial;
	padding: 1rem 2rem;
	color: #111;
	background-color: var(--bg-light);
}

/*
 *
 * Header CSS
 *
 */

header {
	display: flex;
	justify-content: space-between;
	align-items: center;
	gap: 1rem;

	border-bottom: 4px solid var(--accent-dark);
	width: max-content;

	padding-top: 1rem;
	margin-bottom: 1rem;
}

#banner {
	position: fixed;
	top: 0;
	left: 0;
	z-index: 999;

	width: 100vw;
	text-align: center;

	background-color: var(--accent-dark);
	color: var(--bg-light);
}

/*
 *
 * Main container
 *
 */

.content {
	display: flex;
	justify-content: space-between;
	gap: 1.2rem;
}

#bookcover {
    max-width: 50%;
    max-height: 50%;
}

/*
 *
 * Left sidebar
 *
 */

.left-sidebar {
	min-width: max-content;
	flex-grow: 1;
}

.nav-list {
	list-style-type: none;
}

.nav-list a {
	display: block;
	width: 100%;
	padding: 0.75rem 0.5rem 0.75rem 1rem;
	border-right: 5px solid transparent;
	transition: background-color 100ms linear,
				border-right 100ms 100ms linear;	
}

.nav-list a:hover,
.nav-list a:focus {
	border-right: 5px solid var(--accent);
	background-color: var(--accent-orange);
}

/*
 *
 * Main content on page
 *
 */

.middle {
	display: flex;
	flex-direction: column;
	align-self: flex-start;
	max-width: 65%;                                  
    flex-basis: 65%;                                 
    flex-shrink: 0;
}

.e-content {
	font-size: 1.2rem;
	max-width: 100%;
}

.instagram-article {
	background: linear-gradient(45deg, red, orange, yellow, green, blue, violet);
	padding: 2rem;
	border-radius: 2rem;
	color: white;
	text-align: center;
	font-weight: bold;

	margin: 0 auto;
	max-width: 65ch;
}

.instagram-article > p {
	background-color: black;
	padding: 0.25rem;
	border-radius: 0.75rem;
}

.article-header {
	padding-bottom: 1rem;
}

.article-title {
	max-width: max-content;
	margin-bottom: 0.5rem;
	border-bottom: 4px solid var(--accent-dark);
}

.rss {
	display: inline-block;
	background: linear-gradient(
      -45deg, 
      var(--rss-color), var(--rss-color) 80%, 
      var(--bg-light) 80%, var(--bg-light) 85%, 
      var(--rss-color) 85%, var(--rss-color) 90%, 
      var(--bg-light) 90%, var(--bg-light) 95%, 
      var(--rss-color) 95%, var(--rss-color) 100%
    );
	border: 1px solid black;
	border-radius: 0.5em;
	color: var(--accent-dark);
	padding: 0.5rem;

	transition: background-color 150ms linear,
				color 150ms linear;
}

.rss:hover,
.rss:focus {
	background: linear-gradient(
      -45deg, 
      black, black 80%, 
      var(--rss-color) 80%, var(--rss-color) 85%, 
      black 85%, black 90%, 
      var(--rss-color) 90%, var(--rss-color) 95%, 
      black 95%, black 100%
    );
	color: var(--bg-light);
}

.main-card {
	display: flex;
	flex-direction: column;
	align-items: center;
	margin-bottom: 1rem;
}

.u-photo {
	max-width: 15%;
	max-height: 15%;
	object-fit: contain;

	border: 4px solid var(--accent-dark); 
}

#tree {
      display: block;
                  
      max-width: 40%;
      max-height: 40%;
  
      margin: 0 auto;
  }

.posts li + li {
	margin: 1rem 0;
}

.blogroll {
	list-style-type: none;

	display: grid;
	grid-template-columns: repeat(2, 1fr);
	grid-gap: 1rem;
}

.blogroll a {
	text-decoration: underline;
}

.blogroll li > a {
	font-size: 1.2em;
}

.about p ~ p {
	margin: 0.5rem 0;
}

.about section {
	margin-bottom: 1rem;	
}

.about textarea {
	min-width: 60%;
	max-width: 80%;
	height: 4rem;
}

.p-dietary-preference {
	color: darkgreen;
}

/*
 *
 * Right sidebar
 *
 */

.right-sidebar {
	display: flex;
	flex-flow: column wrap;
	flex-grow: 1;
	gap: 1rem;

	padding: 1rem 0;
	text-align: center;
}

.indie-webring {
	font-size: 1rem;
}

.contact-info {
	list-style-type: none;
}

.contact-info li {
	border: 2px solid var(--accent-dark);
	margin: 0.5rem 0;
}

.contact-info li a {
	display: block;
	padding: 0.75rem 1rem;

	transition: background-color 100ms linear;
}

.contact-info li a:hover,
.contact-info li a:focus {
	background-color: var(--accent-orange);
}

/*
 *
 * Mobile screen CSS
 *
 */

@media screen and (max-width: 850px) {

	header {
		width: 100%;
	}

	.content {
		flex-flow: column wrap;
	}

	.middle {
		order: 1;
		max-width: 100%;
	}

	.left-sidebar {
		order: 2;
	}

	.right-sidebar {
		order: 3;
	}
}

@media screen and (max-width: 500px) {
    .poem {
        font-size: 3.5vw;
    }
}
