//
//  Flex Box Grid demo
//  ---------------------------------------------
@import 'flex-box-grid/index';
@import '_variables.scss';
@import '_prism.scss';
@import '_icons.scss';

*,
*:after,
*:before {
  box-sizing: inherit;
}

html {
  box-sizing: border-box;
}

body {
  font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol";
  font-size: 14px;
  line-height: 1.4;
  font-weight: 100;
  color: $color--gray-dark;
}

h1, h2, h3 {
  font-weight: 300;
  margin-top: 0;
}

h2 {
  font-size: 30px;
}

h3 {
  font-size: 24px;
  code {
    font-size: 14px;
  }
}

pre[class*='language-'] {
  margin-top: 0;
  margin-bottom: 2em;
}

ul {
  margin-top: 0;
  margin-bottom: 2em;
  padding: 0;
  li {
    display: block;
    margin-bottom: .5em;
    &:before {
      content: '\2014';
      margin-right: .5em;
    }
  }
}

dl {
  margin: 0;
  padding: 0;
}

dt {
  font-weight: 600;
  display: block;
  margin-bottom: .25em;
  font-size: 15px;
}

dd {
  margin: 0 0 2em;
  display: block;
}

p {
  margin-top: 0;
  margin-bottom: 2em;
}

a {
  color: $color--blue;
  &:hover {
    color: darken($color--blue, 5%);
  }
}

img {
  width: auto;
  max-width: 100%;
}

.main {
  max-width: 1024px;
  margin: 0 auto;
  padding: $col__height;
}

.header-actions {
  margin-bottom: 2em;
  margin-top: 2em;
  text-align: center;
  @media (min-width: $screen--M) {
    text-align: right;
    margin-bottom: 10px;
    margin-top: 13px;
  }
}

.page-title {
  font-weight: 300;
  margin-bottom: .25em;
  font-size: 3em;
  text-align: center;
  white-space: nowrap;
  letter-spacing: .025em;
  @media (min-width: $screen--M) {
    text-align: left;
  }
  .accent-text {
    color: $color--purple;
  }
}

.header {
  position: relative;
}

.flexgrid-logo {
  display: inline-block;
  opacity: .1;
  position: absolute;
  font-size: 3em;
  left: 50%;
  top: -22px;
  transform: rotate(-38deg) scale(8) translate(-14%, 0);
  &:before {
    @extend %icon;
    content: $icon-mobile;
  }
  @media (min-width: $screen--M) {
    left: 65px;
    top: 19px;
    transform: rotate(-10deg) scale(6) translate(0, 0);
    &:before {
      content: $icon-desktop;
      font-size: .85em;
    }
  }
}

.flexgrid-logo__item {

  $_screen__width: 34px;
  $_flexgrid-logo__item__height: 2px;
  $_flexgrid-logo__item__width4: 6px;
  $_flexgrid-logo__item__width6: 14px;
  $_flexgrid-logo__item__indent-screen-top: 23px;
  $_flexgrid-logo__item__indent-screen-left: 3px;
  $_flexgrid-logo__item__indent-gutter-left: 2px;
  $_flexgrid-logo__item__indent-gutter-top: 2px;

  position: absolute;
  display: block;
  width: 12px;
  height: $_flexgrid-logo__item__height;
  background-color: $color--purple;
  top: $_flexgrid-logo__item__indent-screen-top;
  left: $_flexgrid-logo__item__indent-screen-left;
  &:nth-child(2) {
    top: $_flexgrid-logo__item__height + $_flexgrid-logo__item__indent-screen-top + $_flexgrid-logo__item__indent-gutter-left;
  }
  &:nth-child(3) {
    top: $_flexgrid-logo__item__height * 2 + $_flexgrid-logo__item__indent-screen-top + $_flexgrid-logo__item__indent-gutter-top + $_flexgrid-logo__item__indent-gutter-left;
  }
  &:nth-child(4) {
    top: $_flexgrid-logo__item__height * 3 + $_flexgrid-logo__item__indent-screen-top + $_flexgrid-logo__item__indent-gutter-top * 2 + $_flexgrid-logo__item__indent-gutter-left;
  }
  @media (min-width: $screen--M) {

    $_flexgrid-logo__item__indent-screen-top: 19px;
    $_flexgrid-logo__item__indent-screen-left: 4px;

    width: $_flexgrid-logo__item__width6;
    top: $_flexgrid-logo__item__indent-screen-top;
    left: $_flexgrid-logo__item__indent-screen-left;

    &:nth-child(2) {
      top: $_flexgrid-logo__item__indent-screen-top;
    }

    &:nth-child(10),
    &:nth-child(2) {
      left: $_flexgrid-logo__item__indent-screen-left + $_flexgrid-logo__item__width6 + $_flexgrid-logo__item__indent-gutter-left;
    }
    &:nth-child(3),
    &:nth-child(4),
    &:nth-child(5),
    &:nth-child(6) {
      top: $_flexgrid-logo__item__height + $_flexgrid-logo__item__indent-screen-top + $_flexgrid-logo__item__indent-gutter-left;
      width: $_flexgrid-logo__item__width4;
    }
    &:nth-child(4) {
      left: $_flexgrid-logo__item__indent-screen-left + $_flexgrid-logo__item__width4 + $_flexgrid-logo__item__indent-gutter-left;
    }
    &:nth-child(5) {
      left: $_flexgrid-logo__item__indent-screen-left + $_flexgrid-logo__item__width4 * 2 + $_flexgrid-logo__item__indent-gutter-left * 2;
    }
    &:nth-child(6) {
      left: $_flexgrid-logo__item__indent-screen-left + $_flexgrid-logo__item__width4 * 3 + $_flexgrid-logo__item__indent-gutter-left * 3;
    }
    &:nth-child(7),
    &:nth-child(8) {
      top: $_flexgrid-logo__item__height * 2 + $_flexgrid-logo__item__indent-screen-top + $_flexgrid-logo__item__indent-gutter-top + $_flexgrid-logo__item__indent-gutter-left;
    }
    &:nth-child(7) {
      width: $_flexgrid-logo__item__width4;
    }
    &:nth-child(8) {
      width: 22px;
      left: $_flexgrid-logo__item__width4 + $_flexgrid-logo__item__indent-gutter-left + $_flexgrid-logo__item__indent-screen-left;
    }
    &:nth-child(9),
    &:nth-child(10) {
      top: $_flexgrid-logo__item__height * 3 + $_flexgrid-logo__item__indent-screen-top + $_flexgrid-logo__item__indent-gutter-top * 2 + $_flexgrid-logo__item__indent-gutter-left;
      width: $_flexgrid-logo__item__width6;

    }
  }
}

