/* ---------- base ---------- */ html, body { background: #333; color: #fff; font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen, Ubuntu, Cantarell, "Fira Sans", "Droid Sans", "Helvetica Neue", sans-serif; } html { height: 100%; } body { min-height: 100%; margin: 0; } html, body { box-sizing: border-box; } *, *:before, *:after { box-sizing: inherit; } a { color: #000; text-decoration: none; border-bottom: 1px dotted #313131; } a:hover { border-bottom: 1px solid #313131; } .box { margin: 20px 50px; padding: 20px; background: #eee; color: #333; border-radius: 15px; } /* ---------- navigation ---------- */ .nav { background: #0000004d; -webkit-backdrop-filter: blur(15px); backdrop-filter: blur(15px); } .nav__width { padding: 20px 50px; display: flex; max-width: 1500px; margin: 0 auto; } .nav .logo { margin-right: 20px; } .nav .logo img { height: 15px; width: auto; display: block; } .nav .links { display: flex; list-style-type: none; padding: 0; margin: 0; border-radius: 10px; align-items: center; } .nav .links a { color: #eee; text-decoration: none; border: none; margin-right: 20px; font-size: 14px; } .nav .links a:hover { text-decoration: underline; } .nav .links a.active { font-weight: 700; } /* ---------- main background ---------- */ .mainBackground { min-height: 100vh; background-size: cover; background-position: left top; } /* ---------- home page ---------- */ .pageHome { padding: 20px 50px; max-width: 1500px; margin: 0 auto; } .split { --channelsLeftMargin: 20px; --channelsTopMargin: 0; --channelsWidth: 200px; display: flex; } .split__video { flex: 1; } .split__video_ratio { position: relative; padding-bottom: 56.25%; height: 0; } .split__video_ratio video { position: absolute; top: 0; left: 0; width: 100%; height: 100%; background: #000; border-radius: 15px; } .split__channels { width: var(--channelsWidth); margin-left: var(--channelsLeftMargin); } @media all and (max-width: 800px) { .split { flex-direction: column; --channelsLeftMargin: 0; --channelsTopMargin: 20px; --channelsWidth: 100%; } } /* ---------- currently playing / select ---------- */ .currentlyPlaying { background: #0009; padding: 15px; margin-top: 10px; border-radius: 15px; font-size: 14px; } .currentlyPlaying b { font-weight: 700; } .selectChannelBox { background: #000; height: 400px; display: flex; text-align: center; justify-content: center; border-radius: 15px; color: #b4b4b4; align-items: center; background-color: #000000e6; font-size: 18px; } @media all and (max-width: 800px) { .selectChannelBox { height: 150px; } } .selectChannelBox svg { width: 10px; height: 10px; } .selectChannelBox .lineHeader { font-weight: 700; } .selectChannelBox .lineSelectChannel { margin: 5px 0; font-size: 20px; } .selectChannelBox .lineRandom { --initialScale: 1; --endScale: 1.2; cursor: pointer; animation: pulseScale 3s ease infinite; } /* ---------- playing stats / Top10 ---------- */ .playingStats { color: #eee; background: #0009; padding: 15px; margin-top: 10px; border-radius: 15px; } .playingStats__title { font-size: 18px; border-bottom: 1px solid #727272; padding-bottom: 10px; margin-bottom: 10px; } .playingStats ol { list-style-position: inside; padding: 0; margin: 0; font-size: 14px; } .playingStats li { padding: 6px 0; border-bottom: 1px solid rgba(255, 255, 255, 0.05); } .playingStats li:last-child { border-bottom: none; } /* ---------- channel list ---------- */ .channelList { margin-top: var(--channelsTopMargin); } .channelList__channel { cursor: pointer; height: 64px; display: flex; margin-bottom: 5px; text-decoration: none; border: none; } .channelList__channel:hover { transform: scale(1.1); } .channelList__channelIcon { --initialWidth: 20px; --endWidth: 25px; width: 64px; background-color: var(--var-bgColor); text-align: center; display: flex; justify-content: center; align-items: center; border-bottom-left-radius: 10px; border-top-left-radius: 10px; } .channelList__channelIcon svg { opacity: .8; width: var(--initialWidth); height: auto; fill: #fff; } .channelList__channelIconActive svg { opacity: 1; animation: pulseWidth 1s linear infinite; } .channelList__channelLogo { flex: 1; background: #333; border-bottom-right-radius: 10px; border-top-right-radius: 10px; display: flex; align-items: center; } .channelList__channelLogo img { margin-left: 10px; height: 30px; width: auto; } @keyframes pulseWidth { 0% { width: var(--initialWidth); } 50% { width: var(--endWidth); } 100% { width: var(--initialWidth); } } @keyframes pulseScale { 0% { transform: scale(var(--initialScale)); } 50% { transform: scale(var(--endScale)); } 100% { transform: scale(var(--initialScale)); } } /* ---------- about / channel descriptions ---------- */ .channel { margin-bottom: 15px; } .channel:last-child { margin-bottom: 0; } .channel__title { font-weight: 700; } .channel p { margin: 0; } /* ---------- artists & playlog ---------- */ .artistsList { display: grid; grid-template-columns: repeat(auto-fill, minmax(220px, 1fr)); gap: 8px 24px; margin-top: 15px; font-size: 14px; } .artistsList a { color: #ddd; border: none; padding: 4px 0; } .artistsList a:hover { color: #fff; text-decoration: underline; } .playlogControls { display: flex; gap: 10px; flex-wrap: wrap; align-items: center; margin-bottom: 15px; } .playlogControls select, .playlogControls input[type="date"] { padding: 6px 10px; border-radius: 6px; border: 1px solid #ccc; background: #fff; color: #000; font: inherit; } .playlogList { font-size: 14px; } .playlogList .row { display: flex; padding: 6px 0; border-bottom: 1px solid rgba(0, 0, 0, .07); } .playlogList .row:last-child { border-bottom: none; } .playlogList .time { width: 80px; color: #666; flex-shrink: 0; } .playlogList .title { flex: 1; font-weight: 500; } .playlogList .artist { width: 240px; color: #666; text-align: right; } @media all and (max-width: 700px) { .playlogList .artist { display: none; } } /* ---------- footer ---------- */ .siteFooter { text-align: center; font-size: 12px; color: #888; padding: 30px 50px; }