/* vim: set ts=2 sw=2 et tw=80: */
body {
  background-color: $background-color;
  font-family: "Bombardier", sans-serif;
  display: flex;
  min-height: 100vh;
  flex-direction: column;
}

main {
  flex: 1 0 auto;
}

.navbar-list .navbar-item {
  text-transform: uppercase;
  font-weight: 400;
  margin: 1em;
}

ul.navbar-list {
  margin-bottom: 2rem;
}

.header {
  border-bottom: $border;
  background: $nav-bg;
  color: $nav-col;

  .head.navbar {
    display: flex;

    @include media-query($on-palm) {
      flex-direction: column;
      align-items: center;
    }

    h1 {
      flex: 2;
      font-size: 1.5rem;
      display: inline;
      margin: 0;
      padding: 0;

      a {
        color: white;
      }
    }

    .links {
      white-space: nowrap;
      text-align: right;

      a {
        text-transform: uppercase;
        display: inline-block;
        padding: 0.25rem 0.5rem;
      }

      a:first-child {
        padding-left: 0;
      }

      a:last-child {
        padding-right: 0;
      }
    }
  }
}

.homequote {
  display: flex;
  background: $nav-bg;
  color: $nav-col;
  align-items: stretch;
  margin-bottom: 1rem;

  figure {
    margin: 0;
    flex: 0;
    display: flex;
    align-items: center;
    min-width: 300px;
    background: black;
  }

  @include media-query($on-palm) {
    figure {
      display: none;
    }
  }

  .quote {
    border-left: 3px dotted $brand-color;
    flex: 1;
    padding: 1rem 1.5rem;
  }
}

.portfolio {
  position: relative;
  padding-top: 2rem;

  .line {
    position: absolute;
    top: 0;
    bottom: 0;
    left: 1rem;
    border: 3px solid #aaa;
    z-index: 100;
  }

  .line-end,
  .line-end-bottom {
    position: absolute;
    left: 0.75rem;
    width: 1rem;
    height: 1rem;
    border-radius: 0.25rem;
    background: #aaa;
    z-index: 200;
  }

  .line-end {
    top: 0;
  }
  .line-end-bottom {
    bottom: 0;
  }

  .port-elem {
    display: flex;
    width: 100%;

    .side > *,
    .description {
      padding: 0.5rem;
      z-index: 200;
    }

    .side {
      width: 12rem;
      min-width: 12rem;
      display: flex;
      flex-grow: 0;
      flex-direction: column;
      align-items: stretch;
      text-align: right;

      .date {
        background: $nav-bg;
        color: $nav-col;
      }

      .category,
      .authors,
      .repo,
      .languages {
        background: white;
        border-left: 3px solid $nav-bg;
        border-bottom: 3px solid $nav-bg;
      }

      .authors {
        text-align: left;

        ul {
          margin-left: 4rem;
          list-style-type: square;
        }
      }
    }

    .description {
      border: 3px solid $nav-bg;
      flex-grow: 1;

      .images {
        background: $nav-bg;
        padding: 0.5rem;
        margin: -0.5rem -0.5rem 0.5rem -0.5rem;
        text-align: center;

        img {
          width: 175px;
          margin: 0.25rem;
          border: 3px solid $nav-col;
        }
      }
    }
  }
}

@media (max-width: 700px) {
  .navbar-list .navbar-item {
    width: calc(100% - 2em);
  }
}

ul.post-list,
ul.navbar-list {
  list-style-type: none;
  margin-left: 0;
  margin-right: 0;
}

ul.post-list li {
  padding-top: 2rem;
}

ul.post-list li:first-child {
  padding-top: 0;
}

footer {
  justify-content: space-between;
  border-top: $border;
  background: $nav-bg;
  color: $nav-col;

  .container {
    display: flex;

    .author {
      flex: 1;
      font-size: 1rem;
      text-align: right;
    }

    @include media-query($on-palm) {
      flex-direction: column;
      align-items: center;

      .author {
        text-align: center;
      }
    }

    .icons {
      text-align: center;
      flex: 0;
      white-space: nowrap;

      .icon {
        display: inline-table;
        background: $nav-col;
        color: $nav-bg;
        width: 2.5em;
        height: 2.5em;
        text-align: center;
        line-height: 2.5em;
        margin: 0.25em;
        cursor: pointer;
      }
    }
  }
}

.container {
  padding-top: 1rem;
  padding-bottom: 1rem;
  max-width: 1280px;
  margin: 0 auto;
}

/* Utility class for centering block elements */
.block-center {
  display: block;
  margin: auto;
}
