/** * ___ ___ * | __|_ _ _ _ __ _ _| _ \__ _ __ _ ___ ___ * | _/ _` | ' \/ _| || | _/ _` / _` / -_|_-< * |_|\__,_|_||_\__|\_, |_| \__,_\__, \___/__/ * |__/ |___/ * * This file is part of kristuff/apache-fancy-pages. * v0.2.1 - Copyright (c) 2021-2022 Kristuff * * For the full copyright and license information, please view the LICENSE * file that was distributed with this source code. */ :root { --color-bg: #ffffff; --color-highlight: #000000; --color-text: #404040; --color-text-light: #444444; --color-text-xlight: #636363; --color-table-bg: whitesmoke; --color-table-bg--head: #161720; --color-table-bg--even: #e3e2e2; --color-table-border: rgba(0, 0, 0, 0.05); --color-table-text: #222222; --color-table-header-text: #dadada; --color-link-text: #115293; --color-link-text--visited: #115293; --color-button-hover: rgba(29, 155, 240, 0.1); --color-row-hover: rgba(0, 0, 0, 0.1); } @media (prefers-color-scheme: dark) { :root { --color-bg: #1f242b; --color-highlight: #ffffff; --color-text: #bbb; --color-text-light: #8a8a8a; --color-text-xlight: #5e5f6c; --color-table-bg: #282e37; --color-table-bg--head: #171b20; --color-table-bg--even: rgba(255, 255, 255, 0.03); --color-table-border: rgba(255, 255, 255, 0.1); --color-table-text: #bbbbbb; --color-table-header-text: #eaeaea; --color-link-text: #3499dd; --color-link-text--visited: #3499dd; --color-row-hover: rgba(255, 255, 255, 0.1); } * { scrollbar-color: #313137 #171b20; } } *, *::after, *::before { box-sizing: border-box; } html { line-hVeight: 2; font-size: 20px; -webkit-text-size-adjust: 100%; } body { margin: 0; font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen-Sans, Ubuntu, Cantarell, "Helvetica Neue", Helvetica, Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol"; font-weight: 400; color: var(--color-text); background-color: var(--color-bg); } img { border-style: none; } button, input, optgroup, select, textarea { font-family: inherit; line-height: 2; margin: 0; } a { text-decoration: none; color: var(--color-link-text); } a:visited { color: var(--color-link-text--visited); } a:hover { text-decoration: underline; } .row { box-sizing: border-box; margin: 0 auto; width: 94%; } h1 { font-weight: 300; } tr.hidden, .hidden { display: none !important; } /* ------------------- */ /* -- SECTION TITLE -- */ /* ------------------- */ section#section-title { margin: 12px 0; min-height: 60px; } section#section-title h1 { margin-top: 6px; margin-bottom: 9px; color: var(--color-highlight); min-height: 28px; } section#section-title div#breadcrumb { color: var(--color-text-xlight); font-size: 0.8rem; display: flex; align-items: center; flex-wrap: wrap; max-width: 100%; } section#section-title div#breadcrumb a, section#section-title div#breadcrumb a:visited { color: var(--color-text-light); padding: 6px; } section#section-title div#breadcrumb a.active, section#section-title div#breadcrumb a.active:visited { color: var(--color-text-xlight); } .search-wrapper { display: flex; align-items: center; flex-direction: row; width: 100%; height: 36px; position: relative; } .search-wrapper .close-icon, .search-wrapper .search-icon { display: flex; height: 100%; position: absolute; } .search-wrapper .close-icon::before, .search-wrapper .search-icon::before { content: ""; display: inline-flex; align-items: center; width: 20px; height: 100%; background-color: var(--color-text-light); mask-position: center; mask-size: contain; mask-repeat: no-repeat; } .search-wrapper .search-icon::before { margin-left: 12px; mask-image: url('data:image/svg+xml,'); } .search-wrapper .close-icon::before { background-color: var(--color-link-text); mask-image: url('data:image/svg+xml,'); } .search-wrapper input, .search-wrapper input[type=text] { width: 100%; padding-left: 36px; height: 100%; border-radius: 100em; } .search-wrapper button.close-search { position: absolute; right: 6px; border-radius: 50%; width: 28px; height: 28px; display: flex; border: none; background: none; outline: none; cursor: pointer; } .search-wrapper button.close-search:focus { outline: 2px solid var(--color-link-text); } .search-wrapper button.close-search:not(.active) { display: none; } .search-wrapper button.close-search:hover { background: var(--color-button-hover); } input#filter { border: 1px solid var(--color-table-border); background-color: var(--color-table-bg--even); outline: 0; display: block; width: 100%; color: var(--color-text); } input#filter:focus, input#filter:focus-visible { border-color: var(--color-link-text); box-shadow: inset 0 1px 1px rgba(var(--color-link-text), 0.075), 0 0 8px rgba(var(--color-link-text), 0.6); } input#filter:focus+.search-icon::before, input#filter:focus-visible+.search-icon::before { background-color: var(--color-link-text); } /* --------------------- */ /* -- SECTION CONTENT -- */ /* --------------------- */ /** table index */ table#list { width: 100%; border: 0; table-layout: auto; border-collapse: collapse; } table#list tr td:first-child, table#list tr th:first-child { border-top-left-radius: 12px; border-bottom-left-radius: 12px; } table#list tr td:last-child, table#list tr th:last-child { border-top-right-radius: 12px; border-bottom-right-radius: 12px; } /** tableIndex: hide break row */ table#list tr.indexbreakrow { display: none; } table#list tr th:nth-child(1) a:nth-child(1) { padding-left: 3rem; } table#list tr th:nth-child(1), table#list tr td:nth-child(1) { padding-left: 0 !important; } /** tableIndex: content */ table#list tr th, table#list tr td { font-size: 0.875rem; color: var(--color-table-text); text-align: left; line-height: 2.5rem; word-break: break-all; } /** tableIndex: header */ table#list thead th { font-weight: bold; position: sticky; top: 0; background-color: var(--color-table-bg--head); } table#list thead th a, table#list thead th a:visited { color: var(--color-table-header-text); } table#list tr td:nth-child(1) a, table#list tr td:nth-child(1) a:visited { color: var(--color-highlight); } table#list tr[class*=dir] td:nth-child(1) a { font-weight: 600; } table#list .sorticon { margin-left: 6px; color: var(--color-table-header-text); } table#list tr.no-items td { padding: 15px; color: var(--color-text-light); } table#list tr.no-items td { text-align: center; } /** table#list tr { background: var(--color-table-bg--even); border-bottom: 1px solid var(--color-table-border); } */ /* Adjust padding according to footer height (~50px) */ section#section-content { padding-bottom: 50px; } /* -------------------- */ /* -- SECTION FOOTER -- */ /* -------------------- */ /* Fixed footer */ footer#section-footer { position: fixed; bottom: 0; left: 0; right: 0; padding: 15px 0 10px 0; color: var(--color-text-xlight); background-color: var(--color-bg); font-size: 0.75rem; } footer#section-footer p { margin: 0; margin-top: 6px; } footer#section-footer a, footer#section-footer a:visited { color: var(--color-text-xlight); text-decoration: underline; } footer#section-footer a:hover { color: var(--color-text); } footer#section-footer .row { border-top: 1px solid var(--color-text-xlight); } @media (max-width: 400px) { h1 { font-size: 1.375em; } } @media (max-width: 767px) { /** tableIndex: alternative row style */ table#list tr:not(.even-parentdir):not(.no-items):not(:first-of-type) { border-bottom: 1px solid var(--color-table-border); } section#section-title div#breadcrumb { padding-bottom: 6px; } table#list tr { position: relative; } table#list thead th:nth-child(1), table#list thead th:nth-child(3), table#list thead th:nth-child(2), table#list tr:nth-child(1) td:nth-child(3), table#list tr:nth-child(1) td:nth-child(2) { display: none !important; } table#list tr:nth-child(1) td { background-color: var(--color-table-bg--head); color: var(--color-table-header-text); } table#list tr:nth-child(1) td:nth-child(1) a, table#list tr:nth-child(1) td:nth-child(1) a:visited { color: var(--color-table-header-text); } table#list th:nth-child(1), table#list td:nth-child(1) { border-top-right-radius: 9px; border-bottom-right-radius: 9px; } table#list tr th:nth-child(1), table#list tr td:nth-child(1) { padding-left: 0 !important; } table#list tr:not(:nth-child(1)) td:nth-child(1) { display: block; line-height: 1.1; padding-bottom: 0; margin-top: 0.7rem; } table#list tr td:nth-child(3), table#list tr td:nth-child(2) { display: inline-flex; color: var(--color-text-light) !important; font-size: 13px !important; padding-left: 0 !important; line-height: 1.1; padding: 0; padding-right: 6px !important; padding-bottom: 8px !important; position: absolute; top: 1.8rem; } table#list tr td:nth-child(1) { white-space: nowrap; overflow: hidden; text-overflow: ellipsis; width: 90vw; height: 2.5rem; } table#list tr td:nth-child(2) { left: 2.25rem; } table#list tr td:nth-child(3) { right: 0rem; } h1 { font-size: 1.5em; } footer#section-footer { text-align: center; padding: 6px 0 10px 0; } tbody tr { line-height: 1.5; } tbody a { position: relative; padding-left: 2.2rem; } tbody a[href*="."]:before, tbody a[href*="/"]:before { background: url('../icons/file-blank.svg') left center/1.1rem no-repeat; content: ""; width: 1.5rem; height: 200%; position: absolute; top: -0.1rem; left: 0.6rem; bottom: 0; } } @media only screen and (min-width: 768px) { .row { width: 96%; } .row.flex { display: flex; align-items: center; } section#section-title div#breadcrumb { width: calc(100% - 250px); } .search-wrapper { width: 230px; margin-left: auto; } /** tableIndex: alternative row style */ table#list tr:not(.indexhead):not(.hidden):nth-child(even) td { background: var(--color-table-bg--even); } tbody a { position: relative; padding-left: 3rem; } tbody a[href*="."]:before, tbody a[href*="/"]:before { background: url('../icons/file-blank.svg') left center/1.1rem no-repeat; content: ""; width: 1.5rem; height: 200%; position: absolute; top: -0.5rem; left: 1rem; bottom: 0; } } tbody td { font-weight: 300; } tbody a[href$="../"] { font-weight: 400; } /* ----------- */ /* -- ICONS -- */ /* ----------- */ tbody a[href*="/"]:after { background: url('../icons/folder.svg') left center/1.1rem no-repeat; content: ""; } tbody a[href$="/"]:before, tbody a[href*="/?"]:before { background: url('../icons/folder.svg') left center/1.1rem no-repeat; } tbody a[href$="../"]:before { background: url('../icons/angle-left.svg') left center/0.6rem no-repeat; top: -0.5rem; left: 1.2em; } tbody a[href$=".doc"]:before, tbody a[href$=".docx"]:before { background: url('../icons/file-word.svg') left center/1.1rem no-repeat; } tbody a[href$=".pdf"]:before { background: url('../icons/file-pdf.svg') left center/1.1rem no-repeat; } tbody a[href$=".xls"]:before, tbody a[href$=".xlsx"]:before, tbody a[href$=".csv"]:before { background: url('../icons/file-excel.svg') left center/1.1rem no-repeat; } tbody a[href$=".zip"]:before, tbody a[href$=".tar"]:before, tbody a[href$=".gz"]:before, tbody a[href$=".tgz"]:before, tbody a[href$=".7z"]:before, tbody a[href$=".rar"]:before, tbody a[href$=".bz"]:before, tbody a[href$=".bz2"]:before, tbody a[href$=".jar"]:before, tbody a[href$=".deb"]:before, tbody a[href$=".udeb"]:before { background: url('../icons/file-archive.svg') left center/1.1rem no-repeat; } tbody a[href$=".md"]:before, tbody a[href$=".markdown"]:before, tbody a[href$=".rst"]:before, tbody a[href$=".txt"]:before, tbody a[href$=".tex"]:before, tbody a[href$=".org"]:before, tbody a[href~="CHANGELOG"]:before, tbody a[href~="COPYING"]:before, tbody a[href~="LICENSE"]:before, tbody a[href~="INSTALL"]:before { background: url('../icons/file-txt.svg') left center/1.1rem no-repeat; } tbody a[href$=".php"]:before, tbody a[href$=".java"]:before, tbody a[href$=".py"]:before, tbody a[href$=".c"]:before, tbody a[href$=".cpp"]:before, tbody a[href$=".h"]:before, tbody a[href$=".hpp"]:before, tbody a[href$=".java"]:before, tbody a[href$=".go"]:before, tbody a[href$=".rs"]:before, tbody a[href$=".asm"]:before, tbody a[href$=".rb"]:before, tbody a[href$=".js"]:before, tbody a[href$=".f"]:before, tbody a[href$=".cbl"]:before, tbody a[href$=".cob"]:before { background: url('../icons/code.svg') left center/1.1rem no-repeat; } tbody a[href$=".sql"]:before, tbody a[href$=".mysql"]:before, tbody a[href$=".dsql"]:before, tbody a[href$=".db"]:before { background: url('../icons/database.svg') left center/1.1rem no-repeat; } tbody a[href$=".json"]:before, tbody a[href$=".lock"]:before, tbody a[href$=".ini"]:before, tbody a[href$=".conf"]:before, tbody a[href$=".yml"]:before, tbody a[href$=".xml"]:before, tbody a[href$=".cfg"]:before, tbody a[href$=".toml"]:before, tbody a[href$=".template"]:before, list a[href~="Makefile"]:before { background: url('../icons/brackets-coding.svg') left center/1.1rem no-repeat; } tbody a[href$=".bat"]:before, tbody a[href$=".sh"]:before, tbody a[href$=".ps1"]:before { background: url('../icons/cmd-terminal.svg') left center/1.1rem no-repeat; } tbody a[href$=".bin"]:before, tbody a[href$=".exe"]:before, tbody a[href$=".dll"]:before, tbody a[href$=".o"]:before tbody a[href$=".a"]:before, tbody a[href$=".so"]:before { background: url('../icons/file-binary.svg') left center/1.1rem no-repeat; } tbody a[href$=".css"]:before, tbody a[href$=".scss"]:before, tbody a[href$=".sass"]:before { background: url('../icons/file-css3.svg') left center/1.1rem no-repeat; } tbody a[href$=".html"]:before { background: url('../icons/file-html.svg') left center/1.1rem no-repeat; } tbody a[href$=".m3u"]:before, tbody a[href$=".mpeg"]:before, tbody a[href$=".wma"]:before, tbody a[href$=".ogg"]:before, tbody a[href$=".wav"]:before, tbody a[href$=".flac"]:before, tbody a[href$=".mp3"]:before, tbody a[href$=".aac"]:before { background: url('../icons/file-audio.svg') left center/1.1rem no-repeat; } tbody a[href$=".bmp"]:before, tbody a[href$=".jpg"]:before, tbody a[href$=".jpeg"]:before, tbody a[href$=".png"]:before, tbody a[href$=".svg"]:before, tbody a[href$=".tif"]:before, tbody a[href$=".tiff"]:before, tbody a[href$=".gif"]:before, tbody a[href$=".webp"]:before, tbody a[href$=".psd"]:before, tbody a[href$=".xcf"]:before { background: url('../icons/file-image.svg') left center/1.1rem no-repeat; } tbody a[href$=".webm"]:before, tbody a[href$=".avi"]:before, tbody a[href$=".ts"]:before, tbody a[href$=".mov"]:before, tbody a[href$=".wmv"]:before, tbody a[href$=".mp4"]:before, tbody a[href$=".m4v"]:before, tbody a[href$=".mkv"]:before { background: url('../icons/file-video.svg') left center/1.1rem no-repeat; } tbody a[href$=".otf"]:before, tbody a[href$=".ttf"]:before, tbody a[href$=".woff"]:before, { background: url('../icons/font.svg') left center/1.1rem no-repeat; }