// Sass for videojs-touch-ui @keyframes fadeAndScale { 0% { opacity: 0; } 25% { opacity: 1; } 100% { opacity: 0; } } .video-js { // This class is added to the video.js element by the plugin by default. &.vjs-has-started .vjs-touch-overlay { position: absolute; pointer-events: auto; top: 0; } .vjs-touch-overlay { display: block; width: 100%; height: 100%; pointer-events: none; &.skip { opacity: 0; animation: fadeAndScale 0.6s linear; background-repeat: no-repeat; background-position: 80% center; background-size: 10%; background-image: url('data:image/svg+xml;utf8,'); } &.skip.reverse { background-position: 20% center; background-image: url('data:image/svg+xml;utf8,'); } .vjs-play-control { top: 50%; left: 50%; transform: translate(-50%, -50%); position: absolute; width: 30%; height: 80%; pointer-events: none; opacity: 0; transition: opacity 0.3s ease; .vjs-icon-placeholder::before { content: ''; background-size: 60%; background-position: center center; background-repeat: no-repeat; background-image: url('data:image/svg+xml;utf8,'); } &.vjs-paused .vjs-icon-placeholder::before { content: ''; background-image: url('data:image/svg+xml;utf8,'); } &.vjs-ended .vjs-icon-placeholder::before { content: ''; background-image: url('data:image/svg+xml;utf8,'); } } &.show-play-toggle .vjs-play-control { opacity: 1; pointer-events: auto; } } &.vjs-mobile-ui-disable-end.vjs-ended .vjs-touch-overlay { display: none; } }