github settings page styles

github settings page styles

form.expando {
  display: inline-block;
  .dropdown-toggle.btn:focus {
    outline: none;
  }
}
.spec_form {
  button {
    vertical-align: top;
  }
}
#project-settings {
  .flexBox();
  padding: 0 2em;
  a {
    color: @blueDark;
    transition-property: color, text-shadow;
    transition-duration: .3s;
    transition-timing-function: ease-in-out;
    text-decoration: none;
    &:hover {
      color: @blueLight;
      transition-duration: .1s;
    }
  }
  h1 {
    margin-top: 0;
  }
  h2 {
    font-family: @sansFontFamily;
    font-weight: bold;
    color: @gray;
    font-size: 2em;
    display: block;
    width: 100%;
    margin: 0;
    border: none;
    line-height: 1.25em;
    padding: .25em 0;
  }
  h4 {
    font-family: @sansFontFamily;
    font-weight: bold;
    color: @gray;
    margin: 0;
    font-size: 1em;
    line-height: 2em;
  }
  ul {
    list-style: none;
    margin: 0;
  }
  aside {
    width: 250px;
    min-width: 200px;
    .flex(0, 1.1);
  }
  .tooltip {
    .tooltip-inner {
      padding: 1em;
      background: @grayDark;
    }
    .tooltip-arrow {
      border-top-color: @grayDark;
    }
  }
  .side-list {
    margin: 0;
    list-style: none;
    a {
      padding: .5em 0;
      line-height: 1em;
      margin: 0;
      display: block;
    }
  }
  .side-title {
    line-height: 1em;
    margin: .5em 0;
    padding-top: 1em;
    color: @gray;
    font-weight: bold;
    &:first-of-type {
      margin-top: 0;
      padding-top: 0;
    }
  }
  .project-settings-inner {
    .skin_cleanBoxShadow();
    .flex(1, 1);
    margin: 0 2em;
    min-height: 89vh;
  }
  .follow-status {
    width: 250px;
    min-width: 200px;
    .flex(0, 1.1);
    i {
      font-size: 5em;
      line-height: 1.5em;
      display: block;
      text-align: center;
      color: #555;
    }
    h4 {
      font-size: 1.077em;
      line-height: 1.5em;
      margin: 0 0 .5em 0;
    }
    p {
      margin-bottom: 1em;
      line-height: 1.34em;
    }
    button {
      width: 100%;
      margin: 0 auto;
      display: block;
    }
    .followed {
      button {
        .circleButton(@grayLightest, @redLight);
      }
    }
    .not-followed {
      button {
        .circleButton(@grayLightest, @green);
      }
    }
  }
  // Overview Page
  .overview-options {
    // .flexBox();
    margin: 2em 0;
    .clearfix();
  }
  .overview-item {
    // .flex(0, 1, 250px);
    margin-right: 2%;
    float: left;
    width: 300px;
    &:last-child {
      margin-right: 0;
    }
  }
  // Parallelism Page
  .parallelism-picker {
    margin: 2em 0;
  }
  .parallelism-items {
    .clearfix();
    @blockSize: 8em;
    @blockColor: @green;
    @blockColor: @gray;
    .flex(1, 1, (@blockSize * 5));
    order: 2;
    margin: 0;
    max-width: (@blockSize * 8);
    .selected {
      span {
        .outlineFlat(@blockColor);
        color: @whiten;
      }
      ~ label span {
        background: transparent;
        color: @blockColor;
        .outlineFlat(@blockColor);
      }
    }
    input[type=radio] {
      display: none;
    }
    label {
      width: @blockSize;
      height: @blockSize;
      font-size: inherit;
      margin: 0;
      position: relative;
      float: left;
      &:hover ~ label span {
        box-shadow: none;
      }
      span {
        position: absolute;
        top: 3%;
        left: 3%;
        width: 94%;
        padding: ~'calc(47% - .5em)' 0;
        box-sizing: border-box;
        background: @blockColor;
        border-radius: 3px;
        line-height: 1em;
        text-align: center;
        transition: box-shadow .2s ease-in-out;
        color: @whiten;
        &:after {
          content: "x";
          margin-right: -.5ex;
        }
      }
    }
  }
  .parallelism-info {
    width: 48ex;
    order: 1;
    margin: 0 2em 2em 0;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    height: 10em;
    *:empty {
      display: none;
    }
  }
  .mini-faq {
    display: flex;
    flex-flow: row wrap;
    justify-content: space-between;
    .mini-faq-item {
      padding-right: 4em;
      .flex(1, 1, 30%);
      min-width: 300px;
      &:last-child {
        padding-right: 0;
      }
    }
  }
  // Environment Variables Page
  .environment-variables-inner{
    // .outlineFlat();
    // border-radius: 4px;
    margin: 2em 0;
    max-width: @gridRowWidth;
    .env-table {
      .outlineFlat();
      border-radius: 4px;
    }
    form {
      margin: 0;
      // margin: 3em 0;
      // max-width: @gridRowWidth;
      + ul li:last-of-type {
          box-shadow: none;
      }
    }
    li {
      display: flex;
      justify-content: space-between;
      line-height: 3em;
      box-shadow: 0 1px @grayBoxBorder;
    }
    span {
      display: block;
      &:not(:last-of-type) {
        .flex(1, 1, 44%);
        padding-left: 1em;
      }
      &:last-of-type {
        flex: 0 0 140px;
      }
    }
    input[type="text"] {
      .stickyInput();
      margin: 1em 0;
    }
    input[type=submit] {
      .circleButton(@grayLightest, @green);
      font-size: 1em;
      margin: 1em;
      line-height: 3em;
      padding: 0 3em;
    }
    a {
      .tableDrawerBtn();
    }
  }
  // Dependencies Page
  .dependencies-page {
    fieldset {
      a.btn {
        .circleButton();
        margin-top: 2em;
        display: inline-block;
        i {
          margin-left: 1ex;
          font-size: @baseFontSize;
        }
      }
      p {
        max-width: 66%;
      }
    }
    textarea {
      .stickyTextarea();
      &:first-child {
        margin-top: 2em;
      }
    }
  }
  .dependencies-inner {
    margin: 2em 0;
    max-width: @gridRowWidth;
  }
  // Dependencies Page
  .tests-page {
    a.btn {
      .circleButton();
      margin-top: 2em;
      display: inline-block;
      i {
        margin-left: 1ex;
        font-size: @baseFontSize;
      }
    }
    p {
      max-width: 66%;
    }
    textarea {
      .stickyTextarea();
      &:first-child {
        margin-top: 2em;
      }
    }
  }
  .tests-inner {
    margin: 2em 0;
    max-width: @gridRowWidth;
  }
  // Chatrooms Page
  .chat-rooms {
    .clearfix();
    margin-top: 1em;
  }
  .chat-room-item {
    width: 21em;
    min-height: 34em;
    .outlineFlat();
    border-radius: 4px;
    padding: 0;
    float: left;
    position: relative;
    margin: 0 1em 1em 0;
    &:hover {
      [class^=chat-i] {
        &:before, &:after { transition-duration: .2s;}
        &:before { opacity: 0;}
        &:after { opacity: 1;}
      }
    }
    input[type="checkbox"] {
      margin: 0;
      line-height: 1em;
      height: 1em;
      display: none;
      margin-right: .5em;
      &:not(:checked) {
        ~ span:after {
          opacity: 1;
          transition-duration: .1s;
        }
      }
      ~ span:before {
        content: "\f096";
        font-family: FontAwesome;
        visibility: visible;
        margin-right: 1em;
        position: absolute;
        left: 1em;
      }
      &:checked ~ span:before {
        content: "\f046";
      }
    }
    label {
      span {
        margin-left: 1.5em;
        &:after {
          content: "?";
          opacity: 0;
          transition: .3s opacity ease-in-out;
        }
      }
    }
  }
  .chat-room-head {
    @logoHeight: 20px;
    padding: 1em;
    box-shadow: 0 1px @grayBoxBorder;
    [class^=chat-i] {
      line-height: @logoHeight;
      &:before, &:after {
        content: "";
        width: @logoHeight;
        height: @logoHeight;
        position: absolute;
        right: 0;
        top: 0;
        margin: 1em;
        background-image: url('@{imgPath}/chat-sprite1.png');
        transition: opacity .4s ease-in-out;
      }
      &:before {
        opacity: 1;
      }
      &:after {
        opacity: 0;
      }
    }
    .chat-i-hip {
      &:before { background-position: 0 @logoHeight;}
      &:after  { background-position: 0 0          ;}
    }
    .chat-i-camp {
      &:before { background-position: -@logoHeight -@logoHeight;}
      &:after  { background-position: -@logoHeight  0          ;}
    }
    .chat-i-flow {
      &:before { background-position: (-@logoHeight * 2) -@logoHeight;}
      &:after  { background-position: (-@logoHeight * 2)  0          ;}
    }
    .chat-i-irc {
      &:before { background-position: (-@logoHeight * 3) -@logoHeight;}
      &:after  { background-position: (-@logoHeight * 3)  0          ;}
    }
  }
  .chat-room-body {
    .clearfix();
    section:first-of-type {
      padding: 1em;
    }
    section:last-of-type {
      position: absolute;
      bottom: 3em;
      width: 100%;
      padding: 0 1em;
      .box-sizing(border-box);
    }
    input[type="text"] {
      .stickyInput();
    }
  }
  .chat-room-foot {
    box-shadow: 0 -1px #ddd;
    margin-top: auto;
    position: absolute;
    bottom: 0;
    width: 100%;
    &:empty {
      padding-top: 3em;
    }
    label {
      padding: 1em;
      span {
        margin-left: 1.5em;
      }
    }
    label {
      margin: 0;
      line-height: 1em;
      height: 1em;
    }
    i {
      font-size: 10px;
      float: right;
      line-height: 1.300em;
    }
    .tooltip {
      position: relative;
    }
  }
  .chat-room-save {
    display: block;
    margin: 2em 0;
    input {
      &[type="submit"] {
        .circleButton();
        font-size: 1em;
      }
    }
  }
  // SSH Keys Page
  .sshkeys-page {
    table {
      .skin_table();
      margin: 2em 0;
      th {
        text-align: left;
        &:last-child {
          width: 1%;
        }
      }
      td {
        vertical-align: middle;
      }
    }
    form {
      max-width: 250px;
    }
    input {
      &[type="submit"] {
        .circleButton();
        display: inline-block;
      }
    }
  }
  .sshkeys-inner {
    margin: 2em 0;
    max-width: @gridRowWidth;
    a {
      .tableDrawerBtn();
      line-height: 1em;
      > i {
        padding: 0;
        padding-left: 7.5em;
      }
    }
  }
  // Github Page
  .github-page {
    form {
      input[type="submit"] {
        .circleButton();
      }
    }
  }
  .github-page-inner {
    margin: 2em 0;
    max-width: @gridRowWidth;
  }
  // Heroku Page
  .heroku-step {
    margin-bottom: 3em;
    h4 {
      margin: 1em 0;
    }
    input[type="submit"] {
      outline: none;
    }
    .set-user {
      .circleButton(@grayLightest, @green);
    }
    .remove-user {
      .circleButton(@grayLightest, @redLight);
    }
  }
  .heroku-item {
    > h2 {
      display: none;
    }
  }
}

