.loader-container { position: fixed; top: 0; left: 0; width: 100%; height: 100%; background-color: rgba(34, 37, 42, 0.95); display: flex; justify-content: center; align-items: center; z-index: 9999; transition: opacity 0.3s; } .modal-backdrop.show{ opacity: 0 !important; } .modal-content { background-color: #272a30 !important; } .form-control { background-color: #272a30 !important; border-color: #2e3138 !important; color: var(--text-color); } .loader { width: 48px; height: 48px; border: 5px solid #FFF; border-bottom-color: transparent; border-radius: 50%; display: inline-block; box-sizing: border-box; animation: rotation 1s linear infinite; } @keyframes rotation { 0% { transform: rotate(0deg); } 100% { transform: rotate(360deg); } } .loader-hidden { opacity: 0; pointer-events: none; } :root { --primary-bg: #1a1a1a; --secondary-bg: #2d2d2d; --text-color: #ffffff; --border-color: #404040; } body { overflow: hidden; background-color: #22252a !important; color: var(--text-color); } .container-fluid { padding: 20px; } .video-container { background-color: var(--secondary-bg); border-radius: 8px; padding: 20px; margin-bottom: 20px; --tw-shadow: 0 20px 25px -5px rgb(0 0 0 / .1), 0 8px 10px -6px rgb(0 0 0 / .1); --tw-shadow-colored: 0 20px 25px -5px var(--tw-shadow-color), 0 8px 10px -6px var(--tw-shadow-color); box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow); } .video-js { /*width: 100%; height: 480px;*/ } .timeline-container { background-color: #272a30; border: 1px solid #2e3138; border-radius: .75rem; padding: 10px; scrollbar-color: #2e3138 #1a1a1a00; scrollbar-width: thin; --tw-shadow: 0 20px 25px -5px rgb(0 0 0 / .1), 0 8px 10px -6px rgb(0 0 0 / .1); --tw-shadow-colored: 0 20px 25px -5px var(--tw-shadow-color), 0 8px 10px -6px var(--tw-shadow-color); box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow); margin-bottom: 20px; overflow: hidden; } button.vjs-big-play-button { height: 3em !important; width: 3em !important; line-height: 3em !important; border-radius: 100% !important; border: none !important; color: #dfdfdf !important; } #zoom-in, #zoom-out { background: #272a30 !important; border-radius: 1.75rem !important; border: 1px solid #2e3138 !important; } #timeline { height: 100px; background-color: #22252a; border: 1px solid #2d3037; position: relative; overflow-x: auto; overflow-y: hidden; width: 100%; border-radius: 0.75rem; } #timeline-content { height: 100%; position: absolute; left: 0; min-width: 100%; pointer-events: auto; padding: 20px; font-size: 10px; color: #ffffff; } button.btn-close { font-size: 10px !important; } #saveSubtitle,#deleteSubtitle,button.btn.btn-secondary { font-size: .875rem; line-height: 1.25rem; } .modal-body { padding-bottom: 0 !important; padding-top: 0 !important; } .modal-footer { border: none !important; } .modal-header { border: none !important; } .subtitle-marker { height: auto !important; border-top: 2px solid; border-bottom: 2px solid; --tw-border-opacity: 1; margin: 10px 0px !important; padding: 10px 15px !important; border-radius: 5px !important; border-color: rgb(86 129 175); position: absolute; background: rgba(0, 123, 255, 0.5); height: 30px; bottom: 0; border-radius: 2px; cursor: pointer; overflow: hidden; white-space: nowrap; text-overflow: ellipsis; color: white; padding: 5px; font-size: 12px; transition: background-color 0.2s; } .subtitle-marker:hover { background: rgba(0, 123, 255, 0.7); } .subtitle-marker .resize-handle { position: absolute; top: 0; width: 6px; height: 100%; cursor: ew-resize; background: rgba(255, 255, 255, 0.3); } .subtitle-marker .resize-handle.left { left: 0; } .subtitle-marker .resize-handle.right { right: 0; } .subtitle-marker .resize-handle:hover { background: rgba(255, 255, 255, 0.5); } .subtitle-marker.dragging { opacity: 0.7; cursor: move; } .subtitle-marker.resizing { opacity: 0.8; z-index: 1000; pointer-events: all; } .subtitle-marker.resizing .resize-handle { background: rgba(255, 255, 255, 0.5); } .timeline-marker { position: absolute; height: 100%; background-color: rgb(255 255 255 / 2%); cursor: pointer; } .timeline-marker:hover { background-color: rgba(255, 255, 255, 0.2); } .editor-panel .card { background-color: var(--secondary-bg); border-color: var(--border-color); } .editor-panel .card-header { background-color: var(--primary-bg); border-bottom-color: var(--border-color); } .form-control { background-color: var(--primary-bg); border-color: var(--border-color); color: var(--text-color); } .form-control:focus { background-color: var(--primary-bg); border-color: #0d6efd; color: var(--text-color); } .subtitle-list { max-height: 300px; overflow-y: auto; } .subtitle-item { background-color: var(--primary-bg); border: 1px solid var(--border-color); border-radius: 4px; padding: 10px; margin-bottom: 10px; } .subtitle-item:hover { border-color: #0d6efd; } #timeline-controls { text-align: right; } .btn-sm { margin-left: 5px; } /* Modal styling */ .modal-content { background-color: var(--secondary-bg); color: var(--text-color); } .modal-header { border-bottom-color: var(--border-color); } .modal-footer { border-top-color: var(--border-color); } .btn-close { filter: invert(1); } .col-12.col-lg-4 { display: none !important; } .video-container { background: none !important; padding: 0 !important; } div#video-player { border-radius: .75rem; } video#video-player_html5_api { border: 1px solid #2e3138; border-radius: .75rem; } video#video-player_html5_api { position: relative !important; } div#video-player { width: 100%; background: none; height: auto; padding: 0; } #zoom-in, #zoom-out { background: #272a30 !important; border-radius: 1.75rem !important; border: 1px solid #2e3138 !important; --tw-shadow: 0 20px 25px -5px rgb(0 0 0 / .1), 0 8px 10px -6px rgb(0 0 0 / .1); --tw-shadow-colored: 0 20px 25px -5px var(--tw-shadow-color), 0 8px 10px -6px var(--tw-shadow-color); box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow); } body.modal-open { font-family: ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", Segoe UI Symbol, "Noto Color Emoji" !important; } .loader { width: 48px; height: 48px; border: 5px solid #FFF; border-bottom-color: transparent; border-radius: 50%; display: inline-block; box-sizing: border-box; animation: rotation 1s linear infinite; } @keyframes rotation { 0% { transform: rotate(0deg); } 100% { transform: rotate(360deg); } }