@import '../node_modules/compass-mixins/lib/compass/support'; @import '../node_modules/compass-mixins/lib/compass/css3'; @mixin multiline_texts_excerpt($font-size: 1em, $line-height: 1.15, $lines-to-show: 2, $bg-color: transparent) { line-height: $line-height; overflow: hidden; text-overflow: ellipsis; background-color: $bg-color; /* Fallback for non-webkit */ display: block; max-height: $lines-to-show * $line-height; /* Only for non-webkit */ display: -webkit-box; -webkit-line-clamp: $lines-to-show; -webkit-box-orient: vertical; white-space: normal; // @note: Probably doesn't need. /*@-moz-document url-prefix() { position: relative; padding-right: $font-size * 1.1; overflow: hidden; &:before { background-color: $bg-color; bottom: 0; position: absolute; right: 0; float: right; text-align:right; content: '\2026'; width: $font-size * 1.1; } &:after { content: ''; position: absolute; height: 100%; width: 100%; z-index: +1; background: $bg-color; } }*/ } $theme-color: #009933; /* BIG PLAY BUTTON */ $big-play-button: true; $center-big-play-button: true; $big-play-width: 2.65em; $big-play-height: $big-play-width * (9/16); $big-play-radius: 0.15em; $big-play-font-size: 2.5em; /* COLORS */ /* @note: Keep in colors 6-digits hex format. */ $primary-foreground-color: #ffffff; $primary-background-color: #000000; /* FONT SIZE */ $default-font-size: 13px; $default-fullscreen-font-size: 16px; /* DIMENSIONS */ $control-bar-height: 36px; $progress-bar-height: 30px; $control-bar-button-min-width: $control-bar-height; $control-bar-fullscreen-height: 52px; $volume-horizontal-slider-height: 3px; $volume-horizontal-slider-fullscreen-height: 5px; /* SPACES */ $control-bar-horizontal-space: 12px; $corner-layer-edge-space: $control-bar-horizontal-space; /* ANIMATIONS */ $vjs-actions-anim-width: 7.375em; $fullscreenToggleAnimationDuration: 0.4s; $controlBarAnimationsDuration: 0.1s; /* FUNCTIONS */ /*@function calc_($expression) { @return $expression; }*/ /* ANIMATION KEYFRAMES */ @keyframes onHoverFullscreenToggle { 50% { font-size: $default-font-size + 1px; margin-top: -1px; } 100% { font-size: $default-font-size; margin-top: 0; } } @-webkit-keyframes onHoverFullscreenToggle { 50% { font-size: $default-font-size + 1px; margin-top: -1px; } 100% { font-size: $default-font-size; margin-top: 0; } } @keyframes onFullscreenHoverFullscreenToggle { 50% { font-size: $default-fullscreen-font-size - 1px; margin-top: 1px; } 100% { font-size: $default-fullscreen-font-size; margin-top: 0; } } @-webkit-keyframes onFullscreenHoverFullscreenToggle { 50% { font-size: $default-fullscreen-font-size - 1px; margin-top: 1px; } 100% { font-size: $default-fullscreen-font-size; margin-top: 0; } } @keyframes onDisplayingActionAnimation { 0% { transform: scale(0.5); } 10% { opacity: 1; } 100% { opacity: 0; transform: scale(1.05); } } @-webkit-keyframes onDisplayingActionAnimation { 0% { transform: scale(0.5); } 10% { opacity: 1; } 100% { opacity: 0; transform: scale(1.05); } } @-webkit-keyframes spinner-linear-spin { to { -webkit-transform: rotate(360deg); } } @keyframes spinner-linear-spin { to { transform: rotate(360deg); } } @-webkit-keyframes spinner-ease-spin { 12.5% { -webkit-transform: rotate(135deg); } 25% { -webkit-transform: rotate(270deg); } 37.5% { -webkit-transform: rotate(405deg); } 50% { -webkit-transform: rotate(540deg); } 62.5% { -webkit-transform: rotate(675deg); } 75% { -webkit-transform: rotate(810deg); } 87.5% { -webkit-transform: rotate(945deg); } to { -webkit-transform: rotate(1080deg); } } @keyframes spinner-ease-spin { 12.5% { transform: rotate(135deg); } 25% { transform: rotate(270deg); } 37.5% { transform: rotate(405deg); } 50% { transform: rotate(540deg); } 62.5% { transform: rotate(675deg); } 75% { transform: rotate(810deg); } 87.5% { transform: rotate(945deg); } to { transform: rotate(1080deg); } } @-webkit-keyframes spinner-left-spin { 0% { -webkit-transform: rotate(130deg); } 50% { -webkit-transform: rotate(-5deg); } to { -webkit-transform: rotate(130deg); } } @keyframes spinner-left-spin { 0% { transform: rotate(130deg); } 50% { transform: rotate(-5deg); } to { transform: rotate(130deg); } } @-webkit-keyframes spinner-right-spin { 0% { -webkit-transform: rotate(-130deg); } 50% { -webkit-transform: rotate(5deg); } to { -webkit-transform: rotate(-130deg); } } @keyframes spinner-right-spin { 0% { transform: rotate(-130deg); } 50% { transform: rotate(5deg); } to { transform: rotate(-130deg); } } @keyframes showPreviewThumb { 0% { opacity: 0; } 100% { opacity: 1; } } @-webkit-keyframes showPreviewThumb { 0% { opacity: 0; } 100% { opacity: 1; } } /* MediaCmsVideoJsIcons FONT ICONS */ .video-js.vjs-mediacms .vjs-subtitles-control .vjs-icon-placeholder { font-family: MediaCmsVideoJsIcons; font-weight: normal; font-style: normal; } .video-js.vjs-mediacms .vjs-subtitles-control .vjs-icon-placeholder:before { content: '\f107'; } .video-js.vjs-mediacms .vjs-theater-mode-control .vjs-icon-placeholder { font-family: MediaCmsVideoJsIcons; font-weight: normal; font-style: normal; } .video-js.vjs-mediacms .vjs-theater-mode-control .vjs-icon-placeholder:before { content: '\f101'; } .video-js.vjs-mediacms .vjs-theater-mode .vjs-theater-mode-control .vjs-icon-placeholder:before { content: '\f102'; } .video-js.vjs-mediacms { font-size: $default-font-size; color: $primary-foreground-color; width: 100%; height: 100%; overflow: hidden; outline-color: rgba(0, 0, 0, 0); outline-color: transparent; video { width: 100%; height: 100%; max-width: 100%; max-height: 100%; outline-color: rgba(0, 0, 0, 0); outline-color: transparent; } &.vjs-native-dimensions { video { width: auto; height: auto; } } /* Doesn't work properly in Safari browser.*/ /*&.vjs-loading-video { video { opacity: 0; visibility: hidden; } }*/ &.vjs-error { .vjs-error-display { display: table; color: rgb(238, 238, 238); text-shadow: 0.05em 0.05em 0.1em #000; &:before, &:after { position: absolute; top: 50%; left: 0.25em; display: block; width: 52px; height: 52px; line-height: 52px; margin-top: -26px; text-align: center; font-size: 3em; } &:before { content: ''; border-radius: 50%; border: 4px solid #fff; } &:after { content: '!'; } .vjs-modal-dialog-content { position: relative; display: table-cell; vertical-align: middle; text-align: initial; padding: 16px 1em 16px 80px; font-size: 1.384615em; word-break: break-all; } } } .vjs-left-controls, .vjs-right-controls { position: relative; width: auto; display: inline-block; height: $control-bar-height; overflow: hidden; } .vjs-left-controls { } .vjs-right-controls { float: right; } button { /* link: https://hackernoon.com/removing-that-ugly-focus-ring-and-keeping-it-too-6c8727fefcd2 */ &:focus, &:active { // outline: 0; } &:active { &:focus { // outline: 0; } } } .vjs-subtitles-control { cursor: pointer; } &.vjs-subtitles-on { .vjs-subtitles-control { .vjs-icon-placeholder:after { content: ''; display: block; position: absolute; width: 45%; left: 27.5%; height: 0.18em; bottom: 50%; margin-bottom: -1em; background-color: $theme-color; } } &.vjs-fullscreen { .vjs-subtitles-control { .vjs-icon-placeholder:after { width: 42%; left: 29%; } } } } .vjs-text-track-cue { > * { // white-space:pre-wrap; // display:inline-block !important; // padding: 0 0.25em; // line-height:1.25; color: #fff !important; fill: #fff; background-color: rgb(8, 8, 8) !important; background-color: rgba(8, 8, 8, 0.75) !important; font-family: Roboto, 'Arial Unicode Ms', Arial, Helvetica, Verdana, 'PT Sans Caption', sans-serif !important; } } .vjs-settings-control { font-size: 1.375em; cursor: pointer; } .vjs-settings-panel { .vjs-setting-panel-title > [role='button'] { position: relative; &:focus { outline-color: #fff; // outline-offset:-1px; outline-style: solid; outline-width: 1px; } } position: absolute; bottom: $control-bar-height - 6; right: 0; // width: 16em; // width: 250px; width: 23.75em; min-width: 210px; display: none; font-size: 0.8125em; z-index: +1; &:focus { outline: 0; } /*display:block; opacity: 0; height:0; visibility: hidden; @include transition( opacity 0.25s cubic-bezier(0.0,0.0,0.2,1) ); will-change:height;*/ &.vjs-visible-panel { display: block; /*opacity: 1; visibility: visible; height:auto;*/ } .vjs-settings-panel-inner { display: block; margin: 0 0 1em; padding: 0.5em 0; border-radius: 0.2em; // background-color: #282828; // background-color: rgba(40, 40, 40, .8); background-color: rgba(28, 28, 28, 0.9); text-shadow: 0 0 2px rgba(#000, 0.5); max-height: 210px; max-height: 50vh; overflow: auto; } .vjs-setting-panel-title { color: #eee; padding-bottom: 0.25em; margin-bottom: 0.5em; border-bottom: 1px solid rgba(255, 255, 255, 0.2); > *:first-child { display: inline-block; padding: 0.75em 1em; font-size: 118%; font-weight: 500; &[role='button'] { padding: 0.5em 1em 0.5em 0; margin-left: 0.75em; margin-bottom: 0.25em 0.25em 0.5em; } } &.vjs-settings-back { > *:first-child { cursor: pointer; &:before { content: '\f103'; font-family: 'MediaCmsVideoJsIcons'; font-size: 1.25em; vertical-align: text-bottom; padding-right: 0.5em; } } } } .vjs-settings-menu { display: table; width: 100%; } .vjs-settings-menu-item { position: relative; display: table-row; width: 100%; cursor: pointer; height: 3em; &:hover, &:focus { outline: 0; background-color: rgba(255, 255, 255, 0.1); } &.vjs-selected-quality, &.vjs-selected-speed { position: relative; .vjs-setting-menu-item-content { // position:relative; &:after { content: '\f104'; font-family: 'MediaCmsVideoJsIcons'; font-size: 1.25em; font-weight: normal; vertical-align: text-bottom; padding-left: 0.5em; } .auto-resolution-title { font-weight: lighter; color: rgb(238, 238, 238); } } } } .vjs-setting-menu-item-label, .vjs-setting-menu-item-content { display: table-cell; vertical-align: middle; padding: 0 1em; line-height: 1; font-size: 118%; } .vjs-setting-menu-item-label { font-weight: 500; } .vjs-setting-menu-item-content { text-align: right; font-weight: 700; &.auto-resolution { font-size: 109%; font-weight: 400; } } &.vjs-playback-speed-panel, &.vjs-resolutions-panel, &.vjs-subtitles-panel { z-index: +1; // width: 13em; .vjs-settings-menu-item { .vjs-setting-menu-item-content { text-align: left; padding-left: 2.75em; } &.vjs-selected-menu-item { .vjs-setting-menu-item-content { position: relative; padding-left: 0.75em; &:before { content: '\f105'; font-family: 'MediaCmsVideoJsIcons'; font-size: 1.25em; // vertical-align:text-bottom; line-height: 0.75; padding-right: 0.5em; float: left; } } } } } &.vjs-resolutions-panel { // width: 8.25em; } } .vjs-button.vjs-play-control, .vjs-button.vjs-next-button, .vjs-button.vjs-previous-button { overflow: hidden; cursor: pointer; } .vjs-button.vjs-next-button, .vjs-button.vjs-previous-button { font-family: VideoJS; font-weight: 400; font-style: normal; } .vjs-button.vjs-next-button { .vjs-icon-placeholder { &:before { content: '\f11f'; } } } .vjs-button.vjs-previous-button { .vjs-icon-placeholder { &:before { content: '\f120'; } } } @if $big-play-button { .vjs-big-play-button { width: $big-play-width; height: $big-play-height; line-height: $big-play-height; font-size: $big-play-font-size; outline: 0; border: 0; border-radius: $big-play-radius; background-color: $primary-background-color; background-color: rgba($primary-background-color, 0.7); transition-duration: 0.2s; @if $center-big-play-button { top: 50%; left: 50%; margin-left: $big-play-width / -2; margin-top: $big-play-height / -2; } @else { left: 0.5em; top: 0.5em; } } &.vjs-changing-resolution .vjs-big-play-button { display: none; } } .vjs-bottom-bg { position: absolute; bottom: 0; left: $control-bar-horizontal-space / -1; right: $control-bar-horizontal-space / -1; height: $control-bar-height; display: block; pointer-events: none; background: rgba(#000, 0.1); background: -moz-linear-gradient(top, rgba(#000, 0) 0%, rgba(#000, 0.55) 100%); background: -webkit-gradient( left top, left bottom, color-stop(0%, rgba(#000, 0)), color-stop(100%, rgba(#000, 0.55)) ); background: -webkit-linear-gradient(top, rgba(#000, 0) 0%, rgba(#000, 0.55) 100%); background: -o-linear-gradient(top, rgba(#000, 0) 0%, rgba(#000, 0.55) 100%); background: -ms-linear-gradient(top, rgba(#000, 0) 0%, rgba(#000, 0.55) 100%); background: linear-gradient(to bottom, rgba(#000, 0) 0%, rgba(#000, 0.55) 100%); } .vjs-control-bar { z-index: +4; width: auto; left: $control-bar-horizontal-space; right: $control-bar-horizontal-space; background: none; text-shadow: 0 1px 3px rgba(#000, 0.05); .vjs-button { &:focus { outline-width: 0; } &[key-focus] { &:focus { &:after { content: ''; position: absolute; top: 0; left: 0; right: 0; bottom: 0; display: block; border-radius: 1px; border: 2px solid rgba(#fff, 0.75); } } } .vjs-icon-placeholder:before { margin-top: -2px; } } } .vjs-menu-button .vjs-menu-content { background-color: $primary-background-color; background-color: rgba($primary-background-color, 0.7); } .vjs-slider { &:focus { text-shadow: none; box-shadow: none; } background-color: $primary-foreground-color; background-color: rgba($primary-foreground-color, 0.25); } .vjs-slider-bar { background: rgba($primary-foreground-color, 0.25); &.vjs-play-progress { background-color: $primary-foreground-color; } } .vjs-load-progress { background: none; div { background-color: $primary-foreground-color; background-color: rgba($primary-foreground-color, 0.25); } } .vjs-volume-level { background: $primary-foreground-color; &:before { line-height: 1; top: -4px; font-size: 12px; } } .vjs-time-divider, .vjs-duration, .vjs-current-time, &.vjs-no-flex .vjs-duration, &.vjs-no-flex .vjs-current-time { display: block; } .vjs-current-time { margin-left: 0.45em; } .vjs-control { display: inline-block; float: left; padding: 0; min-width: 0; width: $control-bar-button-min-width; line-height: $control-bar-height - 2px; text-shadow: 0 1px 3px rgba(#000, 0.05); &:focus:before, &:hover:before, &:focus { // text-shadow: none; text-shadow: 0 1px 3px rgba(#000, 0.05); } &.vjs-mute-control { &.vjs-vol-1 { .vjs-icon-placeholder:before { margin-left: -0.17em; } } &.vjs-vol-2 { .vjs-icon-placeholder:before { margin-left: -0.08em; } } } &.vjs-disabled { &.vjs-picture-in-picture-control { display: none; } } } .vjs-progress-control { $progress-holder-height: 0.3em; position: absolute; // bottom: 100%; top: -1 * $progress-holder-height; left: 0; display: block; flex: none; width: 100%; height: auto; z-index: +1; padding-top: $progress-bar-height - 1px; height: $progress-bar-height; -webkit-tap-highlight-color: transparent; -moz-tap-highlight-color: transparent; -o-tap-highlight-color: transparent; tap-highlight-color: transparent; .vjs-play-progress, .vjs-mouse-display { .vjs-time-tooltip { line-height: 1; font-size: 11px; font-weight: 600; height: auto; padding: 8px 12px; border-radius: 2px; } } .vjs-progress-holder { height: $progress-holder-height; margin: 0; box-shadow: 0 1px 3px 0 rgba(#000, 0.05); &:focus { outline-width: 0; } &[key-focus] { &:focus { &:after { content: ''; position: absolute; top: -3px; left: -3px; right: -3px; bottom: -3px; display: block; border-radius: 1px; border: 2px solid rgba(#fff, 0.75); } } } .vjs-play-progress { line-height: 1em; &:before { top: 50%; margin-top: -0.5em; text-shadow: 0 1px 3px rgba(#000, 0.05); } } } .vjs-play-progress { &:before { font-size: 1em; display: none; } } &:hover, .vjs-progress-holder:focus { .vjs-play-progress { &:before { display: block; } } } &:hover .vjs-progress-holder, .vjs-progress-holder:focus { font-size: 1.2875em; } &:hover { .vjs-play-progress .vjs-time-tooltip, .vjs-progress-holder:focus .vjs-play-progress .vjs-time-tooltip { display: none; } } } .vjs-time-control { display: inline-block; float: left; min-width: 0; height: $control-bar-height; line-height: $control-bar-height - 2px; width: auto; padding: 1px 0 0; text-align: center; font-size: 0.975em; &.vjs-time-divider { min-width: 1em; text-align: center; } } .vjs-fullscreen-control { overflow: hidden; cursor: pointer; &:hover { animation-duration: $fullscreenToggleAnimationDuration; animation-name: onHoverFullscreenToggle; } } .vjs-theater-mode-control { overflow: hidden; cursor: pointer; } .vjs-volume-panel { &.vjs-volume-panel-horizontal { min-width: $control-bar-button-min-width; width: 0; overflow: hidden; } &.vjs-volume-panel-horizontal:hover, &.vjs-volume-panel-horizontal:active, &.vjs-volume-panel-horizontal.vjs-slider-active { width: 9em; transition: all 0s; } .vjs-volume-control { position: absolute; top: 0; left: $control-bar-height; height: $control-bar-height; width: 0; visibility: visible; opacity: 1; &.vjs-volume-horizontal { margin-left: 0.45em; margin-right: 0.45em; transition: all 0s; } } &:hover .vjs-volume-control.vjs-volume-horizontal, &:active .vjs-volume-control.vjs-volume-horizontal, &:focus .vjs-volume-control.vjs-volume-horizontal, .vjs-volume-control:hover.vjs-volume-horizontal, .vjs-volume-control:active.vjs-volume-horizontal, .vjs-mute-control:hover ~ .vjs-volume-control.vjs-volume-horizontal, .vjs-volume-control.vjs-slider-active.vjs-volume-horizontal { position: absolute; width: 5.5em; height: $control-bar-height; } .vjs-volume-bar { &:focus { outline-width: 0; } &[key-focus] { &:focus { &:after { content: ''; position: absolute; top: -1em; left: -0.5em; right: -0.5em; bottom: -1em; display: block; border-radius: 1px; border: 2px solid rgba(#fff, 0.75); } } } } .vjs-volume-bar.vjs-slider-horizontal { margin: (0.5 * ($control-bar-height - $volume-horizontal-slider-height)) 0.45em (0.5 * ($control-bar-height - $volume-horizontal-slider-height)) 0; } .vjs-volume-bar.vjs-slider-horizontal, .vjs-volume-bar.vjs-slider-horizontal .vjs-volume-level { height: $volume-horizontal-slider-height; } &.vjs-volume-panel-horizontal, &.vjs-volume-panel-horizontal:hover { transition: width 0.35s linear; /* transition: width 0s linear; */ } .vjs-volume-control.vjs-volume-horizontal, &:hover .vjs-volume-control.vjs-volume-horizontal, &:active .vjs-volume-control.vjs-volume-horizontal, &:focus .vjs-volume-control.vjs-volume-horizontal, .vjs-volume-control:hover.vjs-volume-horizontal, .vjs-volume-control:active.vjs-volume-horizontal, .vjs-mute-control:hover ~ .vjs-volume-control.vjs-volume-horizontal, .vjs-volume-control.vjs-slider-active.vjs-volume-horizontal { transition: width 0.2s linear; transition-delay: 0.15s; /* transition: width 0s linear; transition-delay: 0s; */ } } .vjs-actions-anim { -webkit-user-select: none; -moz-user-select: none; -ms-user-select: none; user-select: none; position: absolute; top: 50%; left: 50%; width: $vjs-actions-anim-width; height: $vjs-actions-anim-width; line-height: $vjs-actions-anim-width; margin-top: -0.5 * $vjs-actions-anim-width; margin-left: -0.5 * $vjs-actions-anim-width; display: block; text-align: center; border-radius: 50%; color: #eee; background-color: rgba(0, 0, 0, 0.25); visibility: hidden; opacity: 0; span { display: block; &:after { content: ''; font-family: VideoJS; font-weight: normal; font-style: normal; font-size: 42px; } } &.just-paused { span:after { content: '\f103'; } } &.started-playing { span:after { content: '\f101'; } } &.volume-high { span:after { content: '\f107'; } } &.volume-mid { span:after { content: '\f106'; } } &.volume-low { span:after { content: '\f105'; } } &.volume-mute { span:after { content: '\f104'; } } &.moving-backward { span { &:after { content: '\f116'; } } } &.moving-forward { span { transform: scale(-1, 1); &:after { content: '\f116'; } } } &.moving-backward, &.moving-forward { &:before { content: '5'; position: absolute; top: 2px; left: 0; right: 0; bottom: 0; display: block; font-size: 10px; font-weight: 700; font-family: Arial, sans-serif; } } &.play_previous { span { &:after { content: '\f120'; } } } &.play_next { span { &:after { content: '\f11f'; } } } } .vjs-corner-layer { position: absolute; display: block; z-index: +1; &.vjs-corner-top-left, &.vjs-corner-top-right { top: $corner-layer-edge-space; } &.vjs-corner-bottom-left, &.vjs-corner-bottom-right { bottom: $corner-layer-edge-space; transition-duration: $controlBarAnimationsDuration; transition-property: bottom; } &.vjs-corner-top-left, &.vjs-corner-bottom-left { left: $corner-layer-edge-space; } &.vjs-corner-top-right, &.vjs-corner-bottom-right { right: $corner-layer-edge-space; } &.vjs-corner-top-left { } &.vjs-corner-top-right { } &.vjs-corner-bottom-left { } &.vjs-corner-bottom-right { } } &.vjs-fullscreen-change { .vjs-volume-panel { &.vjs-volume-panel-horizontal, &.vjs-volume-panel-horizontal:hover { transition: width 0s linear; } .vjs-volume-control.vjs-volume-horizontal, &:hover .vjs-volume-control.vjs-volume-horizontal, &:active .vjs-volume-control.vjs-volume-horizontal, &:focus .vjs-volume-control.vjs-volume-horizontal, .vjs-volume-control:hover.vjs-volume-horizontal, .vjs-volume-control:active.vjs-volume-horizontal, .vjs-mute-control:hover ~ .vjs-volume-control.vjs-volume-horizontal, .vjs-volume-control.vjs-slider-active.vjs-volume-horizontal { transition: width 0s linear; transition-delay: 0s; } } } &.vjs-has-started, &.vjs-changing-resolution { .vjs-corner-layer { } .vjs-control-bar { display: block; height: $control-bar-height + $progress-bar-height; padding-top: $progress-bar-height; transition-duration: $controlBarAnimationsDuration; transition-property: transform, opacity, visibility; } .vjs-actions-anim { &.active-anim { visibility: visible; animation-duration: 0.75s; animation-name: onDisplayingActionAnimation; } } .vjs-corner-layer { &.vjs-corner-bottom-left, &.vjs-corner-bottom-right { bottom: $corner-layer-edge-space + $control-bar-height; } } &.vjs-user-inactive.vjs-playing { .vjs-corner-layer { &.vjs-corner-bottom-left, &.vjs-corner-bottom-right { bottom: $corner-layer-edge-space; } } .vjs-control-bar { transform: translate(0px, $control-bar-height); } } } &.vjs-fullscreen { font-size: $default-fullscreen-font-size; .vjs-left-controls, .vjs-right-controls { height: $control-bar-fullscreen-height; } .vjs-theater-mode-control { display: none; } .vjs-bottom-bg { height: $control-bar-fullscreen-height; } .vjs-settings-panel { bottom: $control-bar-fullscreen-height - 7px; } .vjs-control { width: $control-bar-fullscreen-height; } .vjs-time-control { width: auto; } .vjs-control, .vjs-time-control { height: $control-bar-fullscreen-height; line-height: $control-bar-fullscreen-height - 2px; } .vjs-progress-control.vjs-control { width: 100%; height: auto; } .vjs-control-bar { .vjs-button { .vjs-icon-placeholder:before { margin-top: 2px; } &.vjs-fullscreen-control { .vjs-icon-placeholder:before { font-size: 2em; line-height: 1.5; } } } } .vjs-volume-level { &:before { top: -5px; font-size: 14px; } } .vjs-fullscreen-control { &:hover { animation-name: onFullscreenHoverFullscreenToggle; } } .vjs-play-progress, .vjs-mouse-display { .vjs-time-tooltip { font-size: 12px; } } .vjs-volume-panel { .vjs-volume-bar.vjs-slider-horizontal { margin: (0.5 * ($control-bar-fullscreen-height - $volume-horizontal-slider-fullscreen-height)) 0.45em (0.5 * ($control-bar-fullscreen-height - $volume-horizontal-slider-fullscreen-height)) 0; } .vjs-volume-bar.vjs-slider-horizontal, .vjs-volume-bar.vjs-slider-horizontal .vjs-volume-level { height: $volume-horizontal-slider-fullscreen-height; } &.vjs-volume-panel-horizontal { min-width: $control-bar-fullscreen-height; } &.vjs-volume-panel-horizontal:hover, &.vjs-volume-panel-horizontal:active, &.vjs-volume-panel-horizontal.vjs-slider-active { width: 10em; transition: all 0s; } .vjs-volume-control { left: $control-bar-fullscreen-height; height: $control-bar-height; } .vjs-volume-control, &:hover .vjs-volume-control.vjs-volume-horizontal, &:active .vjs-volume-control.vjs-volume-horizontal, &:focus .vjs-volume-control.vjs-volume-horizontal, .vjs-volume-control:hover.vjs-volume-horizontal, .vjs-volume-control:active.vjs-volume-horizontal, .vjs-mute-control:hover ~ .vjs-volume-control.vjs-volume-horizontal, .vjs-volume-control.vjs-slider-active.vjs-volume-horizontal { height: $control-bar-fullscreen-height; } &.vjs-volume-panel-horizontal, &.vjs-volume-panel-horizontal:hover { transition: width 0.3s linear; } .vjs-volume-control.vjs-volume-horizontal, &:hover .vjs-volume-control.vjs-volume-horizontal, &:active .vjs-volume-control.vjs-volume-horizontal, &:focus .vjs-volume-control.vjs-volume-horizontal, .vjs-volume-control:hover.vjs-volume-horizontal, .vjs-volume-control:active.vjs-volume-horizontal, .vjs-mute-control:hover ~ .vjs-volume-control.vjs-volume-horizontal, .vjs-volume-control.vjs-slider-active.vjs-volume-horizontal { transition: width 0.2s linear; transition-delay: 0.1s; } } &.vjs-fullscreen-change { .vjs-volume-panel { &.vjs-volume-panel-horizontal, &.vjs-volume-panel-horizontal:hover { transition: width 0s linear; } .vjs-volume-control.vjs-volume-horizontal, &:hover .vjs-volume-control.vjs-volume-horizontal, &:active .vjs-volume-control.vjs-volume-horizontal, &:focus .vjs-volume-control.vjs-volume-horizontal, .vjs-volume-control:hover.vjs-volume-horizontal, .vjs-volume-control:active.vjs-volume-horizontal, .vjs-mute-control:hover ~ .vjs-volume-control.vjs-volume-horizontal, .vjs-volume-control.vjs-slider-active.vjs-volume-horizontal { transition: width 0s linear; transition-delay: 0s; } } } .vjs-corner-layer { &.vjs-corner-bottom-left, &.vjs-corner-bottom-right { bottom: $corner-layer-edge-space + $control-bar-fullscreen-height; } } } &.vjs-has-started.vjs-fullscreen, &.vjs-changing-resolution.vjs-fullscreen { .vjs-control-bar { height: $control-bar-fullscreen-height + $progress-bar-height; } &.vjs-user-inactive.vjs-playing { .vjs-control-bar { transform: translate(0px, $control-bar-fullscreen-height); } } } &.vjs-enabled-touch-controls { .vjs-touch-controls { $touch-controls-icon-font-size: 2.625em; $touch-controls-play-icon-font-size: 56px; -webkit-tap-highlight-color: rgba(#000, 0); touch-action: none; pointer-events: none; z-index: +2; position: absolute; display: block; top: 0; left: 0; right: 0; bottom: 0; width: 100%; background-color: rgba(#000, 0.6); visibility: hidden; opacity: 0; transition-timing-function: linear; transition-duration: 0.1s; transition-property: opacity, visibility; button { pointer-events: auto; display: inline-block; width: auto; height: auto; line-height: 1; float: none; margin: 1rem; font-size: $touch-controls-icon-font-size; width: $touch-controls-play-icon-font-size; height: $touch-controls-play-icon-font-size; line-height: $touch-controls-play-icon-font-size; outline: 0; border-radius: 50%; } > * { position: absolute; display: block; top: 50%; left: 0; margin-top: -0.5 * ($touch-controls-play-icon-font-size + 32px); display: table; width: 100%; > * { display: table-cell; text-align: center; vertical-align: middle; } } .vjs-touch-previous-button { text-align: right; } .vjs-touch-play-button { width: 10.5em; text-align: center; button { font-size: $touch-controls-play-icon-font-size; } } .vjs-touch-play-button { } .vjs-touch-next-button { text-align: left; } .vjs-touch-hidden-button { * { visibility: hidden; opacity: 0; } } .vjs-touch-disabled-button { * { color: #404040; color: rgba(#fff, 0.25); cursor: disabled; } } } &.vjs-seeking, &.vjs-waiting, &.vjs-touch-enabled { .vjs-actions-anim { display: none; } } &.vjs-touch-enabled { .vjs-play-control, .vjs-next-button, .vjs-previous-button { display: none; } &.vjs-has-started { &.vjs-playing.vjs-user-active, &.vjs-paused { .vjs-touch-controls { visibility: visible; opacity: 1; } } } &.vjs-playing { .vjs-icon-play { &:before { content: '\f103'; } } } &.vjs-ended { .more-media.full-wrapper { visibility: hidden; } .vjs-icon-play { &:before { content: '\f116'; } } } } } } .video-js.vjs-mediacms { padding-top: 50%; video[poster] { object-fit: fill; } // $intense-color: red; $intense-color: $theme-color; // $intense-color: springgreen; // $intense-color: limegreen; // $intense-color: lawngreen; .vjs-progress-control { .vjs-progress-holder { // @include box-shadow( 0 1px 3px 0 rgba(#000, 0.1) ); .vjs-play-progress { background-color: $intense-color; &:before { color: $intense-color; } } } } .vjs-poster { // animation: vjs-poster-reveal 2.5s; background-size: cover; } &.vjs-changing-resolution .vjs-poster { display: none; } .vjs-corner-layer { &.vjs-corner-top-left, &.vjs-corner-top-right { top: 16px; } &.vjs-corner-top-left { max-width: 80%; } &.vjs-corner-top-right { } .title-link, .user-thumb-link { outline: 0; transition-duration: 0.1s; transition-property: opacity, visibility; } .title-link { display: inline-block; font-size: 16px; font-stretch: 100%; text-decoration: none; text-shadow: 0 0 2px rgba(#000, 0.5); @include multiline_texts_excerpt( $font-size: 18px, $line-height: 23.4px, $lines-to-show: 2, $bg-color: transparent ); color: #eee; &:hover { color: #fff; } @media screen and (min-width: 768px) { font-size: 18px; } } .user-thumb-link { position: relative; display: block; width: 36px; height: 36px; overflow: hidden; border-radius: 50%; margin-bottom: 4px; background-size: cover; background-position: center; background-repeat: no-repeat; } .media-links-top-left { display: block; .title-link { padding-left: 48px; padding-top: 7px; } .user-thumb-link { position: absolute; top: 0; left: 0; display: inline-block; } } } &.vjs-fullscreen { .vjs-corner-layer { .title-link { font-size: 16px; @media screen and (min-width: 768px) { font-size: 18px; } @media screen and (min-width: 992px) { font-size: 20px; } @media screen and (min-width: 1040px) { font-size: 22px; } } } } &.vjs-has-started { &.vjs-fullscreen { } &.vjs-user-inactive.vjs-playing { .vjs-corner-layer { .title-link, .user-thumb-link { opacity: 0; visibility: hidden; } } } } &:hover { @if $big-play-button { .vjs-big-play-button { background-color: $intense-color; } } } } /* @-webkit-keyframes vjs-poster-reveal { 0%{ opacity:0; } 40%{ opacity:0; } 100%{ opacity:1; } } @keyframes vjs-poster-reveal { 0%{ opacity:0; } 40%{ opacity:0; } 100%{ opacity:1; } } */ .video-js.vjs-mediacms { .vjs-progress-control .vjs-mouse-display .vjs-time-tooltip, .vjs-preview-thumb .vjs-preview-thumb-time-display { font-size: 0.776699em; font-weight: 500; line-height: 1; } .vjs-progress-control .vjs-mouse-display .vjs-time-tooltip, .vjs-preview-thumb .vjs-preview-thumb-time-display > * { padding: 0.5em 0.65em 0.4em; color: rgba(#fff, 0.9); background-color: rgba(28, 28, 28, 0.95); border-radius: 2px; } .vjs-progress-control .vjs-mouse-display { background-color: rgba(28, 28, 28, 0.9); .vjs-time-tooltip { top: auto; bottom: 0.5em; } } .vjs-preview-thumb { display: none; } &.vjs-enabled-preview-thumb { .vjs-preview-thumb { position: relative; opacity: 0; visibility: hidden; display: block; .vjs-preview-thumb-inner { position: absolute; bottom: 1em; left: -80px; width: 160px; height: 120px; overflow: hidden; background-position: center 0; background-size: cover; background-color: rgba(28, 28, 28, 0.9); border: 2px solid rgba(28, 28, 28, 0.9); border-radius: 1px; } .vjs-preview-thumb-time-display { position: absolute; bottom: -2px; left: 0; width: 100%; line-height: 1; font-size: 1em; font-weight: 600; display: inline-block; > * { display: inline-block; padding: 0.5em 0.65em 0.45em; } } } .vjs-progress-control { &.andrd-active .vjs-preview-thumb, &:hover .vjs-preview-thumb, &:active .vjs-preview-thumb { // opacity: 1; visibility: visible; animation-name: showPreviewThumb; animation-duration: 0.2s; animation-timing-function: ease-out; animation-delay: 0.1s; animation-direction: alternate; animation-fill-mode: forwards; } } &.vjs-user-inactive { .vjs-progress-control { .vjs-preview-thumb { opacity: 0; visibility: hidden; @include transition(visibility 1s linear, opacity 1s linear); } } } &.vjs-touch-enabled { .vjs-preview-thumb { display: none; } } } } .video-js.vjs-mediacms { $spinner-color: #eee; $spinner-border-width: 6px; $spinner-container-width: 64px; $fullscreen-spinner-border-width: 1.5 * $spinner-border-width; $fullscreen-spinner-container-width: 1.5 * $spinner-container-width; .vjs-loading-spinner { width: $spinner-container-width; height: $spinner-container-width; margin: (-0.5 * $spinner-container-width) 0 0 (-0.5 * $spinner-container-width); border: 0; border-radius: 0; @include opacity(1); -webkit-animation-delay: 0.44s; animation-delay: 0.44s; &:after, &:before { display: none; } .spinner { z-index: +1; position: absolute; left: 50%; top: 50%; width: 100%; margin-left: (-0.5 * $spinner-container-width); pointer-events: none; background-color: $spinner-color; } .spinner-container { pointer-events: none; position: absolute; width: 100%; top: 50%; left: 50%; margin-top: -50%; margin-left: -50%; padding-bottom: 100%; animation: spinner-linear-spin 1568.23529647ms linear infinite; -webkit-animation: spinner-linear-spin 1568.23529647ms linear infinite; } .spinner-rotator { position: absolute; width: 100%; height: 100%; -webkit-animation: spinner-ease-spin 5332ms cubic-bezier(0.4, 0, 0.2, 1) infinite both; animation: spinner-ease-spin 5332ms cubic-bezier(0.4, 0, 0.2, 1) infinite both; } .spinner-left, .spinner-right { position: absolute; top: 0; bottom: 0; overflow: hidden; } .spinner-circle { position: absolute; width: 200%; height: 100%; box-sizing: border-box; border-radius: 50%; border-style: solid; border-width: $spinner-border-width; border-color: $spinner-color $spinner-color transparent; } .spinner-left { left: 0; right: 49%; .spinner-circle { left: 0; right: -100%; border-right-color: transparent; -webkit-animation: spinner-left-spin 1333ms cubic-bezier(0.4, 0, 0.2, 1) infinite both; animation: spinner-left-spin 1333ms cubic-bezier(0.4, 0, 0.2, 1) infinite both; } } .spinner-right { left: 49%; right: 0; .spinner-circle { left: -100%; right: 0; border-left-color: transparent; -webkit-animation: spinner-right-spin 1333ms cubic-bezier(0.4, 0, 0.2, 1) infinite both; animation: spinner-right-spin 1333ms cubic-bezier(0.4, 0, 0.2, 1 1) infinite both; } } } &.vjs-fullscreen { .vjs-loading-spinner { width: $fullscreen-spinner-container-width; height: $fullscreen-spinner-container-width; margin: (-0.5 * $fullscreen-spinner-container-width) 0 0 (-0.5 * $fullscreen-spinner-container-width); .spinner { margin-left: (-0.5 * $fullscreen-spinner-container-width); } .spinner-circle { border-width: $fullscreen-spinner-border-width; } } } &.vjs-error { .vjs-loading-spinner { display: none; } } }