form.expando {
  display: inline-block;
  .dropdown-toggle.btn:focus {
    outline: none;
  }
}
.spec_form {
  button {
    vertical-align: top;
  }
}
#project-settings {
  .flexBox();
  padding: 0 2em;
  a {
    color: @blueDark;
    transition-property: color, text-shadow;
    transition-duration: .3s;
    transition-timing-function: ease-in-out;
    text-decoration: none;
    &:hover {
      color: @blueLight;
      transition-duration: .1s;
    }
  }
  h1 {
    margin-top: 0;
  }
  h2 {
    font-family: @sansFontFamily;
    font-weight: bold;
    color: @gray;
    font-size: 2em;
    display: block;
    width: 100%;
    margin: 0;
    border: none;
    line-height: 1.25em;
    padding: .25em 0;
  }
  h4 {
    font-family: @sansFontFamily;
    font-weight: bold;
    color: @gray;
    margin: 0;
    font-size: 1em;
    line-height: 2em;
  }
  ul {
    list-style: none;
    margin: 0;
  }
  aside {
    width: 250px;
    min-width: 200px;
    .flex(0, 1.1);
  }
  .tooltip {
    .tooltip-inner {
      padding: 1em;
      background: @grayDark;
    }
    .tooltip-arrow {
      border-top-color: @grayDark;
    }
  }
  .side-list {
    margin: 0;
    list-style: none;
    a {
      padding: .5em 0;
      line-height: 1em;
      margin: 0;
      display: block;
    }
  }
  .side-title {
    line-height: 1em;
    margin: .5em 0;
    padding-top: 1em;
    color: @gray;
    font-weight: bold;
    &:first-of-type {
      margin-top: 0;
      padding-top: 0;
    }
  }
  .project-settings-inner {
    .skin_cleanBoxShadow();
    .flex(1, 1);
    margin: 0 2em;
    min-height: 89vh;
  }
  .follow-status {
    width: 250px;
    min-width: 200px;
    .flex(0, 1.1);
    i {
      font-size: 5em;
      line-height: 1.5em;
      display: block;
      text-align: center;
      color: #555;
    }
    h4 {
      font-size: 1.077em;
      line-height: 1.5em;
      margin: 0 0 .5em 0;
    }
    p {
      margin-bottom: 1em;
      line-height: 1.34em;
    }
    button {
      width: 100%;
      margin: 0 auto;
      display: block;
    }
    .followed {
      button {
        .circleButton(@grayLightest, @redLight);
      }
    }
    .not-followed {
      button {
        .circleButton(@grayLightest, @green);
      }
    }
  }
  // Overview Page
  .overview-options {
    // .flexBox();
    margin: 2em 0;
    .clearfix();
  }
  .overview-item {
    // .flex(0, 1, 250px);
    margin-right: 2%;
    float: left;
    width: 300px;
    &:last-child {
      margin-right: 0;
    }
  }
  // Parallelism Page
  .parallelism-picker {
    margin: 2em 0;
  }
  .parallelism-items {
    .clearfix();
    @blockSize: 8em;
    @blockColor: @green;
    @blockColor: @gray;
    .flex(1, 1, (@blockSize * 5));
    order: 2;
    margin: 0;
    max-width: (@blockSize * 8);
    .selected {
      span {
        .outlineFlat(@blockColor);
        color: @whiten;
      }
      ~ label span {
        background: transparent;
        color: @blockColor;
        .outlineFlat(@blockColor);
      }
    }
    input[type=radio] {
      display: none;
    }
    label {
      width: @blockSize;
      height: @blockSize;
      font-size: inherit;
      margin: 0;
      position: relative;
      float: left;
      &:hover ~ label span {
        box-shadow: none;
      }
      span {
        position: absolute;
        top: 3%;
        left: 3%;
        width: 94%;
        padding: ~'calc(47% - .5em)' 0;
        box-sizing: border-box;
        background: @blockColor;
        border-radius: 3px;
        line-height: 1em;
        text-align: center;
        transition: box-shadow .2s ease-in-out;
        color: @whiten;
        &:after {
          content: "x";
          margin-right: -.5ex;
        }
      }
    }
  }
  .parallelism-info {
    width: 48ex;
    order: 1;
    margin: 0 2em 2em 0;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    height: 10em;
    *:empty {
      display: none;
    }
  }
  .mini-faq {
    display: flex;
    flex-flow: row wrap;
    justify-content: space-between;
    .mini-faq-item {
      padding-right: 4em;
      .flex(1, 1, 30%);
      min-width: 300px;
      &:last-child {
        padding-right: 0;
      }
    }
  }
  // Environment Variables Page
  .environment-variables-inner{
    // .outlineFlat();
    // border-radius: 4px;
    margin: 2em 0;
    max-width: @gridRowWidth;
    .env-table {
      .outlineFlat();
      border-radius: 4px;
    }
    form {
      margin: 0;
      // margin: 3em 0;
      // max-width: @gridRowWidth;
      + ul li:last-of-type {
          box-shadow: none;
      }
    }
    li {
      display: flex;
      justify-content: space-between;
      line-height: 3em;
      box-shadow: 0 1px @grayBoxBorder;
    }
    span {
      display: block;
      &:not(:last-of-type) {
        .flex(1, 1, 44%);
        padding-left: 1em;
      }
      &:last-of-type {
        flex: 0 0 140px;
      }
    }
    input[type="text"] {
      .stickyInput();
      margin: 1em 0;
    }
    input[type=submit] {
      .circleButton(@grayLightest, @green);
      font-size: 1em;
      margin: 1em;
      line-height: 3em;
      padding: 0 3em;
    }
    a {
      .tableDrawerBtn();
    }
  }
  // Dependencies Page
  .dependencies-page {
    fieldset {
      a.btn {
        .circleButton();
        margin-top: 2em;
        display: inline-block;
        i {
          margin-left: 1ex;
          font-size: @baseFontSize;
        }
      }
      p {
        max-width: 66%;
      }
    }
    textarea {
      .stickyTextarea();
      &:first-child {
        margin-top: 2em;
      }
    }
  }
  .dependencies-inner {
    margin: 2em 0;
    max-width: @gridRowWidth;
  }
  // Dependencies Page
  .tests-page {
    a.btn {
      .circleButton();
      margin-top: 2em;
      display: inline-block;
      i {
        margin-left: 1ex;
        font-size: @baseFontSize;
      }
    }
    p {
      max-width: 66%;
    }
    textarea {
      .stickyTextarea();
      &:first-child {
        margin-top: 2em;
      }
    }
  }
  .tests-inner {
    margin: 2em 0;
    max-width: @gridRowWidth;
  }
  // Chatrooms Page
  .chat-rooms {
    .clearfix();
    margin-top: 1em;
  }
  .chat-room-item {
    width: 21em;
    min-height: 34em;
    .outlineFlat();
    border-radius: 4px;
    padding: 0;
    float: left;
    position: relative;
    margin: 0 1em 1em 0;
    &:hover {
      [class^=chat-i] {
        &:before, &:after { transition-duration: .2s;}
        &:before { opacity: 0;}
        &:after { opacity: 1;}
      }
    }
    input[type="checkbox"] {
      margin: 0;
      line-height: 1em;
      height: 1em;
      display: none;
      margin-right: .5em;
      &:not(:checked) {
        ~ span:after {
          opacity: 1;
          transition-duration: .1s;
        }
      }
      ~ span:before {
        content: "\f096";
        font-family: FontAwesome;
        visibility: visible;
        margin-right: 1em;
        position: absolute;
        left: 1em;
      }
      &:checked ~ span:before {
        content: "\f046";
      }
    }
    label {
      span {
        margin-left: 1.5em;
        &:after {
          content: "?";
          opacity: 0;
          transition: .3s opacity ease-in-out;
        }
      }
    }
  }
  .chat-room-head {
    @logoHeight: 20px;
    padding: 1em;
    box-shadow: 0 1px @grayBoxBorder;
    [class^=chat-i] {
      line-height: @logoHeight;
      &:before, &:after {
        content: "";
        width: @logoHeight;
        height: @logoHeight;
        position: absolute;
        right: 0;
        top: 0;
        margin: 1em;
        background-image: url('@{imgPath}/chat-sprite1.png');
        transition: opacity .4s ease-in-out;
      }
      &:before {
        opacity: 1;
      }
      &:after {
        opacity: 0;
      }
    }
    .chat-i-hip {
      &:before { background-position: 0 @logoHeight;}
      &:after  { background-position: 0 0          ;}
    }
    .chat-i-camp {
      &:before { background-position: -@logoHeight -@logoHeight;}
      &:after  { background-position: -@logoHeight  0          ;}
    }
    .chat-i-flow {
      &:before { background-position: (-@logoHeight * 2) -@logoHeight;}
      &:after  { background-position: (-@logoHeight * 2)  0          ;}
    }
    .chat-i-irc {
      &:before { background-position: (-@logoHeight * 3) -@logoHeight;}
      &:after  { background-position: (-@logoHeight * 3)  0          ;}
    }
  }
  .chat-room-body {
    .clearfix();
    section:first-of-type {
      padding: 1em;
    }
    section:last-of-type {
      position: absolute;
      bottom: 3em;
      width: 100%;
      padding: 0 1em;
      .box-sizing(border-box);
    }
    input[type="text"] {
      .stickyInput();
    }
  }
  .chat-room-foot {
    box-shadow: 0 -1px #ddd;
    margin-top: auto;
    position: absolute;
    bottom: 0;
    width: 100%;
    &:empty {
      padding-top: 3em;
    }
    label {
      padding: 1em;
      span {
        margin-left: 1.5em;
      }
    }
    label {
      margin: 0;
      line-height: 1em;
      height: 1em;
    }
    i {
      font-size: 10px;
      float: right;
      line-height: 1.300em;
    }
    .tooltip {
      position: relative;
    }
  }
  .chat-room-save {
    display: block;
    margin: 2em 0;
    input {
      &[type="submit"] {
        .circleButton();
        font-size: 1em;
      }
    }
  }
  // SSH Keys Page
  .sshkeys-page {
    table {
      .skin_table();
      margin: 2em 0;
      th {
        text-align: left;
        &:last-child {
          width: 1%;
        }
      }
      td {
        vertical-align: middle;
      }
    }
    form {
      max-width: 250px;
    }
    input {
      &[type="submit"] {
        .circleButton();
        display: inline-block;
      }
    }
  }
  .sshkeys-inner {
    margin: 2em 0;
    max-width: @gridRowWidth;
    a {
      .tableDrawerBtn();
      line-height: 1em;
      > i {
        padding: 0;
        padding-left: 7.5em;
      }
    }
  }
  // Heroku Page
  .heroku-step {
    margin-bottom: 3em;
    h4 {
      margin: 1em 0;
    }
    input[type="submit"] {
      outline: none;
    }
    .set-user {
      .circleButton(@grayLightest, @green);
    }
    .remove-user {
      .circleButton(@grayLightest, @redLight);
    }
  }
  .heroku-item {
    > h2 {
      display: none;
    }
  }
}


