html,
button,
input,
select,
textarea {
  color: #222;
}

html {
  font-size: 1em;
  line-height: 1.4;
  overflow-x: hidden;
}

::-moz-selection {
  background: #b3fcdb;
  text-shadow: none;
}

::selection {
  background: #b3fcdb;
  text-shadow: none;
}

hr {
  display: block;
  height: 1px;
  border: 0;
  border-top: 1px solid #ccc;
  margin: 1em 0;
  padding: 0;
}

audio,
canvas,
img,
video {
  vertical-align: middle;
}

fieldset {
  border: 0;
  margin: 0;
  padding: 0;
}

textarea {
  resize: vertical;
}

body {
  /* background: url('../images/background.png') repeat; */
  font: 16px/26px Helvetica Neue, Helvetica, Arial, "PingFang SC Light", "Lantinghei SC", "Hiragino Sans GB", "Microsoft YaHei", "WenQuanYi Micro Hei", sans-serif;
}

#menu li {
  display: inline;
}

pre {
  margin: 2em 1em 2em 4em;
  white-space: pre-wrap;
}

#post-list {
  margin: 0;
  padding: 0;
}

#post-list li {
  list-style-type: none;
}

.wrapper {
    width: 90%;
    margin: 0 5%;
}

a {color:#00f; text-decoration: none;}
a:visited {color:#00f;}
a:hover {color:#fff; background-color: #00f}
a:active {color:#00f;}


.entry-title {
  font-family: Optima, Arial, "Kaiti SC", "FZKaiTi", "SimKai", serif;
}

.align-left {
  text-align: left;
}

.align-center {
  text-align: center;
}

.align-right {
  text-align: right;
}

nav > ul,
nav > ul > li {
  list-style-type: none;
  padding-right: 0.5em;
  display: inline-block;
  padding-left: 0;
  margin-right: 2em;
}

.code .hll { background-color: #ffffcc }
.code .c { color: #8f5902; font-style: italic } /* Comment */
.code .err { color: #a40000; border: 1px solid #ef2929 } /* Error */
.code .g { color: #000000 } /* Generic */
.code .k { color: #204a87; font-weight: bold } /* Keyword */
.code .l { color: #000000 } /* Literal */
.code .n { color: #000000 } /* Name */
.code .o { color: #ce5c00; font-weight: bold } /* Operator */
.code .x { color: #000000 } /* Other */
.code .p { color: #000000; font-weight: bold } /* Punctuation */
.code .cm { color: #8f5902; font-style: italic } /* Comment.Multiline */
.code .cp { color: #8f5902; font-style: italic } /* Comment.Preproc */
.code .c1 { color: #8f5902; font-style: italic } /* Comment.Single */
.code .cs { color: #8f5902; font-style: italic } /* Comment.Special */
.code .gd { color: #a40000 } /* Generic.Deleted */
.code .ge { color: #000000; font-style: italic } /* Generic.Emph */
.code .gr { color: #ef2929 } /* Generic.Error */
.code .gh { color: #000080; font-weight: bold } /* Generic.Heading */
.code .gi { color: #00A000 } /* Generic.Inserted */
.code .go { color: #000000; font-style: italic } /* Generic.Output */
.code .gp { color: #8f5902 } /* Generic.Prompt */
.code .gs { color: #000000; font-weight: bold } /* Generic.Strong */
.code .gu { color: #800080; font-weight: bold } /* Generic.Subheading */
.code .gt { color: #a40000; font-weight: bold } /* Generic.Traceback */
.code .kc { color: #204a87; font-weight: bold } /* Keyword.Constant */
.code .kd { color: #204a87; font-weight: bold } /* Keyword.Declaration */
.code .kn { color: #204a87; font-weight: bold } /* Keyword.Namespace */
.code .kp { color: #204a87; font-weight: bold } /* Keyword.Pseudo */
.code .kr { color: #204a87; font-weight: bold } /* Keyword.Reserved */
.code .kt { color: #204a87; font-weight: bold } /* Keyword.Type */
.code .ld { color: #000000 } /* Literal.Date */
.code .m { color: #0000cf; font-weight: bold } /* Literal.Number */
.code .s { color: #4e9a06 } /* Literal.String */
.code .na { color: #c4a000 } /* Name.Attribute */
.code .nb { color: #204a87 } /* Name.Builtin */
.code .nc { color: #000000 } /* Name.Class */
.code .no { color: #000000 } /* Name.Constant */
.code .nd { color: #5c35cc; font-weight: bold } /* Name.Decorator */
.code .ni { color: #ce5c00 } /* Name.Entity */
.code .ne { color: #cc0000; font-weight: bold } /* Name.Exception */
.code .nf { color: #000000 } /* Name.Function */
.code .nl { color: #f57900 } /* Name.Label */
.code .nn { color: #000000 } /* Name.Namespace */
.code .nx { color: #000000 } /* Name.Other */
.code .py { color: #000000 } /* Name.Property */
.code .nt { color: #204a87; font-weight: bold } /* Name.Tag */
.code .nv { color: #000000 } /* Name.Variable */
.code .ow { color: #204a87; font-weight: bold } /* Operator.Word */
.code .w { color: #f8f8f8; text-decoration: underline } /* Text.Whitespace */
.code .mf { color: #0000cf; font-weight: bold } /* Literal.Number.Float */
.code .mh { color: #0000cf; font-weight: bold } /* Literal.Number.Hex */
.code .mi { color: #0000cf; font-weight: bold } /* Literal.Number.Integer */
.code .mo { color: #0000cf; font-weight: bold } /* Literal.Number.Oct */
.code .sb { color: #4e9a06 } /* Literal.String.Backtick */
.code .sc { color: #4e9a06 } /* Literal.String.Char */
.code .sd { color: #8f5902; font-style: italic } /* Literal.String.Doc */
.code .s2 { color: #4e9a06 } /* Literal.String.Double */
.code .se { color: #4e9a06 } /* Literal.String.Escape */
.code .sh { color: #4e9a06 } /* Literal.String.Heredoc */
.code .si { color: #4e9a06 } /* Literal.String.Interpol */
.code .sx { color: #4e9a06 } /* Literal.String.Other */
.code .sr { color: #4e9a06 } /* Literal.String.Regex */
.code .s1 { color: #4e9a06 } /* Literal.String.Single */
.code .ss { color: #4e9a06 } /* Literal.String.Symbol */
.code .bp { color: #3465a4 } /* Name.Builtin.Pseudo */
.code .vc { color: #000000 } /* Name.Variable.Class */
.code .vg { color: #000000 } /* Name.Variable.Global */
.code .vi { color: #000000 } /* Name.Variable.Instance */
.code .il { color: #0000cf; font-weight: bold } /* Literal.Number.Integer.Long */

/* Banner styling for SantaMonicaIncline.jpg background */
#banner {
  background: url('/images/SantaMonicaIncline.jpg') no-repeat center 60%;
  background-size: cover;
  min-height: 250px;
  padding: 2em 5% 1.5em 5%;
  margin-bottom: 2em;
  position: relative;
  width: 100vw;
  margin-left: calc(-50vw + 50%);
  display: flex;
  flex-direction: column;
  justify-content: center;
  box-sizing: border-box;
}

#banner::before {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background: rgba(0, 0, 0, 0.4);
  z-index: 1;
}

#banner header {
  position: relative;
  z-index: 2;
  margin-bottom: 2.0em;
}

#banner h1 {
  position: relative;
  z-index: 2;
  margin: 0;
}

#banner h1 a {
  color: white;
  text-shadow: 2px 2px 4px rgba(0, 0, 0, 0.8);
}

#banner h1 a:hover {
  color: #f0f0f0;
  background-color: transparent;
}

/* Navigation menu styling - part of banner */
#banner #menu {
  position: relative;
  z-index: 2;
  padding: 0;
  margin-bottom: 0;
}

#menu ul {
  margin: 0;
  padding: 0;
}

#menu li {
  display: inline;
  margin-right: 2em;
}

#menu a {
  color: white;
  text-decoration: none;
  padding: 0.5em 1em;
  border-radius: 3px;
  transition: background-color 0.3s ease;
}

#menu a:hover {
  background-color: rgba(255, 255, 255, 0.2);
  color: white;
}

#menu a.active {
  background-color: rgba(255, 255, 255, 0.3);
  color: white;
}
