@charset "UTF-8";
/*------------------------------------*\
    Main CSS
\*------------------------------------*/
/*------------------------------------*\
    $VENDORS
	Other people’s code
\*------------------------------------*/
/*------------------------------------*\
    $HELPERS
	SASS Tools
\*------------------------------------*/
/*------------------------------------*\
    Variables
\*------------------------------------*/
/*	Debug controls
	========================================================================== */
/*	URLs
	========================================================================== */
/*	Breakpoint Management
	========================================================================== */
/*	Grid Management
	========================================================================== */
/*	Legacy support
	========================================================================== */
/*	Typography
	========================================================================== */
/*	Colors
	========================================================================== */
/*	Images
	========================================================================== */
/*	Defaults
	========================================================================== */
/*------------------------------------*\
    Functions
\*------------------------------------*/
/*------------------------------------*\
    Mixins
\*------------------------------------*/
/*------------------------------------*\
    Placeholders
\*------------------------------------*/
/*------------------------------------*\
    $BASE
	Global element styles
\*------------------------------------*/
/*------------------------------------*\
    Body-level settings
\*------------------------------------*/
/*------------------------------------*\
    Heading Levels
\*------------------------------------*/
/*------------------------------------*\
    Block-level Semantics
\*------------------------------------*/
@media (min-width: 43.125em) {
  blockquote,
  dl {
    padding: 0 22px;
    padding: 0 1.375rem;
  }
}
@media (min-width: 60em) {
  blockquote,
  dl {
    padding: 0 44px;
    padding: 0 2.75rem;
  }
}
/*------------------------------------*\
    Lists
\*------------------------------------*/
@media (min-width: 60em) {
  ol,
  ul {
    margin-left: 0;
  }
}
/*------------------------------------*\
    Links
\*------------------------------------*/
/*------------------------------------*\
    Text-level semantics
\*------------------------------------*/
/*------------------------------------*\
    Code styles
\*------------------------------------*/
/*------------------------------------*\
    Media Elements
\*------------------------------------*/
@media (min-width: 43.125em) {
  .media-container--right {
    float: right;
    max-width: 250px;
    margin-left: 22px;
    margin-left: 1.375rem;
    margin-right: 0;
  }
}
/*------------------------------------*\
    Tables
\*------------------------------------*/
@media only screen and (max-width: 770px) {
  .layout-container__primary table {
    border: 0;
    padding-bottom: 0;
    display: block;
    width: 100%;
  }
  .layout-container__primary table caption {
    display: block;
  }
  .layout-container__primary table thead {
    display: none;
  }
  .layout-container__primary table tbody,
  .layout-container__primary table tr,
  .layout-container__primary table th,
  .layout-container__primary table td {
    border: 0;
    display: block;
    padding: 0;
    text-align: left;
  }
  .layout-container__primary table tr {
    margin: 0 0 22px;
    margin: 0 0 1.375rem;
  }
  .layout-container__primary table th[data-title]:before,
  .layout-container__primary table td[data-title]:before {
    content: attr(data-title) ": ";
    font-weight: bold;
  }
  .layout-container__primary table th:not([data-title]) {
    font-weight: bold;
  }
  .layout-container__primary table td:empty {
    display: none;
  }
}
@media (min-width: 43.125em) {
  table.striped {
    background: #fff;
  }
  table.striped thead {
    background: #DDD;
    border-bottom: 0;
  }
  table.striped tbody tr {
    background: #fff;
    -webkit-transition: background-color 0.25s ease;
    transition: background-color 0.25s ease;
  }
  table.striped tbody tr:nth-child(even) {
    background: #413d3a;
  }
  table.striped tbody tr:hover {
    background: #fff;
  }
  table.striped th,
  table.striped td {
    border: 1px solid #DDD;
    padding: 15px;
    padding: 0.9375rem;
  }
}
/*------------------------------------*\
    Form Styles
\*------------------------------------*/
@media (min-width: 43.125em) {
  input,
  textarea {
    width: 80%;
  }

  .fields__note {
    width: 80%;
  }
}
/*------------------------------------*\
    Animations
\*------------------------------------*/
/*------------------------------------*\
    $LAYOUT
	Page layout
\*------------------------------------*/
/*------------------------------------*\
    Grid
\*------------------------------------*/
@media (min-width: 28.75em) {
  .layout-container {
    max-width: 100%;
    margin-left: auto;
    margin-right: auto;
  }
  .layout-container:after {
    content: " ";
    display: block;
    clear: both;
  }
}
@media (min-width: 43.125em) {
  .layout-container {
    max-width: 100%;
    margin-left: auto;
    margin-right: auto;
  }
  .layout-container:after {
    content: " ";
    display: block;
    clear: both;
  }
}
@media (min-width: 60em) {
  .layout-container {
    max-width: 100%;
    margin-left: auto;
    margin-right: auto;
    padding: 0;
    max-width: 34em;
  }
  .layout-container:after {
    content: " ";
    display: block;
    clear: both;
  }
  .layout-container--blog {
    max-width: 47em;
  }
}
@media (min-width: 43.125em) {
  .layout-container__primary, .layout-container__secondary {
    width: 74.35897%;
    float: left;
    margin-right: 2.5641%;
  }
}
@media (min-width: 60em) {
  .layout-container__primary, .layout-container__secondary {
    width: 74.57627%;
    float: left;
    margin-right: 1.69492%;
  }
}

