/* Layout */

body {
    margin: 0;
}

::-webkit-scrollbar {
    display: none;
}

a,
button {
    border: 0;
    padding: 0;
    font-family: Times, serif;
    background: transparent;
    text-decoration: underline;
    color: blue;
    cursor: pointer;
    font-size: 1em;
}

div.foreground {
    background: #88cecb;
    box-sizing: border-box;
    padding: 16px;
    min-height: 180px;
}

div.pattern {
    background-repeat: repeat-x;
    height: 152px;
}

div.graphic {
    width: 256px;
    height: 259px;
    position: absolute;
    margin-top: 32px;
    right: 2%;
}

div.header {
    display: flex;
    justify-content: space-between;
}

div.header div.actions {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
}

div.directory {
    display: flex;
    flex-wrap: wrap;
}

a.entry {
    display: inline-flex;
    flex-direction: column;
    align-items: center;
    width: 100px;
    padding: 8px;
    text-align: center;
    text-decoration: none;
    color: inherit;
}

a.entry div.icon {
    height: 32px;
    width: 32px;
}

a.entry span.filename {
    font-size: 0.8em;
    margin-top: 4px;
    color: blue;
    text-decoration: underline;
    word-break: break-word;
}

@media (max-width: 600px) {
    a.entry {
        padding: 4px;
        width: 100%;
        text-align: left;
        flex-direction: unset;
        gap: 8px;
    }

    a.entry span.filename {
        font-size: 1em;
    }
}

/* Icons */

.icon-archive {
    background-position: 0 0;
}

.icon-audio {
    background-position: -32px 0;
}

.icon-config {
    background-position: -64px 0;
}

.icon-document {
    background-position: -96px 0;
}

a.entry[data-type="directory"] .icon-directory {
    background-position: 0 -32px;
}

a.entry[data-type="directory"]:hover .icon-directory {
    background-position: -32px -32px;
}

.icon-generic {
    background-position: -64px -32px;
}

.icon-photo {
    background-position: -96px -32px;
}

.icon-program {
    background-position: 0 -64px;
}

.icon-redirect {
    background-position: -32px -64px;
}

.icon-script {
    background-position: -64px -64px;
}

.icon-video {
    background-position: -96px -64px;
}
