@CHARSET "UTF-8"; body { font-family: Helvetica; font-size: 12px; color: #63665F } .step { display: grid; grid-template-areas: "step-title step-title" "step-picture step-thumbs" "step-picture step-contents"; grid-template-rows: auto auto 1fr; grid-template-columns: 50% 50%; margin: 0; } /* Stack the layout on small devices/viewports. */ @media all and (max-width: 479px) { .step { grid-template-areas: "step-title" "step-picture" "step-thumbs" "step-contents"; grid-template-rows: auto 1fr 90px auto; grid-template-columns: auto; } } .step-title { grid-area: step-title; } .step-picture { grid-area: step-picture; max-width: 100%; } /* Make the picture fill width on small devices/viewports. */ @media only screen and (max-width: 479px) { .step-picture { margin-bottom: 10px; width: 100%; } } .step-thumbs { grid-area: step-thumbs; } .step-contents { grid-area: step-contents; padding: 10px; } .step-thumb { border-radius: 3px; box-shadow: 0 0 0 1px rgba(0, 0, 0, .15); margin: 10px 10px 0px 10px; display: inline-block; max-width: 27%!important; max-height: 90px; opacity: .7; transition: box-shadow .2s, border-color .2s, opacity .2s; } /* Make thumbnails on a separate row on small devices/viewports.*/ @media only screen and (max-width: 479px) { .step-thumb { width: 30%; max-height: 180px; } } .step-thumb.active, .step-thumb:hover { transform: translateY(-4px); opacity: 1; box-shadow: 0 4px 10px rgba(0, 0, 0, .5) } /* No translation and smaller shadow on small devices/viewports. */ @media all and (max-width: 479px) { .step-thumb.active, .step-thumb:hover { transform: translateY(0); box-shadow: 0 0 2px rgba(0, 0, 0, .75) } }