* {
    cursor: default;
    font-family: 'Segoe UI', Tahoma, Geneva, Verdana, sans-serif;
    transition: all 200ms ease;
    user-select: none;
}
html {
    scrollbar-width: thin;
}
html::-webkit-scrollbar {
    width: .5vw;
}
html::-webkit-scrollbar-thumb {
    background: rgba(0,0,0,.1);
    border-radius: 1vw;
}
html::-webkit-scrollbar-thumb:hover{
    background: rgba(255,255,255,.2);
}
body {
    margin: 0;
    background: #EDEDED;
}
ul {
    list-style-type: none;
    display: flex;
    flex-flow: row wrap;
    justify-content: center;
    margin: 5vh 10vw;
    padding: 0;
}
ul li a:hover {
    color: #333;
    box-shadow: 0px 5px 25px -5px rgba(0,0,0,0.7);
    background-color: #EDEDED;
}
ul li a {
    position: relative;
    display: block;
    margin: 20px;
    width: 150px;
    height: 30px;
    padding: 120px 0 0 0;
    color: #666;
    text-align: center;
    text-decoration: none;
    font-size: 1em;
    border-radius: 15px;
    box-shadow: 0px 5px 20px -10px rgba(0,0,0,0.7);
    background-color: #EDEDED;
}
ul li a:hover::before {
    filter: opacity(70%);
}
ul li a::before {
    content: "";
    position: absolute;
    top: 0; left: 0;
    width: 100%; height: 100%;
    background-position-x: center;
    background-position-y: 40%;
    background-repeat: no-repeat;
    background-size: 50px;
    filter: opacity(45%);
    background-image: url('./img/app_star.svg');
}
ul li a::after {
    filter: opacity(15%);
}
ul.ext li a::before {
    display: none;
}
ul.ext li a {
    padding: 20px;
    height: 30px;
}
ul.ext {
    margin: 0 10vw;
}
h2 {
    font-weight: normal;
    display: inline;
    margin: 0 auto;
}
.secured::after {
    content: "";
    position: absolute;
    top: 10px;
    right: 10px;
    width: 30px;
    height: 30px;
    background-position: center;
    background-repeat: no-repeat;
    background-image: url('./img/lock.svg');
}
.public::after {
    content: "";
    position: absolute;
    top: 10px;
    right: 10px;
    width: 30px;
    height: 30px;
    background-position: center;
    background-repeat: no-repeat;
    background-image: url('./img/public.svg');
}
.local::after {
    content: "";
    position: absolute;
    top: 10px;
    right: 10px;
    width: 30px;
    height: 30px;
    background-position: center;
    background-repeat: no-repeat;
    background-image: url('./img/local.svg');
}
.external::after {
    content: "";
    position: absolute;
    top: 10px;
    right: 10px;
    width: 30px;
    height: 30px;
    background-position: center;
    background-repeat: no-repeat;
    background-image: url('./img/ext.svg');
}
.link::before {
    background-image: url('./img/app_link.svg');
}
.files::before {
    background-image: url('./img/app_files.svg');
}
.remote::before {
    background-image: url('./img/app_remote.svg');
}
.home::before {
    background-image: url('./img/app_home.svg');
}
.hassio::before {
    background-image: url('./img/app_hassio.svg');
}
.code::before {
    background-image: url('./img/app_code.svg');
}
.web::before {
    background-image: url('./img/app_web.svg');
}
.stream::before {
    background-image: url('./img/app_stream.svg');
}
.router::before {
    background-image: url('./img/app_router.svg');
}
.download::before {
    background-image: url('./img/app_download.svg');
}
.docker::before {
    background-image: url('./img/app_docker.svg');
}
.media::before {
    background-image: url('./img/app_media.svg');
}
.jelly::before {
    background-image: url('./img/app_jelly.svg');
}
.plex::before {
    background-image: url('./img/app_plex.svg');
}
.transfer::before {
    background-image: url('./img/app_transfer.svg');
}
.status::before {
    background-image: url('./img/app_status.svg');
}
.chat::before {
    background-image: url('./img/app_chat.svg');
}
.list::before {
    background-image: url('./img/app_list.svg');
}
.dns::before {
    background-image: url('./img/app_dns.svg');
}
.backup::before {
    background-image: url('./img/app_backup.svg');
}
.shield::before {
    background-image: url('./img/app_shield.svg');
}
.config::before {
    background-image: url('./img/app_config.svg');
}
.wifi::before {
    background-image: url('./img/app_wifi.svg');
}
.tools::before {
    background-image: url('./img/app_tools.svg');
}
.hdd::before {
    background-image: url('./img/app_hdd.svg');
}
.tape::before {
    background-image: url('./img/app_tape.svg');
}
.server::before {
    background-image: url('./img/app_server.svg');
}
.nas::before {
    background-image: url('./img/app_nas.svg');
}
.apps::before {
    background-image: url('./img/app_apps.svg');
}
.routes::before {
    background-image: url('./img/app_routes.svg');
}
.netfolder::before {
    background-image: url('./img/app_netfolder.svg');
}
.switch::before {
    background-image: url('./img/app_switch.svg');
}
.wiki::before {
    background-image: url('./img/app_wiki.svg');
}
.banner {
    width: 100%;
    margin: 0;
    padding: 10px 0 0 0;
    color: #333;
    line-height: 50px;
    text-align: center;
    font-size: 1.7em;
}
div.ext > span {
    font-size: .8em;
    color: rgba(0,0,0,.1);
}
#closeButton, #windowMenu, #windowMenuButton, #desktop {
    display: none;
}
@media (prefers-color-scheme: dark) {
    html::-webkit-scrollbar-thumb {
        background: rgba(255,255,255,.1);
        border-radius: 1vw;
    }
    html::-webkit-scrollbar-thumb:hover {
        background: rgba(0,0,0,.3);
    }
    body {
        background: #333;
    }
    .banner {
        color: #999;
    }
    ul li a {
        color: #AAA;
        background-color: #444;
    }
    ul li a::before {
        filter: invert(.7) opacity(70%);
    }
    ul li a:hover {
        color: #CCC;
        background-color: #565656;
    }
    ul li a:hover::before {
        filter: invert(.9) opacity(70%);
    }
    ul li a:after {
        filter: invert(1) opacity(15%);
    }
    div.ext > span {
        color: rgba(255,255,255,.1);
    }
}