fix spacing for remove button

fix spacing for remove button

form.expando {
  display: inline-block;
  .dropdown-toggle.btn:focus {
    outline: none;
  }
}
.spec_form {
  button {
    vertical-align: top;
  }
}
#project-settings {
  .flexBox();
  padding: 0 2em;
  a {
    color: @blueDark;
    transition-property: color, text-shadow;
    transition-duration: .3s;
    transition-timing-function: ease-in-out;
    text-decoration: none;
    &:hover {
      color: @blueLight;
      transition-duration: .1s;
    }
  }
  h1 {
    margin-top: 0;
  }
  h2 {
    font-family: @sansFontFamily;
    font-weight: bold;
    color: @gray;
    font-size: 2em;
    display: block;
    width: 100%;
    padding: 0;
    margin: 0;
    line-height: 2em;
    border: none;
  }
  h4 {
    font-family: @sansFontFamily;
    font-weight: bold;
    color: @gray;
    margin: 0;
    font-size: 1em;
    line-height: 2em;
  }
  ul {
    list-style: none;
    margin: 0;
  }
  aside {
    width: 250px;
    min-width: 200px;
    .flex(0, 1.1);
  }
  .tooltip {
    .tooltip-inner {
      padding: 1em;
      background: @grayDark;
    }
    .tooltip-arrow {
      border-top-color: @grayDark;
    }
  }
  .side-list {
    margin: 0;
    list-style: none;
    a {
      padding: .5em 0;
      line-height: 1em;
      margin: 0;
      display: block;
    }
  }
  .side-title {
    line-height: 1em;
    margin: .5em 0;
    padding-top: 1em;
    color: @gray;
    font-weight: bold;
    &:first-of-type {
      margin-top: 0;
      padding-top: 0;
    }
  }
  .project-settings-inner {
    .skin_cleanBoxShadow();
    .flex(1, 1);
    margin: 0 2em;
    min-height: 89vh;
  }
  .follow-status {
    width: 250px;
    min-width: 200px;
    .flex(0, 1.1);
    i {
      font-size: 5em;
      line-height: 1.5em;
      display: block;
      text-align: center;
      color: #555;
    }
    h4 {
      font-size: 1.077em;
      line-height: 1.5em;
      margin: 0 0 .5em 0;
    }
    p {
      margin-bottom: 1em;
      line-height: 1.34em;
    }
    button {
      width: 100%;
      margin: 0 auto;
      display: block;
    }
    .followed {
      button {
        .circleButton(@grayLightest, @redLight);
      }
    }
    .not-followed {
      button {
        .circleButton(@grayLightest, @green);
      }
    }
  }
  // Overview Page
  .overview-options {
    .flexBox();
  }
  .overview-item {
    .flex(0, 1, 250px);
    margin-right: 2%
  }
  // Parallelism Page
  .parallelism-picker {
    display: flex;
    flex-flow: row wrap;
    margin: 2em 0;
  }
  .parallelism-items {
    @blockSize: 8em;
    @blockColor: @green;
    @blockColor: @gray;
    display: flex;
    flex-flow: row wrap;
    .flex(1, 1, (@blockSize * 5));
    order: 2;
    margin: 0;
    max-width: (@blockSize * 8);
    .selected {
      span {
        .outlineFlat(@blockColor);
        color: @whiten;
      }
      ~ label span {
        background: transparent;
        color: @blockColor;
        .outlineFlat(@blockColor);
      }
    }
    input[type=radio] {
      display: none;
    }
    label {
      width: @blockSize;
      height: @blockSize;
      font-size: inherit;
      margin: 0;
      position: relative;
      &:hover ~ label span {
        box-shadow: none;
      }
      span {
        position: absolute;
        top: 3%;
        left: 3%;
        width: 94%;
        padding: ~'calc(47% - .5em)' 0;
        box-sizing: border-box;
        background: @blockColor;
        border-radius: 3px;
        line-height: 1em;
        text-align: center;
        transition: box-shadow .2s ease-in-out;
        color: @whiten;
        &:after {
          content: "x";
          margin-right: -.5ex;
        }
      }
    }
  }
  .parallelism-info {
    width: 48ex;
    order: 1;
    margin: 0 2em 2em 0;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    height: 10em;
    *:empty {
      display: none;
    }
  }
  .mini-faq {
    display: flex;
    justify-content: space-between;
    .mini-faq-item {
      padding-right: 4em;
      .flex(1, 1, 30%);
      justify-content: space-between;
    }
  }
  // Environment Variables Page
  .environment-variables-inner{
    .outlineFlat();
    border-radius: 4px;
    margin: 3em 0;
    max-width: @gridRowWidth;
    form {
      margin: 0;
      + ul li:last-of-type {
          box-shadow: none;
      }
    }
    li {
      display: flex;
      justify-content: space-between;
      line-height: 3em;
      box-shadow: 0 1px @grayBoxBorder;
    }
    span {
      display: block;
      &:not(:last-of-type) {
        .flex(1, 1, 44%);
        padding-left: 1em;
      }
      &:last-of-type {
        flex: 0 0 140px;
      }
    }
    input[type="text"] {
      .stickyInput();
      margin: 1em 0;
    }
    input[type=submit] {
      .circleButton(@grayLightest, @green);
      font-size: 1em;
      margin: 1em;
      line-height: 3em;
      padding: 0 3em;
    }
    a {
      line-height: 3em;
      color: @grayLight;
      width: 8.5em;
      display: block;
      overflow: hidden;
      white-space: nowrap;
      margin-left: auto;
      > i {
        padding: 1em;
        padding-left: 6.5em;
        transition: .2s padding ease-in-out;
      }
      > span {
        display: inline-block;
        margin-left: -3px;
        opacity: 0;
        transition: .2s opacity ease-in-out;
      }
      &:hover {
        color: @redLight;
        > i {
          padding-left: 2em;
          padding-right: .25em;
          transition-duration: .1s;
        }
        > span {
          opacity: 1;
          transition-duration: .3s;
        }
      }
    }
  }
  // Chatrooms Page
  .chat-rooms {
    .clearfix();
  }
  .chat-room-item {
    width: 21em;
    min-height: 34em;
    .outlineFlat();
    margin: 1em;
    border-radius: 4px;
    padding: 0;
    float: left;
    position: relative;
    &:hover {
      [class^=chat-i] {
        &:before, &:after { transition-duration: .2s;}
        &:before { opacity: 0;}
        &:after { opacity: 1;}
      }
    }
    input[type="checkbox"] {
      margin: 0;
      line-height: 1em;
      height: 1em;
      display: none;
      margin-right: .5em;
      &:not(:checked) {
        ~ span:after {
          opacity: 1;
          transition-duration: .1s;
        }
      }
      ~ span:before {
        content: "\f096";
        font-family: FontAwesome;
        visibility: visible;
        margin-right: 1em;
        position: absolute;
        left: 1em;
      }
      &:checked ~ span:before {
        content: "\f046";
      }
    }
    label {
      span {
        margin-left: 1.5em;
        &:after {
          content: "?";
          opacity: 0;
          transition: .3s opacity ease-in-out;
        }
      }
    }
  }
  .chat-room-head {
    @logoHeight: 20px;
    padding: 1em;
    box-shadow: 0 1px @grayBoxBorder;
    [class^=chat-i] {
      line-height: @logoHeight;
      &:before, &:after {
        content: "";
        width: @logoHeight;
        height: @logoHeight;
        position: absolute;
        right: 0;
        top: 0;
        margin: 1em;
        background-image: url('@{imgPath}/chat-sprite1.png');
        transition: opacity .4s ease-in-out;
      }
      &:before {
        opacity: 1;
      }
      &:after {
        opacity: 0;
      }
    }
    .chat-i-hip {
      &:before { background-position: 0 @logoHeight;}
      &:after  { background-position: 0 0          ;}
    }
    .chat-i-camp {
      &:before { background-position: -@logoHeight -@logoHeight;}
      &:after  { background-position: -@logoHeight  0          ;}
    }
    .chat-i-flow {
      &:before { background-position: (-@logoHeight * 2) -@logoHeight;}
      &:after  { background-position: (-@logoHeight * 2)  0          ;}
    }
    .chat-i-irc {
      &:before { background-position: (-@logoHeight * 3) -@logoHeight;}
      &:after  { background-position: (-@logoHeight * 3)  0          ;}
    }
  }
  .chat-room-body {
    .clearfix();
    section:first-of-type {
      padding: 1em;
    }
    section:last-of-type {
      position: absolute;
      bottom: 3em;
      width: 100%;
      padding: 0 1em;
      .box-sizing(border-box);
    }
    input[type="text"] {
      .stickyInput();
    }
  }
  .chat-room-foot {
    box-shadow: 0 -1px #ddd;
    margin-top: auto;
    position: absolute;
    bottom: 0;
    width: 100%;
    &:empty {
      padding-top: 3em;
    }
    label {
      padding: 1em;
      span {
        margin-left: 1.5em;
      }
    }
    label {
      margin: 0;
      line-height: 1em;
      height: 1em;
    }
    i {
      font-size: 10px;
      float: right;
      line-height: 1.300em;
    }
    .tooltip {
      position: relative;
    }
  }
  .chat-room-save {
    display: block;
    margin: 2em 0;
    input {
      &[type="submit"] {
        .circleButton();
        font-size: 1em;
      }
    }
  }
  // Heroku Page
  .heroku-step {
    margin-bottom: 3em;
    h4 {
      margin: 1em 0;
    }
    input[type="submit"] {
      outline: none;
    }
    .set-user {
      .circleButton(@grayLightest, @green);
    }
    .remove-user {
      .circleButton(@grayLightest, @redLight);
    }
  }
  .heroku-item {
    > h2 {
      display: none;
    }
  }
}

