:root {
    --color-bg: #efefef;
    --color-text: #333;
    --color-link: blue;
    --color-link-visited: purple;
    --color-link-hover: darkblue;
    --color-header: #007bc5;

    --content-width: 800px;

    --font-family-base: lato, arial, sans-serif;
    --font-family-logo: monaco, courier, monospace;

    --font-size-base: 1.2rem;
    --line-height-base: 1.3;

    --image-max-width: 600px;
    --image-max-height: 600px;
    
}

html {
    background: #efefef;
    margin: 0;
    padding: 0;
}

body {
    padding: 0 20px;
    color: var(--color-text);
    line-height: var(--line-height-base);
    font-size: var(--font-size-base);
    font-family: var(--font-family-base);
}

h1, h2, h3, h4, h5, h6 {
    font-family: var(--font-family-base);
    margin: 0;
    padding: 0;
}

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

a:hover {
    color: var(--color-link-hover);
    text-decoration: none;
}

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

/* page header */
.page-header {
    margin: 0 auto;
    max-width: var(--content-width);
}

.page-header .logo {
    display: inline-block;
    font-size: 3rem;
    font-family: var(--font-family-logo);
}

.page-header .logo a {
    color: #8f72cd;
    text-decoration: none;
}

nav.main-nav {
    display: inline-block;
}

nav.main-nav ul {
    display: inline-block;
    margin: 0;
    padding: 0;

    list-style: none;
    list-style-position: outside;
}

nav.main-nav ul li {
    display: inline-block;
    margin-left: 20px;
}

.byline {
    font-family: var(--font-family-base);
    font-weight: 400;
    font-size: .85rem;
    color: #8f8f8f;
}

/* Shorts specific styles  */
.shorts-list {
    margin: 0 auto;
    max-width: var(--content-width);
}

.shorts-list h1 {
    font-weight: 400;
    font-size: 2rem;
    text-transform: capitalize;
    margin-top: 30px;
    color: var(--color-header);
}

.short {
    padding: 20px 0;
    border-bottom: 1px solid #ccc;
}

.short .short-header {
    margin-bottom: 10px;
}

.short .short-header h2 {
    font-weight: 400;
    font-size: 1.6rem;
}

.short .short-header h2 a {
    color: var(--color-text);
    text-decoration: none;
}

.short .short-header h2 a:hover {
    color: var(--color-link-hover);
    text-decoration: underline;
}

.short-footer {
    margin-top: 10px;
}

.short-footer .more {
    font-size: 1rem;
}


/* article specific styles */
.article-body {
    margin: 0 auto;
    max-width: var(--content-width);
}

.article-body figure {
    display: block;
    text-align: center;
}

.article-body figure img {
    max-width: var(--image-max-width);
    max-height: var(--image-max-height);
}

.article-body figcaption {
    font-size: 1.1rem;
}

.article-body h1 {
    font-weight: 400;
    font-size: 1.6rem;
    color: var(--color-header);
}

.article-article {
    padding: 20px 0;
}

/* hero image */ 
.hero-image-wrap {
    text-align: center;
}

.hero-image-wrap img {
    max-width: var(--image-max-width);
    max-height: var(--image-max-height);
}

.hero-image-wrap figcaption {
    font-size: 1.1rem;
}

/* Tags */
ul.tags {
    display: flex;
    flex-direction: row;
    margin: 20px 0 0 0;
    padding: 0;

    list-style: none;
    list-style-position: outside;
}

ul.tags li {
    display: flexbox;
    margin-right: 2px;
    
    font-size: .85rem;
    font-family: var(--font-family-base);
}

ul.tags li a {
    display: block;
    padding: 3px 10px; 
    
    background: #fbfbfb;
    border: 1px solid #ddd;
    border-radius: 4px;

    color: var(--color-text);
    text-decoration: none;
}

ul.tags li a:hover {
    background: #fff;
    border: 1px solid var(--color-link-hover);

    color: var(--color-link-hover);
}

.links-title {
    font-size: .9em;
    font-weight: bold;
}

ul.links {
    list-style: disc;
    list-style-position: outside; 
    font-size: .9em;
    margin: 0;
}

.links li .source {
    font-size: .8em;
    padding-left: 10px;
    font-style: italic;
}