div.video {
  @include clearfix();
  background: #f3f3f3;
  display: block;
  margin: 0 -12px;
  padding: 12px;
  border-radius: 5px;

  article.video-wrapper {
    float: left;
    margin-right: flex-gutter(9);
    width: flex-grid(6, 9);

    section.video-player {
      height: 0;
      overflow: hidden;
      padding-bottom: 56.25%;
      position: relative;

      object, iframe {
        border: none;
        height: 100%;
        left: 0;
        position: absolute;
        top: 0;
        width: 100%;
      }
    }

    section.video-controls {
      @extend .clearfix;
      background: #333;
      border: 1px solid #000;
      border-top: 0;
      color: #ccc;
      position: relative;

      &:hover {
        ul, div {
          opacity: 1;
        }
      }

      div.slider {
        @extend .clearfix;
        background: #c2c2c2;
        border: 1px solid #000;
        @include border-radius(0);
        border-top: 1px solid #000;
        @include box-shadow(inset 0 1px 0 #eee, 0 1px 0 #555);
        height: 7px;
        margin-left: -1px;
        margin-right: -1px;
        @include transition(height 2.0s ease-in-out);

        div.ui-widget-header {
          background: #777;
          @include box-shadow(inset 0 1px 0 #999);
        }

        a.ui-slider-handle {
          background: $pink url(../images/slider-handle.png) center center no-repeat;
          @include background-size(50%);
          border: 1px solid darken($pink, 20%);
          @include border-radius(15px);
          @include box-shadow(inset 0 1px 0 lighten($pink, 10%));
          cursor: pointer;
          height: 15px;
          margin-left: -7px;
          top: -4px;
          @include transition(height 2.0s ease-in-out, width 2.0s ease-in-out);
          width: 15px;

          &:focus, &:hover {
            background-color: lighten($pink, 10%);
            outline: none;
          }
        }
      }

      ul.vcr {
        @extend .dullify;
        float: left;
        list-style: none;
        margin: 0 lh() 0 0;
        padding: 0;

        li {
          float: left;
          margin-bottom: 0;

          a {
            border-bottom: none;
            border-right: 1px solid #000;
            @include box-shadow(1px 0 0 #555);
            cursor: pointer;
            display: block;
            line-height: 46px;
            padding: 0 lh(.75);
            text-indent: -9999px;
            @include transition(background-color, opacity);
            width: 14px;
            background: url('../images/vcr.png') 15px 15px no-repeat;
            outline: 0;

            &:focus {
              outline: 0;
            }

            &:empty {
              height: 46px;
              background: url('../images/vcr.png') 15px 15px no-repeat;
            }

            &.play {
              background-position: 17px -114px;

              &:hover {
                background-color: #444;
              }
            }

            &.pause {
              background-position: 16px -50px;

              &:hover {
                background-color: #444;
              }
            }
          }

          div.vidtime {
            padding-left: lh(.75);
            font-weight: bold;
            line-height: 46px; //height of play pause buttons
            padding-left: lh(.75);
            -webkit-font-smoothing: antialiased;
          }
        }
      }

      div.secondary-controls {
        @extend .dullify;
        float: right;

        div.speeds {
          float: left;
          position: relative;

          &.open {
            &>a {
              background: url('../images/open-arrow.png') 10px center no-repeat;
            }

            ol.video_speeds {
              display: block;
              opacity: 1;
              padding: 0;
              margin: 0;
              list-style: none;
            }
          }

          &>a {
            background: url('../images/closed-arrow.png') 10px center no-repeat;
            border-left: 1px solid #000;
            border-right: 1px solid #000;
            @include box-shadow(1px 0 0 #555, inset 1px 0 0 #555);
            @include clearfix();
            color: #fff;
            cursor: pointer;
            display: block;
            line-height: 46px; //height of play pause buttons
            margin-right: 0;
            padding-left: 15px;
            position: relative;
            @include transition();
            -webkit-font-smoothing: antialiased;
            width: 116px;
            outline: 0;

            &:focus {
              outline: 0;
            }

            h3 {
              color: #999;
              float: left;
              font-size: em(14);
              font-weight: normal;
              letter-spacing: 1px;
              padding: 0 lh(.25) 0 lh(.5);
              line-height: 46px;
              text-transform: uppercase;
            }

            p.active {
              float: left;
              font-weight: bold;
              margin-bottom: 0;
              padding: 0 lh(.5) 0 0;
              line-height: 46px;
              color: #fff;
            }

            &:hover, &:active, &:focus {
              opacity: 1;
              background-color: #444;
            }
          }

          // fix for now
          ol.video_speeds {
            @include box-shadow(inset 1px 0 0 #555, 0 3px 0 #444);
            @include transition();
            background-color: #444;
            border: 1px solid #000;
            bottom: 46px;
            display: none;
            opacity: 0;
            position: absolute;
            width: 133px;
            z-index: 10;

            li {
              @include box-shadow( 0 1px 0 #555);
              border-bottom: 1px solid #000;
              color: #fff;
              cursor: pointer;

              a {
                border: 0;
                color: #fff;
                display: block;
                padding: lh(.5);

                &:hover {
                  background-color: #666;
                  color: #aaa;
                }
              }

              &.active {
                font-weight: bold;
              }

              &:last-child {
                @include box-shadow(none);
                border-bottom: 0;
                margin-top: 0;
              }
            }
          }
        }

        div.volume {
          float: left;
          position: relative;

          &.open {
            .volume-slider-container {
              display: block;
              opacity: 1;
            }
          }

          &.muted {
            &>a {
              background: url('../images/mute.png') 10px center no-repeat;
            }
          }

          > a {
            background: url('../images/volume.png') 10px center no-repeat;
            border-right: 1px solid #000;
            @include box-shadow(1px 0 0 #555, inset 1px 0 0 #555);
            @include clearfix();
            color: #fff;
            cursor: pointer;
            display: block;
            height: 46px;
            margin-right: 0;
            padding-left: 15px;
            position: relative;
            @include transition();
            -webkit-font-smoothing: antialiased;
            width: 30px;

            &:hover, &:active, &:focus {
              background-color: #444;
            }
          }

          .volume-slider-container {
            @include box-shadow(inset 1px 0 0 #555, 0 3px 0 #444);
            @include transition();
            background-color: #444;
            border: 1px solid #000;
            bottom: 46px;
            display: none;
            opacity: 0;
            position: absolute;
            width: 45px;
            height: 125px;
            margin-left: -1px;
            z-index: 10;

            .volume-slider {
              height: 100px;
              border: 0;
              width: 5px;
              margin: 14px auto;
              background: #666;
              border: 1px solid #000;
              @include box-shadow(0 1px 0 #333);

              a.ui-slider-handle {
                background: $pink url(../images/slider-handle.png) center center no-repeat;
                @include background-size(50%);
                border: 1px solid darken($pink, 20%);
                @include border-radius(15px);
                @include box-shadow(inset 0 1px 0 lighten($pink, 10%));
                cursor: pointer;
                height: 15px;
                left: -6px;
                @include transition(height 2.0s ease-in-out, width 2.0s ease-in-out);
                width: 15px;
              }

              .ui-slider-range {
                background: #ddd;
              }
            }
          }
        }

        a.add-fullscreen {
          background: url(../images/fullscreen.png) center no-repeat;
          border-right: 1px solid #000;
          @include box-shadow(1px 0 0 #555, inset 1px 0 0 #555);
          color: #797979;
          display: block;
          float: left;
          line-height: 46px; //height of play pause buttons
          margin-left: 0;
          padding: 0 lh(.5);
          text-indent: -9999px;
          @include transition();
          width: 30px;

          &:hover {
            background-color: #444;
            color: #fff;
            text-decoration: none;
          }
        }

        a.hide-subtitles {
          background: url('../images/cc.png') center no-repeat;
          color: #797979;
          display: block;
          float: left;
          font-weight: 800;
          line-height: 46px; //height of play pause buttons
          margin-left: 0;
          opacity: 1;
          padding: 0 lh(.5);
          position: relative;
          text-indent: -9999px;
          @include transition();
          -webkit-font-smoothing: antialiased;
          width: 30px;

          &:hover {
            background-color: #444;
            color: #fff;
            text-decoration: none;
          }

          &.off {
            opacity: .7;
          }
        }
      }
    }

    &:hover section.video-controls {
      ul, div {
        opacity: 1;
      }

      div.slider {
        height: 14px;
        margin-top: -7px;

        a.ui-slider-handle {
          @include border-radius(20px);
          height: 20px;
          margin-left: -10px;
          top: -4px;
          width: 20px;
        }
      }
    }
  }

  ol.subtitles {
    padding-left: 0;
    float: left;
    max-height: 460px;
    overflow: auto;
    width: flex-grid(3, 9);
    margin: 0;
    font-size: 14px;
    list-style: none;

    li {
      border: 0;
      color: #666;
      cursor: pointer;
      margin-bottom: 8px;
      padding: 0;
      line-height: lh();

      &.current {
        color: #333;
        font-weight: 700;
      }

      &:hover {
        color: $blue;
      }

      &:empty {
        margin-bottom: 0px;
      }
    }
  }

  &.closed {
    @extend .trans;

    article.video-wrapper {
      width: flex-grid(9,9);
    }

    ol.subtitles {
      width: 0;
      height: 0;
    }
  }

  &.fullscreen {
    background: rgba(#000, .95);
    border: 0;
    bottom: 0;
    height: 100%;
    left: 0;
    margin: 0;
    overflow: hidden;
    padding: 0;
    position: fixed;
    top: 0;
    width: 100%;
    z-index: 999;
    vertical-align: middle;

    &.closed {
      ol.subtitles {
        right: -(flex-grid(4));
        width: auto;
      }
    }

    div.tc-wrapper {
      @include clearfix;
      display: table;
      width: 100%;
      height: 100%;

      article.video-wrapper {
        width: 100%;
        display: table-cell;
        vertical-align: middle;
        float: none;
      }

      object, iframe {
        bottom: 0;
        height: 100%;
        left: 0;
        overflow: hidden;
        position: fixed;
        top: 0;
      }

      section.video-controls {
        bottom: 0;
        left: 0;
        position: absolute;
        width: 100%;
        z-index: 9999;
      }
    }

    ol.subtitles {
      background: rgba(#000, .8);
      bottom: 0;
      height: 100%;
      max-height: 100%;
      max-width: flex-grid(3);
      padding: lh();
      position: fixed;
      right: 0;
      top: 0;
      @include transition();

      li {
        color: #aaa;

        &.current {
          color: #fff;
        }
      }
    }
  }
}