/*------------------------------------*\
    Header
\*------------------------------------*/
/*------------------------------------*\
    Main
\*------------------------------------*/
/*------------------------------------*\
    Footer
\*------------------------------------*/
@media (min-width: 60em) {
  .footer .layout-container {
    max-width: 100%;
  }
}
/*------------------------------------*\
    Print Layout stuff
\*------------------------------------*/
/*------------------------------------*\
    $COMPONENTS
	Interface patterns
\*------------------------------------*/
/*------------------------------------*\
    Media Query Watcher (for JS)
\*------------------------------------*/
@media (min-width: 20em) {
  #getActiveMQ-watcher {
    font-family: "tiny";
  }
}
@media (min-width: 28.75em) {
  #getActiveMQ-watcher {
    font-family: "small";
  }
}
@media (min-width: 43.125em) {
  #getActiveMQ-watcher {
    font-family: "medium";
  }
}
@media (min-width: 60em) {
  #getActiveMQ-watcher {
    font-family: "full";
  }
}
/*------------------------------------*\
    Modules
\*------------------------------------*/
/*------------------------------------*\
    Listing
\*------------------------------------*/
/*------------------------------------*\
    Media Elements
\*------------------------------------*/
/*------------------------------------*\
    Embeds
\*------------------------------------*/
/*------------------------------------*\
    Webmentions
\*------------------------------------*/
/*------------------------------------*\
    Footnotes
\*------------------------------------*/
/*------------------------------------*\
    Events
\*------------------------------------*/
/*------------------------------------*\
    Blog Entry
\*------------------------------------*/
@media (min-width: 43.125em) {
  .entry {
    position: relative;
  }
  .entry__header .entry__meta {
    border-left: 1px solid #DDD;
    padding: .4em 1em;
    margin-left: 1em;
    margin-top: 22px;
    margin-top: 1.375rem;
    width: 25%;
    position: absolute;
    left: 100%;
  }
  .entry__title {
    width: 134%;
  }

  @supports (column-count: 2) or (-webkit-column-count: 2) or (-moz-column-count: 2) {
    .entry__meta {
      -webkit-column-count: 1;
      -moz-column-count: 1;
      column-count: 1;
    }
  }
}
/*------------------------------------*\
    Gist
\*------------------------------------*/
@media (max-width: 770px) {
  div.gist .line-numbers,
  div.gist .line-data {
    display: table-cell;
  }
}
/*------------------------------------*\
    Rules
\*------------------------------------*/
@media (min-width: 43.125em) {
  .rule--optional {
    display: none;
  }
}
/*------------------------------------*\
    Post
\*------------------------------------*/
/*------------------------------------*\
    Webmentions
\*------------------------------------*/
/*------------------------------------*\
    Hero Shot
\*------------------------------------*/
/*------------------------------------*\
    Subsections
\*------------------------------------*/
/*------------------------------------*\
    Pullquotes
\*------------------------------------*/
@media (min-width: 43.125em) {
  .quotable {
    float: right;
    margin-left: 22px;
    margin-left: 1.375rem;
    width: 50%;
  }
}
/*------------------------------------*\
    $PAGES
	Page-specific styles
	(use sparingly)
\*------------------------------------*/
/*------------------------------------*\
    Homepage
\*------------------------------------*/
/*------------------------------------*\
    Speaking Engagements
\*------------------------------------*/
@media (min-width: 60em) {
  .speaking-engagements .listing--events {
    margin: 20px -80px 0;
    margin: 1.25rem -5rem 0;
  }
}
@media (min-width: 28.75em) {
  .speaking-engagements .event {
    -webkit-box-flex: 0;
    -webkit-flex: 0 0 -webkit-calc( 50% - 1.25rem / 2 );
    -ms-flex: 0 0 calc( 50% - 1.25rem / 2 );
    flex: 0 0 calc( 50% - 1.25rem / 2 );
    margin-left: 1.25rem;
    /* Remove left margin for row starters */
  }
  .speaking-engagements .event:nth-child(odd) {
    margin-left: 0;
  }
  .speaking-engagements .event--future:nth-child(odd) {
    margin-left: 1.25rem;
  }
  .speaking-engagements .event--future:nth-child(even) {
    margin-left: 0;
  }
  .speaking-engagements .event--future:nth-last-child(n+1):first-child {
    -webkit-box-flex: 0;
    -webkit-flex: 0 0 100%;
    -ms-flex: 0 0 100%;
    flex: 0 0 100%;
    margin-left: 0;
  }
  .speaking-engagements .event--future:nth-last-child(n+1):first-child .listing__item__title {
    font-size: 36px;
    font-size: 2.25rem;
  }
}
@media (min-width: 43.125em) {
  .speaking-engagements .event {
    /* 1/3 width with a 20px gap (fudged) */
    -webkit-box-flex: 0;
    -webkit-flex: 0 0 -webkit-calc( 100% / 3 - 0.875rem );
    -ms-flex: 0 0 calc( 100% / 3 - 0.875rem );
    flex: 0 0 calc( 100% / 3 - 0.875rem );
  }
  .speaking-engagements .event:nth-child(even), .speaking-engagements .event:nth-child(odd) {
    margin-left: 1.25rem;
  }
  .speaking-engagements .event:nth-child(3n+1) {
    margin-left: 0;
  }
  .speaking-engagements .event--future:nth-last-child(1):first-child, .speaking-engagements .event--future:nth-last-child(1):first-child ~ .event--future {
    -webkit-box-flex: 0;
    -webkit-flex: 0 0 100%;
    -ms-flex: 0 0 100%;
    flex: 0 0 100%;
    margin-left: 0;
  }
  .speaking-engagements .event--future:nth-last-child(1):first-child .listing__item__title, .speaking-engagements .event--future:nth-last-child(1):first-child ~ .event--future .listing__item__title {
    font-size: 36px;
    font-size: 2.25rem;
  }
  .speaking-engagements .event--future:nth-child(3n+1) {
    margin-left: 1.25rem;
  }
  .speaking-engagements .event--future:nth-last-child(n+2):first-child ~ .event--future:nth-child(3n) {
    margin-left: 0;
  }
  .speaking-engagements .event--future:nth-last-child(n+2):first-child, .speaking-engagements .event--future:nth-last-child(n+2):first-child + .event--future {
    -webkit-box-flex: 0;
    -webkit-flex: 0 0 -webkit-calc( 50% - 1.25rem / 2 );
    -ms-flex: 0 0 calc( 50% - 1.25rem / 2 );
    flex: 0 0 calc( 50% - 1.25rem / 2 );
  }
  .speaking-engagements .event--future:nth-last-child(n+2):first-child .listing__item__title, .speaking-engagements .event--future:nth-last-child(n+2):first-child + .event--future .listing__item__title {
    font-size: 24px;
    font-size: 1.5rem;
  }
}
