@-moz-document url-prefix() {
  a.add-fullscreen {
    display: none !important;
  }
}

section.course-content {
  .dullify {
    opacity: .4;
    @include transition();

    &:hover {
      opacity: 1;
    }
  }

  div.video {
    @include clearfix();
    background: #f3f3f3;
    border-bottom: 1px solid #e1e1e1;
    border-top: 1px solid #e1e1e1;
    display: block;
    margin: 0 (-(lh()));
    padding: 6px lh();

    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%;
        padding-top: 30px;
        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: none;
          border-bottom: 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;
          @include transition(height 2.0s ease-in-out);

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

          .ui-tooltip.qtip .ui-tooltip-content {
            background: $mit-red;
            border: 1px solid darken($mit-red, 20%);
            @include border-radius(2px);
            @include box-shadow(inset 0 1px 0 lighten($mit-red, 10%));
            color: #fff;
            font: bold 12px $body-font-family;
            margin-bottom: 6px;
            margin-right: 0;
            overflow: visible;
            padding: 4px;
            text-align: center;
            text-shadow: 0 -1px 0 darken($mit-red, 10%);
            -webkit-font-smoothing: antialiased;

            &::after {
              background: $mit-red;
              border-bottom: 1px solid darken($mit-red, 20%);
              border-right: 1px solid darken($mit-red, 20%);
              bottom: -5px;
              content: " ";
              display: block;
              height: 7px;
              left: 50%;
              margin-left: -3px;
              position: absolute;
              @include transform(rotate(45deg));
              width: 7px;
            }
          }

          a.ui-slider-handle {
            background: $mit-red url(../images/slider-handle.png) center center no-repeat;
            @include background-size(50%);
            border: 1px solid darken($mit-red, 20%);
            @include border-radius(15px);
            @include box-shadow(inset 0 1px 0 lighten($mit-red, 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($mit-red, 10%);
              outline: none;
            }
          }
        }

        ul.vcr {
          @extend .dullify;
          float: left;
          list-style: none;
          margin-right: lh();
          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;

              &: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;
                list-style: none;
                padding-left: 0;
              }
            }

            &>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: 110px;

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

              p.active {
                float: left;
                font-weight: bold;
                margin-bottom: 0;
                padding: 0 lh(.5) 0 0;
              }

              &: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: 125px;
              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: $mit-red url(../images/slider-handle.png) center center no-repeat;
                  @include background-size(50%);
                  border: 1px solid darken($mit-red, 20%);
                  @include border-radius(15px);
                  @include box-shadow(inset 0 1px 0 lighten($mit-red, 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 {
      float: left;
      max-height: 460px;
      overflow: auto;
      width: flex-grid(3, 9);
      padding-left: 0;
      list-style: none;

      li {
        border: 0;
        color: #666;
        cursor: pointer;
        margin-bottom: 8px;
        padding: 0;

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

        &:hover {
          color: $mit-red;
        }

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

    &.closed {
      @extend .trans;

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

      ol.subtitles {
        width: 0px;
        display: none;
      }
    }

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

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

      a.exit {
        color: #aaa;
        display: none;
        font-style: 12px;
        left: 20px;
        letter-spacing: 1px;
        position: absolute;
        text-transform: uppercase;
        top: 20px;

        &::after {
          content: "✖";
          @include inline-block();
          padding-left: 6px;
        }

        &:hover {
          color: $mit-red;
        }
      }

      div.tc-wrapper {
        article.video-wrapper {
          width: 100%;
        }

        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;
          }
        }
      }
    }
  }
}

div.course-wrapper.closed section.course-content div.video {
  ol.subtitles {
    max-height: 577px;
  }
}