form.expando {
  display: inline-block;
  .dropdown-toggle.btn:focus {
    outline: none;
  }
}
.spec_form {
  button {
    vertical-align: top;
  }
}
#project-settings {
  .flexBox();
  padding: 0 2em;
  a {
    color: @blueDark;
    transition-property: color, text-shadow;
    transition-duration: .3s;
    transition-timing-function: ease-in-out;
    text-decoration: none;
    &:hover {
      color: @blueLight;
      transition-duration: .1s;
    }
  }
  h1 {
    margin-top: 0;
  }
  h2 {
    font-family: @sansFontFamily;
    font-weight: bold;
    color: @gray;
    font-size: 2em;
    display: block;
    width: 100%;
    padding: 0;
    margin: 0;
    line-height: 2em;
    border: none;
  }
  h4 {
    font-family: @sansFontFamily;
    font-weight: bold;
    color: @gray;
    margin: 0;
    font-size: 1em;
    line-height: 2em;
  }
  ul {
    list-style: none;
    margin: 0;
  }
  aside {
    width: 250px;
    min-width: 200px;
    .flex(0, 1.1);
  }
  .tooltip {
    .tooltip-inner {
      padding: 1em;
      background: @grayDark;
    }
    .tooltip-arrow {
      border-top-color: @grayDark;
    }
  }
  .side-list {
    margin: 0;
    list-style: none;
    a {
      padding: .5em 0;
      line-height: 1em;
      margin: 0;
      display: block;
    }
  }
  .side-title {
    line-height: 1em;
    margin: .5em 0;
    padding-top: 1em;
    color: @gray;
    font-weight: bold;
    &:first-of-type {
      margin-top: 0;
      padding-top: 0;
    }
  }
  .project-settings-inner {
    .skin_cleanBoxShadow();
    .flex(1, 1);
    margin: 0 2em;
    min-height: 89vh;
  }
  .follow-status {
    width: 250px;
    min-width: 200px;
    .flex(0, 1.1);
    i {
      font-size: 5em;
      line-height: 1.5em;
      display: block;
      text-align: center;
      color: #555;
    }
    h4 {
      font-size: 1.077em;
      line-height: 1.5em;
      margin: 0 0 .5em 0;
    }
    p {
      margin-bottom: 1em;
      line-height: 1.34em;
    }
    button {
      width: 100%;
      margin: 0 auto;
      display: block;
    }
    .followed {
      button {
        .circleButton(@grayLightest, @redLight);
      }
    }
    .not-followed {
      button {
        .circleButton(@grayLightest, @green);
      }
    }
  }
  // Overview Page
  .overview-options {
    .flexBox();
  }
  .overview-item {
    .flex(0, 1, 250px);
    margin-right: 2%
  }
  // Parallelism Page
  .parallelism-picker {
    display: flex;
    flex-flow: row wrap;
    margin: 2em 0;
  }
  .parallelism-items {
    @blockSize: 8em;
    @blockColor: @green;
    @blockColor: @gray;
    display: flex;
    flex-flow: row wrap;
    .flex(1, 1, (@blockSize * 5));
    order: 2;
    margin: 0;
    max-width: (@blockSize * 8);
    .selected {
      span {
        .outlineFlat(@blockColor);
        color: @whiten;
      }
      ~ label span {
        background: transparent;
        color: @blockColor;
        .outlineFlat(@blockColor);
      }
    }
    input[type=radio] {
      display: none;
    }
    label {
      width: @blockSize;
      height: @blockSize;
      font-size: inherit;
      margin: 0;
      position: relative;
      &:hover ~ label span {
        box-shadow: none;
      }
      span {
        position: absolute;
        top: 3%;
        left: 3%;
        width: 94%;
        padding: ~'calc(47% - .5em)' 0;
        box-sizing: border-box;
        background: @blockColor;
        border-radius: 3px;
        line-height: 1em;
        text-align: center;
        transition: box-shadow .2s ease-in-out;
        color: @whiten;
        &:after {
          content: "x";
          margin-right: -.5ex;
        }
      }
    }
  }
  .parallelism-info {
    width: 48ex;
    order: 1;
    margin: 0 2em 2em 0;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    height: 10em;
    *:empty {
      display: none;
    }
  }
  .mini-faq {
    display: flex;
    justify-content: space-between;
    .mini-faq-item {
      padding-right: 4em;
      .flex(1, 1, 30%);
      justify-content: space-between;
    }
  }
  // Environment Variables Page
  .environment-variables-inner{
    .outlineFlat();
    border-radius: 4px;
    margin: 3em 0;
    max-width: @gridRowWidth;
    form {
      margin: 0;
      + ul li:last-of-type {
          box-shadow: none;
      }
    }
    li {
      display: flex;
      justify-content: space-between;
      line-height: 3em;
      box-shadow: 0 1px @grayBoxBorder;
    }
    span {
      display: block;
      &:not(:last-of-type) {
        .flex(1, 1, 44%);
        padding-left: 1em;
      }
      &:last-of-type {
        flex: 0 0 140px;
      }
    }
    input[type="text"] {
      .stickyInput();
      margin: 1em 0;
    }
    input[type=submit] {
      .circleButton(@grayLightest, @green);
      font-size: 1em;
      margin: 1em;
      line-height: 3em;
      padding: 0 3em;
    }
    a {
      line-height: 3em;
      color: @grayLight;
      width: 8.5em;
      display: block;
      overflow: hidden;
      white-space: nowrap;
      > i {
        padding: 1em;
        padding-left: 6.5em;
        transition: .2s padding ease-in-out;
      }
      > span {
        display: inline-block;
        margin-left: -3px;
        opacity: 0;
        transition: .2s opacity ease-in-out;
      }
      &:hover {
        color: @redLight;
        > i {
          padding-left: 2em;
          padding-right: .25em;
          transition-duration: .1s;
        }
        > span {
          opacity: 1;
          transition-duration: .3s;
        }
      }
    }
  }
  // Chatrooms Page
  .chat-rooms {
    .clearfix();
  }
  .chat-room-item {
    width: 21em;
    min-height: 34em;
    .outlineFlat();
    margin: 1em;
    border-radius: 4px;
    padding: 0;
    float: left;
    position: relative;
    &:hover {
      [class^=chat-i] {
        &:before, &:after { transition-duration: .2s;}
        &:before { opacity: 0;}
        &:after { opacity: 1;}
      }
    }
    input[type="checkbox"] {
      margin: 0;
      line-height: 1em;
      height: 1em;
      display: none;
      margin-right: .5em;
      &:not(:checked) {
        ~ span:after {
          opacity: 1;
          transition-duration: .1s;
        }
      }
      ~ span:before {
        content: "\f096";
        font-family: FontAwesome;
        visibility: visible;
        margin-right: 1em;
        position: absolute;
        left: 1em;
      }
      &:checked ~ span:before {
        content: "\f046";
      }
    }
    label {
      span {
        margin-left: 1.5em;
        &:after {
          content: "?";
          opacity: 0;
          transition: .3s opacity ease-in-out;
        }
      }
    }
  }
  .chat-room-head {
    @logoHeight: 20px;
    padding: 1em;
    box-shadow: 0 1px @grayBoxBorder;
    [class^=chat-i] {
      line-height: @logoHeight;
      &:before, &:after {
        content: "";
        width: @logoHeight;
        height: @logoHeight;
        position: absolute;
        right: 0;
        top: 0;
        margin: 1em;
        background-image: url('@{imgPath}/chat-sprite1.png');
        transition: opacity .4s ease-in-out;
      }
      &:before {
        opacity: 1;
      }
      &:after {
        opacity: 0;
      }
    }
    .chat-i-hip {
      &:before { background-position: 0 @logoHeight;}
      &:after  { background-position: 0 0          ;}
    }
    .chat-i-camp {
      &:before { background-position: -@logoHeight -@logoHeight;}
      &:after  { background-position: -@logoHeight  0          ;}
    }
    .chat-i-flow {
      &:before { background-position: (-@logoHeight * 2) -@logoHeight;}
      &:after  { background-position: (-@logoHeight * 2)  0          ;}
    }
    .chat-i-irc {
      &:before { background-position: (-@logoHeight * 3) -@logoHeight;}
      &:after  { background-position: (-@logoHeight * 3)  0          ;}
    }
  }
  .chat-room-body {
    .clearfix();
    section:first-of-type {
      padding: 1em;
    }
    section:last-of-type {
      position: absolute;
      bottom: 3em;
      width: 100%;
      padding: 0 1em;
      .box-sizing(border-box);
    }
    input[type="text"] {
      .stickyInput();
    }
  }
  .chat-room-foot {
    box-shadow: 0 -1px #ddd;
    margin-top: auto;
    position: absolute;
    bottom: 0;
    width: 100%;
    &:empty {
      padding-top: 3em;
    }
    label {
      padding: 1em;
      span {
        margin-left: 1.5em;
      }
    }
    label {
      margin: 0;
      line-height: 1em;
      height: 1em;
    }
    i {
      font-size: 10px;
      float: right;
      line-height: 1.300em;
    }
    .tooltip {
      position: relative;
    }
  }
  .chat-room-save {
    display: block;
    margin: 2em 0;
    input {
      &[type="submit"] {
        .circleButton();
        font-size: 1em;
      }
    }
  }
  // Heroku Page
  .heroku-step {
    margin-bottom: 3em;
    h4 {
      margin: 1em 0;
    }
    input[type="submit"] {
      outline: none;
    }
    .set-user {
      .circleButton(@grayLightest, @green);
    }
    .remove-user {
      .circleButton(@grayLightest, @redLight);
    }
  }
  .heroku-item {
    > h2 {
      display: none;
    }
  }
}


