Want to get this as ready made template with just 1 CLICK INSTALL?
CSS code snippet for Play Button (Divider Widget):
:root{ --expanding-color: #F42E79; } selector{ cursor: pointer; } selector .elementor-divider-separator:before{ content: ""; position: absolute; top: calc(50% - 14px); left: calc(50% - 8px); border: 25px solid #fff; border-top: 15px solid transparent; border-bottom: 15px solid transparent; border-right: 0 solid transparent; transition: all 0.3s ease-in-out; } selector.active .elementor-divider-separator:before{ opacity: 0; } selector .elementor-divider-separator:after{ content: ""; position: absolute; top: 0; left: 0; background: var(--expanding-color); height: 100%; width: 100%; z-index: -1; border-radius: 100%; transform: translate(0, 15px); filter: blur(12px) opacity(0.4); transition: all 0.5s ease-in-out; } selector.active .elementor-divider-separator:after{ filter: blur(0) opacity(1); transform: translate(0,0) scale(30); transition: all 0.5s ease-in-out, filter 0.3s ease-in-out; } selector + *{ transition: all 0.3s ease-in-out; } selector.active + *{ opacity: 0; }
Code snippet for Custom Video Player:
<link rel="stylesheet" href="https://cdn.plyr.io/3.7.2/plyr.css" /> <script src="https://cdn.plyr.io/3.7.2/plyr.polyfilled.js"></script> <video id="player-1" class="player" playsinline controls> <source src="https://template.makedreamwebsite.com/wp-content/uploads/2022/07/pexels-tima-miroshnichenko-6860452.mp4" /> </video> <style> :root{ --plyr-color-main: #F42E79; --plyr-font-family: "Poppins"; --plyr-control-icon-size: 20px; } .plyr input[type=range]::-webkit-slider-runnable-track{ box-shadow:none; } .plyr__control.plyr__control--overlaid{ height: 80px; width: 80px !important; } .plyr__control.plyr__control--overlaid svg{ opacity: 0; } .plyr__control.plyr__control--overlaid:before{ content: ""; position: absolute; top: calc(50% - 14px); left: calc(50% - 8px); border: 25px solid #fff; border-top: 15px solid transparent; border-bottom: 15px solid transparent; border-right: 0 solid transparent; transition: all 0.3s ease-in-out; } @media (max-width: 767px){ :root{ --plyr-control-icon-size: 18px; } .plyr__control.plyr__control--overlaid { height: 50px; width: 50px !important; } .plyr__control.plyr__control--overlaid:before { top: calc(50% - 15px); left: calc(50% - 10px); transform: scale(0.7); } html.active{ overflow: hidden; } } </style> <script src="https://code.jquery.com/jquery-3.6.0.min.js"></script> <script> (function(){ const player = new Plyr('#player-1'); var $ = jQuery, scrollLock = false, scrollPos = 0 $(document).ready(function(){ $('.v-play').on('click', function(){ var popup = $(this).closest('.e-container, .e-con').nextAll('.v-popup').eq(0) $(this).addClass('active') popup.addClass('active') $('html').addClass('active') if(player) player.play() scrollLock = true scrollPos = $(window).scrollTop() }) $('.v-popup').on('click', function(e){ if( $(e.target).closest('.v-video').length || $(e.target).is('.v-video') ){ return } $('.v-popup, .v-play').removeClass('active') if(player) { player.pause() setTimeout(function(){ player.stop() scrollLock = false $('html').removeClass('active') },500) } }) }) $(window).on('scroll', function(){ if(scrollLock) $(window).scrollTop(scrollPos) }) })() </script>
CSS code snippet for Popup Container:
selector{ pointer-events: none; max-width: 100vw; } selector.active{ pointer-events: initial; background: var(--expanding-color); transition: all 0.2s ease-in-out 0.3s; } selector > .e-con-inner{ flex-wrap: nowrap; } selector .v-video{ transition: all 0.5s ease-in-out; opacity: 0; transform: scale(0.5); } selector.active .v-video{ transition: all 0.5s ease-in-out 0.2s; transform: scale(1); opacity: 1; } selector .v-close{ transition: all 0.5s ease-in-out; opacity: 0; cursor: pointer; } selector.active .v-close{ opacity: 1; transition: all 0.5s ease-in-out 0.5s; }