/* ==========================================================================
   Styling and layout for all media
   ========================================================================== */
article,
aside,
details,
figcaption,
figure,
footer,
header,
hgroup,
main,
nav,
section,
summary {
  display: block;
}

audio,
canvas,
progress,
video {
  display: inline-block;
  vertical-align: baseline;
}

audio:not([controls]) {
  display: none;
  height: 0;
}

[hidden],
template {
  display: none;
}

/**
 * Remove tap delay in IE 10+ (and proposed for other browsers).
 */
a,
input,
button {
  -ms-touch-action: none;
  touch-action: none;
}

/**
 * Correct `summary` not showing as clickable.
 */
summary {
  cursor: pointer;
}

/* Clearfix
   ========================================================================== */
/**
 * Clearfix using the 'A new micro cleafix hack' method.
 *
 * More info: http://nicolasgallagher.com/micro-clearfix-hack/
 */
main:after,
.clearfix:after,
.paginator:after,
div[itemprop="articleBody"]:after {
  content: "";
  display: table;
  clear: both;
}

/* ==========================================================================
   Styling and layout for screen media (mobile first)
   ========================================================================== */
@media screen {
  /* Layout
     ========================================================================== */
  *, *:before, *:after {
    margin: 0;
    padding: 0;
    border: 0;
    -webkit-box-sizing: border-box;
    -moz-box-sizing: border-box;
    box-sizing: border-box;
  }

  /**
   * 1. Always force scrollbar padding so we don't get 'jumping'.
   * 2. Prevent iOS text size adjust after orientation change, without disabling
   *    user zoom.
   * 3. As 2 above, for Windows Phone.
   */
  html {
    font-size: 62.5%;
    -webkit-tap-highlight-color: rgba(62, 99, 132, 0.5);
    /* 1 */
    overflow-y: scroll;
    /* 2 */
    -webkit-text-size-adjust: 100%;
    /* 3 */
    -ms-text-size-adjust: 100%;
  }

  /**
   * 1. Set `body` to `relative` to allow positioning of absolute elements.
   * 1. Remove default margin.
   * 1. Make sure body fills entire viewport height.
   */
  body {
    /* 1 */
    position: relative;
    /* 2 */
    margin: 0;
    /* 3 */
    min-height: 100%;
    min-height: 100vh;
    font-family: "Open Sans", "Helvetica Neue", Helvetica, Arial, sans-serif;
    font-size: 14px;
    line-height: 1.4285714;
    color: #999999;
    background-color: #252525;
  }

  .wrapper {
    padding: 0 1em;
  }

  header,
  footer,
  .container {
    margin: 0 auto;
    width: 100%;
  }

  .container {
    max-width: 76em !important;
  }
  .container:before, .container:after {
    content: " ";
    display: table;
  }
  .container:after {
    clear: both;
  }

  /**
   * Additional styling for child content within `header`.
   */
  header {
    width: 50%;
  }
  header h1 {
    display: none;
  }
  header img {
    display: block;
  }
  header p {
    margin: 0;
    padding: 0 2.25em;
    color: #eeeeee;
    font-size: 0.75em;
    font-weight: 300;
    display: none;
  }

  /**
   * Additional styling for `main`.
   */
  #main {
    margin-top: 20px;
    border-bottom: 1px solid #555555;
    border-top: 1px solid #555555;
  }

  /**
   * Additional styling for child content within `footer`.
   */
  footer {
    padding: 0.5em 0;
  }
  footer p {
    text-align: center;
  }

  /**
   * Styling for articles.
   *
   * 1. Prevent really, really long words in article from breaking layout.
   */
  [role="article"] {
    margin-bottom: 2em;
    /* 1 */
    word-wrap: break-word;
  }

  /**
   * simple grid styling for child content in articles.
   */
  [class*='col-'] {
    width: auto;
    float: none;
  }

  .row {
    width: 100%;
    margin: 0 auto;
  }
  .row:before, .row:after {
    content: " ";
    display: table;
  }
  .row:after {
    clear: both;
  }

  /**
   * portfolio styling
   */
  div#portfolio {
    padding: 0.5em 0 0.5em 0;
  }

  .portfolio-cell {
    height: 250px;
    padding: 0.5em 0 0.5em 0;
  }

  .portfolio-category {
    height: 100%;
    width: 100%;
    margin: 0;
    background-size: cover;
    background-repeat: no-repeat;
    background-position: center center;
  }
  .portfolio-category:hover h6 {
    opacity: 1;
  }
  .portfolio-category h6 {
    height: 100%;
    margin: 0;
    padding-top: 115px;
    text-transform: uppercase;
    color: #eeeeee;
    background: black;
    background: rgba(0, 0, 0, 0.5);
    opacity: 0;
    -webkit-transition-property: opacity;
    -moz-transition-property: opacity;
    -o-transition-property: opacity;
    transition-property: opacity;
    -webkit-transition-duration: 0.6s;
    -moz-transition-duration: 0.6s;
    -o-transition-duration: 0.6s;
    transition-duration: 0.6s;
    -webkit-transition-timing-function: ease;
    -moz-transition-timing-function: ease;
    -o-transition-timing-function: ease;
    transition-timing-function: ease;
  }

  .zoom-gallery:before, .zoom-gallery:after {
    content: " ";
    display: table;
  }
  .zoom-gallery:after {
    clear: both;
  }

  /*.zoom-gallery .wrap {
    width: 150px;
    height: 150px;
    margin-right: 5px;
    overflow:hidden;
    display: inline-block;
    img {
      margin: 0 !important;
      width: 150px !important;
      max-width: 150px !important;
    }
  }*/
  .zoom-gallery .wrap {
    width: 150px;
    max-width: 150px;
    height: auto;
    padding: 4px;
    overflow: hidden;
    display: inline-block;
  }
  .zoom-gallery .wrap img {
    margin: 0 !important;
    width: 150px !important;
    max-width: 150px !important;
    -webkit-transition-property: opacity;
    -moz-transition-property: opacity;
    -o-transition-property: opacity;
    transition-property: opacity;
    -webkit-transition-duration: 0.3s;
    -moz-transition-duration: 0.3s;
    -o-transition-duration: 0.3s;
    transition-duration: 0.3s;
    -webkit-transition-timing-function: ease;
    -moz-transition-timing-function: ease;
    -o-transition-timing-function: ease;
    transition-timing-function: ease;
  }
  .zoom-gallery .wrap img:hover {
    opacity: 0.65;
  }

  /**
   * Styling for sidebar.
   *
   * Initially the sidebar appears under main content, it is then repositioned
   * with media queries at 2nd breakpoint.
   *
   * 1. Prevent really, really long words in article from breaking layout.
   */
  /*[role="complementary"] {
      margin: 2em -6% 0;
      border-top: 2px dashed $color-border;
      padding: 0 6%;
      word-wrap: break-word;
  }*/
  /**
   * Address differences between Firefox and other browsers.
   */
  hr {
    -webkit-box-sizing: content-box;
    -moz-box-sizing: content-box;
    box-sizing: content-box;
    margin-top: 20px;
    margin-bottom: 20px;
    border: 0;
    border-top: 1px solid #555555;
  }

  /* Navigation
     ========================================================================== */
  /**
   * Style mobile first version of the navigation menu. Desktop version will
   * override some rules with extra styling at 1st breakpoint.
   *
   * Example HTML:
   *
   * <nav class="site-navigation">
   *     <ul>
   *         <li class="active"><a></li>
   *         <li><a></li>
   *         <li><a></li>
   *     </ul>
   * </nav>
   */
  .site-navigation ul {
    list-style: none;
    margin: 0;
    padding: 0;
  }
  .site-navigation a, .site-navigation a:visited {
    display: block;
    padding: 0 1.25em;
    color: #999999 !important;
  }
  .site-navigation a:hover, .site-navigation a:visited:hover {
    border-bottom: 1px solid #999999;
  }
  .site-navigation li.active a, .site-navigation li.active a:hover, .site-navigation a:active {
    border-bottom: 1px solid #eeeeee;
    color: #eeeeee !important;
  }

  /* Links
     ========================================================================== */
  /**
   * 1. Remove default underline style from non-hover state links.
   * 2. Interrupt the decoration line to let the shape of the text show through
   *    in supported browsers.
   * 3. Specify link colour.
   * 4. Remove the gray background color from active links in IE 10.
   */
  a {
    /* 1 */
    text-decoration: none !important;
    /* 2 */
    text-decoration-skip: ink edges;
    /* 3 */
    color: #5c8ab2;
    /* 4 */
    background: transparent;
  }

  /**
   * Improve readability when focused and also mouse hovered in all browsers.
   * Specify link state colours.
   */
  a {
    color: #5c8ab2;
    text-decoration: none;
  }
  a:hover, a:focus {
    color: #3e6384;
    text-decoration: underline;
  }
  a:focus {
    outline: thin dotted;
    outline: 5px auto -webkit-focus-ring-color;
    outline-offset: -2px;
  }

  /**
   * Additional styling for child links within `header`.
   */
  header h1 a:hover, header h1 a:active {
    background: #8a8a8a;
  }

  /**
   * Paginator (prev/next) navigation links on articles/article lists.
   *
   * Example HTML:
   *
   * <nav class="paginator">
   *     <a rel="prev">
   *     <a rel="next">
   */
  .paginator {
    line-height: 2.5em;
  }
  .paginator a {
    height: 2.5em;
    width: 2.5em;
    background: #333333;
    color: #999999;
    -webkit-border-radius: 0.2em;
    -moz-border-radius: 0.2em;
    border-radius: 0.2em;
    text-align: center;
  }
  .paginator a:hover, .paginator a:active {
    background: #555555;
    color: #eeeeee;
  }
  .paginator [rel="prev"] {
    float: left;
  }
  .paginator [rel="next"] {
    float: right;
  }

  /* Typography
     ========================================================================== */
  html {
    font-size: 100%;
    line-height: 1.5em;
  }

  /**
   * Global font and colour.
   */
  html {
    font-family: sans-serif;
    -ms-text-size-adjust: 100%;
    -webkit-text-size-adjust: 100%;
  }

  body {
    font-family: "Open Sans", "Helvetica Neue", Helvetica, Arial, sans-serif;
    color: #999999;
  }

  h1, h2, h3, h4, h5, h6,
  .h1, .h2, .h3, .h4, .h5, .h6 {
    font-family: inherit;
    font-weight: 500;
    line-height: 1.1;
    color: inherit;
  }
  h1 small,
  h1 .small, h2 small,
  h2 .small, h3 small,
  h3 .small, h4 small,
  h4 .small, h5 small,
  h5 .small, h6 small,
  h6 .small,
  .h1 small,
  .h1 .small, .h2 small,
  .h2 .small, .h3 small,
  .h3 .small, .h4 small,
  .h4 .small, .h5 small,
  .h5 .small, .h6 small,
  .h6 .small {
    font-weight: normal;
    line-height: 1;
    color: #999999;
  }

  h1, .h1,
  h2, .h2,
  h3, .h3 {
    margin-top: 20px;
    margin-bottom: 10px;
  }
  h1 small,
  h1 .small, .h1 small,
  .h1 .small,
  h2 small,
  h2 .small, .h2 small,
  .h2 .small,
  h3 small,
  h3 .small, .h3 small,
  .h3 .small {
    font-size: 65%;
  }

  h4, .h4,
  h5, .h5,
  h6, .h6 {
    margin-top: 10px;
    margin-bottom: 10px;
  }
  h4 small,
  h4 .small, .h4 small,
  .h4 .small,
  h5 small,
  h5 .small, .h5 small,
  .h5 .small,
  h6 small,
  h6 .small, .h6 small,
  .h6 .small {
    font-size: 75%;
  }

  h1, .h1 {
    font-size: 36px;
  }

  h2, .h2 {
    font-size: 30px;
  }

  h3, .h3 {
    font-size: 24px;
  }

  h4, .h4 {
    font-size: 18px;
  }

  h5, .h5 {
    font-size: 14px;
  }

  h6, .h6 {
    font-size: 12px;
  }

  h5 span {
    margin-left: 1em;
    font-style: italic;
    color: #555555;
  }

  p {
    margin: 0 0 10px;
  }

  .text-left {
    text-align: left;
  }

  .text-right {
    text-align: right;
  }

  .text-center {
    text-align: center;
  }

  .text-justify {
    text-align: justify;
  }

  /**
   * Address style set to `bolder` in Firefox 4+, Safari, and Chrome.
   */
  b,
  strong {
    font-weight: bold;
  }

  /**
   * Add vertical margin to addresses.
   */
  address {
    margin-bottom: 20px;
    font-style: normal;
    line-height: 1.4285714;
  }

  /**
   * Additional styling for blockquotes.
   */
  blockquote {
    padding: 10px 20px;
    margin: 0 0 20px;
    font-size: 17.5px;
    font-style: italic;
    border-left: 5px solid #333333;
  }
  blockquote p:last-child,
  blockquote ul:last-child,
  blockquote ol:last-child {
    margin-bottom: 0;
  }
  blockquote footer {
    display: block;
    font-size: 80%;
    line-height: 1.4285714;
    color: #555555;
  }
  blockquote footer:before {
    content: '\2014 \00A0';
  }

  .blockquote-reverse {
    padding-right: 15px;
    padding-left: 0;
    border-right: 5px solid #333333;
    border-left: 0;
    text-align: right;
  }
  .blockquote-reverse footer:before {
    content: '';
  }
  .blockquote-reverse footer:after {
    content: '\00A0 \2014';
  }

  blockquote:before,
  blockquote:after {
    content: "";
  }

  /**
   * Address styling not present in Safari and Chrome.
   */
  dfn {
    font-style: italic;
  }

  /**
   * Address styling not present in IE 8/9/10/11, Safari, and Chrome.
   */
  abbr[title],
  dfn[title] {
    border-bottom: 1px dotted;
    cursor: help;
  }

  /**
   * Address styling not present in IE 8/9.
   */
  mark,
  var {
    -webkit-border-radius: 3px;
    -moz-border-radius: 3px;
    border-radius: 3px;
    padding: 0 0.25em;
    color: #333333;
    background: #999999;
  }

  /**
   * Harmonise size and style of computer text.
   */
  pre,
  code,
  kbd,
  samp {
    font-family: Menlo, Monaco, Consolas, "Courier New", monospace;
  }

  code,
  kbd,
  samp {
    font-size: 90%;
    -webkit-border-radius: 3px;
    -moz-border-radius: 3px;
    border-radius: 3px;
    border: 1px solid #171717;
    padding: 1px 0.21429em;
    background: #333333;
    white-space: nowrap;
  }

  /**
   * Additional stylng for preformatted text/code.
   *
   * 1. Don't wrap long words.
   * 2. Contain overflow in all browsers.
   * 3. Set tab size to 2 spaces.
   */
  pre {
    display: block;
    padding: 9.5px;
    margin: 0 0 10px;
    font-size: 13px;
    line-height: 1.4285714;
    /* 1 */
    word-break: break-all;
    word-wrap: break-word;
    background-color: #333333;
    border: 1px solid #171717;
    -webkit-border-radius: 4px;
    -moz-border-radius: 4px;
    border-radius: 4px;
    /* 2 */
    overflow-x: auto;
    /* 3 */
    tab-size: 2;
  }
  pre code {
    padding: 0;
    font-size: inherit;
    color: inherit;
    white-space: pre-wrap;
    background-color: transparent;
    border-radius: 0;
    border: none;
  }

  /**
   * Prevent `sub` and `sup` affecting `line-height` in all browsers.
   */
  sub,
  sup.footnote,
  sup {
    font-size: 0.625em;
    line-height: 0em;
    position: relative;
    vertical-align: baseline;
    font-weight: 300;
  }

  sup {
    top: -0.5em;
  }

  sub {
    bottom: -0.25em;
  }

  /**
   * Harmonise size and style of small text.
   */
  small,
  figcaption,
  tfoot,
  .footnote,
  .articleMeta {
    font-size: 85%;
    font-family: inherit;
    font-weight: 300;
  }

  figcaption,
  tfoot,
  .footnote,
  .articleMeta {
    color: #b3b3b3;
  }

  figcaption {
    margin-top: 0.5em;
    font-style: italic;
    text-align: center;
  }

  /* Support for non-latin languages (can be removed if not required)
     ========================================================================== */
  /**
   * Preferred font for Japanese language.
   */
  html[lang="ja-jp"] {
    font-family: "Hiragino Kaku Gothic Pro", Meiryo, sans-serif;
  }

  /**
   * Preferred font for Korean language.
   */
  html[lang="ko-kr"] {
    font-family: GulimChe, Gulim, sans-serif;
  }

  /**
   * Preferred font for Chinese (PRC) language.
   */
  html[lang="zh-cn"] {
    font-family: SimHei, sans-serif;
  }

  /**
   * Preferred font for Chinese (Taiwan) language.
   */
  html[lang="zh-tw"] {
    font-family: PMingLiU, sans-serif;
  }

  /* Embedded content
     ========================================================================== */
  /**
   * Make embedded elements responsive.
   */
  img,
  video {
    max-width: 100%;
    height: auto;
  }

  .videoWrapper {
    position: relative;
    padding-bottom: 56.25%;
    /* 16:9 */
    padding-top: 25px;
    height: 0;
  }

  .videoWrapper iframe {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
  }

  /**
   * 1. Remove the gap between images and the bottom of their containers.
   * 2. Remove border when inside `a` element in IE 8-10.
   */
  img {
    /* 1 */
    vertical-align: middle;
    /* 2 */
    border: 0;
  }

  .img-rounded {
    border-radius: 6px;
  }

  .img-circle {
    border-radius: 50%;
  }

  /**
   * Image alignment (compatible with Textile markup syntax).
   *
   * Example HTML:
   *
   * <img class="align-left">
   * <img class="align-right">
   * <img class="align-center">
   */
  img.align-left {
    float: left;
    margin: 1em 1em 1em 0;
  }
  img.align-right {
    float: right;
    margin: 1em 0 1em 1em;
  }
  img.align-center {
    display: block;
    margin: 1em auto;
  }

  /**
   * Address margin not present in IE 8/9 and Safari.
   */
  figure .imgfade {
    position: relative;
  }
  figure .imgfade div {
    width: 100%;
  }
  figure .imgfade div:nth-child(2) {
    position: absolute;
    top: 0;
    left: 0;
    opacity: 0;
    -webkit-transition-property: opacity;
    -moz-transition-property: opacity;
    -o-transition-property: opacity;
    transition-property: opacity;
    -webkit-transition-duration: 0.25s;
    -moz-transition-duration: 0.25s;
    -o-transition-duration: 0.25s;
    transition-duration: 0.25s;
    -webkit-transition-timing-function: ease;
    -moz-transition-timing-function: ease;
    -o-transition-timing-function: ease;
    transition-timing-function: ease;
  }
  figure .imgfade div:nth-child(2):hover {
    opacity: 1;
  }

  /**
   * Prevent modern browsers from displaying `audio` without controls.
   * Remove excess height in iOS 5 devices.
   */
  audio:not([controls]) {
    display: none;
    height: 0;
  }

  /**
   * Correct overflow not hidden in IE 9/10/11.
   */
  svg:not(:root) {
    overflow: hidden;
  }

  /* Tables
     ========================================================================== */
  /**
   * Consistent tables.
   */
  table {
    margin-bottom: 1em;
    border-collapse: collapse;
    border-spacing: 0;
    width: 100%;
  }

  /**
   * Styling of table captions.
   */
  caption {
    font-style: italic;
    text-align: left;
    margin-bottom: 0.5em;
  }

  /**
   * Make table cells align top and left by default.
   */
  th,
  td {
    vertical-align: top;
    text-align: left;
    border-bottom: 1px solid #555555;
    padding: 0.25em;
  }

  /**
   * 1. Remove padding from top cells of table header.
   * 2. Thicker border at bottom of `thead`.
   */
  thead tr:first-child th,
  thead tr:first-child td {
    /* 1 */
    padding-top: 0;
  }
  thead tr:last-child th,
  thead tr:last-child td {
    /* 2 */
    border-bottom: 2px solid #555555;
  }

  /**
   * 1. Adjust padding of table footer due to smaller font size.
   * 2. Remove padding from bottom cells of table footer.
   */
  tfoot th,
  tfoot td {
    /* 1 */
    padding: 0.3333333em;
  }
  tfoot tr:last-child th,
  tfoot tr:last-child td {
    /* 2 */
    border-bottom: 0;
    padding-bottom: 0;
  }

  /**
   * Border at top of each new table row.
   */
  tbody tr:first-child td,
  tbody tr:first-child th {
    border-top: 1px solid #555555;
  }

  /**
   * Multi-row span vertical cell alignments.
   */
  [rowspan] {
    vertical-align: middle;
  }

  /* Lists
     ========================================================================== */
  /**
   * Address paddings set differently.
   */
  menu,
  ol,
  ul {
    padding: 0 0 0 2em;
  }

  /**
   * Remove margins from nested lists.
   */
  ul,
  ol {
    margin-top: 0;
    margin-bottom: 10px;
  }
  ul ul,
  ul ol,
  ol ul,
  ol ol {
    margin-bottom: 0;
  }

  dl {
    margin-top: 0;
    margin-bottom: 20px;
  }

  dt,
  dd {
    line-height: 1.4285714;
  }

  dt {
    font-weight: bold;
  }

  dd {
    margin-left: 0;
  }

  /**
   * Italicise definition terms.
   */
  dt {
    font-style: italic;
  }

  dl.vcard dt {
    font-style: italic;
    font-weight: bold;
    font-size: 1.125em;
    line-height: 1.5555556em;
    margin: 0.8em 0;
    padding: 0 1em 0 0;
  }
  dl.vcard dd {
    margin: 0;
    padding: 0 0 0 1em;
  }
  dl.vcard dd.clear {
    float: none;
    margin: 0;
    height: 1em;
    clear: both;
  }

  /**
   * Additional styling for article lists.
   *
   * Example HTML:
   *
   * <ul class="article-list">
   */
  .article-list {
    list-style: none;
    margin: 0 0 2em 0;
    border-top: 1px solid #333333;
    padding: 0;
  }
  .article-list li {
    margin-bottom: 0;
    border-bottom: 1px solid #333333;
  }

  /* Forms
     ========================================================================== */
  /**
   * 1. Define consistent fieldset border, margin, and padding.
   * 2. Address width being affected by wide descendants in Chrome, Firefox.
   */
  fieldset {
    /* 1 */
    margin: 1em 0;
    border: 1px solid black;
    padding: 1px 1em;
    /* 2 */
    min-width: 0;
  }

  /**
   * 1. Correct `color` not being inherited in IE 8/9/10/11.
   * 2. Remove padding so people aren't caught out if they zero out fieldsets.
   */
  legend {
    /* 1 */
    border: 0;
    /* 2 */
    padding: 0;
  }

  /**
   * 1. Correct font properties not being inherited.
   * 2. Address margins set differently in Firefox 4+, Safari, and Chrome.
   * 3. Prevent elements from spilling out of their parent.
   */
  button,
  input,
  optgroup,
  select,
  textarea {
    /* 1 */
    font-size: 100%;
    font-size: 0.875em;
    line-height: 1.5em;
    /* 2 */
    margin: 0;
    /* 3 */
    max-width: 100%;
    font-family: inherit;
    vertical-align: baseline;
  }

  /**
   * Colour for placeholder text.
   */
  input ::-webkit-input-placeholder,
  textarea ::-webkit-input-placeholder {
    color: #b3b3b3;
  }
  input :-moz-placeholder,
  textarea :-moz-placeholder {
    color: #b3b3b3;
  }
  input :-ms-input-placeholder,
  textarea :-ms-input-placeholder {
    color: #b3b3b3;
  }

  /**
   * Remove inner padding and border in Firefox 4+.
   */
  button::-moz-focus-inner,
  input::-moz-focus-inner {
    border: 0;
    padding: 0;
  }

  /**
   * Remove inner padding and search cancel button in Safari and Chrome on OS X.
   * Safari (but not Chrome) clips the cancel button when the search input has
   * padding (and `textfield` appearance).
   */
  input[type="search"]::-webkit-search-cancel-button,
  input[type="search"]::-webkit-search-decoration {
    -webkit-appearance: none;
  }

  /**
   * Styling of form input fields.
   *
   * 1. Remove iOS Safari default styling.
   */
  input[type="color"],
  input[type="date"],
  input[type="datetime"],
  input[type="datetime-local"],
  input[type="email"],
  input[type="month"],
  input[type="number"],
  input[type="password"],
  input[type="search"],
  input[type="tel"],
  input[type="text"],
  input[type="time"],
  input[type="url"],
  input[type="week"],
  select,
  textarea {
    -webkit-border-radius: 0;
    -moz-border-radius: 0;
    border-radius: 0;
    -webkit-transition: box-shadow 0.2s linear;
    -moz-transition: box-shadow 0.2s linear;
    -o-transition: box-shadow 0.2s linear;
    transition: box-shadow 0.2s linear;
    /* 1 */
    -webkit-appearance: none;
    border: 1px solid black;
    padding: 0.3571428em;
    height: 2.3571428em;
    background: #ffffff;
    text-align: left;
  }
  input[type="color"]:focus,
  input[type="date"]:focus,
  input[type="datetime"]:focus,
  input[type="datetime-local"]:focus,
  input[type="email"]:focus,
  input[type="month"]:focus,
  input[type="number"]:focus,
  input[type="password"]:focus,
  input[type="search"]:focus,
  input[type="tel"]:focus,
  input[type="text"]:focus,
  input[type="time"]:focus,
  input[type="url"]:focus,
  input[type="week"]:focus,
  select:focus,
  textarea:focus {
    -webkit-box-shadow: 0 0 4px 2px #90afcb;
    -moz-box-shadow: 0 0 4px 2px #90afcb;
    box-shadow: 0 0 4px 2px #90afcb;
    border-color: #90afcb;
    outline: 0;
  }

  /**
   * Remove padding from `color` fields.
   */
  input[type="color"] {
    padding: 0;
  }

  /**
   * Fix the cursor style for Chrome's increment/decrement buttons. For certain
   * `font-size` values of the `input`, it causes the cursor style of the
   * decrement button to change from `default` to `text`.
   */
  input[type="number"]::-webkit-inner-spin-button,
  input[type="number"]::-webkit-outer-spin-button {
    height: auto;
  }

  /**
   * 1. Remove excess padding in IE 8/9/10.
   * 2. Correct margins for inline checkbox/radio labels.
   */
  input[type="checkbox"],
  input[type="radio"] {
    /* 1 */
    padding: 0;
  }
  input[type="checkbox"] + label,
  input[type="radio"] + label {
    /* 2 */
    margin-right: 0.5em;
  }
  input[type="checkbox"] + label:last-of-type,
  input[type="radio"] + label:last-of-type {
    /* 2 */
    margin-right: 0;
  }

  /**
   * Inline search field on sidebar.
   */
  [role="complementary"] input[type="search"] {
    width: 66%;
    display: inline-block;
  }

  /**
   * Correct `select` style inheritance in Firefox.
   */
  select {
    text-transform: none;
  }

  /**
   * Override height set in a previous rule and allow auto heght.
   */
  select[size],
  select[multiple] {
    height: auto;
  }

  /**
   * Override height set in rule above and restrict to one line field.
   */
  select[size="0"],
  select[size="1"] {
    height: 2.3571428em;
  }

  /**
   * Normalise styling of `optgroup`.
   */
  optgroup {
    font-style: normal;
    font-weight: bold;
    color: #999999;
  }

  /**
   * 1. Remove default vertical scrollbar in IE 8/9/10/11.
   * 2. Restrict to vertical resizing to prevent layout breakage.
   */
  textarea {
    height: auto;
    min-height: 3em;
    /* 1 */
    overflow: auto;
    /* 2 */
    resize: vertical;
    width: 100%;
  }

  /**
   * Make sure disabled elements really are disabled and styled appropriately.
   *
   * 1. Override default iOS opacity setting.
   * 2. Re-set default cursor for disabled elements.
   */
  button[disabled],
  input[disabled],
  input[type="button"][disabled],
  input[type="reset"][disabled],
  input[type="submit"][disabled],
  select[disabled],
  select[disabled] option,
  select[disabled] optgroup,
  textarea[disabled],
  span.disabled {
    -webkit-box-shadow: none !important;
    -moz-box-shadow: none !important;
    box-shadow: none !important;
    /* 1 */
    opacity: 1;
    border-color: #171717 !important;
    color: #aaaaaa !important;
    background: #eeeeee !important;
    text-shadow: none !important;
    /* 2 */
    cursor: default !important;
  }

  /**
   * Width display options for `input` fields. Height display options
   * for textareas.
   *
   * Example HTML:
   *
   * <input class="small">
   * <input class="large">
   */
  .small input {
    width: 25%;
    min-width: 151px;
  }
  .small textarea {
    height: 5.5em;
  }

  .large input {
    width: 50%;
    min-width: 302px;
  }
  .large textarea {
    height: 9.75em;
  }

  /* Buttons
     ========================================================================== */
  /**
   * 1. Address `overflow` set to `hidden` in IE 8/9/10/11.
   * 2. Correct `button` style inheritance in Firefox, IE 8/9/10/11, and Opera.
   */
  button {
    /* 1 */
    overflow: visible;
    /* 2 */
    text-transform: none;
  }

  /**
   * 1. Remove iOS Safari default styling.
   * 2. Improve usability and consistency of cursor style between image-type
   *    `input` and others.
   */
  button,
  input[type="button"],
  input[type="reset"],
  input[type="submit"] {
    -webkit-border-radius: 5px;
    -moz-border-radius: 5px;
    border-radius: 5px;
    -webkit-background-clip: padding;
    -moz-background-clip: padding;
    background-clip: padding-box;
    background-color: black;
    background-image: -webkit-linear-gradient(#000000, #000000);
    background-image: -moz-linear-gradient(#000000, #000000);
    background-image: -o-linear-gradient(#000000, #000000);
    background-image: linear-gradient(#000000, #000000);
    -webkit-transition: box-shadow 0.2s linear;
    -moz-transition: box-shadow 0.2s linear;
    -o-transition: box-shadow 0.2s linear;
    transition: box-shadow 0.2s linear;
    /* 1 */
    -webkit-appearance: none;
    display: inline-block;
    border: 1px solid black;
    padding: 0.3571428em 0.7142857em;
    width: auto;
    height: 2.3571428em;
    font-weight: normal;
    text-align: center;
    color: #999999;
    /* 2 */
    cursor: pointer;
  }
  button:hover,
  input[type="button"]:hover,
  input[type="reset"]:hover,
  input[type="submit"]:hover {
    background-color: #0a0a0a;
    background-image: -webkit-linear-gradient(#0a0a0a, #0a0a0a);
    background-image: -moz-linear-gradient(#0a0a0a, #0a0a0a);
    background-image: -o-linear-gradient(#0a0a0a, #0a0a0a);
    background-image: linear-gradient(#0a0a0a, #0a0a0a);
    border-color: black;
    text-decoration: none;
  }
  button:active,
  input[type="button"]:active,
  input[type="reset"]:active,
  input[type="submit"]:active {
    -webkit-box-shadow: inset 0 0.2em 0.25em rgba(0, 0, 0, 0.15);
    -moz-box-shadow: inset 0 0.2em 0.25em rgba(0, 0, 0, 0.15);
    box-shadow: inset 0 0.2em 0.25em rgba(0, 0, 0, 0.15);
    background-color: black;
    background-image: -webkit-linear-gradient(#000000, #000000);
    background-image: -moz-linear-gradient(#000000, #000000);
    background-image: -o-linear-gradient(#000000, #000000);
    background-image: linear-gradient(#000000, #000000);
    border-color: black;
    color: gray;
  }
  button:focus,
  input[type="button"]:focus,
  input[type="reset"]:focus,
  input[type="submit"]:focus {
    outline: 0;
  }

  /* Comments
     ========================================================================== */
  /**
   * Styling for user comments.
   *
   * Example HTML:
   *
   * <article class="comments">
   */
  .comments {
    -webkit-border-radius: 5px;
    -moz-border-radius: 5px;
    border-radius: 5px;
    margin-bottom: 1em;
    padding: 1px 1em;
    background: #999999;
    word-wrap: break-word;
  }
  .comments h4 .is-author {
    font-weight: normal;
  }
  .comments h4 .comment-anchor {
    float: right;
    font-weight: normal;
  }

  /**
   * Additional styling for article author's comments.
   *
   * Example HTML:
   *
   * <article class="comments comments-author">
   */
  .comments-author {
    background: #919191;
  }

  /**
   * Styling for user comments preview.
   */
  #cpreview {
    -webkit-border-radius: 5px;
    -moz-border-radius: 5px;
    border-radius: 5px;
    margin-bottom: 2px;
    padding: 1em;
    background: #fff9e1;
  }

  /**
   * Highlight background colour for comment errors.
   */
  .comments_error {
    background: #eeeeee !important;
  }

  /**
   * Highlight text colour for comment errors.
   */
  .error_message li {
    color: #d9534f;
  }

  /**
   * Styling for 'required' indicators.
   */
  .required {
    color: #d9534f;
    cursor: help;
  }

  /* Popup comments (can be removed if you don't use popups)
     ========================================================================== */
  /**
   * Restrict maximum width of popup container.
   */
  #popup-page .container {
    max-width: 52em;
  }
}
@media screen and (-webkit-min-device-pixel-ratio: 0) {
  /**
   * Address `select` alignment in Safari, Chrome, Opera.
   */
  select[size],
  select[multiple],
  select[multiple][size] {
    padding-right: 0.5em;
    background-image: none;
  }

  /**
   * Use indicator icon to signify the downdown ability of `select` in Safari,
   * Chrome, Opera.
   */
  select,
  select[size="0"],
  select[size="1"] {
    padding-right: 2.25em;
    background: white url("data:image/svg+xml,<svg version='1.1' baseProfile='full' xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink' x='0px' y='0px' width='21px' height='7px' viewBox='0 0 21 7' enable-background='new 0 0 21 7' xml:space='preserve'><polygon fill='#333333' points='2,0 7,7 12,0'/></svg>") no-repeat right center/1.5em 0.5em;
  }
}
/* ==========================================================================
   Additional layout for screen media 576px and up
   ========================================================================== */
@media only screen and (min-width: 36em) {
  header {
    float: left;
  }
  header img {
    padding-top: 1em;
  }
  header p {
    display: block;
  }

  .site-navigation {
    text-align: right;
    padding-top: 5.15em;
  }
  .site-navigation ul {
    display: inline-block;
  }
  .site-navigation li {
    display: inline-block;
  }
  .site-navigation a {
    padding-right: 0;
  }

  [class*='col-'] {
    float: left;
    padding-right: 1em;
  }
  [class*='col-']:last-of-type {
    padding-right: 0px;
  }

  .col-25 {
    width: 25%;
  }

  .col-33 {
    width: 33.33%;
  }

  .col-66 {
    width: 66.66%;
  }

  .col-50 {
    width: 50%;
  }

  .col-75 {
    width: 75%;
  }

  div.portfolio-cell {
    height: 250px;
    width: 25%;
    float: left;
    padding-right: 1em;
    overflow: hidden;
  }

  div.portfolio-cell:nth-of-type(6n-2) {
    width: 50%;
  }

  div.portfolio-cell:nth-of-type(3n+3):nth-of-type(odd) {
    width: 50%;
  }

  div.portfolio-cell:nth-of-type(3n+3) {
    float: right;
    padding-right: 0;
  }

  figure {
    word-wrap: normal;
  }
  figure img {
    -webkit-border-radius: 0.25em;
    -moz-border-radius: 0.25em;
    border-radius: 0.25em;
  }
  figure.align-left {
    float: left;
    clear: left;
    width: 45%;
    max-width: 460px;
    margin-right: 1em;
    margin-bottom: 0.5em;
  }
  figure.align-left figcaption {
    text-align: left;
    margin-left: 1em;
  }
  figure.align-right {
    float: right;
    clear: right;
    width: 45%;
    max-width: 460px;
    margin-left: 1em;
    margin-bottom: 0.5em;
  }
  figure.align-right figcaption {
    text-align: right;
    margin-right: 1em;
  }

  .dl-horizontal dt {
    float: left;
    width: 160px;
    clear: left;
    text-align: right;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
  }
  .dl-horizontal dd {
    margin-left: 180px;
  }
  .dl-horizontal dd:before, .dl-horizontal dd:after {
    content: " ";
    display: table;
  }
  .dl-horizontal dd:after {
    clear: both;
  }

  /* Additional styling for about page.*/
  body.about-page .headshot {
    margin-top: -2em;
  }
  body.about-page dl dt {
    font-style: italic;
    font-weight: bold;
    margin: 10px 0;
    padding: 0 1em 0 0;
    height: 100px;
    border-right: 1px solid #555555;
  }

  .zoom-gallery .wrap {
    width: 25%;
  }

  .zoom-gallery.wrapleft .wrap {
    width: 150px;
  }

  .zoom-gallery.wrapright .wrap {
    width: 150px;
  }
}
/* ==========================================================================
   Additional layout for screen media 864px and up
   ========================================================================== */
@media only screen and (min-width: 64em) {
  .zoom-gallery.wrapleft .wrap {
    display: block;
    float: left;
  }

  .zoom-gallery.wrapright .wrap {
    display: block;
    float: right;
  }

  .zoom-gallery .wrap {
    width: 12.5%;
  }

  /*
  
  h1 {
    @include adjust-font-size-to(38px, 1.875); // 45px line height
  }
  h2 {
    @include adjust-font-size-to(30px, 1.5833333); // 38px line height
  }
  h3 {
      @include adjust-font-size-to(24px, 1.3333333); // 32px line height
  }
  h4 {
      @include adjust-font-size-to(20px, 1.1666667); // 28px line height
  }
  h5 {
      @include adjust-font-size-to(18px, 1.08); // 26px line height
  }
  h6 {
      @include adjust-font-size-to(16px, 1);
  }*/
}
/* ==========================================================================
   Styling and layout for print media
   ========================================================================== */
@media print {
  /**
   * Remove unnecessary global styling from printed media.
   *
   * 1. Black prints faster.
   */
  * {
    -webkit-box-shadow: none !important;
    -moz-box-shadow: none !important;
    box-shadow: none !important;
    /* 1 */
    color: black !important;
    text-shadow: none !important;
    background: transparent !important;
  }

  /**
   * Use a print-friendly font and size.
   */
  body {
    font-family: "Open Sans", "Helvetica Neue", Helvetica, Arial, sans-serif;
    font-size: 8pt;
    line-height: 1.5;
    margin: 0.5cm;
    padding: 2em 5em;
  }

  /**
   * Visually separate header from body.
   */
  header {
    border-bottom: solid 1pt black;
  }
  header h1 {
    display: block;
  }
  header img {
    display: none;
  }

  /**
   * Visually separate footer from body.
   */
  footer {
    margin-top: 12pt;
    border-top: solid 1pt black;
  }

  /**
   * Hide unnecessary content from print.
   */
  nav,
  audio,
  video,
  form,
  [role="complementary"],
  #comments-form,
  .comments h4 a:last-child,
  .paginator {
    display: none;
  }

  /**
   * Make sure links are not underlined.
   */
  a {
    text-decoration: none;
  }

  /**
   * Show URLs for certain links in print.
   */
  /**
   * Don't show URLs for certain links in print.
   */
  /**
   *  Show long-form for abbreviations in print.
   */
  abbr[title]:after {
    content: " (" attr(title) ")";
  }

  /**
   *  Harmonise size, style and vertical margin of headings.
   */
  h1 {
    font-size: 28pt;
    line-height: 30pt;
    font-weight: normal;
    margin: 14pt 0;
  }

  h2 {
    font-size: 24pt;
    line-height: 28pt;
    page-break-after: avoid;
    orphans: 2;
    widows: 2;
    margin: 14pt 0;
  }

  h3 {
    font-size: 18pt;
    line-height: 22pt;
    page-break-after: avoid;
    orphans: 2;
    widows: 2;
    margin: 12pt 0;
  }

  h4 {
    font-size: 14pt;
    line-height: 18pt;
    page-break-after: avoid;
    orphans: 2;
    widows: 2;
    margin: 11pt 0;
  }

  h5 {
    font-size: 12pt;
    line-height: 16pt;
    page-break-after: avoid;
    orphans: 2;
    widows: 2;
    margin: 10pt 0;
  }

  h6 {
    font-size: 10pt;
    line-height: 14pt;
    page-break-after: avoid;
    orphans: 2;
    widows: 2;
    margin: 9pt 0;
  }

  /**
   * Prevent widows (single final paragraph line on next page) and orphans (single
   * first paragraph line on previous page).
   */
  p {
    orphans: 2;
    widows: 2;
  }

  /**
   * Harmonise size and style of small text.
   */
  footer,
  figcaption,
  tfoot,
  small,
  .footnote {
    font-size: 6pt;
    margin: 1em 0;
  }

  .articleMeta {
    display: none;
  }

  /**
   * Simple blockquote styling.
   *
   * 1. Avoid blockquotes breaking across mutiple pages.
   */
  blockquote {
    font-size: 16pt;
    border-left: 3pt solid black;
    padding: 0 0 0 8pt;
    /* 1 */
    page-break-inside: avoid;
  }

  /**
   * Simple preformatted text styling.
   */
  pre {
    margin-bottom: 8pt;
    border: solid 1pt black;
    padding: 8pt;
  }

  /**
   * Avoid user comments breaking across mutiple pages.
   */
  .comments {
    page-break-inside: avoid;
  }

  /**
   * Use a print-friendly monospaced font and size.
   */
  pre,
  code,
  kbd,
  samp,
  var {
    font-family: "Courier New", Courier, monospace;
  }

  /**
   * Italic definitons, quotes and definition terms.
   */
  dfn,
  q,
  dt {
    font-style: italic;
  }

  /**
   * 1. Ensure images are maximum possible width.
   * 2. Avoid images breaking across mutiple pages.
   */
  img {
    /* 1 */
    max-width: 100% !important;
    height: auto;
    /* 2 */
    page-break-inside: avoid;
  }

  /**
   * Image alignment (compatible with Textile markup syntax).
   *
   * Example HTML:
   *
   * <img class="align-left">
   * <img class="align-right">
   * <img class="align-center">
   */
  img.align-left {
    float: left;
    margin: 1em 1em 1em 0;
  }
  img.align-right {
    float: right;
    margin: 1em 0 1em 1em;
  }
  img.align-center {
    display: block;
    margin: 1em auto;
  }

  /**
   * Ensure margin below `figure`.
   */
  figure {
    margin-bottom: 8pt;
  }

  /**
   * Ensure margin above `figcaption`.
   */
  figcaption {
    margin-top: 4pt;
  }

  /**
   * Simple bullet styling for `ul` unordered lists.
   */
  ul {
    list-style: square;
    margin: 0 0 8pt 1.8em;
  }

  /**
   * Simple numerical styling for `ol` ordered lists.
   */
  ol {
    list-style: decimal;
    margin: 0 0 8pt 1.8em;
  }

  /**
   * Normalise margins on `dl` definition lists.
   */
  dl {
    margin: 0 0 8pt 1.8em;
  }

  /**
   * 1. Ensure margin below `table`.
   * 2. Make `table` span entire page width.
   */
  table {
    margin-bottom: 8pt;
    /* 2 */
    width: 100%;
    /* 2 */
  }

  /**
   * Harmonise styling for `caption`.
   */
  caption {
    font-weight: bold;
    text-align: left;
    margin-bottom: 4pt;
  }

  /**
   * Display table head across multi-page tables.
   */
  thead {
    display: table-header-group;
  }
  thead th {
    border-top: 1pt solid black;
  }

  /**
   * Avoid table rows breaking across mutiple pages.
   */
  tr {
    page-break-inside: avoid;
  }

  /**
   * Simple styling for table cells.
   */
  th,
  td {
    border-bottom: solid 1pt black;
    padding: 4pt 8pt;
  }

  /**
  * additional layout stuff
  */
  .article-list {
    list-style: none;
  }

  [class*='col-'] {
    width: auto;
    float: left;
    padding-right: 1em;
    word-wrap: break-word;
  }
  [class*='col-']:last-of-type {
    padding-right: 0px;
  }

  .row {
    width: 100%;
    margin: 0 auto;
    overflow: hidden;
  }
  .row:after {
    content: "";
    display: table;
    clear: both;
  }

  .col-25 {
    width: 25%;
  }

  .col-33 {
    width: 33.33%;
  }

  .col-50 {
    width: 50%;
  }

  .col-75 {
    width: 75%;
  }

  /**
   * special overides on about page
   */
  body.about-page header {
    display: none;
  }
  body.about-page h5 {
    font-size: 10pt;
    line-height: 14pt;
  }
  body.about-page dl.vcard dt {
    font-style: italic;
    font-weight: bold;
    font-size: 1.125em;
    line-height: 1.5555556em;
    margin: 0.8em 0;
    text-align: right;
    padding: 0 1em 0 0;
    width: 20%;
    float: left;
    height: 100px;
    border-right: 1px solid #999;
  }
  body.about-page dl.vcard dd {
    margin: 0;
    width: 80%;
    padding: 0 0 0 1em;
    float: right;
  }
  body.about-page dl.vcard dd.clear {
    float: none;
    margin: 0;
    height: 1em;
    clear: both;
  }
}

