html, body {
    height: 100%;
    overflow: hidden;
}

body {
    background: linear-gradient(to bottom right, #ffffff, #f4fefe);
}

#background {
    position: absolute;
    z-index: -1;
    width: 100%;
    height: 100%;
}

#nav-wrapper {
    position: fixed;
    z-index: 10;
    background-color: #87CEFA;
    width: 130px;
    height: 100%;
    left: -100px;
    transition: left 0.5s ease-out, background 0.8s ease-out;
}

#nav-wrapper:hover {
    left: 0px;
}

#nav-wrapper.eyecatch-background {
    background-color: #85a8fc;
}

nav {
    background-color: white;
    box-sizing: border-box;
    width: 100px;
    height: 100%;
    padding: 0 10px;
    display: flex;
    flex-direction: column;
    justify-content: space-evenly;
}

@media (max-height: 750px) {
    nav {
        padding: 0 20px;
    }
}

@media (max-height: 530px) {
    nav {
        padding: 0 25px;
    }
}

nav > hr {
    width: 100%;
}

nav > a {
    display: block;
}

nav > a > img {
    width: 100%;
}

#main-content {
    max-width: 750px;
    display: flex;
    flex-direction: column;
    width: 100%;
    height: 100%;
    margin: auto;
}

header {
    padding-top: 5%;
}

h1, h2 {
    text-shadow:
        1px 1px 18px #141414;
    color:#fff;
}

h1 {
    font-size: 5em;
    text-align: center;
}

h2 {
    font-size: 3em;
    text-align: center;
}

#library {
    margin: 5% 0;
    padding: 0 20px;
    flex-grow: 1;
    display: flex;
    flex-wrap: wrap;
    overflow-y: auto;
    
    scrollbar-width: thin;
    scrollbar-color: #b3defc #f1f1f1;
}

/* width */
#library::-webkit-scrollbar {
  width: 7px;
}
/* Track */
#library::-webkit-scrollbar-track {
  background: #f1f1f1;
}
/* Handle */
#library::-webkit-scrollbar-thumb {
  background: #b3defc;
}
/* Handle on hover */
#library::-webkit-scrollbar-thumb:hover {
  background: #87CEFA;
}

.card {
    width: 220px;
    height: 220px;
    margin: auto;
    background-position: center;
    background-repeat: no-repeat;
    background-size: contain;
}

@media (max-width: 1200px) {
    .card {
        width: 200px;
        height: 200px;
    }
}

.overlay {
    position: relative;
    width: 100%;
    height: 100%;
    display: flex;
    justify-content: center;
    align-items: center;
    opacity: 0;
    transition: opacity 0.4s ease-out;
}

.overlay-shadow {
    z-index: 0;
    position: absolute;
    width: 100%;
    height: 100%;
    background-color: white;
    opacity: 0.75;
}

.button-link {
    cursor: pointer;
    z-index: 1;
    text-decoration: none;
    display:inline-block;
    padding:0.35em 1.2em;
    border:0.1em solid #FFFFFF;
    background-color: #B0C4DE;
    margin:0 0.3em 0.3em 0;
    border-radius:0.12em;
    box-sizing: border-box;
    font-size: 1.5em;
    font-family:'Roboto',sans-serif;
    font-weight:300;
    color:#FFFFFF;
    text-align:center;
    transition: all 0.2s;
}
.button-link:hover{
    color:#000000;
    background-color:#FFFFFF;
}

.card:hover > .overlay {
    opacity: 1;
}