*::-webkit-scrollbar { width: 10px; height: 10px; } *::-webkit-scrollbar-thumb { background-color: rgb(180, 180, 180); border-radius: 5px; box-shadow: inset 3px 3px 3px rgba(255, 255, 255, 0.2); } *::-webkit-scrollbar-track { background-color: rgb(240, 240, 240); border-radius: 5px; box-shadow: inset 3px -3px 5px rgba(100, 100, 100, 0.2); } *::-webkit-scrollbar-corner { display: none; } body { position: relative; width: 100vw; height: 100vh; padding: 0; margin: 0; color: rgb(0, 0, 0); background-color: rgb(255, 255, 255); } header { position: relative; width: 100%; height: 20%; display: flex; justify-content: center; align-items: center; } header > img { position: relative; width: auto; height: 80%; } main { position: relative; width: 100%; height: 75%; display: flex; justify-content: center; align-items: center; } footer { position: relative; width: 100%; height: 5%; color: rgb(255, 255, 255); background-color: rgb(164, 164, 165); font-size: 0.9em; display: flex; justify-content: center; align-items: center; } .side-bar { position: relative; width: 10%; height: 100%; background-color: rgba(160, 53, 141, 0.8); display: flex; flex-direction: column; justify-content: space-between; align-items: center; } .movie-area { position: relative; width: 20%; height: 100%; } .movie-area::after { content: ""; position: absolute; top: 50%; left: 100%; transform: translateY(-50%); width: auto; height: 85%; border-right: 1px dashed rgb(0, 0, 0); } .playlist-area { position: relative; width: 70%; height: 100%; } .page-btn { position: relative; width: 100%; height: 20%; display: flex; flex-direction: column; justify-content: space-evenly; align-items: center; } .sub-btn { position: relative; width: 100%; height: 15%; display: flex; flex-direction: column; justify-content: space-evenly; align-items: center; } .page-btn > span, .sub-btn > span { position: relative; font-size: 0.8em; color: rgb(255, 255, 255); border-bottom: 1px solid rgb(255, 255, 255); } .page-btn > span:hover, .sub-btn > span:hover { color: rgb(255, 150, 0); border-bottom: 1px solid rgb(255, 150, 0); cursor: pointer; } .title { position: relative; width: 100%; height: 10%; display: flex; justify-content: left; align-items: center; } .title > span { position: relative; font-size: 1.1em; font-weight: bold; margin-left: 5%; text-decoration: underline; } .title > button { position: relative; width: auto; height: 1.5em; font-size: 0.8em; padding: 0 2em; margin-left: 5%; outline: none; border: none; border-radius: 5px; background: linear-gradient(to bottom, rgb(250, 250, 250), rgb(220, 220, 220)); box-shadow: 1px 1px 3px rgba(100, 100, 100, 0.6); cursor: pointer; } .title > button:active { position: relative; top: 2px; } .movies { position: relative; width: 100%; height: 85%; overflow-x: hidden; overflow-y: auto; } .movie { position: relative; width: 80%; min-height: 2.5em; margin: 1em 10%; border-bottom: 1px solid rgb(0, 0, 0); display: flex; justify-content: center; align-items: center; cursor: pointer; } .movie > video { position: relative; width: auto; max-width: 20%; height: auto; max-height: 90%; } .movie > .name { position: relative; width: 60%; height: 100%; padding-left: 0.5em; display: flex; justify-content: left; align-items: center; white-space: nowrap; overflow-x: auto; } .movie > .name::-webkit-scrollbar { display: none; } .movie > .btn { position: relative; width: 20%; height: 100%; display: flex; justify-content: space-between; align-items: center; } .movie > .btn > img { position: relative; width: auto; max-width: 40%; height: auto; max-height: 90%; } .movie > .btn > img:active { position: relative; top: 2px; } .playlists { position: relative; width: 90%; height: 85%; margin: 0 5%; display: flex; justify-content: left; align-items: center; overflow-x: auto; } .playlist { position: relative; min-width: 30%; height: 97%; margin-left: 5px; margin-right: 2em; border: 1px solid rgb(0, 0, 0); overflow-x: hidden; overflow-y: auto; } .playlist.open { border: 1px solid rgb(255, 0, 0); outline: 2px solid rgb(255, 0, 0); } .playlist-name { position: relative; width: 90%; height: 7%; margin: 0 5%; display: flex; justify-content: space-between; align-items: center; } .playlist-name > input { position: relative; width: 50%; height: 80%; outline: none; border: none; border-bottom: 1px solid rgb(0, 0, 0); padding-left: 0.5em; } .playlist-name > button { position: relative; width: auto; height: 50%; font-size: 0.7em; padding: 0 1em; outline: none; border: none; border-radius: 25px; background: linear-gradient(to bottom, rgb(250, 250, 250), rgb(220, 220, 220)); box-shadow: 1px 1px 3px rgba(100, 100, 100, 0.6); cursor: pointer; } .playlist-name > img { position: relative; width: auto; height: 60%; cursor: pointer; } .playlist-name > button:active, .playlist-name > img:active { position: relative; top: 2px; } .playlist-btn { position: relative; width: 90%; height: 5%; margin: 0 5%; display: flex; justify-content: right; align-items: center; } .playlist-btn > button { position: relative; width: auto; height: 90%; font-size: 0.7em; padding: 0 1em; margin-left: 1em; outline: none; border: none; border-radius: 10px; background: linear-gradient(to bottom, rgb(250, 250, 250), rgb(220, 220, 220)); box-shadow: 1px 1px 3px rgba(100, 100, 100, 0.6); cursor: pointer; } .playlist-btn > button.add { background: linear-gradient(to bottom, rgb(255, 255, 0), rgb(220, 220, 0)); box-shadow: 1px 1px 3px rgba(100, 100, 0, 0.6); } .playlist-btn > button.save { background: linear-gradient(to bottom, rgb(0, 255, 255), rgb(0, 220, 220)); box-shadow: 1px 1px 3px rgba(0, 100, 100, 0.6); } .playlist-btn > button:active { position: relative; top: 2px; } .group-list { position: relative; width: 90%; height: 88%; margin: 0 5%; overflow-x: hidden; overflow-y: auto; counter-reset: count 0; } .group { position: relative; width: 95%; min-height: 30%; height: 30%; margin: 3% auto; padding-top: 1em; border: 1px solid rgb(0, 0, 0); border-radius: 10px; counter-reset: list 0; overflow-x: hidden; overflow-y: auto; } .group::before { counter-increment: count 1; content: counter(count); position: absolute; left: 0.5em; top: 0; } .group > button { position: absolute; top: 0.1em; right: 0.5em; font-size: 0.7em; padding: 0 0.5em; outline: none; border: none; border-radius: 10px; background: linear-gradient(to bottom, rgb(250, 250, 250), rgb(220, 220, 220)); box-shadow: 1px 1px 3px rgba(100, 100, 100, 0.6); cursor: pointer; } .group > button:active { position: absolute; top: calc(0.1em + 2px); } .list { position: relative; width: auto; min-height: 2em; height: 2em; margin: 0 5%; padding-left: 1.5em; border-bottom: 1px solid rgb(0, 0, 0); font-size: 0.9em; display: flex; justify-content: space-between; align-items: flex-end; } .list::before { counter-increment: list 1; content: counter(list) '.'; position: absolute; left: 0.5em; bottom: 0; } .list > span { position: relative; width: 80%; height: 100%; display: flex; justify-content: left; align-items: flex-end; overflow-x: auto; cursor: default; } .list > span::-webkit-scrollbar { display: none; } .list > img { position: relative; width: auto; height: 60%; margin-bottom: 0.1em; cursor: pointer; } .list > img:active { position: relative; top: 2px; } .error { position: relative; width: 100%; height: 5%; color: rgb(255, 0, 0); display: flex; justify-content: left; align-items: center; } .drag-movie { position: fixed; width: auto; height: auto; box-shadow: 2px 2px 3px rgba(100, 100, 100, 0.7); z-index: 999; cursor: grabbing; } .drag-movie > video { position: relative; width: auto; height: 5em; } .sub-window { position: fixed; left: 0; top: 0; width: 100vw; height: 100vh; background-color: rgba(100, 100, 100, 0.2); z-index: 999; } .sub-window > video { position: absolute; left: 5%; top: 5%; width: auto; max-width: 80%; height: auto; max-height: 80%; } .dialog { position: absolute; top: 0; left: 0; width: 100%; height: 100%; background-color: rgba(0, 0, 0, 0.3); z-index: 999; display: none; } .dialog.open { display: block; } .dialog-content { position: absolute; top: 50%; left: 50%; transform: translate(-50%, -50%); width: 50%; height: 60%; border: 3px solid rgb(0, 0, 0); border-radius: 30px; background-color: rgb(255, 255, 255); display: flex; flex-direction: column; justify-content: center; align-items: center; } .dialog-img { position: relative; width: 100%; height: 20%; } .dialog-img > img { position: absolute; top: 50%; left: 50%; transform: translate(-50%, -50%); width: auto; height: 70%; } .dialog-detail { position: relative; width: 100%; height: 50%; display: flex; flex-direction: column; justify-content: center; align-items: center; } .dialog-title { font-size: 2em; font-weight: bold; } .dialog-detail > div:nth-child(2) { font-size: 1.1em; padding-top: 0.5em; } .dialog-detail > div:nth-child(2) > span:nth-child(1) { margin-right: 0.3em; text-decoration: underline; } .dialog-detail > div:nth-child(2) > p { color: rgb(255, 0, 0); } .dialog-detail > div:nth-child(2) > .dialog-info { display: none; } .dialog-detail > div:nth-child(2) > .dialog-info.open { display: block; } .dialog-btn { position: relative; width: 100%; height: 30%; display: flex; justify-content: space-evenly; align-items: center; } .dialog-btn > button { position: relative; width: 30%; height: 30%; outline: none; border: none; border-radius: 10px; background: linear-gradient(to bottom, rgb(250, 250, 250), rgb(220, 220, 220)); box-shadow: 1px 1px 3px rgba(100, 100, 100, 0.6); cursor: pointer; } .dialog-btn > button:nth-child(2) { color: rgb(255, 255, 255); background: linear-gradient(to bottom, rgb(255, 0, 0), rgb(220, 0, 0)); box-shadow: 1px 1px 3px rgba(100, 0, 0, 0.6); } .dialog-btn > button:active { position: relative; top: 2px; } .loader-dialog { position: fixed; top: 0; left: 0; width: 100%; height: 100%; background-color: rgba(0, 0, 0, 0.4); display: flex; justify-content: center; align-items: center; animation: animateTheBodyBg 10s linear infinite; visibility: hidden; opacity: 0; } .loader-dialog.open { visibility: visible; opacity: 1; z-index: 999; } @keyframes animateTheBodyBg { from { filter: hue-rotate(0deg) } to { filter: hue-rotate(360deg) } } .loader { position: relative; width: 250px; height: 250px; } .loader span { position: absolute; top: 0; left: 0; width: 100%; height: 100%; transform: rotate(calc(18deg * var(--i))); } .loader span::before { content: ''; position: absolute; top: 0; left: 0; width: 15px; height: 15px; border-radius: 50%; background-color: #00ff0a; box-shadow: 0 0 10px #00ff0a, 0 0 20px #00ff0a, 0 0 30px #00ff0a, 0 0 40px #00ff0a, 0 0 60px #00ff0a, 0 0 80px #00ff0a, 0 0 100px #00ff0a; animation: animateTheSpan 2s linear infinite calc(.1s * var(--i)); } @keyframes animateTheSpan { 0% { transform: scale(1) } 80%, 90% { transform: scale(0) } } .loader-title { position: absolute; top: 50%; left: 50%; transform: translate(-50%, -50%); font-size: 1.5em; color: rgb(255, 255, 255); }