/*=============================================* Some styles to show off masonry layout
\*=============================================*/
.picture-item {
  height: 220px;
  margin-top: 24px;
  margin-left: 0;
  /* shuffle items shouldn't have a left margin*/ }
  .picture-item img {
    display: block;
    width: 100%;
    max-width: none;
    height: 100%;
    -o-object-fit: cover;
       object-fit: cover; }
  .no-objectfit .picture-item img {
    height: auto;
    max-width: 100%; }

.picture-item--h2 {
  height: 464px;
  /* 2x the height + 1 gutter */ }

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

.picture-item__blur {
  display: none; }

.picture-item__details,
.picture-item__description {
  padding: 1em;
  width: 100%; }

.picture-item__description {
  margin: 0;
  padding-top: 0;
  padding-right: 2em; }

.picture-item__tags {
  margin: 0; }

@media screen and (min-width: 768px) {
  .picture-item--overlay .picture-item__details {
    position: absolute;
    bottom: 0;
    left: 0;
    width: 100%;
    background-color: rgba(0, 0, 0, 0.6);
    color: white;
    overflow: hidden; }
  .picture-item--overlay .picture-item__description {
    display: none; }
  @supports ((-webkit-filter: blur(1px)) or (filter: blur(1px))) and ((-webkit-clip-path: inset(0 0 0 0)) or (clip-path: inset(0 0 0 0))) {
    .picture-item--overlay .picture-item__blur {
      position: absolute;
      z-index: 1;
      top: 0;
      left: 0;
      display: block;
      -webkit-filter: blur(7px);
              filter: blur(7px);
      -webkit-clip-path: inset(170px 0 0 0);
              clip-path: inset(170px 0 0 0); }
    .picture-item--overlay .picture-item__details {
      background: none; }
    .picture-item--overlay .picture-item__tags,
    .picture-item--overlay .picture-item__title {
      position: relative;
      z-index: 2; } } }

/*
  Shuffle needs either relative or absolute positioning on the container
  It will set it for you, but it'll cause another style recalculation and layout.
  AKA worse performance - so just set it here
 */
.my-shuffle-container {
  position: relative;
  overflow: hidden; }

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

/* Animate in styles */
.shuffle--animatein {
  overflow: visible; }

.shuffle--animatein .picture-item__inner {
  opacity: 0;
  -webkit-transform: translate(0, 220px);
          transform: translate(0, 220px); }

.shuffle--animatein .picture-item__inner--transition {
  -webkit-transition: all .6s ease;
  transition: all .6s ease; }

.shuffle--animatein .picture-item.in .picture-item__inner {
  opacity: 1;
  -webkit-transform: translate(0, 0);
          transform: translate(0, 0); }

@media screen and (max-width: 767px) {
  .picture-item {
    height: auto;
    margin-top: 20px; }
    .picture-item.picture-item--h2 {
      height: auto; }
    .picture-item .picture-item__details,
    .picture-item .picture-item__description {
      font-size: .875em;
      padding: .625em; }
    .picture-item .picture-item__description {
      padding-right: .875em;
      padding-bottom: 1.25em; }
  .filter > .row,
  .filter > .row > div {
    margin: 10px 0; }
  .m-nofloat {
    float: none; } }
