:root{
    --navBar: #28332a;
    --backgroundCode: #343e35;
    --backgroundKbd: #585858;
    --background: #212a24;
    --navBarGlow: #ffcb9a;
    --navButtonHover: #ffcb9a;
    --navButtonHoverGlow: #ffcb9a;
    --tableRowHover: #384239;
    --tableBorder: #8A978C;
    --textLight: #eeeae4;
    --textDark: #121212;
    --textMuted: #96a298;
    --borderDark: #212a24;
    --borderKbd: #3c3c3c;
    --shadow: #212a24;
    --shadowKbd: #3c3c3c;
    --linkLight: #ffcb9a;
    --selectionHighlight: #6E4B43;
    --hamburgerLineSpacing: 0.4375em;
}

body{
    margin: 0;
    padding: 0;
    font-family: 'Source Sans Pro', 'Segoe UI', Tahoma, Geneva, Verdana, sans-serif;
    background-color: var(--background);
}

::selection{
    background: var(--selectionHighlight);
}

.page-metadata{
    text-align: center;
    font-size: smaller;
    color: var(--textMuted);
}

.avoid-canned-ham{
    padding-top: 0.6em;
    padding-bottom: 0.1em;
    box-shadow: 0em 0em 0.625em var(--navBarGlow);
    text-align: center;
    border-radius: 0.5em;
    overflow: hidden;
}

.avoid-canned-ham img{
    height: 1.35em;
}

h1{
    text-align: center;
}

h2{
    font-size: 1.5em;
    padding-top: 1.1em;
    margin-bottom: 0.2em;
}

h3{
    font-size: 1.3em;
    padding-top: 1.3em;
    margin-bottom: 0.2em;
}

h4{
    font-size: 1.1em;
    padding-top: 1.1em;
    margin-bottom: 0.2em;
}

h1,h2,h3,h4,h5,h6{
    font-family: "Palatino", "Palatino Linotype", "Palatino LT STD", "Book Antiqua", "Georgia", serif;
    /* font-family inherited from body */
    letter-spacing: 0.01em;
    scroll-margin-top: 3em; /* If browser jumps to anchor, leave gap to stop sticky nav-bar covering it */
    text-shadow: var(--shadow) 0.01em 0.02em 0.01em;
}

p{
    line-height: 1.525;
}

li + li {
  margin-top: 0.4em;
}

ol, ul {
	margin-top: 0.4em;
	margin-bottom: 0.4em;
}

a{
    text-decoration: none;
    color: var(--linkLight)
}

a:hover{
    text-decoration:underline;
}

table{
    width: 100%;
    margin: 1.4em 0em 1.4em 0em;
    border-collapse: collapse;
}

thead{
    text-align: left;
    border-top: 1px solid var(--tableBorder);
}

tbody{
    border-top: 1px solid var(--tableBorder);
    border-bottom: 1px solid var(--tableBorder);
}

tbody tr:hover{
    background-color: var(--tableRowHover);
}

th{
    padding-top: 0.25em;
    padding-bottom: 0.25em;
    padding-left: 0.5em;
    padding-right: 0.5em;
}

th.application{
    width: 37%;
}

td{
    vertical-align: top;
    padding-top: 0.15em;
    padding-bottom: 0.15em;
    padding-left: 0.5em;
    padding-right: 0.5em;
}

tr:first-child td{
    padding-top: 0.3em;
}

tr:last-child td{
    padding-bottom: 0.3em;
}

code, pre, kbd, samp, var{
    font-size: 0.85em;
    font-family: monospace, monospace;
}

code{
    padding: 0.1em 0.3em 0.1em;
    border-radius: 0.3em;
    border: 1px solid var(--borderDark);
    background-color: var(--backgroundCode);
}

kbd{
    padding: 0em 0.4em;
    border: 1px solid var(--borderKbd);
    border-radius: 0.3em;
    box-shadow: 0 0.1em 0 0.07em var(--shadowKbd);
    background-color: var(--backgroundKbd);
    font-family: 'Source Sans Pro', 'Segoe UI', Tahoma, Geneva, Verdana, sans-serif;
}

pre{
    white-space: pre-wrap;
}

.cmd{
    padding: 0.4em 1em 0.4em 1em;
    border: 1px solid var(--borderDark);
    border-radius: 0.3em;
    background-color: var(--backgroundCode);
}

.poem{
    padding: 0.4em 1em 0.4em 1em;
    white-space: pre;
    overflow: scroll;
    font-family: "Palatino", "Palatino Linotype", "Palatino LT STD", "Book Antiqua", "Georgia", serif;
    font-size: 1.04em; 
    line-height: 1.4;
    letter-spacing: 0.01em;
    border: 1px solid var(--borderDark);
    border-radius: 0.3em;
    background-color: var(--backgroundCode);
}

