/* Layout */
body {
  margin: 0;
  padding: 0;
  min-height: 100vh;
  color: #444;
  background: #FFF;
  font-family: Roboto, Arial, sans-serif;
}

div.header {
  height: 300px;
  background-image: url(../images/bird-rock-background.jpg);
  background-size: cover;
  background-position: center;
  box-shadow: 0px 0px 10px #666;
}

@media only screen and (-webkit-min-device-pixel-ratio: 1.5),
only screen and (-o-min-device-pixel-ratio: 3/2),
only screen and (min--moz-device-pixel-ratio: 1.5),
only screen and (min-device-pixel-ratio: 1.5) {
  div.header {
    background-image: url(../images/bird-rock-background-2x.jpg);
  }
}

div.logo {
  display: inline-block;
  font-family: Roboto, Arial, sans-serif;
  color: #FFF;
  background-color: rgba(64, 64, 64, 0.75);
  padding: 3px 10px 8px 10px;
  margin-top: 30px;
  border-top-right-radius: 7px;
  border-bottom-right-radius: 7px;
}

a.logo-name {
  display: inline-block;
  font-size: 2rem;
  font-weight: normal;
  text-decoration: none;
  color: #FFF;
  padding-bottom: 0.5rem;
  border-bottom: 1px dotted #FFF;
}

a.logo-name:visited {
  color: #FFF;
}

a.logo-link {
  display: inline-block;
  font-weight: bold;
  text-decoration: none;
  color: #FFF;
  padding-top: 0.5rem;
}

a.logo-link:visited {
  color: #FFF;
}

main {
  max-width: 55rem;
  margin-left: auto;
  padding-left: 1rem;
  margin-right: auto;
  padding-right: 1rem;
  margin-top: 2rem;
}

.meta {
  font-size: 0.9rem;
}

div.meta {
  border-bottom: 1px dotted #888;
}

p.meta {
  margin-top: 0.75rem;
  margin-bottom: 0.75rem;
}

li.meta {
  margin-top: 0.15rem;
  margin-bottom: 0.15rem;
}

div.footer {
  clear: both;
  max-width: 55rem;
  margin-top: 3rem;
  padding-left: 1rem;
}

a.footer {
  font-weight: bold;
}

p.about {
  line-height: 1.3em;
}

img.about {
  width: 1em;
  height: 1em;
  vertical-align: middle;
}

a.about {
  color: #444;
  text-decoration: none;
}

a.about:visited {
  color: #444;
}

.hidden {
  display: none;
}

/* Elements */
h1 {
  font-family: Verdana, sans-serif;
  font-weight: bold;
  font-size: 1.6rem;
  margin-top: 1rem;
}

h2 {
  border-bottom: 1px dotted #888;
  font-size: 1.4rem;
}

dfn {
  font-weight: normal;
  font-style: italic;
}

kbd {
  border: 1px solid #CCC;
  background-color: #F7F7F7;
  color: #333;
  box-shadow: 0px 1px 0px rgba(0, 0, 0, 0.2);
  border-radius: 3px;
  text-shadow: 0px 1px 0px #FFF;
  white-space: nowrap;
}

code,
pre {
  font-family: Menlo, Monaco, monospace;
  font-size: 0.875rem;
}

code {
  word-spacing: -0.3rem;
}

pre {
  background-color: #F0F0F0;
  border: 1px solid #CCC;
  border-radius: 4px;
  margin-left: 25px;
  margin-right: 25px;
  padding: 5px;
  overflow-x: auto;
}

pre code {
  word-spacing: 0;
}

pre.assembly:before,
pre>code.language-assembly:before {
  content: "Assembly";
}

pre.bazel:before,
pre>code.language-bazel:before {
  content: "Bazel";
}

pre.c:before,
pre>code.language-c:before {
  content: "C";
}

pre.cpp:before,
pre>code.language-cpp:before {
  content: "C++";
}

pre.go:before,
pre>code.language-go:before {
  content: "Go";
}

pre.gypsum:before,
pre>code.language-gypsum:before {
  content: "Gypsum";
}

pre.java:before,
pre>code.language-java:before {
  content: "Java";
}

pre.pseudocode:before,
pre>code.language-pseudocode:before {
  content: "Pseudocode";
}

pre.python:before,
pre>code.language-python:before {
  content: "Python";
}

pre[class]:before,
pre>code[class]:before {
  position: relative;
  top: 1px;
  right: 1px;
  float: right;
  color: #808080;
  font-weight: bold;
  border-left: 1px solid #808080;
  border-radius: 5px;
  padding-left: 3px;
}

canvas {
  box-shadow: 0px 0px 10px #666;
}

a {
  color: #34b;
}

a:visited {
  color: #64b;
}

a:hover {
  text-decoration: none;
}

a.tag {
  font-size: 0.9rem;
  font-weight: normal;
  font-style: normal;
  font-family: Verdana, Roboto, sans-serif;
  text-decoration: none;
  background-color: #dde;
  border: 1px solid #34b;
  border-radius: 10px;
  padding: 0 4px 1px 4px;
  white-space: nowrap;
}

a.tag:hover {
  background-color: #eef;
  border-color: #45c;
  text-decoration: none;
}

a.tag:visited {
  color: #34b;
}

div.tag {
  line-height: 1.5rem;
}

a.description {
  font-weight: bold;
}

.admin,
.admin:visited {
  color: #888;
}

.admin:hover {
  background-color: #888;
  color: white;
  text-decoration: none;
}

table {
  border-collapse: collapse;
  margin: 1.25rem;
}

td,
th {
  border: 1px solid #a9a9a9;
  padding: 1rem;
  vertical-align: top;
  font-size: 1rem;
}

/* Editor */
.hidden {
  display: none;
}

.edit {
  background: white;
  width: 100%;
  min-height: 1rem;
  border-width: 1px;
  border-style: dotted;
  border-color: #aaa;
}

.error {
  color: red;
}