@font-face { font-family: 'OpenSans'; src: url('/assets/f/OpenSans-VariableFont.ttf') format('truetype'); } html, body { display: block; font-size: 14px; height: 100%; width:100%; margin: 0; padding: 0; line-height: 1.15; -webkit-text-size-adjust: 100%; overflow: auto; font-family: "OpenSans"; } body { background: radial-gradient(at top, #353b44 -10%, #252932 60%); color: #f1f1f1; font-family: "OpenSans"; line-height: 1.5; } #app { position: relative; width: 100%; min-height: 100vh; display: flex; flex-direction: column; } header { background-color: rgba(0, 0, 0, .2); padding: 0; box-shadow: 0 0 5px rgba(0, 0, 0, .5); width: 100%; height: 70px; } .container { margin: 0 auto; width: 1200px; max-width: 100%; padding: 0 20px; } nav { display: flex; flex-direction: row; align-items: center; height: 70px; width: 1160px; } img { height: 60px; display: block; align-self: flex-end; } .logo { margin-right: auto; font-size: 28px; padding: 5px; } .count { margin-left: auto; font-size: 14px; padding: 5px; } #app a:hover { text-decoration: underline; } a { display: inline-block; color: inherit; text-decoration: none; } a { background-color: transparent; } #app #grid a { transition: opacity 300ms, color 300ms; animation-name: fadeIn; animation-duration: 1000ms; transition: opacity 1s; } @keyframes fadeIn { 0% { opacity: 0 } 100% { opacity: 1 } } #app #grid a:hover { text-decoration: none; } #app #grid a:hover .title { color: #a970ff; } #app #grid a:hover .thumbnail .image { transform: scale(1.1); } #app #grid a .meta .text .title { font-weight: bold; transition: opacity 300ms, color 300ms; } #app #grid a .meta .text .title, #app #grid a .meta .text .name { white-space: nowrap; overflow: hidden; text-overflow: ellipsis; } .footertext:hover { text-decoration: underline; } .footertext { margin: 0 10px; } #app footer { background-color: #1b1f25; color: #ddd; font-size: .9rem; padding: 1.5rem 0; text-align: center; } #app footer a { margin: 0 10px; } #app main .page { margin: 0 auto; padding: 40px; max-width: 800px; background-color: rgba(0, 0, 0, .2); box-shadow: 0 0 5px rgba(0, 0, 0, .5); animation-name: fadeIn; animation-duration: 1000ms; transition: opacity 1s; } ul { display: block; list-style-type: disc; margin-block-start: 1em; margin-block-end: 1em; margin-inline-start: 0px; margin-inline-end: 0px; padding-inline-start: 40px; unicode-bidi: isolate; } small { font-size: 80%; } #app main .page ul li { margin-bottom: 10px; } h1 { font-size: 2em; margin: .67em 0; } h1, h2, h3, h4, h5, h6 { font-weight: normal; margin: 0 0 10px; } p { display: block; margin-block-start: 1em; margin-block-end: 1em; margin-inline-start: 0px; margin-inline-end: 0px; unicode-bidi: isolate; } * { margin: 0; padding: 0; box-sizing: border-box; } main { flex: 1; padding: 50px 0; display: block; unicode-bidi: isolate; position: relative; /* Ensure it can contain the absolute positioned loading container */ } #grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 20px; } .thumbnail { display: block; position: relative; padding-bottom: 56.25%; overflow: hidden; border-radius: 5px; box-shadow: 0 0 20px rgba(0, 0, 0, .5); transition: box-shadow 500ms; } .image { position: absolute; z-index: 1; top: 0; right: 0; bottom: 0; left: 0; background-position: center; background-size: cover; transition: transform 500ms; will-change: transform; } .viewers { position: absolute; z-index: 2; bottom: 10px; right: 10px; background-color: rgba(0, 0, 0, .7); padding: 3px 5px; border-radius: 3px; font-size: 90%; } .meta { display: flex; flex-direction: row; padding: 10px 0; } .avatar { width: 40px; height: 40px; flex: 0 0 40px; border-radius: 50%; background-position: center; background-size: cover; margin-right: 10px; } .text { display: flex; flex-direction: column; min-width: 0; justify-content: center; } .title { font-weight: bold; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; } .name { display: flex; align-items: center; gap: 2px; /* Adds a gap between the name and the verification mark */ opacity: .7; font-size: 95%; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; } .name svg { flex-shrink: 0; /* Prevents the SVG from shrinking */ width: 12px; /* Ensures the SVG has a fixed width */ height: 12px; /* Ensures the SVG has a fixed height */ } .loading-container { display: inline; justify-content: center; align-items: center; height: 100%; /* Full viewport height */ width: 100%; /* Full width */ position: absolute; /* Position it over the content */ top: 0; left: 0; background: transparent; /* Match the background */ } .loading { font-size: 28px; text-align: center; color: #f1f1f1; /* Match the text color */ }