@charset "UTF-8";
html {
  height: 100%;
  max-height: 100%;
  font-size: 10px;
  -webkit-tap-highlight-color: transparent; }

body {
  height: 100%;
  max-height: 100%;
  font-family: "Roboto","HelveticaNeue","Helvetica Neue",sans-serif;
  letter-spacing: 0.01rem;
  font-size: 1.8em;
  line-height: 1.75em;
  color: #3A4145;
  -webkit-font-feature-settings: 'kern' 1;
  -moz-font-feature-settings: 'kern' 1;
  -o-font-feature-settings: 'kern' 1;
  text-rendering: geometricPrecision; }

h1, h2, h3, h4, h5, h6,
input, label, select, textarea, table, header, footer, .categories, .listing, .sidebar, .tutorial-share, .modalDialog, .faq ul, .tutorial-series ul {
  -webkit-font-feature-settings: 'dlig' 1, 'liga' 1, 'lnum' 1, 'kern' 1;
  -moz-font-feature-settings: 'dlig' 1, 'liga' 1, 'lnum' 1, 'kern' 1;
  -o-font-feature-settings: 'dlig' 1, 'liga' 1, 'lnum' 1, 'kern' 1;
  font-family: "Open Sans", sans-serif;
  text-rendering: geometricPrecision; }