.header{
    position: fixed;
    box-shadow: 0em 0em 0.625em var(--navBarGlow);
    width: 100%;
    z-index: 3;
    background-color: var(--navBar);
}

/* Style for logo in header nav bar */
.header .logo{
    float: left;
    display: block;
    padding: 0.55em 0em 0.30em 0.8em;
    font-size: 1.4em;
    font-weight: 500;
    font-family: "Palatino", "Palatino Linotype", "Palatino LT STD", "Book Antiqua", "Georgia", serif;
    text-transform: uppercase;
    text-decoration: none;
    letter-spacing: 0.2em;
    color: var(--textLight);
}

/* Style for list in header nav bar */
.header nav ul{
    margin: 0;
    padding: 0;
    list-style: none; 
    overflow: hidden;
    background-color: var(--navBar);
}

.header nav ul li{
    margin-top: 0;
}

/* Style for anchor tag in list in header nav bar */
.header nav ul a{
    display: block; /* Allow one to tap block instead of just text */
    padding: 0.5em 1em; /* Padding top and bottom | left and right */
    text-decoration: none; /* Remove underlined links */
    color: var(--textLight); /* Colour of text */
}

/* Style for "hovered" anchor tag in list in header nav bar */
.header nav ul a:hover{
    background-color: var(--navButtonHover);
    box-shadow: 0em 0em 0.3125em var(--navButtonHoverGlow);
    transition: all ease 0.2s;
    color: var(--textDark);
}

/* Style for list in header nav bar */
.header nav .menu{
    clear: both; /* Clear items of "menu" class to new line (i.e. not adjacent) */
    max-height: 0; /* Sets max height of "menu" class to default to zero */
    transition: max-height .2s ease-out; /* Set parameters for transition */
}

.header .menu-icon{
    position: relative;
    float: right;
    padding: 1.35em 1.0em;
    cursor: pointer; /* Set cursor to change to point on hover over menu icon */
}

.header .menu-icon .nav-icon{
    display: block;
    position: relative;
    height: 0.125em;
    width: 1.375em;
    transition: background .2s ease-out;
    background: var(--textLight);
}

/* Style for hamburger menu top bar */
.header .menu-icon .nav-icon:before{
    display: block;
    height: 100%;
    width: 100%;
    position: absolute;
    top: calc(-1 * var(--hamburgerLineSpacing));
    content: "";
    transition: all .2s ease-out;
    background: var(--textLight)
}

/* Style for hamburger menu bottom bar */
.header .menu-icon .nav-icon:after{
    display: block;
    height: 100%;
    width: 100%;
    position: absolute;
    top: var(--hamburgerLineSpacing);
    content: "";
    transition: all .2s ease-out;
    background: var(--textLight)
}

/* Hide check box used to enable menu icon functionality */
.header .menu-btn{
    display: none;
}

/* When menu-btn is checked, look for next sibling of class menu */
.header .menu-btn:checked ~ nav .menu{
    max-height: 32em;
}

/* When menu-btn is checked, look for next sibling of class menu-icon with child class nav-icon and override */
.header .menu-btn:checked ~ .menu-icon .nav-icon{
    background-color: transparent;
}

/* When menu-btn is checked, look for next sibling of class menu-icon with child class nav-icon:before and override */
.header .menu-btn:checked ~ .menu-icon .nav-icon:before{
    transform: rotate(-45deg);
    top: 0;
}

/* When menu-btn is checked, look for next sibling of class menu-icon with child class nav-icon:after and override */
.header .menu-btn:checked ~ .menu-icon .nav-icon:after{
    transform: rotate(45deg);
    top: 0;
}






.main-content{
    padding: 3.75em 2em;
}

.main-content .text{
    max-width: 33em;
    width: 100%;
    margin: auto;
    color: var(--textLight);
}

.main-content .image img{
    display: block; /* Act as block rather than inline for easier positioning */
    max-width: 33em;
    width: 100%;
    height: auto;
    margin: auto;
    box-shadow: 0em 0em 0.625em var(--navBarGlow);
}

ol .image{
    padding: 1em 0em;
}

.footer{
    display: block;
    box-sizing: border-box;
    max-width: 33em;
    width: 100%;
    margin: 0em auto 1em;
    text-align: center;
    font-size: small;
    color: var(--textLight)
}

@media (min-width: 60em){
    .header nav li{
        float: left;
    }
    .header nav li a{
        padding: 0.75em 1.5625em;
    }
    .header nav .menu{
        clear: none;
        float: right;
        max-height: none;
    }
    .header .menu-icon{
        display: none;
    }
}
