* {
  box-sizing: border-box;
    transition: .5s;
    scroll-behavior: smooth;
  }

:root {
--primary-colour: #303030;
--background-colour: #D8D8D8;
--contrast-bkgr: rgba(48, 48, 48,.1);
--contrast-bkgr2: rgba(48, 48, 48,.25);
--secondary-colour: #786060;
--main-font: "Noto Sans", sans-serif;
--code-font: monospace;
--heading-font: "Nothing You Could Do", serif;
}
html, body {
  height: 100%;
  width: 100%;
  margin: 0;
  padding: 0;
}

/* mobile first */
html {background-color: var(--contrast-bkgr2);}
body {
  font-size: 10pt;
  font-family: var(--main-font);
  line-height: 1.2;
  letter-spacing: 2px;
  background-color: var(--background-colour);
  color: var(--primary-colour);
  margin: 0 auto;
  padding: 0;
}

a:link, a:visited {
  color: var(--main-colour);
  text-decoration: none;
  border-bottom: 1px solid var(--secondary-colour);
}
a:hover, a:active {
  border: none;
  background-color: var(--contrast-bkgr);
}

h1,h2,h3 {
  font-weight: normal;
  margin: 1em 0 0 0;
  padding: 0;
  font-family: var(--heading-font);
  text-transform: lowercase;
}
h1 {font-size: 3em;}
h2 {font-size: 2.5em;}
h3 {font-size: 2em;}
p {
  margin: 1em 0;
  padding: 0;
}
blockquote {
  font-style: italic;
  border-left: 2px solid var(--primary-colour);
  padding: .25em 1em;
  margin: 1em;
  background-color:  var(--contrast-bkgr);
}

header {
  background-image: url(/img/bkgr.jpg);
  background-position: center;
  background-size: cover;
  height: 60vw;
  max-height: 400px;
  display: flex;
  flex-direction: column;
  align-items: left;
}
header h1 {
  color: var(--background-colour);
  flex-grow: 2;
  padding: 0;
  margin: 1.5vw 3vw;
  font-size: 5vw;
  font-weight: normal;
  text-shadow: 2px 2px 1px var(--primary-colour);
  display: flex;          
  align-items: end;  
  text-transform: lowercase;
}
header p {
	margin-left:  3vw;
}

nav {
  width: 100%;
  padding: 0;
  background-color: var(--contrast-bkgr2);
  border-top: 1px solid var(--primary-colour);
  border-bottom: 1px solid var(--primary-colour);
}
nav ul {
  margin: 0;
  padding: 0;
  display: flex;
  flex-wrap: wrap;
  justify-content: space-around;
}
nav ul li {
  display: inline;
  padding: .2rem;
  font-weight: bold;
  text-transform: uppercase;
  border: none;
  line-height: 1.5;
}

nav a:link, nav a:visited {
  color: var(--background-colour);
  padding: .27rem .5rem;
  border: none;
}
nav a:hover, nav a:active {
  color: var(--background-colour);
  background-color:  var(--secondary-colour);
}

header, main {
background-color: var(--background-colour);
}
main {padding: 1rem; line-height: 1.5;}
main p img {
	border: 1px solid;
	display: block;
	margin: 1rem auto;
	opacity: 75%;
	}
main p img:hover {opacity: 100%;}



main ul {
  line-height: 1.5;
}


.footnotes {
  margin-top: 2rem;
  padding-top: .5rem;
  font-size: 90%;
  border-top: 1px solid var(--contrast-bkgr2);
  text-align: left;
}

footer {
  background-color: var(--contrast-bkgr);
  border-top: 1px solid var(--contrast-bkgr2);
  border-bottom: none;
  margin: 0;
  padding: 0;
}
footer p {
  margin: 0;
  padding: .5rem 1rem;
  font-size: 90%;
  text-align: center;
}
footer p:last-of-type {
padding-bottom: 1.5rem;
}

code, pre {font-family: var(--code-font);}
i,em {font-style: italic;}
b,strong {font-weight: bolder;}
ul,ol {margin: 1em; padding: 0;}
small {font-size: 80%;}
sub,sup {font-size: 75%; line-height: 0; position: relative; vertical-align: baseline;}
sub {bottom: -0.25em;}
sup {top: -0.5em;}
img {border-style: none; max-width: 100%;}
input {font-size: medium; border: 1px solid var(--primary-colour); border-radius: 0; background-color: var(--background-colour);}
hr {color: var(--primary-colour); border-width: 1px 0 0 0; width: 75%; margin: 2rem;}

.site-title {
  text-transform: lowercase;
  font-weight: bold;
  color: var(--secondary-colour);
  font-style: italic;
  font-size: 1.1rem;
}
.site-title:before {content: " ";}
.site-title:after {content: "";}

.date {
font-weight: bold;
}

/* very small screens */
@media only screen and (max-width: 600px) {

main h1 {font-size: 2rem;}
main h2 {font-size: 1.75rem;}
main h3 {font-size: 1.5rem;}

nav ul li {
font-size: .8rem;
line-height: 1;
}
  
  nav a:link,nav a:visited {
  padding: 0 .1rem;
  }

}

/* desktop */
@media only screen and (min-width: 768px) {
    	body { 
	max-width: 768px;
    	}

  	header h1 {
   	 margin: .75rem 1.5rem;
    	font-size: 2.25rem;
  	}
  	header, main {border-width: 0 3px;}
	header, main, footer {
	border-style: solid;
	border-color: var(--primary-colour);
	}

/* image display */
main div {
  text-align: center;
} 

main .twoup img {
  max-width: 47%;
  display: inline;
}

main .threeup img {
  max-width: 32%;
  display: inline;
}


  main ul {
    columns: 2;
    column-gap: 3rem;
  }
  #Canon main ul,
  #Meta main ul {
    columns: 1;
  }

  	footer {border-bottom: none;}
}