strong {
  color: #008a00; }

.categories a {
  text-decoration: none; }

h1,
h2,
h3,
h4,
h5,
h6 {
  color: #2E2E2E;
  line-height: 1.15em;
  margin: 0 0 0.4em 0;
  font-weight: 500; }

h1 {
  font-size: 5rem;
  letter-spacing: -2px;
  text-indent: -3px; }

.tutorial-content h1 {
  font-size: 4.5rem;
  margin: 0 0 .7em 0; }

h2 {
  font-size: 3.6rem;
  letter-spacing: -1px; }

h3 {
  font-size: 3rem; }

h4 {
  font-size: 2.5rem; }

h5 {
  font-size: 2rem; }

h6 {
  font-size: 2rem; }

a {
  color: #4A4A4A;
  transition: color 0.3s ease; }

a:hover {
  color: #111; }

p,
ul,
ol,
dl {
  -webkit-font-feature-settings: 'liga' 1, 'onum' 1, 'kern' 1;
  -moz-font-feature-settings: 'liga' 1, 'onum' 1, 'kern' 1;
  -o-font-feature-settings: 'liga' 1, 'onum' 1, 'kern' 1;
  margin: 0 0 1.75em 0;
  text-rendering: geometricPrecision; }

ol,
ul {
  padding-left: 3rem; }

ol ol,
ul ul,
ul ol,
ol ul {
  margin: 0 0 0.4em 0;
  padding-left: 2em; }

li {
  margin: 0.4em 0; }

li li {
  margin: 0; }

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

blockquote {
  -moz-box-sizing: border-box;
  box-sizing: border-box;
  margin: 1.75em 0 1.75em -2.2em;
  padding: 0 0 0 1.75em;
  border-left: #4A4A4A 0.4em solid; }

blockquote p {
  margin: 0.8em 0;
  font-style: italic; }

blockquote small {
  display: inline-block;
  margin: 0.8em 0 0.8em 1.5em;
  font-size: 0.9em;
  color: #CCC; }

blockquote small:before {
  content: "— "; }

blockquote cite {
  font-weight: 700; }

blockquote cite a {
  font-weight: normal; }

mark {
  background-color: #fdffb6; }

kbd {
  display: inline-block;
  margin-bottom: 0.4em;
  padding: 1px 8px;
  border: #CCC 1px solid;
  color: #666;
  text-shadow: #FFF 0 1px 0;
  font-size: 0.9em;
  font-weight: 700;
  background: #F4F4F4;
  border-radius: 4px;
  box-shadow: 0 1px 0 rgba(0, 0, 0, 0.2), 0 1px 0 0 #fff inset; }

@media only screen and (max-width: 900px) {
  blockquote {
    margin-left: 0; }

  hr {
    margin: 2.4em 0; }

  ol,
  ul {
    padding-left: 2em; }

  h1 {
    font-size: 4.5rem;
    text-indent: -2px; }

  h2 {
    font-size: 3.6rem; }

  h3 {
    font-size: 3.1rem; }

  h4 {
    font-size: 2.5rem; }

  h5 {
    font-size: 2.2rem; }

  h6 {
    font-size: 1.8rem; } }
@media only screen and (max-width: 500px) {
  hr {
    margin: 1.75em 0; }

  p,
  ul,
  ol,
  dl {
    font-size: 0.95em;
    margin: 0 0 2.5rem 0; }

  h1,
  h2,
  h3,
  h4,
  h5,
  h6 {
    margin: 0 0 0.3em 0; }

  h1 {
    font-size: 2.8rem;
    letter-spacing: -1px; }

  h2 {
    font-size: 2.4rem;
    letter-spacing: 0; }

  h3 {
    font-size: 2.1rem; }

  h4 {
    font-size: 1.9rem; }

  h5 {
    font-size: 1.8rem; }

  h6 {
    font-size: 1.8rem; } }
html, body {
  padding: 0;
  margin: 0;
  background: #343642; }

body {
  min-height: 100vh;
  color: #222;
  -webkit-font-smoothing: antialiased; }

h2, h2 a {
  color: #222; }
  h2:hover, h2 a:hover {
    text-decoration: none; }

h4 {
  margin: 0 0 20px 0; }

img {
  max-width: 100%; }

ul, ol {
  margin-top: 20px;
  margin-bottom: 20px; }
  ul li, ol li {
    margin: 0 0 10px 0; }

code, pre, tt {
  font-family: Inconsolata,Consolas,Courier,"Courier New","Liberation Mono",monospace;
  font-size: .9em;
  white-space: pre-wrap;
  border-radius: 2px;
  line-height: 1.4;
  font-weight: 400;
  background-color: #404145;
  color: #FAFAFA;
  border-radius: 2px;
  padding: 2px 5px; }

.count {
  color: #ccc;
  font-size: .7em;
  position: relative;
  top: -2px; }

.categories {
  display: flex;
  flex-wrap: wrap;
  flex-direction: row;
  justify-content: flex-start;
  align-items: stretch;
  font-size: .9em; }
  .categories h3 {
    font-size: 2.75rem;
    margin-bottom: 20px; }

.category {
  flex: 0 0 100%;
  margin: 0 0 30px 0; }
  .category h3 {
    text-transform: capitalize; }
  @media (min-width: 750px) {
    .category {
      flex: 0 0 50%; } }
  @media (min-width: 900px) {
    .category {
      flex: 0 0 33%; } }
  .category ul {
    padding: 0;
    margin: 0;
    list-style: none; }
  .category li {
    margin-right: 15px; }
    .category li a {
      padding: 2px 0;
      display: flex;
      font-size: 1.1em;
      align-items: center; }
      .category li a svg {
        margin: 0 5px 0 0;
        fill: #4A4A4A;
        width: 25px;
        height: 25px;
        -webkit-transition: all .2s ease; }
      .category li a:hover {
        text-decoration: none; }
        .category li a:hover svg {
          fill: #111;
          width: 30px;
          height: 30px; }

.tutorial {
  display: flex; }
  .tutorial h2 {
    margin-top: 40px;
    color: #069; }
  .tutorial .sidebar {
    display: none;
    padding: 0 20px 0 0;
    position: absolute;
    top: 85px;
    width: 200px; }
    @media (min-width: 750px) {
      .tutorial .sidebar {
        display: block; } }
    .tutorial .sidebar h3 {
      margin-top: 0; }
    .tutorial .sidebar ul {
      padding: 0;
      margin: 0;
      list-style: none; }
      .tutorial .sidebar ul li {
        margin: 0 0 15px 0; }
    .tutorial .sidebar a {
      color: #666;
      text-decoration: none;
      display: block;
      -webkit-transition: transform .2s ease;
      line-height: 1.3em; }
      .tutorial .sidebar a.active {
        color: #4A4A4A;
        transform: translateX(10px); }
  .tutorial .tutorial-content {
    width: 100%; }
    @media (min-width: 750px) {
      .tutorial .tutorial-content {
        margin-left: 230px; } }

.listing {
  list-style: none;
  padding: 0;
  margin: 0;
  display: flex;
  flex-flow: wrap; }
  .listing li {
    margin: 10px 0;
    padding: 0;
    width: 100%; }
    @media (min-width: 750px) {
      .listing li {
        flex: 0 0 50%; } }
  .listing h3 {
    margin: 0;
    font-size: 1.3em; }
  .listing a {
    display: flex;
    text-decoration: none;
    padding: 5px;
    border-radius: 5px;
    height: 100%; }
    .listing a article {
      display: flex;
      align-items: center;
      flex-wrap: wrap; }
    .listing a .icon {
      flex: 0 0 50px;
      display: flex;
      align-items: center;
      padding: 0 5px 0 0; }
      .listing a .icon svg {
        width: 35px;
        height: 35px;
        fill: #4A4A4A;
        -webkit-transition: all .2s ease;
        margin: 0 auto; }
    .listing a .length {
      color: #ccc;
      font-size: .8em; }
    .listing a:hover svg {
      fill: #111;
      width: 40px;
      height: 40px; }
    .listing a p {
      margin: 5px 0 0 0;
      color: #888;
      font-size: .9em;
      line-height: 1.4em;
      width: 100%; }

.tutorial-share a {
  color: #666;
  text-decoration: none;
  margin-right: 10px; }
  .tutorial-share a:hover {
    color: #222; }
    .tutorial-share a:hover svg {
      fill: #222; }
.tutorial-share svg {
  fill: #666;
  position: relative;
  top: 5px;
  width: 20px; }

.sharing ul {
  list-style: none;
  padding: 0;
  margin: 0; }
  .sharing ul li {
    margin: 10px 0 0 0; }
  .sharing ul svg {
    background-color: black;
    fill: #fff;
    padding: 6px;
    border-radius: 3px;
    margin: 0 10px 0 0;
    transition: border-radius 200ms ease-in; }
    .sharing ul svg.email {
      background-color: #ff9d09; }
    .sharing ul svg.facebook {
      background-color: #3b5998; }
    .sharing ul svg.twitter {
      background-color: #55acee; }
    .sharing ul svg.google-plus {
      background-color: #db4437; }
    .sharing ul svg.youtube {
      background-color: #cd201f; }
    .sharing ul svg.instagram {
      background-color: #f167f5; }
    .sharing ul svg.linkedin {
      background-color: #0077b5; }
    .sharing ul svg.pinterest {
      background-color: #bd081c; }
    .sharing ul svg.hacker-news {
      background-color: #ff6600; }
    .sharing ul svg.designer-news {
      background-color: #2d72d9; }
.sharing a {
  text-decoration: none;
  padding: 3px 0;
  display: flex;
  align-items: center;
  font-size: 1.1em;
  color: #666; }
  .sharing a:hover {
    color: #111; }

.related, .tutorial-series {
  margin: 50px 0;
  padding: 20px 0; }
  .related ul, .tutorial-series ul {
    padding: 0;
    margin: 0;
    list-style: none; }

.tutorial-series ul {
  padding: 0 0 0 20px; }
.tutorial-series li:last-child a:after {
  background: none;
  height: 0;
  width: 0; }
.tutorial-series li {
  flex: 0 0 100%;
  margin: 0; }
  .tutorial-series li a {
    position: relative;
    margin: 0 0 20px 0; }
    .tutorial-series li a:before {
      content: "\25BA";
      position: absolute;
      display: block;
      top: 50%;
      -webkit-transform: translateY(-50%);
      -moz-transform: translateY(-50%);
      -ms-transform: translateY(-50%);
      transform: translateY(-50%);
      left: -23px;
      color: #e0e0e0;
      z-index: 1; }
    .tutorial-series li a:after {
      content: "";
      display: block;
      left: -22px;
      background: #e0e0e0;
      position: absolute;
      bottom: -43px;
      width: 2px;
      top: 39px; }
  .tutorial-series li.active a:before {
    color: #666; }
.tutorial-series h4 {
  margin: 0; }

.resources {
  background: #fafafa;
  padding: 15px;
  border: 1px solid #eee;
  border-top: 0;
  margin: 0 0 30px 0; }
  .resources h3 {
    margin-top: 0; }
  .resources ul {
    margin: 0; }
  .resources li {
    margin: 0; }

@media (min-width: 750px) {
  .show_hero_search header nav form {
    display: none; }

  .show_hero_search .hero_search {
    display: block; } }
header {
  padding: 16px 0 10px 0;
  background: #0c92f1;
  color: #fff; }
  header form {
    position: relative; }
    header form input[type=search] {
      box-sizing: border-box;
      width: 100%; }
  @media (min-width: 750px) {
    header .top-bar {
      display: flex; } }
  header .top-bar .logo a {
    display: block;
    line-height: 0; }
  header .top-bar .logo svg {
    fill: #fff;
    width: 100%;
    height: 46px;
    min-width: 100px; }
  header .top-bar form svg {
    fill: #eee; }
  header nav {
    display: none; }
    @media (min-width: 750px) {
      header nav {
        flex: 1;
        margin: 0 0 0 10px;
        display: block; }
        header nav form {
          position: absolute;
          right: 25px;
          top: 4px;
          text-align: right; }
        header nav input[type="search"] {
          max-width: 300px; } }
    header nav input[type="search"] {
      width: 100%;
      padding: 5px 10px; }
    header nav svg {
      position: absolute;
      top: 6px;
      right: 7px;
      width: 25px;
      cursor: pointer; }
    header nav a {
      color: #fff;
      text-decoration: none;
      display: block;
      padding: 20px 0; }
      @media (min-width: 750px) {
        header nav a {
          display: inline-block;
          padding: 7px 0;
          margin: 0 15px;
          border-bottom: 2px solid rgba(255, 255, 255, 0); } }
      header nav a.active, header nav a.active:hover {
        border-bottom-color: rgba(255, 255, 255, 0.3); }
      header nav a:hover {
        text-decoration: none;
        color: #fff; }
        @media (min-width: 750px) {
          header nav a:hover {
            border-bottom-color: rgba(255, 255, 255, 0.1); } }

.nav-open header nav {
  display: block; }

.nav-toggle {
  position: absolute;
  right: 25px;
  font-size: 1.6em;
  line-height: 1em;
  text-decoration: none;
  color: #fff;
  top: 4px; }
  @media (min-width: 750px) {
    .nav-toggle {
      display: none; } }

.hero_search {
  display: none;
  text-align: center;
  flex: 0 0 100%;
  padding: 60px 0 30px 0; }
  .hero_search form {
    position: relative;
    max-width: 800px;
    margin: 0 auto;
    padding: 20px 0; }
    .hero_search form svg {
      fill: #eee;
      position: absolute;
      top: 31px;
      right: 12px;
      display: inline-block;
      width: 36px;
      height: 40px;
      cursor: pointer; }
  .hero_search h1 {
    color: #fff; }
  .hero_search input[type=search] {
    margin: 0;
    color: #555;
    padding: 15px;
    font-size: 1.1em; }

.wrapper {
  max-width: 900px;
  margin: 0 auto;
  padding: 0 30px;
  position: relative; }

.logo img {
  height: 30px; }

.content {
  background: #fff;
  padding: 60px 0; }

dt a.header-link, h2 a.header-link {
  text-decoration: none;
  color: #ccc;
  opacity: 0;
  transition: opacity ease .2s,color ease .2s;
  vertical-align: bottom;
  margin: 0 0 0 5px; }
  dt a.header-link:hover, h2 a.header-link:hover {
    color: #4A4A4A; }
dt:hover a, h2:hover a {
  opacity: 1; }

.video_wrapper {
  position: relative;
  padding-bottom: 59.5%;
  padding-top: 25px;
  height: 0; }
  .video_wrapper iframe {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%; }

#search-results {
  margin: 0;
  padding: 0; }
  #search-results li {
    list-style: none;
    margin: 0;
    padding: 0; }
    #search-results li h4 {
      margin: 20px 0 10px 0; }
    #search-results li p {
      line-height: 1.5;
      padding: 0;
      margin: 0; }

#search-query {
  font-weight: bold; }

/*
  Darkly Pygments Theme
  (c) 2014 Sourcey
  http://sourcey.com
*/
.highlight {
  white-space: pre;
  overflow: auto;
  word-wrap: normal;
  /* horizontal scrolling */
  -moz-border-radius: 3px;
  -webkit-border-radius: 3px;
  border-radius: 3px;
  padding: 10px 15px;
  background: #404145;
  color: #C1C2C3; }

.highlight .hll {
  background-color: #ffc; }

.highlight .gd {
  color: #2e3436;
  background-color: #0e1416; }

.highlight .gr {
  color: #eeeeec;
  background-color: #c00; }

.highlight .gi {
  color: #babdb6;
  background-color: #1f2b2d; }

.highlight .go {
  color: #2c3032;
  background-color: #2c3032; }

.highlight .kt {
  color: #e3e7df; }

.highlight .ni {
  color: #888a85; }

.highlight .c, .highlight .cm, .highlight .c1, .highlight .cs {
  color: #8D9684; }

.highlight .err, .highlight .g, .highlight .l, .highlight .n, .highlight .x, .highlight .p, .highlight .ge,
.highlight .gp, .highlight .gs, .highlight .gt, .highlight .ld, .highlight .s, .highlight .nc, .highlight .nd,
.highlight .ne, .highlight .nl, .highlight .nn, .highlight .nx, .highlight .py, .highlight .ow, .highlight .w, .highlight .sb,
.highlight .sc, .highlight .sd, .highlight .s2, .highlight .se, .highlight .sh, .highlight .si, .highlight .sx, .highlight .sr,
.highlight .s1, .highlight .ss, .highlight .bp {
  color: #C1C2C3; }

.highlight .k, .highlight .kc, .highlight .kd, .highlight .kn, .highlight .kp, .highlight .kr,
.highlight .nt {
  color: #729fcf; }

.highlight .cp, .highlight .gh, .highlight .gu, .highlight .na, .highlight .nf {
  color: #E9A94B; }

.highlight .m, .highlight .nb, .highlight .no, .highlight .mf, .highlight .mh, .highlight .mi, .highlight .mo,
.highlight .il {
  color: #8ae234; }

.highlight .o {
  color: #989DAA; }

.highlight .nv, .highlight .vc, .highlight .vg, .highlight .vi {
  color: #fff; }

footer {
  background: #343642;
  color: #fff;
  padding: 20px 0; }
  footer .edit-footer {
    text-align: center;
    margin: 0; }
  footer .copyright {
    color: #666;
    margin: 0;
    text-align: center;
    font-size: .9em; }
  footer a {
    color: #fff;
    text-decoration: none; }
    footer a:hover svg {
      fill: #fff; }
  footer ul {
    padding: 0;
    list-style: none;
    margin: 0;
    text-align: center; }
  footer li {
    display: inline-block;
    margin: 0 6px 15px 0; }
  footer svg {
    fill: #666;
    position: relative;
    top: 5px;
    transition: fill 200ms ease-in; }

.faq ul {
  padding: 0;
  margin: 0 0 50px 0;
  list-style: none; }
.faq li {
  font-size: 1em; }
  .faq li a {
    color: #666;
    text-decoration: none;
    display: block;
    border-bottom: 1px solid #eee;
    padding: 5px 0; }
    .faq li a:hover {
      color: #222; }

.modalDialog {
  position: fixed;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  background: rgba(0, 0, 0, 0.6);
  z-index: 99999;
  opacity: 0;
  -webkit-transition: opacity 200ms ease-in;
  -moz-transition: opacity 200ms ease-in;
  transition: opacity 200ms ease-in;
  pointer-events: none; }
  .modalDialog.show {
    opacity: 1;
    pointer-events: auto; }
  .modalDialog > div {
    max-width: 600px;
    position: relative;
    margin: 10% auto;
    padding: 130px 40px 40px;
    border-radius: 3px;
    background: #fff;
    box-sizing: border-box; }
  .modalDialog h2 {
    font-weight: bold;
    position: absolute;
    top: 0;
    left: 0;
    padding: 0 40px;
    line-height: 100px;
    width: 100%;
    box-sizing: border-box;
    background: #eee;
    border-radius: 2px 2px 0 0; }
  .modalDialog p {
    font-size: .9em;
    line-height: 1.3em;
    margin: 0 0 20px 0; }
  .modalDialog input[type="email"] {
    font-size: 1em; }
  .modalDialog .close {
    position: absolute;
    top: 33px;
    right: 35px;
    font-size: 1.5em;
    width: 25px;
    height: 25px;
    cursor: pointer;
    z-index: 99;
    font-size: 30px; }

input[type="text"], input[type="email"] {
  display: block;
  width: 100%;
  font-size: 1.3em;
  padding: 10px;
  box-sizing: border-box;
  border-radius: 3px;
  border: 1px solid #ccc; }

input[type="submit"] {
  background: #2f8cff;
  color: #fff;
  border: 0;
  padding: 9px 10px;
  font-size: 1em;
  margin-top: 9px;
  border-radius: 3px;
  width: 100%;
  cursor: pointer; }

input {
  outline: none; }

input[type=search] {
  -webkit-appearance: textfield;
  -webkit-box-sizing: content-box;
  font-size: 100%; }

input::-webkit-search-decoration,
input::-webkit-search-cancel-button {
  display: none; }

input[type=search] {
  border: solid 1px #ccc;
  padding: 7px 14px 7px 32px;
  -webkit-border-radius: 3px;
  -moz-border-radius: 3px;
  border-radius: 3px; }

input:-moz-placeholder {
  color: #ccc; }

input::-webkit-input-placeholder {
  color: #ccc; }

.editor-link {
  display: none;
  margin-top: 0;
  border: 0;
  border-radius: 2px;
  box-sizing: border-box;
  text-decoration: none;
  margin: 0;
  cursor: pointer;
  background-color: #f7e064;
  color: #333;
  box-shadow: 1px 1px 5px 0 rgba(0, 0, 0, 0.2); }
  .editor-link:hover {
    background-color: #f4d525;
    color: #333; }

.cms-editor-active .editor-link {
  display: block; }

.cms-editor-active nav .editor-link {
  display: inline; }

.cms-editor-active .sidebar .editor-link {
  display: inline-block;
  margin: 0 auto 20px auto;
  padding: 10px 20px; }
