.site-header {
  position: relative; }

.site-logo {
  display: block; }

.site-description {
  margin: 0.5em 0 0 0;
  letter-spacing: 0.125em;
  text-transform: uppercase; }

.home-header {
  height: 16vw;
  min-height: 6rem;
  max-height: 12rem;
  background: #000 center no-repeat;
  background-size: cover;
  color: #fff;
  text-align: center; }
  .home-header:before {
    content: '';
    display: inline-block;
    vertical-align: middle;
    height: 100%; }
  .home-header .site-branding {
    display: inline-block;
    vertical-align: middle;
    width: 50%;
    max-width: 15rem; }
  .home-header .site-description {
    font-size: 0.625rem; }

.standard-header {
  height: 26.666666666666vw;
  max-height: 8rem;
  background: #000 center no-repeat;
  background-size: cover;
  color: #fff; }
  .standard-header > .container {
    height: 100%; }
    .standard-header > .container:before {
      content: '';
      display: inline-block;
      vertical-align: middle;
      height: 100%; }
  .standard-header .site-branding {
    display: inline-block;
    vertical-align: middle;
    width: 50%;
    margin-left: 2rem; }
  .standard-header .site-description {
    clip: rect(1px, 1px, 1px, 1px);
    position: absolute !important;
    height: 1px;
    width: 1px;
    overflow: hidden;
    word-wrap: normal !important;
    /* Many screen reader and browser combinations announce broken words as they would appear visually. */ }
    .standard-header .site-description:focus {
      background-color: #f1f1f1;
      border-radius: 3px;
      -webkit-box-shadow: 0 0 2px 2px rgba(0, 0, 0, 0.6);
      box-shadow: 0 0 2px 2px rgba(0, 0, 0, 0.6);
      clip: auto !important;
      color: #21759b;
      display: block;
      font-size: 0.875rem;
      font-weight: bold;
      height: auto;
      left: 5px;
      line-height: normal;
      padding: 15px 23px 14px;
      text-decoration: none;
      top: 5px;
      width: auto;
      z-index: 100000;
      /* Above WP toolbar. */ }

@media screen and (min-width: 60rem) {
  .site-description {
    letter-spacing: 0.25em; }
  .home-header .site-branding {
    max-width: 30rem; }
  .home-header .site-description {
    font-size: 0.75rem; }
  .standard-header .site-branding {
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    height: 100%;
    padding: 1.5rem 0;
    margin-left: 3.5rem; }
  .standard-header .site-logo {
    height: 100%; }
    .standard-header .site-logo img {
      width: auto;
      height: 100%; } }
