@charset "UTF-8";
@media (min-width: 600px) {
  div[id="project_grid"],
  div[id="project_index"],
  div[id="login_panes"] {
    display: -webkit-box;
    display: -webkit-flex;
    display: -moz-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-flex-wrap: wrap;
    -moz-flex-wrap: wrap;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap; }
    div[id="project_grid"]:after,
    div[id="project_index"]:after,
    div[id="login_panes"]:after {
      visibility: hidden;
      display: block;
      font-size: 0;
      content: " ";
      clear: both;
      height: 0; } }

.project_card,
.project_entry,
.auth_interface {
  display: block;
  width: 100%;
  margin-bottom: 4em; }
  @media (min-width: 600px) and (max-width: 991px) {
    .project_card,
    .project_entry,
    .auth_interface {
      width: 48.57143%;
      clear: right;
      float: left;
      margin-left: 0;
      margin-right: 2.85714%; }
      .project_card:nth-child(2n),
      .project_entry:nth-child(2n),
      .auth_interface:nth-child(2n) {
        width: 48.57143%;
        clear: right;
        float: right;
        margin-right: 0; }
      .project_card:nth-child(2n+3),
      .project_entry:nth-child(2n+3),
      .auth_interface:nth-child(2n+3) {
        width: 48.57143%;
        clear: right;
        float: left;
        margin-left: 0;
        margin-right: 2.85714%;
        clear: both; } }
  @media (min-width: 992px) and (max-width: 1239px) {
    .project_card,
    .project_entry,
    .auth_interface {
      width: 31.42857%;
      clear: right;
      float: left;
      margin-left: 0;
      margin-right: 2.85714%; }
      .project_card:nth-child(3n),
      .project_entry:nth-child(3n),
      .auth_interface:nth-child(3n) {
        width: 31.42857%;
        clear: right;
        float: right;
        margin-right: 0; }
      .project_card:nth-child(3n+4),
      .project_entry:nth-child(3n+4),
      .auth_interface:nth-child(3n+4) {
        width: 31.42857%;
        clear: right;
        float: left;
        margin-left: 0;
        margin-right: 2.85714%;
        clear: both; } }
  @media (min-width: 1240px) {
    .project_card,
    .project_entry,
    .auth_interface {
      width: 22.85714%;
      clear: right;
      float: left;
      margin-left: 0;
      margin-right: 2.85714%; }
      .project_card:nth-child(4n),
      .project_entry:nth-child(4n),
      .auth_interface:nth-child(4n) {
        width: 22.85714%;
        clear: right;
        float: right;
        margin-right: 0; }
      .project_card:nth-child(4n+5),
      .project_entry:nth-child(4n+5),
      .auth_interface:nth-child(4n+5) {
        width: 22.85714%;
        clear: right;
        float: left;
        margin-left: 0;
        margin-right: 2.85714%;
        clear: both; } }

.work_step:after {
  visibility: hidden;
  display: block;
  font-size: 0;
  content: " ";
  clear: both;
  height: 0; }

@media (min-width: 768px) {
  .text_column {
    width: 48.57143%;
    float: left;
    margin-right: -100%;
    margin-left: 0;
    clear: none;
    position: -webkit-sticky;
    position: -ms-sticky;
    position: sticky;
    top: 10px; } }

@media (min-width: 768px) {
  .picture_column {
    width: 48.57143%;
    float: right;
    margin-left: 0;
    margin-right: 0;
    clear: none; } }

.picture_column img {
  width: 100%;
  max-width: 100%; }

.l-page {
  max-width: 1500px;
  margin-left: auto;
  margin-right: auto;
  padding-left: 30px;
  padding-right: 30px; }
  @media (min-width: ) {
    .l-page {
      padding-left: 0;
      padding-right: 0; } }
  .l-page:after {
    visibility: hidden;
    display: block;
    font-size: 0;
    content: " ";
    clear: both;
    height: 0; }

body {
  margin: 0px;
  background: #ffffff;
  color: #ffffff;
  font-family: Lato, sans-serif;
  font-weight: lighter; }

h1 {
  font-family: Lato, sans-serif;
  font-weight: normal; }

h2, h3, h4, h5, h6 {
  font-family: Lato, sans-serif;
  font-weight: normal;
  color: #ffffff; }

a {
  color: #c0d640;
  text-decoration: none; }

a:hover {
  color: #c0d53f;
  text-decoration: none; }

img {
  max-width: 100%; }

li {
  margin: 0.2em 0; }

@media (max-width: 479px) {
  #site-header {
    text-align: center; } }

