.flexbin {
    display: flex;
    overflow: hidden;
    flex-wrap: wrap;
    margin: -2.5px;
    justify-content: center
}

.flexbin:after {
    content: '';
    flex-grow: 999999999;
    min-width: 300px;
    height: 0;
}

.flexbin > * {
    position: relative;
    display: block;
    height: 300px;
    margin: 2.5px;
}

.flexbin > * > img {
    height: 300px;
    object-fit: cover;
    max-width: 100%;
    min-width: 100%;
    vertical-align: bottom;
}

.flexbin.flexbin-margin {
    margin: 2.5px;
}

@media (max-width: 980px) {
    .flexbin {
        display: flex;
        overflow: hidden;
        flex-wrap: wrap;
        margin: -2.5px;
        justify-content: center
    }

    .flexbin:after {
        content: '';
        flex-grow: 999999999;
        min-width: 150px;
        height: 0;
    }

    .flexbin > * {
        position: relative;
        display: block;
        height: 150px;
        margin: 2.5px;
    }

    .flexbin > * > img {
        height: 150px;
        object-fit: cover;
        max-width: 100%;
        min-width: 100%;
        vertical-align: bottom;
    }

    .flexbin.flexbin-margin {
        margin: 2.5px;
    }
}

@media (max-width: 400px) {
    .flexbin {
        display: flex;
        overflow: hidden;
        flex-wrap: wrap;
        margin: -2.5px;
        justify-content: center
    }

    .flexbin:after {
        content: '';
        flex-grow: 999999999;
        min-width: 100px;
        height: 0;
    }

    .flexbin > * {
        position: relative;
        display: block;
        height: 100px;
        margin: 2.5px;
    }

    .flexbin > * > img {
        height: 100px;
        object-fit: cover;
        max-width: 100%;
        min-width: 100%;
        vertical-align: bottom;
    }

    .flexbin.flexbin-margin {
        margin: 2.5px;
    }
}
