*, *:after, *:before {box-sizing: border-box; padding: 0;margin: 0;} .clearfix:before, .clearfix:after { content: ''; display: table; } .clearfix:after { clear: both; } body { background: #f6f9fa; color: #536d76; font-weight: 400; font-size: 1em; font-family: 'Raleway', Arial, sans-serif; } a { color: #4f7f90; text-decoration: none; outline: none; } a:hover, a:focus { color: #39545e; } section { padding: 1em; text-align: center; } .container{ width: 100%; } .container figure{ width: 30%; } .grid figure { position: relative; z-index: 1; display: inline-block; overflow: hidden; margin: -0.135em; width: 33.333%; height: 400px; background: #3085a3; text-align: center; cursor: pointer; } .grid figure img { position: relative; display: block; min-height: 100%; opacity: 0.8; } .grid figure figcaption { padding: 2em; color: #fff; text-transform: uppercase; font-size: 1.25em; -webkit-backface-visibility: hidden; backface-visibility: hidden; } .grid figure figcaption::before, .grid figure figcaption::after { pointer-events: none; } .grid figure figcaption, .grid figure a { position: absolute; top: 0; left: 0; width: 100%; height: 100%; } figure.effect-lily img { width: -webkit-calc(100% + 50px); width: calc(100% + 50px); opacity: 0.7; -webkit-transition: opacity 0.35s, -webkit-transform 0.35s; transition: opacity 0.35s, transform 0.35s; -webkit-transform: translate3d(-40px,0, 0); transform: translate3d(-40px,0,0); } figure.effect-lily figcaption { top: auto; bottom: 0; height: 50%; text-align: left; } figure.effect-lily h2, figure.effect-lily p { -webkit-transform: translate3d(0,40px,0); transform: translate3d(0,40px,0); } figure.effect-lily h2 { -webkit-transition: -webkit-transform 0.35s; transition: transform 0.35s; } figure.effect-lily p { color: rgba(255,255,255,0.6); opacity: 0; -webkit-transition: opacity 0.2s, -webkit-transform 0.35s; transition: opacity 0.2s, transform 0.35s; } figure.effect-lily:hover img, figure.effect-lily:hover p { opacity: 1; } figure.effect-lily:hover img, figure.effect-lily:hover h2, figure.effect-lily:hover p { -webkit-transform: translate3d(0,0,0); transform: translate3d(0,0,0); } figure.effect-lily:hover p { -webkit-transition-delay: 0.05s; transition-delay: 0.05s; -webkit-transition-duration: 0.35s; transition-duration: 0.35s; } figure.effect-lily img { width: -webkit-calc(100% + 50px); width: calc(100% + 50px); opacity: 0.7; -webkit-transition: opacity 0.35s, -webkit-transform 0.35s; transition: opacity 0.35s, transform 0.35s; -webkit-transform: translate3d(-40px,0, 0); transform: translate3d(-40px,0,0); } figure.effect-lily figcaption { top: auto; bottom: 0; height: 50%; text-align: left; } figure.effect-lily h2, figure.effect-lily p { -webkit-transform: translate3d(0,40px,0); transform: translate3d(0,40px,0); } figure.effect-lily h2 { -webkit-transition: -webkit-transform 0.35s; transition: transform 0.35s; } figure.effect-lily p { color: rgba(255,255,255,0.6); opacity: 0; -webkit-transition: opacity 0.2s, -webkit-transform 0.35s; transition: opacity 0.2s, transform 0.35s; } figure.effect-lily:hover img, figure.effect-lily:hover p { opacity: 1; } figure.effect-lily:hover img, figure.effect-lily:hover h2, figure.effect-lily:hover p { -webkit-transform: translate3d(0,0,0); transform: translate3d(0,0,0); } figure.effect-lily:hover p { -webkit-transition-delay: 0.05s; transition-delay: 0.05s; -webkit-transition-duration: 0.35s; transition-duration: 0.35s; }