@media (max-width: 767px) {
  #site-header {
    background: #d7e585; } }

@media (min-width: 768px) {
  #site-header {
    background: linear-gradient(135deg, #d7e585 0%, #d7e585 46%, #e6efb3 46%, #e6efb3 54%, #ffffff 54%, #ffffff 100%); } }

@media (min-width: 480px) {
  #site-header .l-page {
    display: flex;
    align-items: flex-end;
    padding-top: 30px;
    padding-bottom: 30px;
    flex-wrap: wrap; } }

@media (min-width: 768px) {
  #site-header .l-page {
    flex-wrap: nowrap; } }

#site-header .site-logo {
  display: inline-block;
  margin-top: 10px; }
  @media (min-width: 480px) {
    #site-header .site-logo {
      margin-right: 10px;
      margin-top: -15px;
      margin-bottom: -15px; } }

#site-header h1 {
  margin: 0;
  font-size: 25px;
  font-weight: bold; }
  @media (max-width: 479px) {
    #site-header h1 {
      margin-bottom: 10px; } }
  @media (min-width: 768px) {
    #site-header h1 {
      flex-basis: 30%;
      margin-right: 5%; } }
  #site-header h1 a {
    color: #231f20; }

#site-header .site-description {
  font-size: 18px;
  color: #494949;
  margin: -30px;
  margin-top: 20px; }
  @media (max-width: 479px) {
    #site-header .site-description {
      margin-top: 10px;
      margin-bottom: 20px; } }
  @media (max-width: 767px) {
    #site-header .site-description {
      background: #ffffff;
      border-top: 15px solid #e6efb3;
      padding: 20px 30px;
      width: 100%; } }
  @media (min-width: 768px) {
    #site-header .site-description {
      flex: 1;
      text-align: right;
      margin: 0;
      margin-left: 7%; } }

div#content_area {
  background: #494949; }