put project-settings sidebar in overview

.spec_form {
  button {
    vertical-align: top;
  }
}
#project-settings {
  .flexy();
  padding: 1em;
  a {
    color: @blueDark;
    transition-property: color, text-shadow;
    transition-duration: .3s;
    transition-timing-function: ease-in-out;
    text-decoration: none;
    &:hover {
      color: @blueLight;
      transition-duration: .1s;
    }
    &.btn-primary {
      color: white;
    }
  }
  h1 {
    margin-top: 0;
  }
  h2 {
    font-family: @sansFontFamily;
    font-weight: bold;
    color: @gray;
    font-size: 2em;
    display: block;
    width: 100%;
    margin: 0;
    border: none;
    line-height: 1.25em;
    padding: .25em 0;
  }
  h4 {
    font-family: @sansFontFamily;
    font-weight: bold;
    color: @gray;
    margin: 0;
    font-size: 1em;
    line-height: 2em;
  }
  ul {
    list-style: none;
    margin: 0;
  }
  aside {
    width: @aside_nav_width;
    min-width: 200px;
    .flex(0 1.1 auto);
  }
  .try-out-build {
    @input_width: 7em;
    max-height: 8em;
    // margin: 1em 0;
    opacity: 1;
    transition: all .3s ease-in-out;
    display: inline-block;
    &:empty {
      max-height: 0;
      margin: 0;
      opacity: 0;
    }
    form {
      width: 300px;
      margin: 0 auto;
      position: relative;
      input {
        &[type="text"] {
          width: 100%;
          padding-right: @input_width;
        }
        &[type="submit"] {
          .circleButton();
          position: absolute;
          top: 0;
          right: 0;
          width: @input_width;
          padding: .75em 0;
          box-shadow: none;
          margin: 1px;
          border-radius: 0 2em 2em 0;
          height: 3em;
        }
      }
    }
    .typeahead {
      .active {
        a {
          background: @grayLightest;
        }
      }
    }
  }
  .side-list {
    margin: 0;
    list-style: none;
    a {
      padding: .5em 0;
      line-height: 1em;
      margin: 0;
      display: block;
    }
  }
  .side-title {
    line-height: 1em;
    margin: .5em 0;
    padding-top: 1em;
    color: @gray;
    font-weight: bold;
    &:first-of-type {
      margin-top: 0;
      padding-top: 0;
    }
  }
  #subpage {
    > section {
      > article {
        padding: 1em 0;
      }
    }
  }
  .project-settings-inner {
    .flex(1 1 auto);
    padding: 0 2em;
    min-height: 89vh;
    overflow: auto;
  }
  .project-setting-watch {
    &:not(.unwatched) {
      button {
        .circleButton(@grayLightest, @redLight);
      }
    }
    &.unwatched {
      button {
        .circleButton(@grayLightest, @green);
      }
    }
  }
  // Parallelism Page
  .parallelism-picker {
    .try-out-build {
      padding-top: 1em;
    }
  }
  .parallelism-items {
    .clearfix();
    @blockSize: 10em;
    @blockColor: @blueDark;
    margin: 0;
    max-width: (@blockSize * 8);
    .parallelism-upgrades {
      display: block;
      height: 100%;
      width: 100%;
      overflow: hidden;
      position: relative;
    }
    .selected {
      span {
        .outlineInside(@blockColor);
        color: @whiten;
        background: @blockColor;
      }
      ~ label {
        &.disabled {
          cursor: default;
          &:hover {
            .insufficient-containers,
            .insufficient-plan,
            .insufficient-trial {
              .translate(0);
              transition-duration: .1s;
              opacity: 1;
            }
          }
          > span {
            background: @grayLightest;
            box-shadow: none;
            color: @grayLighter;
          }
          .insufficient-minimum {
            display: none;
          }
        }
        > span {
          background: transparent;
          color: @blockColor;
          .outlineInside(@blockColor);
        }
      }
    }
    .disabled {
      &:hover {
        .insufficient-minimum {
          .translate(0);
          transition-duration: .1s;
          opacity: 1;
        }
      }
      > span {
        background: @redLight;
        box-shadow: none;
      }
    }
    input[type=radio] {
      display: none;
    }
    label {
      width: @blockSize;
      height: @blockSize;
      font-size: inherit;
      margin: 0;
      position: relative;
      float: left;
      &:hover ~ label > span {
        box-shadow: none;
      }
      > span {
        position: absolute;
        top: 3%;
        left: 3%;
        width: 94%;
        padding: ~'calc(47% - .5em)' 0;
        .box-sizing(border-box);
        background: @blockColor;
        border-radius: 3px;
        line-height: 1em;
        text-align: center;
        color: @whiten;
        &:after {
          content: "x";
          margin-right: -.5ex;
        }
        &:hover {
        top: 2%;
        left: 2%;
        width: 96%;
        padding: ~'calc(48% - .5em)' 0;
        }
      }
    }
    .insufficient-containers,
    .insufficient-plan,
    .insufficient-trial,
    .insufficient-minimum {
      position: absolute;
      top: 0;
      left: 0;
      background: #555;
      padding: .75em;
      color: @grayLightest;
      .box-sizing(border-box);
      top: 3%;
      left: 3%;
      width: 94%;
      height: 94%;
      border-radius: 3px;
      text-align: center;
      .translate(0, 110%);
      transition: all .3s ease-in-out;
      opacity: 0;
      a {
        .circleButton(@green);
        font-size: @baseFontSize;
        display: block;
        padding: 3px;
        margin-top: 1.5em;
        text-shadow: none;
      }
      &:empty {
        display: none;
      }
    }
    .insufficient-plan,
    .insufficient-minimum {
      a {
        .circleButton();
        display: block;
        padding: 3px;
        margin-top: 1.5em;
        text-shadow: none;
        font-size: @baseFontSize;
      }
    }
    .insufficient-minimum {
      .translate(0);
      background: @redLight;
      z-index: 1;
      .tooltip {
        width: @blockSize * 1.34;
      }
    }
  }
  .parallelism-info {
    width: 48ex;
    order: 1;
    margin: 0 2em 2em 0;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    height: 10em;
    *:empty {
      display: none;
    }
  }
  .mini-faq {
    display: flex;
    flex-flow: row wrap;
    justify-content: space-between;
    margin-top: 2em;
    .mini-faq-item {
      padding-right: 4em;
      .flex(1 1 30%);
      min-width: 300px;
      &:last-child {
        padding-right: 0;
      }
    }
  }
  // Environment Variables Page
  .environment-variables-inner{
    margin: 2em 0;
    max-width: @gridRowWidth;
    form {
      margin-top: 2em;
      width: 50%;
    }
    table {
      .tableLight();
      td {
        &:not(:last-child) {
          max-width: 150px;
          overflow-x: hidden;
          text-overflow: ellipsis;
          white-space: nowrap;
          padding: 1em;
        }
      }
    }
    input[type=submit] {
      .circleButton(@grayLightest, @green);
    }
    a {
      .tableDrawerBtn();
    }
  }
  // Dependencies Page
  .dependencies-page {
    fieldset {
      input {
        &[type="submit"] {
          .circleButton();
        }
      }
      p {
        max-width: 66%;
        margin-bottom: 2em;
      }
    }

    textarea {
      font-family: @codeFontFamily;
    }
  }
  .dependencies-inner {
    margin: 2em 0;
    max-width: @gridRowWidth;
  }
  // Tests Page
  .tests-page {
    p {
      max-width: 66%;
      margin-bottom: 2em;
    }
    .try-out-build {
      margin-left: 2em;
    }

    textarea {
      font-family: @codeFontFamily;
    }
  }
  .tests-inner {
    margin: 2em 0;
    max-width: @gridRowWidth;
    input {
      &[type="submit"] {
        .circleButton();
      }
    }
  }
  // Chatrooms Page
  .chat-rooms {
    .clearfix();
    margin-top: 1em;
    .tooltip {
      .tooltip-inner {
        padding: 1em;
        background: @grayDark;
      }
      .tooltip-arrow {
        border-top-color: @grayDark;
      }
    }
  }
  .chat-room-item {
    width: 21em;
    min-height: 34em;
    .outlineFlat();
    border-radius: 4px;
    padding: 0;
    float: left;
    position: relative;
    margin: 0 1em 1em 0;
    &:hover {
      [class^=chat-i] {
        &:before, &:after { transition-duration: .2s;}
        &:before { opacity: 0;}
        &:after { opacity: 1;}
      }
    }
    input[type="checkbox"] {
      margin: 0;
      line-height: 1em;
      height: 1em;
      display: none;
      margin-right: .5em;
      &:not(:checked) {
        ~ span:after {
          opacity: 1;
          transition-duration: .1s;
        }
      }
      ~ span:before {
        content: "\f096";
        font-family: FontAwesome;
        visibility: visible;
        margin-right: 1em;
        position: absolute;
        left: 1em;
      }
      &:checked ~ span:before {
        content: "\f046";
      }
    }
    label {
      > span {
        margin-left: 1.5em;
        &:after {
          content: "?";
          opacity: 0;
          transition: .3s opacity ease-in-out;
        }
      }
    }
  }
  .chat-room-head {
    @logoHeight: 20px;
    padding: 1em;
    box-shadow: 0 1px @grayBoxBorder;
    [class^=chat-i] {
      line-height: @logoHeight;
      &:before, &:after {
        content: "";
        width: @logoHeight;
        height: @logoHeight;
        position: absolute;
        right: 0;
        top: 0;
        margin: 1em;
        background-image: url('@{imgPath}/chat-sprite3.png');
        transition: opacity .4s ease-in-out;
      }
      &:before {
        opacity: 1;
      }
      &:after {
        opacity: 0;
      }
    }
    .chat-i-hipchat {
      &:before { background-position: 0 @logoHeight;}
      &:after  { background-position: 0 0          ;}
    }
    .chat-i-campfire {
      &:before { background-position: -@logoHeight -@logoHeight;}
      &:after  { background-position: -@logoHeight  0          ;}
    }
    .chat-i-flowdock {
      &:before { background-position: (-@logoHeight * 2) -@logoHeight;}
      &:after  { background-position: (-@logoHeight * 2)  0          ;}
    }
    .chat-i-irc {
      &:before { background-position: (-@logoHeight * 3) -@logoHeight;}
      &:after  { background-position: (-@logoHeight * 3)  0          ;}
    }
    .chat-i-slack {
      &:before { background-position: (-@logoHeight * 4) -@logoHeight;}
      &:after  { background-position: (-@logoHeight * 4)  0          ;}
    }
    .chat-i-hall {
      &:before { background-position: (-@logoHeight * 5) -@logoHeight;}
      &:after  { background-position: (-@logoHeight * 5)  0          ;}
    }
  }
  .chat-room-body {
    .clearfix();
    section:first-of-type {
      padding: 1em;
    }
    section:last-of-type {
      position: absolute;
      bottom: 1em;
      width: 100%;
      padding: 0 1em;
      .box-sizing(border-box);
    }
    i {
      font-size: 10px;
      float: right;
      line-height: 1.300em;
    }
    .tooltip {
      position: relative;
    }
  }
  .chat-room-buttons {
    padding-top: 1em;
    text-align: center;
    button {
      .subtleButton(@grayLight);
      .aRowOfButtons(2em);
      float: none;
    }
  }
  // SSH Keys Page
  .sshkeys-page {
    table {
      .skin_table();
      margin: 2em 0;
      &:empty {
        display: none;
      }
      th {
        text-align: left;
        &:last-child {
          width: 1%;
        }
      }
      td {
        vertical-align: middle;
      }
    }
    form {
      margin-top: 2em;
      width: 50%;
    }
    input {
      &[type="submit"] {
        .circleButton();
        display: block;
      }
    }
  }
  .sshkeys-inner {
    margin: 2em 0;
    max-width: @gridRowWidth;
    a {
      .tableDrawerBtn();
      line-height: 1em;
      > i {
        padding: 0;
        padding-left: 7.5em;
      }
    }
  }
  // Checkout keys page
  .checkout-page {
    .btn {
      .circleButton();
      position: relative;
    }
  }
  .checkout-page-inner {
    ul {
      list-style: disc inside;
    }
    table {
      .skin_table();
      margin-bottom: 1em;
      tr.preferred {
        td {
          background: @blueDark;
          color: @whiten;
        }
        a {
          color: @whiten;
        }
      }
    }
    margin: 2em 0;
    max-width: @gridRowWidth;
    .tooltip {
      font-size: @baseFontSize;
    }
    .ghu-authorize {
      .circleButton(@green);
      text-shadow: none;
      font-weight: bold;
      font-family: "ProximaNova",sans-serif;
    }
    .add-key {
      border-radius: 1em;
      .outlineFlat();
      margin: 0 1em 1em 0;
      padding: 1em;
    }
    a {
      white-space: nowrap;
    }
  }
  // Circle API & Status Badge pages
  .circle-api-page, .status-page {
    table {
      .skin_table();
      overflow: visible;
      th {
        text-align: left;
        &:last-child {
          width: 1%;
        }
      }
      td {
        vertical-align: middle;
      }
      .slideBtn {
        .tableDrawerBtn();
        line-height: 1em;
        > i {
          padding: 0;
          padding-left: 7.5em;
        }
      }
    }
  }
  .circle-api-page-inner, .status-page-inner {
    margin: 2em 0;
    max-width: @gridRowWidth;
    .popover {
      width: 500px;
      top: 66px;
      left: 340px;
    }
    form {
      margin-top: 2em;
      width: 50%;
    }
    input {
      &[type="submit"] {
        .circleButton();
      }
    }
    i {
      cursor: pointer;
    }
    .styled-select {
      position: relative;
      width: 100%;
      display: inline-block;
      select {
        background: transparent;
        -webkit-appearance: none;
        outline: none;
        .outlineInside(@grayLighter);
        border-radius: 5em;
        .box-sizing(border-box);
        line-height: 2em;
        height: 3em;
        width: 100%;
        padding: .5em 1.34em;
        margin-bottom: 1em;
        -webkit-font-smoothing: antialiased;
        &:hover ~ i.fa-chevron-down {
          color: @blueLight;
          transition-duration: .1s;
        }
      }
      i {
        &.fa-chevron-down {
          right: 1.5em;
          pointer-events: none;
          position: absolute;
          top: 24%;
          transition: color .3s ease-in-out;
        }
      }
    }
  }
  .status-page-inner {
    .token .warning {
      font-weight: bold;
      color: @redLight;
    }
    .style, .preview {
      margin-bottom: 1.5em;
    }
    .embed textarea {
      height: 8em;
    }
  }
  // Heroku Page
  .heroku-step {
    margin-bottom: 3em;
    h4 {
      margin: 1em 0;
    }
    input[type="submit"] {
      outline: none;
    }
    form {
      margin: 1em 0;
      &:empty {
        display: none;
      }
    }
    .set-user {
      .circleButton();
    }
    .remove-user {
      .circleButton();
    }
  }
  .heroku-item {
    > h2 {
      display: none;
    }
  }

  // AWS Page
  .aws-page-inner {
    margin-top: 2em;
    form {
      margin-top: 2em;
      max-width: 340px;
      .flexy(column);

      .buttons {
        .flexy(inherit, space-around);
        -webkit-flex-wrap: wrap;
                flex-wrap: wrap;
      }
    }
    input[type=submit] {
      margin-top: .75em;
      .circleButton();

      &.remove {
        .circleButton(@grayLightest, @redLight);
      }
    }
  }
}

