.thumbnail { width: 100%; max-width: 300px; overflow: hidden; position: relative; .image { width: 100%; padding-bottom: 100%; position: relative; background-repeat: no-repeat; background-color: $light_grey; background-position: 50% 50%; background-size: cover; } .zoom { @include animate(); display: none; position: absolute; bottom: 5px; right: 5px; z-index: 1; padding: 6px; border-radius: 100%; background: rgba(0,0,0,0.4); font-size: 10px; cursor: pointer; color: #FFFFFF; &:hover { background: #000000; } } &.small { max-width: 50px; } &.circle { border-radius: 50%; } &:hover { .zoom { display: block; } } } .parallax { height: 50vh; width: 100%; overflow: hidden; background: $dark_grey; canvas { width: 100%; height: 100%; opacity: 0; @include animate( 0.1s ); &.loaded { opacity: 0.5; } } } .tiles { padding-bottom: 60px; .tile { color: $dark_grey; text-align: center; position: relative; z-index: 1; float: left; overflow: hidden; .text { display: block; position: absolute; top: 50%; left: 10%; right: 10%; vertical-align: top; margin-top: -12px; font-size: 16px; z-index: 2; .fa { display: block; position: absolute; top: 50%; left: 10%; right: 10%; text-align: center; margin-top: -27px; font-size: 60px; z-index: -1; color: $faint_grey; } } &:before { content: ''; display: block; width: 100%; padding-bottom: 100%; background: $light_grey; z-index: -2; } } @include responsive( null, $bp_medium ){ .tile { @include grid_item( 2 ); } } @include responsive( $bp_medium ){ padding-bottom: 20px; .tile { @include grid_item( 3 ); } } @include responsive( $bp_narrow ){ .tile { .text { font-size: 14px; .fa { font-size: 28px; margin-top: -12px; } } } } }