.search-bar {
  box-sizing: border-box;
  max-width: 1500px;
  margin-left: auto;
  margin-right: auto;
  padding: 30px;
  width: 100%;
  background: transparent;
  transition: all 0.4s ease-in-out;
  pointer-events: none; }
  @media (min-width: 600px) {
    .search-bar {
      position: absolute; } }
  .search-bar input[type=search] {
    font-size: 28px;
    border: none;
    color: #fff;
    width: 100%;
    padding: 3px 0 3px 40px;
    background: no-repeat 9px center/22px url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 8 8"><path fill="%23fff" d="M7.99 6.928L5.847 4.784a3.152 3.152 0 1 0-2.694 1.52 3.13 3.13 0 0 0 1.63-.457l2.145 2.146L7.99 6.928zM1.203 3.154a1.954 1.954 0 0 1 1.95-1.95 1.953 1.953 0 0 1 1.95 1.95 1.95 1.95 0 0 1-3.9 0z"/></svg>') #222;
    cursor: pointer;
    pointer-events: auto;
    outline: none;
    transition: all 0.1s ease-in-out; }
    @media (min-width: 600px) {
      .search-bar input[type=search] {
        width: 40px; } }
  @media (min-width: 600px) {
    .search-bar.active, .search-bar.on {
      background: #222; } }
  .search-bar.active input[type=search], .search-bar.on input[type=search] {
    width: 100%;
    padding-right: 10px;
    cursor: text;
    transition: all 0.6s ease-in-out; }

.title {
  padding: 30px 0;
  margin-top: 0;
  margin-bottom: 0;
  margin-left: 30px;
  max-width: 1500px;
  margin-left: auto;
  margin-right: auto;
  text-align: left;
  font-size: 18px;
  color: #ffffff; }
  @media (min-width: 600px) {
    .title {
      padding-left: 55px; } }
  .title a {
    display: inline-block;
    margin-right: 1em;
    padding: 0.5em 1.25em;
    background: #c0d53f;
    color: #494949; }

.page-footer {
  padding: 40px 0; }
  @media (min-width: 600px) {
    .page-footer:after {
      visibility: hidden;
      display: block;
      font-size: 0;
      content: " ";
      clear: both;
      height: 0; } }

@media (min-width: 480px) {
  .footer-logo {
    float: left; } }

.footer-info {
  padding-top: 1em; }

.footer-desc {
  color: #666; }
  @media (min-width: 480px) {
    .footer-desc {
      margin-left: 100px;
      border-top: 1px solid #e0e0e0; } }
  .footer-desc a {
    color: #494949; }

@media (min-width: 600px) {
  .footer-desc--copy {
    float: left;
    width: 50%; } }

@media (min-width: 600px) {
  .footer-desc--source {
    float: right;
    width: 50%;
    text-align: right; } }

.copyleft {
  font-size: 12px;
  line-height: 12px;
  display: inline-block;
  width: 12px;
  height: 12px;
  text-align: center; }

#content_area {
  padding-bottom: 6em; }

#set_description {
  text-align: left; }

#dashboard .title {
  /* Hide the text. */
  text-indent: 100%;
  white-space: nowrap;
  overflow: hidden; }

.project_card {
  text-align: left;
  font-size: 18px;
  font-family: Titillium, sans-serif;
  color: #ffffff; }
  .project_card h3 {
    margin-bottom: -0.5em;
    font-size: 22px;
    color: #c0d640; }

div[id="login_panes"] {
  padding: 50px 0; }

.auth_interface form {
  padding: 20px;
  background: #565656;
  min-width: 200px;
  min-height: 200px;
  position: relative; }

.auth_interface input[type="submit"] {
  position: absolute;
  bottom: 20px; }

.form_inputs {
  max-width: 200px;
  margin: auto;
  text-align: right;
  padding-right: 50px;
  margin-top: 3em;
  margin-bottom: 1em; }

label {
  width: 50px; }

input {
  width: 100px; }

#content_area > h1 {
  font-size: 48px;
  letter-spacing: 3px;
  color: #eee;
  line-height: 1em;
  margin-top: 1em;
  margin-bottom: 5px; }

.step_description {
  margin: 30px 0;
  padding: 30px 0;
  border-top: 1px solid #666;
  border-bottom: 1px solid #666; }
  .step_description > * {
    margin-top: 0; }

.text_bottom {
  padding: 30px 0; }

.right {
  float: right; }

.picture {
  margin-bottom: 50px; }

.picture_caption {
  margin: 0.5em 0;
  color: #b7b7b7; }

.step-title {
  padding-left: 80px;
  min-height: 60px;
  position: relative;
  display: flex;
  align-items: center;
  font-size: 30px;
  line-height: 36px; }

.step-id {
  margin-right: 20px;
  width: 60px;
  height: 60px;
  line-height: 60px;
  border-radius: 50%;
  position: absolute;
  left: 0;
  top: 0;
  display: block;
  text-align: center;
  font-size: 30px;
  background: #c0d53f;
  color: #494949; }

.work_step {
  padding: 50px 0;
  position: relative; }

.text_column > * {
  margin-top: 0; }

.next-step {
  margin: 0 auto;
  display: block;
  height: 60px;
  width: 180px;
  text-align: center;
  text-transform: uppercase;
  position: relative; }
  .next-step:before {
    content: '';
    position: absolute;
    bottom: 50%;
    left: 0;
    height: 2%;
    width: 50%;
    background: #c0d640;
    -webkit-transform: skew(0deg, 15deg);
    -moz-transform: skew(0deg, 15deg);
    -ms-transform: skew(0deg, 15deg);
    -o-transform: skew(0deg, 15deg);
    transform: skew(0deg, 15deg); }
  .next-step:after {
    content: '';
    position: absolute;
    bottom: 50%;
    right: 0;
    height: 2%;
    width: 50%;
    background: #c0d640;
    -webkit-transform: skew(0deg, -15deg);
    -moz-transform: skew(0deg, -15deg);
    -ms-transform: skew(0deg, -15deg);
    -o-transform: skew(0deg, -15deg);
    transform: skew(0deg, -15deg); }

.step-done {
  max-width: 1500px;
  margin-left: auto;
  margin-right: auto;
  padding-left: 30px;
  padding-right: 30px;
  text-align: center; }
  @media (min-width: ) {
    .step-done {
      padding-left: 0;
      padding-right: 0; } }

.step-done--text {
  text-transform: uppercase; }
  .step-done--text:after {
    padding-left: 0.5em;
    content: '|';
    font-size: 1.25em;
    color: #666; }

#takemehome {
  padding-left: 0.5emem; }
  #takemehome:after {
    content: ' →'; }

.evens {
  background: #565656; }

.odds {
  background: #494949; }

@media (min-width: 768px) {
  .stickit,
  .stickit-end {
    margin-left: -30px;
    padding-top: 1em;
    padding-left: 30px;
    box-sizing: border-box; } }

@media (min-width: 1500px) {
  .stickit,
  .stickit-end {
    width: 728.562px;
    margin-left: 0;
    padding-left: 0; } }

@media (min-width: 768px) {
  .stickit {
    position: fixed;
    top: 0; } }

@media (min-width: 768px) {
  .stickit-end {
    position: absolute;
    bottom: 0; } }