input.radio[type="checkbox"] {
  -webkit-appearance: radio;
  -moz-appearance: radio;
  appearance: radio;
}

.spec_form {
  button {
    vertical-align: top;
  }
}
#project-settings {
  .flexy();
  padding: 1em;
  a {
    color: @blueDark;
    transition-property: color, text-shadow;
    transition-duration: .3s;
    transition-timing-function: ease-in-out;
    text-decoration: none;
    &:hover {
      color: @blueLight;
      transition-duration: .1s;
    }
    &.btn-primary {
      color: white;
    }
  }
  h1 {
    margin-top: 0;
  }
  h2 {
    font-family: @sansFontFamily;
    font-weight: bold;
    color: @gray;
    font-size: 2em;
    display: block;
    width: 100%;
    margin: 0;
    border: none;
    line-height: 1.25em;
    padding: .25em 0;
  }
  h4 {
    font-family: @sansFontFamily;
    font-weight: bold;
    color: @gray;
    margin: 0;
    font-size: 1em;
    line-height: 2em;
  }
  ul {
    list-style: none;
    margin: 0;
  }
  aside {
    width: @aside_nav_width;
    min-width: 200px;
    .flex(0 1.1 auto);
  }
  .try-out-build {
    @input_width: 7em;
    max-height: 8em;
    // margin: 1em 0;
    opacity: 1;
    transition: all .3s ease-in-out;
    display: inline-block;
    &:empty {
      max-height: 0;
      margin: 0;
      opacity: 0;
    }
    form {
      width: 300px;
      margin: 0 auto;
      position: relative;
      input {
        &[type="text"] {
          width: 100%;
          padding-right: @input_width;
        }
        &[type="submit"] {
          .circleButton();
          position: absolute;
          top: 0;
          right: 0;
          width: @input_width;
          padding: .75em 0;
          box-shadow: none;
          margin: 1px;
          border-radius: 0 2em 2em 0;
          height: 3em;
        }
      }
    }
    .typeahead {
      .active {
        a {
          background: @grayLightest;
        }
      }
    }
  }
  .side-list {
    margin: 0;
    list-style: none;
    a {
      padding: .5em 0;
      line-height: 1em;
      margin: 0;
      display: block;
    }
  }
  .side-title {
    line-height: 1em;
    margin: .5em 0;
    padding-top: 1em;
    color: @gray;
    font-weight: bold;
    &:first-of-type {
      margin-top: 0;
      padding-top: 0;
    }
  }
  .project-settings-inner {
    .flex(1 1 auto);
    padding: 0 2em;
    min-height: 89vh;
    overflow: auto;
  }
  .follow-status {
    width: @aside_nav_width;
    min-width: 200px;
    .flex(0 1.1 auto);
    i {
      font-size: 5em;
      line-height: 1.5em;
      display: block;
      text-align: center;
      color: #555;
    }
    h4 {
      font-size: 1.077em;
      line-height: 1.5em;
      margin: 0 0 .5em 0;
    }
    p {
      margin-bottom: 1em;
      line-height: 1.34em;
    }
    button {
      width: 100%;
      margin: 0 auto;
      display: block;
    }
    .followed {
      button {
        .circleButton(@grayLightest, @redLight);
      }
    }
    .not-followed {
      button {
        .circleButton(@grayLightest, @green);
      }
    }
  }
  // Overview Page
  .overview-options {
    margin: 2em 0;
    .clearfix();
  }
  .overview-item {
    margin-right: 2%;
    float: left;
    width: 300px;
    min-height: (1 / 2) * @standardBlockSize;
    &:last-child {
      margin-right: 0;
    }
  }
  // Parallelism Page
  .parallelism-picker {
    .try-out-build {
      padding-top: 1em;
    }
  }
  .parallelism-items {
    .clearfix();
    @blockSize: 10em;
    @blockColor: @blueDark;
    margin: 0;
    max-width: (@blockSize * 8);
    .parallelism-upgrades {
      display: block;
      height: 100%;
      width: 100%;
      overflow: hidden;
      position: relative;
    }
    .selected {
      span {
        .outlineInside(@blockColor);
        color: @whiten;
        background: @blockColor;
      }
      ~ label {
        &.disabled {
          cursor: default;
          &:hover {
            .insufficient-containers,
            .insufficient-plan,
            .insufficient-trial {
              .translate(0);
              transition-duration: .1s;
              opacity: 1;
            }
          }
          > span {
            background: @grayLightest;
            box-shadow: none;
            color: @grayLighter;
          }
          .insufficient-minimum {
            display: none;
          }
        }
        > span {
          background: transparent;
          color: @blockColor;
          .outlineInside(@blockColor);
        }
      }
    }
    .disabled {
      &:hover {
        .insufficient-minimum {
          .translate(0);
          transition-duration: .1s;
          opacity: 1;
        }
      }
      > span {
        background: @redLight;
        box-shadow: none;
      }
    }
    input[type=radio] {
      display: none;
    }
    label {
      width: @blockSize;
      height: @blockSize;
      font-size: inherit;
      margin: 0;
      position: relative;
      float: left;
      &:hover ~ label > span {
        box-shadow: none;
      }
      > span {
        position: absolute;
        top: 3%;
        left: 3%;
        width: 94%;
        padding: ~'calc(47% - .5em)' 0;
        .box-sizing(border-box);
        background: @blockColor;
        border-radius: 3px;
        line-height: 1em;
        text-align: center;
        color: @whiten;
        &:after {
          content: "x";
          margin-right: -.5ex;
        }
        &:hover {
        top: 2%;
        left: 2%;
        width: 96%;
        padding: ~'calc(48% - .5em)' 0;
        }
      }
    }
    .insufficient-containers,
    .insufficient-plan,
    .insufficient-trial,
    .insufficient-minimum {
      position: absolute;
      top: 0;
      left: 0;
      background: #555;
      padding: .75em;
      color: @grayLightest;
      .box-sizing(border-box);
      top: 3%;
      left: 3%;
      width: 94%;
      height: 94%;
      border-radius: 3px;
      text-align: center;
      .translate(0, 110%);
      transition: all .3s ease-in-out;
      opacity: 0;
      a {
        .circleButton(@green);
        font-size: @baseFontSize;
        display: block;
        padding: 3px;
        margin-top: 1.5em;
        text-shadow: none;
      }
      &:empty {
        display: none;
      }
    }
    .insufficient-plan,
    .insufficient-minimum {
      a {
        .circleButton();
        display: block;
        padding: 3px;
        margin-top: 1.5em;
        text-shadow: none;
        font-size: @baseFontSize;
      }
    }
    .insufficient-minimum {
      .translate(0);
      background: @redLight;
      z-index: 1;
      .tooltip {
        width: @blockSize * 1.34;
      }
    }
  }
  .parallelism-info {
    width: 48ex;
    order: 1;
    margin: 0 2em 2em 0;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    height: 10em;
    *:empty {
      display: none;
    }
  }
  .mini-faq {
    display: flex;
    flex-flow: row wrap;
    justify-content: space-between;
    margin-top: 2em;
    .mini-faq-item {
      padding-right: 4em;
      .flex(1 1 30%);
      min-width: 300px;
      &:last-child {
        padding-right: 0;
      }
    }
  }
  // Environment Variables Page
  .environment-variables-inner{
    margin: 2em 0;
    max-width: @gridRowWidth;
    form {
      margin-top: 2em;
      width: 50%;
    }
    table {
      .tableLight();
      td {
        &:not(:last-child) {
          max-width: 150px;
          overflow-x: hidden;
          text-overflow: ellipsis;
          white-space: nowrap;
          padding: 1em;
        }
      }
    }
    input[type=submit] {
      .circleButton(@grayLightest, @green);
    }
    a {
      .tableDrawerBtn();
    }
  }
  // Dependencies Page
  .dependencies-page {
    fieldset {
      input {
        &[type="submit"] {
          .circleButton();
        }
      }
      p {
        max-width: 66%;
        margin-bottom: 2em;
      }
    }

    textarea {
      font-family: @codeFontFamily;
    }
  }
  .dependencies-inner {
    margin: 2em 0;
    max-width: @gridRowWidth;
  }
  // Tests Page
  .tests-page {
    p {
      max-width: 66%;
      margin-bottom: 2em;
    }
    .try-out-build {
      margin-left: 2em;
    }

    textarea {
      font-family: @codeFontFamily;
    }
  }
  .tests-inner {
    margin: 2em 0;
    max-width: @gridRowWidth;
    input {
      &[type="submit"] {
        .circleButton();
      }
    }
  }
  // Chatrooms Page
  .chat-rooms {
    .clearfix();
    margin-top: 1em;
    .tooltip {
      .tooltip-inner {
        padding: 1em;
        background: @grayDark;
      }
      .tooltip-arrow {
        border-top-color: @grayDark;
      }
    }
  }
  .chat-room-item {
    width: 21em;
    min-height: 34em;
    .outlineFlat();
    border-radius: 4px;
    padding: 0;
    float: left;
    position: relative;
    margin: 0 1em 1em 0;
    &:hover {
      [class^=chat-i] {
        &:before, &:after { transition-duration: .2s;}
        &:before { opacity: 0;}
        &:after { opacity: 1;}
      }
    }
    input[type="checkbox"] {
      margin: 0;
      line-height: 1em;
      height: 1em;
      display: none;
      margin-right: .5em;
      &:not(:checked) {
        ~ span:after {
          opacity: 1;
          transition-duration: .1s;
        }
      }
      ~ span:before {
        content: "\f096";
        font-family: FontAwesome;
        visibility: visible;
        margin-right: 1em;
        position: absolute;
        left: 1em;
      }
      &:checked ~ span:before {
        content: "\f046";
      }
    }
    label {
      > span {
        margin-left: 1.5em;
        &:after {
          content: "?";
          opacity: 0;
          transition: .3s opacity ease-in-out;
        }
      }
    }
  }
  .chat-room-head {
    @logoHeight: 20px;
    padding: 1em;
    box-shadow: 0 1px @grayBoxBorder;
    [class^=chat-i] {
      line-height: @logoHeight;
      &:before, &:after {
        content: "";
        width: @logoHeight;
        height: @logoHeight;
        position: absolute;
        right: 0;
        top: 0;
        margin: 1em;
        background-image: url('@{imgPath}/chat-sprite3.png');
        transition: opacity .4s ease-in-out;
      }
      &:before {
        opacity: 1;
      }
      &:after {
        opacity: 0;
      }
    }
    .chat-i-hipchat {
      &:before { background-position: 0 @logoHeight;}
      &:after  { background-position: 0 0          ;}
    }
    .chat-i-campfire {
      &:before { background-position: -@logoHeight -@logoHeight;}
      &:after  { background-position: -@logoHeight  0          ;}
    }
    .chat-i-flowdock {
      &:before { background-position: (-@logoHeight * 2) -@logoHeight;}
      &:after  { background-position: (-@logoHeight * 2)  0          ;}
    }
    .chat-i-irc {
      &:before { background-position: (-@logoHeight * 3) -@logoHeight;}
      &:after  { background-position: (-@logoHeight * 3)  0          ;}
    }
    .chat-i-slack {
      &:before { background-position: (-@logoHeight * 4) -@logoHeight;}
      &:after  { background-position: (-@logoHeight * 4)  0          ;}
    }
    .chat-i-hall {
      &:before { background-position: (-@logoHeight * 5) -@logoHeight;}
      &:after  { background-position: (-@logoHeight * 5)  0          ;}
    }
  }
  .chat-room-body {
    .clearfix();
    section:first-of-type {
      padding: 1em;
    }
    section:last-of-type {
      position: absolute;
      bottom: 1em;
      width: 100%;
      padding: 0 1em;
      .box-sizing(border-box);
    }
    i {
      font-size: 10px;
      float: right;
      line-height: 1.300em;
    }
    .tooltip {
      position: relative;
    }
  }
  .chat-room-buttons {
    padding-top: 1em;
    text-align: center;
    button {
      .subtleButton(@grayLight);
      .aRowOfButtons(2em);
      float: none;
    }
  }
  // SSH Keys Page
  .sshkeys-page {
    table {
      .skin_table();
      margin: 2em 0;
      &:empty {
        display: none;
      }
      th {
        text-align: left;
        &:last-child {
          width: 1%;
        }
      }
      td {
        vertical-align: middle;
      }
    }
    form {
      margin-top: 2em;
      width: 50%;
    }
    input {
      &[type="submit"] {
        .circleButton();
        display: block;
      }
    }
  }
  .sshkeys-inner {
    margin: 2em 0;
    max-width: @gridRowWidth;
    a {
      .tableDrawerBtn();
      line-height: 1em;
      > i {
        padding: 0;
        padding-left: 7.5em;
      }
    }
  }
  // Checkout keys page
  .checkout-page {
    .btn {
      .circleButton();
      position: relative;
    }
  }
  .checkout-page-inner {
    ul {
      list-style: disc inside;
    }
    table {
      .skin_table();
      margin-bottom: 1em;
      tr.preferred {
        td {
          background: @blueDark;
          color: @whiten;
        }
        a {
          color: @whiten;
        }
      }
    }
    margin: 2em 0;
    max-width: @gridRowWidth;
    .tooltip {
      font-size: @baseFontSize;
    }
    .ghu-authorize {
      .circleButton(@green);
      text-shadow: none;
      font-weight: bold;
      font-family: "ProximaNova",sans-serif;
    }
    .add-key {
      border-radius: 1em;
      .outlineFlat();
      margin: 0 1em 1em 0;
      padding: 1em;
    }
    a {
      white-space: nowrap;
    }
  }
  // Circle API & Status Badge pages
  .circle-api-page, .status-page {
    table {
      .skin_table();
      overflow: visible;
      th {
        text-align: left;
        &:last-child {
          width: 1%;
        }
      }
      td {
        vertical-align: middle;
      }
      .slideBtn {
        .tableDrawerBtn();
        line-height: 1em;
        > i {
          padding: 0;
          padding-left: 7.5em;
        }
      }
    }
  }
  .circle-api-page-inner, .status-page-inner {
    margin: 2em 0;
    max-width: @gridRowWidth;
    .popover {
      width: 500px;
      top: 66px;
      left: 340px;
    }
    form {
      margin-top: 2em;
      width: 50%;
    }
    input {
      &[type="submit"] {
        .circleButton();
      }
    }
    i {
      cursor: pointer;
    }
    .styled-select {
      position: relative;
      width: 100%;
      display: inline-block;
      select {
        background: transparent;
        -webkit-appearance: none;
        outline: none;
        .outlineInside(@grayLighter);
        border-radius: 5em;
        .box-sizing(border-box);
        line-height: 2em;
        height: 3em;
        width: 100%;
        padding: .5em 1.34em;
        margin-bottom: 1em;
        -webkit-font-smoothing: antialiased;
        &:hover ~ i.fa-chevron-down {
          color: @blueLight;
          transition-duration: .1s;
        }
      }
      i {
        &.fa-chevron-down {
          right: 1.5em;
          pointer-events: none;
          position: absolute;
          top: 24%;
          transition: color .3s ease-in-out;
        }
      }
    }
  }
  .status-page-inner {
    .token .warning {
      font-weight: bold;
      color: @redLight;
    }
    .style, .preview {
      margin-bottom: 1.5em;
    }
    .embed textarea {
      height: 8em;
    }
  }
  // Heroku Page
  .heroku-step {
    margin-bottom: 3em;
    h4 {
      margin: 1em 0;
    }
    input[type="submit"] {
      outline: none;
    }
    form {
      margin: 1em 0;
      &:empty {
        display: none;
      }
    }
    .set-user {
      .circleButton();
    }
    .remove-user {
      .circleButton();
    }
  }
  .heroku-item {
    > h2 {
      display: none;
    }
  }

  // AWS Page
  .aws-page-inner {
    margin-top: 2em;
    form {
      margin-top: 2em;
      max-width: 340px;
      .flexy(column);

      .buttons {
        .flexy(inherit, space-around);
        -webkit-flex-wrap: wrap;
                flex-wrap: wrap;
      }
    }
    input[type=submit] {
      margin-top: .75em;
      .circleButton();

      &.remove {
        .circleButton(@grayLightest, @redLight);
      }
    }
  }
}

input.radio[type="checkbox"] {
  -webkit-appearance: radio;
  -moz-appearance: radio;
  appearance: radio;
}