.page-description {
  font-weight: 300;
  font-size: 16px;
  border-bottom: 1px dashed;
  padding-bottom: 2em;
}

.section-example {
  margin-bottom: 1.5em;
}

.row-example {
  background-color: lighten($color--purple, 30%);
  margin-bottom: 3px;
  small {
    display: inline-block;
    padding: .5em 1em;
  }
}

.col-content-example-wrap,
.col-content-example {
  text-align: center;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  color: $col__color;
  font-weight: 300;
  font-size: $col-example__indent + 1px;
}

.col-content-example-wrap {
  background-color: #b58bd5;
  padding: 10px 0 9px;
  .col-content-example {
    margin-top: 10px;
  }
}

.col-content-example {
  background-color: $col__background-color;
  margin-bottom: $col-example__indent;
  padding: $col-example__indent - 1px $col-example__indent $col-example__indent + 1px;
}

.col-content-example-x2 {
  padding: $col-example__indent * 3 - 1px $col-example__indent $col-example__indent * 3 + 1px;
}

.line-sass-class,
.line-sass-variable {
  margin-right: .25em;
  margin-left: .25em;
  font-family: monospace;
}

.line-sass-class {
  color: #07a;
}

.line-sass-variable {
  color: #e90;
}

.code-block-description {
  font-size: 13px;
  margin-bottom: .5em;
}

.btn {
  display: inline-block;
  background-color: #fff;
  border: 1px solid $color--gray-dark;
  border-radius: 3px;
  padding: .5em 15px .5em 38px;
  color: $color--gray-dark;
  text-decoration: none;
  transition-property: color, border-color;
  transition-timing-function: linear;
  transition-duration: .15s;
  font-weight: 300;
  margin: 0 5px 10px;
  font-size: 15px;
  position: relative;
  &:hover {
    border-color: $color--blue;
    color: $color--blue;
  }
  &:active {
    transform: scale(.95);
  }
  &:before {
    position: absolute;
    top: 50%;
    margin-top: -9px;
    left: 15px;
    font-size: 20px;
  }
}

.btn-github {
  &:before {
    @extend %icon;
    content: $icon-github;
  }
}

.btn-download-css {
  &:before {
    @extend %icon;
    content: $icon-css3;
    font-size: 18px;
    margin-top: -7px;
  }
}

.btn-download-scss {
  &:before {
    @extend %icon;
    content: $icon-file-zip-o;
    font-size: 18px;
    margin-top: -7px;
  }
}

code[class*="language-"],
pre[class*="language-"] {
  font-size: 13px;
  font-family: monospace;
  background: #F5F0F5;
  border-radius: 5px;
}

//  Stretch example

[class*='--stretch'] {
  height: 150px;
  [class*='X'] {
    position: relative;
    .col-content-example {
      position: absolute;
      top: 0;
      right: 5px;
      left: 5px;
      bottom: 0;
    }
  }
}

.nav {
  display: none;
  padding-top: 21px;
  font-weight: 300;
  font-size: 16px;
  @media (min-width: $screen--M) {
    position: fixed;
    display: block;
  }
  h4 {
    margin-top: 22px;
    display: none;
  }
  ul {
    li {
      &:hover {
        &:before {
          color: $color--blue;
        }
      }
    }
    ul {
      margin-top: 5px;
      margin-bottom: 0;
      margin-left: 25px;
      li {
        font-size: 12px;
        margin-bottom: 3px;
        &:before {
          content: '\2013';
        }
      }
    }
  }
  a {
    color: $color--gray-dark;
    text-decoration: none;
  }
}

.social-box {
  display: none;
  @media (min-width: $screen--S) {
    display: block;
    position: absolute;
    left: 10px;
    top: 10px;
  }
  @media (min-width: $screen--M) {
    position: fixed;
    bottom: 30px;
    top: auto;
    left: auto;
    margin-left: 30px;
  }
}

.social-box__item {
  margin-bottom: 5px;
}
