/*
===================================
  resets and prep
===================================
*/

html,
body,
div,
h3,
p,
ul,
li,
form,
img,
p,
a {
    margin: 0;
    padding: 0;
    border: 0;
    outline: 0;
    font-size: 100%;
    font: inherit;
    vertical-align: baseline;
    background: transparent;
    border-image-width: 0;

    box-sizing: border-box;
}

html,
body {
    height: 100%;
}

html {
    -ms-user-select: none;
    -moz-user-select: none;
    -webkit-user-select: none;
    user-select: none;
}

body {
    position: relative;
}

p,
a,
.selectable {
    -ms-user-select: text;
    -moz-user-select: text;
    -webkit-user-select: text;
    user-select: text;
}

img,
video,
object,
embed {
    max-width: 100%;
    height: auto;
}

ol,
ul {
    list-style: none;
}

nav {
    position: fixed;
    left: 40px;
    bottom: 80px;

    width: 150px;
    padding: 10px;

    font-family: "Cinzel", serif;
    font-size: 24px;
    text-align: justify;
}

nav a {
    display: block;
    text-decoration: none;

    margin-left: 40px;
}

nav a:hover {
    background-color: beige;
    cursor: pointer;
}

.controls {
    position: absolute;
    top: 8px;
    right: 8px;

    display: flex;
    justify-content: center;
    align-items: center;
    gap: 8px;

}

.control {
    cursor: pointer;
    flex: 1 0 32px;
    width: 32px;
    height: 32px;

    text-align: center;
}

.lock {
    opacity: 0;
}

.imajboxxob {
    height: 70vh;
    padding: 96px 96px 16px 96px;

    display: flex;
    justify-content: flex-start;
    align-content: flex-start;
    gap: 48px;

    overflow: scroll;
    scrollbar-color: beige transparent;
    scrollbar-width: thin;

    /* white-space: nowrap; */
    /* position: absolute; */
    /* left: 0; */

    /* transition: 0.5s ease-out; */
}

.imajgrid {
    padding: 96px;

    display: flex;
    justify-content: flex-start;
    align-content: flex-start;
    gap: 48px;

    overflow: scroll;
    scrollbar-color: beige transparent;
    scrollbar-width: thin;

    /* white-space: nowrap; */
    /* position: absolute; */
    /* left: 0; */

    /* transition: 0.5s ease-out; */
    flex-wrap: wrap;
}

.imaj {
    cursor: pointer;

    scroll-margin-left: 96px;
    /* flex: 0 0 auto; */
    object-fit: contain;

    /* width: 400px; */
    height: 500px;
    margin-bottom: 16px;
    /* margin-left: 40px; */
    display: inline-block;
    vertical-align: top;

    /* position: relative;
    top: 0; */

    transition: top 0.2s ease-out;
    /* transition: filter 1s linear; */
    filter: grayscale(100%);
    border-radius: 8px;
}

.locked {
    display: none;
}

.active {
    filter: none;
    text-decoration: underline;
    width: auto;
}

.imaj.active {
    height: 100%;
}

.imaj:hover {
    top: -5px;
    filter: none;
}

#viewer.visible {
    display: block;
}

#viewer {
    position: fixed;
    top: 0;
    left: 0;

    width: 100vw;
    height: 100vh;

    padding: 96px;

    background-color: rgb(0 0 0 / .5);

    display: none;

    text-align: center;
}

.disableScroll {
    overflow: hidden;
}

.full {
    max-width: calc(100vw - 2 * 96px);
    max-height: calc(100vh - 2 * 96px);
    margin: auto;
    object-fit: contain;
}

html.dark {
    background-color: #080400cc;
    color: whitesmoke;
}

.dark nav a:hover {
    background-color: black;
}

.dark #imajboxxob {
    scrollbar-color: black transparent;
}
