.console {
  width: 100%;
  padding: 0;
  //overflow: auto;
  overscroll-behavior: none;
  
  body {
    position: relative;
    width: ~"calc(100% - 320px)";
    // overflow: auto;
    padding-top: 70px;
    padding-bottom: 0;
    .func-padding-end(50px);
    .func-padding-start(270px);
    margin: 0;
    color: var(--config-color-normal);
    background: var(--config-console-background);

    .project-only {
      display: none !important;
    }

    &.show-nav {
      .project-only {
        display: inline-block !important;
      }
    }

    &.hide-nav {
      .func-padding-start(50px);
      width: ~"calc(100% - 100px)";

      header { 
        width: ~"calc(100% - 50px)";

        .logo {
          display: inline-block;
        }
      }

      .console-back {
        display: block;
      }

      .console-index {
        display: none;
      }

      .account {
        display: none;
      }
    }

    &.index {
      .console-back {
        display: none;
      }

      .console-index {
        display: block;
      }

      .account {
        display: block;
      }
    }

    .console-index {
      display: block;
    }

    .console-back {
      display: none;
    }
  }

  main {
    min-height: 480px;
  }

  header {
    position: fixed;
    top: 0;
    width: ~"calc(100% - 280px)";
    height: 40px;
    line-height: 40px;
    padding: 15px 30px;
    background: var(--config-color-background-fade);
    box-shadow: 0 0 2px rgba(0, 0, 0, .10);
    margin: 0 -50px;
    z-index: 2;
    font-size: 14px;

    .logo {
      display: none;
      border: none;

      &:hover {
        border: none;
        opacity: .8;
      }

      img {
        height: 26px;
        margin: 7px 0;
      }
    }

    .setup-new {
      width: 40px;
      height: 40px;
      line-height: 40px;
    }

    .list {
      width: 240px;

      select {
        height: 40px;
        line-height: 40px;
        padding-top: 0;
        padding-bottom: 0;
        border: none;
        border-radius: 26px;
        background-color: var(--config-console-nav-switch-background);
        color: var(--config-console-nav-switch-color);
      }
    }

    .account {
      .func-margin-start(25px);
      .text-one-liner;
    }

    .switch-theme {
      margin: 2px 0;
    }

    .avatar {
      height: 40px;
      width: 40px;
    }

    .account-button {
      background: transparent;
      position: absolute;
      width: 100%;
      height: 40px;
      border-radius: 0;
      z-index: 1;
    }

    .notifications {
      position: relative;
      font-size: 20px;

      a {
        color: #1b3445;
      }

      &:after {
        position: absolute;
        content: "";
        display: block;
        background: var(--config-color-danger);
        width: 8px;
        height: 8px;
        border-radius: 50%;
        top: 3px;
        .func-end(3px);
      }
    }

    nav {
      background: #1b3445;
      background: linear-gradient(var(--config-console-nav-start), var(--config-console-nav-end));
      color: #788c99;
      position: fixed;
      height: 100%;
      width: 220px;
      top: 0;
      .func-start(0);

      .logo {
        height: 39px;
        padding: 15px 20px;
        display: block;

        img {
          display: inline-block;
          margin-top: 7px;
          margin-bottom: 14px;
        }

        svg g {
          fill: var(--config-color-focus)
        }
      }

      .icon {
        display: block;
        border: none;
        margin: 18px 10px 50px 10px;

        img {
          display: block;
        }

        &:hover {
          border-bottom: none;

          svg g {
            fill: var(--config-color-focus)
          }
        }
      }

      .container {
        overflow: auto;
        height: ~"calc(100% - 133px)";
        width: 100%;
      }

      .project-box {
        padding: 20px;
        text-align: center;
        display: block;
        border: none;
        line-height: 100px;
        height: 100px;

        img {
          max-height: 80px;
          max-width: 80%;
          display: inline-block;
          vertical-align: middle;
        }
      }

      .project {
        display: block;
        padding: 85px 25px 20px 25px;
        color: #788c99;
        position: relative;
        border: none;
        height: 20px;

        &:hover {
          border-bottom: none;
        }

        .name {
          height: 20px;
          line-height: 20px;
          margin: 0;
          padding: 0;
          display: inline-block;
          max-width: 100%;
        }

        .arrow {
          display: block;
          position: absolute;
          .func-end(5px);
          top: 10px;
          width: 0;
          height: 0;
          border-left: 5px solid transparent;
          border-right: 5px solid transparent;
          border-top: 5px solid #788c99;
          transform: rotate(225deg);
        }

        img {
          position: absolute;
          bottom: 40px;
          display: block;
          margin-bottom: 10px;
          max-height: 35px;
          max-width: 40%;
        }
      }

      .subtitle {
        padding: 0 30px;
        display: block;
        font-size: 12px;
        font-weight: 300;
      }

      .links {
        .margin-bottom-small;

        &.top {
          border: none;
          padding-bottom: 0;
          margin-bottom: 5px !important;
        }

        &.bottom {
          position: absolute;
          bottom: 0;
          left: 0;
          right: 0;
          padding-bottom: 0;
          border: none;
          margin-bottom: 0 !important;
          box-shadow: 0 0 10px rgba(0,0,0,.1);

          a {
            border-top: solid 1px var(--config-console-nav-border);
            border-bottom: none;
          }
        }

        .sub {
          display: inline-block;
          border: none;
          width: 25px;
          height: 25px;
          line-height: 25px;
          border-radius: 50%;
          padding: 0;
          background: var(--config-color-focus);
          color: #ffffff;
          text-align: center;
          font-size: 12px;
          margin: 18px;

          i {
            width: auto;
            margin: 0;
          }

          &:hover {
            border: none;
          }
        }

        a {
          padding: 8px 20px;
          border: none;
          display: flex;
          color: #87a5b9;
          font-weight: 400;
          .func-border-start(5px, transparent);
          font-size: 13px;

          i {
            .func-margin-end(8px);
            width: 22px;
            display: inline-block;
          }

          &:hover,
          &.selected {
            color: #e4e4e4;
          }
        }
      }

      &:after {
        content: '';
        display: block;
        position: absolute;
        background: #302839;
        height: 100px;
        width: 100%;
        bottom: -100px;
      }
    }
  }

  >footer {
    width: ~"calc(100% + 100px)";
    margin: 0 -50px;
    box-sizing: border-box;
    background: transparent;
    .func-padding-end(30px);
    .func-padding-start(30px);
    
    ul {
      float: none;
      text-align: center;

      li {
        float: none;
        display: inline-block;
      }
    }
  }

  .projects {
    .clear;
    position: relative;

    li {
      .pull-start;
      .func-margin-end(50px);
      margin-bottom: 50px;
      width: 270px;

      &:nth-child(3n) {
        .func-margin-end(0);
      }
    }
  }

  .dashboard {
    padding: 20px;
    overflow: visible;
    position: relative;
    z-index: 1;
    margin-bottom: 2px;

    .chart {
      width: 80%;

      @media @phones, @tablets {
        width: 100%;
      }
    }

    hr {
      margin: 20px -25px;
      height: 2px;
      background: var(--config-console-background);

      @media @phones,
      @tablets {
        height: 3px;
      }
    }

    footer {
      margin: -20px;
      padding: 20px;
      background: #fcfeff;
      border: none;
      color: var(--config-color-link);
    }

    .col {
      position: relative;

      &:last-child:after {
        display: none;
      }

      &:after {
        content: "";
        display: block;
        width: 2px;
        background: var(--config-console-background);
        position: absolute;
        top: -20px;
        bottom: -20px;
        .func-end(24px);

        @media @phones,
        @tablets {
          width: ~"calc(100% + 40px)";
          height: 3px;
          position: static;
          margin: 20px -20px;
        }
      }
    }

    .value {
      color: var(--config-color-focus);
      vertical-align: bottom;
      line-height: 45px;

      &.small {
        line-height: 35px;
      }

      .sum {
        font-size: 45px;
        line-height: 45px;
        font-weight: 700;
        vertical-align: bottom;

        &.small {
          font-size: 25px;
          line-height: 25px;
        }
      }
    }

    .unit {
      font-weight: 500;
      line-height: 20px;
      vertical-align: bottom;
      font-size: 16px;
      display: inline-block;
      margin-bottom: 5px;
      .func-margin-start(5px);
      color: var(--config-color-focus);
    }

    .metric {
      color: var(--config-color-focus);
      font-weight: 400;
      font-size: 13px;
      line-height: 16px;
    }

    .range {
      color: var(--config-color-fade);
      font-weight: 400;
      font-size: 14px;
      line-height: 16px;
    }

    a {
      display: block;
      font-weight: 400;
      font-size: 14px;
      line-height: 16px;
      padding: 0;
      border: none;
    }

    .chart-bar {
      height: 4rem;
      width: auto;
      display: flex;
      align-items: flex-end;

      @media @desktops {
        padding-right: 15px;
      }

      .bar {
        width: 12.5%;
        background-color: var(--config-color-chart-fade);
        margin: 0 2px;
        border-top: 2px solid var(--config-color-chart);

        &:hover {
          background-color: var(--config-color-chart);
        }

        .bar-loop (@i) when (@i > -1) {
          &.bar-@{i} {
            height: ~"@{i}%";
          }
          &.bar-@{i} when(@i = 0) {
            border-top: 1px solid var(--config-color-chart);
          }
          .bar-loop(@i - 10);
        }

        .bar-loop (100);

        &.bar-5 {
          height: 5%;
        }
      }
    }
  }

  .chart-metric {
    width: 19%;

    @media @tablets, @phones {
      width: 100%;
    }
  }

  .chart {	
    width: 100%;	
    position: relative;	
    height: 0;
    padding-top: 20px;	
    padding-bottom: 26%;	
    .func-margin-end(-2px);	
    overflow: hidden;	
    background-color: var(--config-color-background-fade);	
    background-image:	
      linear-gradient(transparent 1px, transparent 1px),	
      linear-gradient(90deg, transparent 1px, transparent 1px),	
      linear-gradient(var(--config-border-color) 1px, transparent 1px),	
      linear-gradient(90deg, var(--config-border-color) 1px, transparent 1px);	
    background-size: 100px 100px, 100px 100px, 20px 20px, 20px 20px;	
    background-position: -2px -2px, -2px -2px, -1px -1px, -1px -1px;	
    background-repeat: round;	
    border: solid 1px var(--config-border-color);	
    border-right: solid 1px transparent;	
    border-bottom: solid 1px transparent;
    &.background-image-no {
      background-image: none;
    }	
    &.border-no {
      border: none;
    }
    @media @tablets, @phones {	
      width: 100%;	
      padding-bottom: 32%;	
      float: none;	
      margin-bottom: 20px;	
    }	
    canvas {	
      position: absolute;	
      bottom: 0;	
      display: block;	
      height: 100%;	
      width: 100%;	
    }	
  }

  .chart-notes {
    font-size: 12px;

    &.crud li {
      &:nth-child(1), &.create {
        color: #00b680;

        &::before {
          background: #00b680;
        }
      }
      
      &:nth-child(2), &.read {
        color: #009cde;

        &::before {
          background: #009cde;
        }
      }

      &:nth-child(3), &.update {
        color: #696fd7;

        &::before {
          background: #696fd7;
        }
      }

      &:nth-child(4), &.delete {
        color: #da5d95;

        &::before {
          background: #da5d95;
        }
      
      }
    }

    li {
      line-height: 20px;
      display: inline-block;
      .func-margin-end(15px);

      &::before {
        display: inline-block;
        content: '';
        width: 14px;
        height: 14px;
        background: var(--config-color-normal);
        border-radius: 50%;
        .func-margin-end(8px);
        vertical-align: middle;
      }

      &:nth-child(1), &.blue {
        color: var(--config-color-chart);

        &::before {
          background: var(--config-color-chart);
        }
      }

      &:nth-child(2), &.green {
        color: #4eb55b;

        &::before {
          background: #4eb55b;
        }
      }

      &:nth-child(3), &.orange {
        color: #ec9323;

        &::before {
          background: #ec9323;
        }
      }

      &:nth-child(4), &.red {
        color: #dc3232;

        &::before {
          background: #dc3232;
        }
      }
    }
  }

  .community {
    a {
      padding: 0 10px;
      display: inline-block;
    }
  }

  .link-list {
    li {
      margin-bottom: 15px;
    }

    i {
      display: inline-block;
      width: 30px;
      height: 30px;
      line-height: 30px;
      text-align: center;
      background: var(--config-color-fade);
      color: var(--config-color-fade-super);
      border-radius: 50%;
      .func-margin-end(15px);

      &.fade {
        background: transparent;
        color: var(--config-color-fade);
      }
    }
  }

  .provider {
    width: 50px;
    height: 50px;
    background: var(--config-color-background-focus);
    color: #868686;
    line-height: 50px;
    text-align: center;
    font-size: 25px;
    border-radius: 50%;

    &.facebook {
      color: #ffffff;
      background: #3b5998;
    }

    &.twitter {
      color: #ffffff;
      background: #55beff;
    }

    &.telegram {
      color: #ffffff;
      background: #3ba9e1;
    }

    &.github {
      color: #ffffff;
      background: #24292e;
    }

    &.whatsapp {
      color: #ffffff;
      background: #25d366;
    }

    &.linkedin {
      color: #ffffff;
      background: #1074af;
    }

    &.microsoft {
      color: #ffffff;
      background: #137ad4;
    }

    &.google {
      color: #ffffff;
      background: #4489f1;
    }

    &.bitbucket {
      color: #ffffff;
      background: #2a88fb;
    }

    &.gitlab {
      color: #faa238;
      background: #30353e;
    }

    &.instagram {
      color: #ffffff;
      background: radial-gradient(circle at 30% 107%, #fdf497 0%, #fdf497 5%, #fd5949 45%, #d6249f 60%, #285AEB 90%);
    }
  }
  
  .premium {
    z-index: 3;
    margin-top: 320px;

    .message {
      height: 190px;
      overflow: hidden;
      position: absolute;
      top: -280px;
    }

    &:after {
      content: '';
      position: absolute;
      top: 0;
      left: -20px;
      right: -20px;
      bottom: -20px;
      background: var(--config-color-background);
      opacity: .7;
      z-index: 300;
    }
  }

  .app-section {
    height: 90px;
  }

  .confirm {
    background: var(--config-color-link);
    color: #ffffff;
    border-radius: 25px;
    padding: 12px;
    line-height: 28px;
    text-align: center;

    .action {
      font-weight: 500;
      cursor: pointer;
    }
  }

  .platforms {
    overflow: hidden;

    .box {
      overflow: hidden;

      img {
        width: 50px;
        margin: 0 auto;
        margin-bottom: 20px;
      }

      .cover {
        margin: -30px -30px 30px -30px;
        padding: 30px;

        &.android {
          background: #a4ca24;

          h1 {
            color: #ffffff;
            font-size: 18px;
            margin-top: 20px;
          }

        }
      }
    }

    .col {
      text-align: center;
      line-height: 30px;
    }

    a {
      display: block;
      margin: -20px;
      padding: 20px;

      &:hover {
        background: #fbfeff;
      }
    }

    img {
      display: block;
      margin: 0 30px;
      width: ~"calc(100% - 60px)";
      border-radius: 50%;
      margin-bottom: 20px;
    }
  }

  .document-nav {
    display: none;
    position: sticky;
    top: 90px;

    @media only screen and (min-width: 1380px) {
      display: block;
    }

    ul {
      position: absolute;
      width: 200px;
      .func-start(-260px);

      li {
        margin-bottom: 20px;

        .selected {
          font-weight: 500;
        }
      }
    }

  }
  
  @media @desktops {
    .logo {
      .top {
        display: none!important;
      }
    }
  }

  @media @phones, @tablets {
    >header {
      width: ~"calc(100% - 30px)"!important;
      margin: 0 -30px;
      padding: 15px;

      nav {
        width: 100%;
        height: 70px;
        overflow: hidden;

        &.close {
          background: transparent;

          .logo {
            .nav {
              display: none!important;
            }
          }
        }

        &.open {
          height: 100%;

          .logo {
            .top {
              display: none!important;
            }
          }

          .bottom {
            display: block!important;
          }

          button {
            color: #87a5b9;
          }
        }

        button {
          margin: 9px;
          background: transparent;
          color: var(--config-color-normal);
  
          &:hover, &:focus {
            background: transparent;
          }
        }

        .logo {
          display: block!important;
          position: absolute;
          top: 0;
          left: 50%;
          margin: auto;
          transform: translateX(-50%);
        }

        .bottom {
          display: none!important;
        }
      }
    }

    >footer {
      width: auto;
      margin: 50px -30px 0 -30px!important;
      padding: 0 30px 30px 30px;
    }

    body {
      height: "calc(100% - 70px)"!important;
      width: ~"calc(100% - 60px)"!important;
      padding: 70px 30px 0 30px!important;
    }

    .cover {
      padding: 25px 30px;
      margin: 0 -30px;
    }
  }

  @media @phones {

    body {
      height: "calc(100% - 70px)"!important;
      width: ~"calc(100% - 40px)"!important;
      padding: 70px 20px 0 20px!important;
    }

    .cover {
      padding: 20px 20px;
      margin: 0 -20px;
    }

    >header {
      margin: 0 -20px;

      .list {
        width: 175px;
        font-size: 14px;
      }
    }

    >footer {
      margin: 50px -20px 0 -20px!important;
      padding: 0 20px 20px 20px;
    }
  }
}

.dev-feature {
  display: none;
}

.prod-feature {
  display: none;
}

.development {
  .dev-feature {
    display: block;
    opacity: .6 !important;
    outline: solid yellow 3px;
    outline-offset: 3px;

    &.dev-inline {
      display: inline-block;
    }
  }

  .prod-feature {
    display: none;
  }
}

.production {
  .dev-feature {
    display: none;
  }

  .prod-feature {
    display: block;
  }
}

.search {
  opacity: 1!important;

  @media @phones, @tablets {
    button {
      margin-top: 20px;
    }
  }
}