
.my-shuffle-container {
    position: relative;
    overflow: hidden;
}

.my-sizer-element {
    position: absolute;
    opacity: 0;
    visibility: hidden;
}

$picture-gutter: 24px;
$item-height: 220px;
.picture-item {
    height: 220px;
    margin-top: $picture-gutter;

img {
    display: block;
    width: 100%;
}
}

@supports (object-fit: cover) {
    .picture-item img {
        max-width: none;
        height: 100%;
        object-fit: cover;
    }
}

.picture-item--h2 {
    height: ($item-height * 2) + $picture-gutter; /* 2x the height + 1 gutter */
}

.picture-item__inner {
    position: relative;
    height: 100%;
    overflow: hidden;
    background: #ecf0f1;
}

.picture-item__details {
    display: flex;
    align-items: baseline;
    justify-content: space-between;
    width: 100%;
    padding: 1em;
}

.picture-item__description {
    width: 100%;
    padding: 0 2em 1em 1em;
    margin: 0;
}

.picture-item__title {
    flex-shrink: 0;
    margin-right: 4px;
}

.picture-item__tags {
    flex-shrink: 1;
    text-align: right;
    margin: 0;
}

@media screen and (min-width: 768px) {
    .picture-item--overlay {
    .picture-item__details {
        position: absolute;
        bottom: 0;
        left: 0;
        width: 100%;
        backdrop-filter: blur(7px);
        color: white;
        overflow: hidden;
    }

    .picture-item__description {
        display: none;
    }

    a {
        color: white;
        text-shadow: 0 0 1px black;
    }
}
}

@media screen and (max-width: 767px) {
    .picture-item {
        height: auto;
        margin-top: 20px;
    }

    .picture-item__details,
    .picture-item__description {
        font-size: 0.875em;
        padding: 0.625em;
    }

    .picture-item__description {
        padding-right: 0.875em;
        padding-bottom: 1.25em;
    }

    .picture-item--h2 {
        height: auto;
    }
}

// Filter styling
// --------------
   .filter-label {
       display: block;
       padding: 0;
       margin-top: 0;
       margin-bottom: 4px;
       color: #95a5a6;
   }

.filters-group {
    padding: 0;
    margin: 0 0 4px;
    border: 0;
}

@media screen and (min-width: 768px) {
    .filters-group-wrap {
        display: flex;
        justify-content: space-between;
    }
}
.btn-group:after,.btn-group:before {
    content: " ";
    display: table
}

.btn-group:after {
    clear: both
}

.btn-group .btn {
    float: left;
    border-radius: 0
}

.btn-group .btn:first-child {
    border-radius: 3px 0 0 3px
}

.btn-group .btn:not(:first-child) {
    margin-left: -1px
}

.btn-group .btn:last-child {
    border-radius: 0 3px 3px 0
}

.btn-group label.btn input[type=radio] {
    position: absolute;
    clip: rect(0,0,0,0);
    pointer-events: none
}

.filters-group-wrap .btn {
    display: inline-block;
    padding: .75em .8em;
    text-align: center;
    border-radius: 3px;
    border: 1px solid #34495e;
    color: #34495e;
    font-size: 1rem;
    background-color: rgba(52,73,94,0);
    transition: .2s ease-out;
    cursor: pointer;
    -webkit-appearance: none
}

@media (-moz-touch-enabled:0),(pointer: fine) {
    .btn:hover {
        color:#fff;
        text-decoration: none;
        background-color: #34495e
    }
}

.btn:focus {
    outline-width: 0;
    box-shadow: 0 0 0 2px rgba(52,73,94,.4)
}

.btn.active,.btn:active {
    box-shadow: inset 0 1px 2px rgba(0,0,0,.3);
    color: #fff;
    background-color: #34495e
}

.btn:focus.active {
    box-shadow: inset 0 1px 2px rgba(0,0,0,.3),0 0 0 2px rgba(52,73,94,.4)
}

.btn:disabled {
    cursor: not-allowed;
    opacity: .7;
    color: #34495e;
    background-color: rgba(52,73,94,0)
}

.btn--primary {
    color: #3498db;
    border-color: #3498db;
    background-color: rgba(52,152,219,0)
}

@media (-moz-touch-enabled:0),(pointer: fine) {
    .btn--primary:hover {
        background-color:#3498db
    }
}

.btn--primary:focus {
    box-shadow: 0 0 0 2px rgba(52,152,219,.4)
}

.btn--primary.active,.btn--primary:active {
    background-color: #3498db
}

.btn--primary:focus.active {
    box-shadow: inset 0 1px 2px rgba(0,0,0,.3),0 0 0 2px rgba(52,152,219,.4)
}

.btn--primary:disabled {
    color: #3498db;
    background-color: rgba(52,152,219,0)
}

@media screen and (max-width: 767px) {
    .btn {
        font-size:.875rem
    }
}

// Textfield
// ----------------
   .textfield {
       -webkit-appearance: none;
       box-sizing: border-box;
       width: 100%;
       border: 2px solid #95a5a6;
       border-radius: 4px;
       padding: .5em;
       font-size: 1rem;
       color: #34495e;
       transition: .15s
   }

.textfield::-webkit-input-placeholder {
    color: #95a5a6;
    transition: .15s
}

.textfield:-ms-input-placeholder {
    color: #95a5a6;
    transition: .15s
}

.textfield::-ms-input-placeholder {
    color: #95a5a6;
    transition: .15s
}

.textfield::placeholder {
    color: #95a5a6;
    transition: .15s
}

.textfield:hover {
    outline-width: 0;
    color: #5d6d77;
    border-color: #5d6d77
}

.textfield:hover::-webkit-input-placeholder {
    color: #5d6d77
}

.textfield:hover:-ms-input-placeholder {
    color: #5d6d77
}

.textfield:hover::-ms-input-placeholder {
    color: #5d6d77
}

.textfield:hover::placeholder {
    color: #5d6d77
}

.textfield:focus {
    outline-width: 0;
    border-color: #34495e
}

.textfield:focus::-webkit-input-placeholder {
    color: #34495e
}

.textfield:focus:-ms-input-placeholder {
    color: #34495e
}

.textfield:focus::-ms-input-placeholder {
    color: #34495e
}

.textfield:focus::placeholder {
    color: #34495e
}
