@charset "utf-8";
@import "../util";

aside {
  background-color: $dark-green;
  color:       $nearly-white;
  width:       $logo-left-distance;
  position:    fixed;
  display:     block;
  transition:  all .3s ease-in-out;
  outline:     none;
  font-size:   10pt;
  z-index:     100; // Needs to be behind alerts
  top:         0;
  left:        0;
  height:      100%;
  padding-top: 65px;

  > div {
    overflow-y: auto;
    overflow-x: visible;
    max-height: 100%;
  }

  > * {
    opacity: 1;
  }

  &::after {
    @include icon-font;
    position:  absolute;
    display:   block;
    opacity:   0;
    cursor:    pointer;
    right:     0;
    bottom:    0;
    content:   $fa-login;
    font-size: 16pt;
    width:     16pt;  
    height:    17pt;
    padding:   6pt;
    background-color: $dark-green;
    border-top-right-radius: $standard-border-radius;
    margin-right: -1 * ($standard-margin / 2);
  }

  &.settings::after {
    content:   $fa-settings;
  }

  h2,
  legend {
    line-height: 2em;
    text-align:  center;
    padding:     0;
    margin:      0;
    font: {
      size:   100%;
      weight: bold;
    }
  }

  /**
   * Navigation menu
   */
  ul.nav {
    list-style-type: none;
    margin:          0;
    font-size:       10pt;
    text-indent:     0;
    padding:         0;

    li {
      padding: 0;
      > a {
        padding: $item-padding;
        &:visited {
          @include choose-item;
        }
      }

      &.folded {
        &.active ul {
          display: block;
        }
        ul {
          display: none;
        }
      }

      &.active > a:link {
        @include choose-active;
      }

      > a:link {
        @include choose-item;
        display: block;

        border-right: {
          width: $border-size;
          style: solid;
        }

        &:hover {
          @include choose-hover;
          transition: none;
        }
      }

      h3 {
        padding: 0;
        margin: 0;
        font: {
          weight: bold;
          size:   100%;
        }
      }

      > a {
        padding-left: 6pt;
      }

      li > a {
        padding-left: 18pt;
      }

      li li > a {
        padding-left: 36pt;
      }
    }
  }

  nav > ul > li > a {
    font-weight: bold;
  }
  
  fieldset {
    position:     relative;
    border-width: 0;

    legend {
      display: none;
    }
    
    input[type=text],
    input[type=password] {
      @include input-field;
      width: 100%;
    }
    
    > form > div {
      position:      relative;
      width:         100%;
      margin-top:    4px;
      padding-right: $button-width
    }

    > p {
      color: $light-green;
    }

    > p.announcement {
      color: $nearly-white;
      > time {
        display:   block;
        font-size: 70%;
      }
    }

    hr {
      border: none;
      border-top: 2px solid $ids-grey-2;
    }

    ul {
      display:    block;
      font-size:  80%;
      text-align: right;
      padding:    0;
      margin-top: 0;

      > li {
        display: inline;
        &:first-child::after {
          content: ' | ';
        }
      }
    }

    button {
      position: absolute;
      top:      0;
      right:    0;
      &::after {
        content: $fa-login;
      }
    }
  }

  // Off aside
  &.off,
  &:not(:focus):not(.active) {
    margin-left: -1 * ($logo-left-distance - ($standard-margin / 2));
    &::after {
      opacity: 1;
    }
 
    > * {
      opacity: 0;
      transition: {
        property: opacity;
        duration: .3s;
      }
    }
  }

  &.off::after {
    display:none;
  }
}
