* {
    box-sizing: border-box;
    margin: 0;
    padding: 0;
}

img {
    max-width: 100%;
    height: auto;
}

.grid__item {
    max-width: 300px;
    width: 25%;
    height: auto;
    margin-bottom: 8px;
}

.grid__item img {
    width: 100%;
}

.grid__sizer {
    width: 23.5%;
}

.grid__gutter-sizer {
    width: 2%;
}

@media only screen and (max-width: 1119px) {
    .grid__sizer, .grid__item {
        width: 32%;
        min-width: 32%;
    }
}

@media only screen and (max-width: 874px) {
    .grid__sizer, .grid__item {
        width: 49%;
        min-width: 49%
    }
}

@media only screen and (max-width: 571px) {
    .grid__sizer, .grid__item {
        width: 100%;
        min-width: 100%;
    }
}

.gdownload {
    width: 40px;
    height: 40px;
    position: absolute;
    bottom: 15px;
    right: 20px;
    z-index: 99999;
    background-color: rgba(0,0,0,.32);
    border: none;
    border-radius: 4px;
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    opacity: 0.7;
}

.gdownload:hover {
    background-color: rgba(0,0,0,.7);
    opacity: 1;
}

.gdownload svg {
    width: 24px;
    height: auto;
    fill: white;
    flex-shrink: 0;
}

.hidden {
    visibility: hidden;
}

html, body {
    min-height: 100vh;
}

body {
    display: flex;
    flex-flow: column;
}

#page {
    width: 100%;
    flex-grow: 2;
}
