@import "variables"; @import "mixins"; /*=============================================*\ Some styles to show off masonry layout \*=============================================*/ $pictureGutter: 24px; $itemHeight: 220px; .picture-item { height: 220px; margin-top: $pictureGutter; &.shuffle-item { margin-left: 0; /* shuffle items shouldn't have a left margin*/ } &.picture-item--h2 { height: ($itemHeight * 2) + $pictureGutter; /* 2x the height + 1 gutter */ } // Ehh, i should really use something other than col-6@sm to target this... &.col-6\@sm:not(.picture-item--h2) { .picture-item__details { position: absolute; bottom: 0; left: 0; width: 100%; background-color: #333; background-color: rgba(black, .6); color: white; overflow: hidden; } .picture-item__description { display: none; } } .picture-item__inner { position: relative; height: 100%; overflow: hidden; background: $clouds; } img { display: block; width: 100%; height: auto; } .picture-item__blur { display: none; } .picture-item__details, .picture-item__description { padding: 1em; } .picture-item__description { margin: 0; padding-top: 0; padding-right: 2em; } .picture-item__tags { margin: 0; } } // Autoprefixer misses a parenthesis. @supports (filter: blur(1px)) { .picture-item.col-6\@sm:not(.picture-item--h2) { .picture-item__blur { position: absolute; z-index: 1; top: calc(50px - #{$itemHeight}); // Caption is 50px tall. left: 0; display: block; filter: blur(7px); } .picture-item__details { background: none; } .picture-item__tags, .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 */ .shuffle--container { position: relative; overflow: hidden; } .shuffle--fluid .shuffle__sizer { position: absolute; opacity: 0; visibility: hidden; } /* Animate in styles */ .shuffle--animatein { overflow: visible; } .shuffle--animatein .picture-item__inner { opacity: 0; transform: translate(0, 220px); } .shuffle--animatein .picture-item__inner--transition { transition: all .6s ease; } .shuffle--animatein .picture-item.in .picture-item__inner { opacity: 1; transform: translate(0, 0); } @include breakpoint(sm, true) { .picture-item { height: auto; margin-top: 20px; &.picture-item--h2 { height: auto; } .picture-item__details, .picture-item__description { font-size: .875em; padding: .625em; } .picture-item__description { padding-right: .875em; padding-bottom: 1.25em; } } .filter > .row, .filter > .row > div { margin: 10px 0; } .m-nofloat { float: none; } }