.grid { position: relative; } .description { display: none; } .grid-item-current { opacity: 0 !important; } .img-wrap { display: block; } .img-wrap img { display: block; max-width: 100%; } .img-grayscale img { -webkit-filter: grayscale(90%); -webkit-transition: .4s ease-in-out; -moz-filter: grayscale(90%); -moz-transition: .4s ease-in-out; -o-filter: grayscale(90%); -o-transition: .4s ease-in-out; } .img-grayscale:hover img { -webkit-filter: grayscale(0%); -moz-filter: grayscale(0%); -o-filter: grayscale(0%); } .preview { position: fixed; z-index: 1000; top: 0; left: 0; display: -ms-flex; display: -webkit-flex; display: flex; -ms-flex-pack: center; -webkit-justify-content: center; justify-content: center; -ms-flex-line-pack: center; -webkit-align-content: center; align-content: center; -ms-flex-align: center; -webkit-align-items: center; align-items: center; width: 50%; height: 100%; pointer-events: none; } .preview::before { content: ''; position: fixed; top: 0; left: 0; width: 100%; height: 100%; opacity: 0; background: #1f1d1d; -webkit-transition: opacity 0.6s; transition: opacity 0.6s; } .preview-open { pointer-events: auto; } .preview-open::before { opacity: 1; } .clone { position: fixed; z-index: 110; -webkit-transition: -webkit-transform 0.5s; transition: transform 0.5s; -webkit-backface-visibility: hidden; } .original { position: relative; z-index: 120; display: block; object-fit: contain; -webkit-transition: opacity 0.2s; transition: opacity 0.2s; -webkit-backface-visibility: hidden; } .preview-open .animate { /* open */ -webkit-transition: -webkit-transform 0.6s, opacity 0.2s; transition: transform 0.6s, opacity 0.2s; } .animate { /* close */ -webkit-transition: -webkit-transform 0.3s, opacity 0.2s; transition: transform 0.3s, opacity 0.2s; } .description { color: #fff; } .js .description-grid { display: none; } .description-preview { font-size: 2em; position: absolute; z-index: 140; width: 100%; left: 100%; top: 0; height: 100%; padding: 0 1em; display: -ms-flex; display: -webkit-flex; display: flex; -ms-flex-direction: column; -webkit-flex-direction: column; flex-direction: column; -ms-flex-pack: center; -webkit-justify-content: center; justify-content: center; -ms-flex-align: start; -webkit-align-items: flex-start; align-items: flex-start; opacity: 0; -webkit-transition: opacity 1s, -webkit-transform 1s; transition: opacity 1s, transform 1s; -webkit-transition-timing-function: cubic-bezier(0.2, 1, 0.3, 1); transition-timing-function: cubic-bezier(0.2, 1, 0.3, 1); -webkit-transform: translate3d(0, 30px, 0); transform: translate3d(0, 30px, 0); } .preview-open .description-preview { opacity: 1; -webkit-transition-delay: 0.2s; transition-delay: 0.2s; -webkit-transform: translate3d(0, 0, 0); transform: translate3d(0, 0, 0); } .description-preview h3 { font-weight: 400; margin: 0; color: #333; text-transform: uppercase; letter-spacing: 2px; } .dark .description-preview h3 { color: #FFF; } .description-preview p { font-size: 17px; font-weight: 300; color: #555; max-width: 100%; margin-top: 20px; } .dark .description-preview p { color: #CCC; } .description-preview p span { color: #888; font-size: 14px; display: block; font-weight: 300; padding: 10px 0 0 0; } .dark .description-preview p span { color: #AAA; } /* Details */ .details { max-width: 100%; } /* IE 10-11 bug flexbox */ .details ul { line-height: 1; position: relative; margin: 0; padding: 0; list-style: none; } .details ul li { font-size: 0.5em; position: relative; display: inline-block; margin: 0 1em 0 0; padding: 0.15em 0; white-space: nowrap; opacity: 0; color: #9d9d9d; -webkit-transition: -webkit-transform 1s, opacity 1s; transition: transform 1s, opacity 1s; -webkit-transition-timing-function: cubic-bezier(0.2, 1, 0.3, 1); transition-timing-function: cubic-bezier(0.2, 1, 0.3, 1); -webkit-transform: translate3d(0, 20px, 0); transform: translate3d(0, 20px, 0); } .preview-open .details ul li { opacity: 1; -webkit-transform: translate3d(0, 0, 0); transform: translate3d(0, 0, 0); } .preview-open .details ul li:nth-child(1) { -webkit-transition-delay: 0.2s; transition-delay: 0.2s; } .preview-open .details ul li:nth-child(2) { -webkit-transition-delay: 0.3s; transition-delay: 0.3s; } .preview-open .details ul li:nth-child(3) { -webkit-transition-delay: 0.4s; transition-delay: 0.4s; } .preview-open .details ul li:nth-child(4) { -webkit-transition-delay: 0.5s; transition-delay: 0.5s; } .preview-open .details ul li:nth-child(5) { -webkit-transition-delay: 0.6s; transition-delay: 0.6s; } .details ul li:first-child { font-weight: bold; color: #909090; } .icon + span { margin-left: 5px; vertical-align: middle; } .details .icon { margin-right: 5px; color: #c85e51; } /* Close button */ .action { font-size: 40px; margin: 0; padding: 0; cursor: pointer; vertical-align: top; color: #c85e51; border: none; background: none; } .action:hover, .action:focus { color: #c85e51; outline: none; } .action-close { position: fixed; z-index: 150; top: 30px; right: 30px; padding: 0; opacity: 0; -webkit-transition: opacity 0.3s, -webkit-transform 0.3s; transition: opacity 0.3s, transform 0.3s; -webkit-transform: scale3d(0.6, 0.6, 1); transform: scale3d(0.6, 0.6, 1); } .preview-image-loaded .action-close { opacity: 1; -webkit-transform: scale3d(1, 1, 1); transform: scale3d(1, 1, 1); } .text-hidden { position: absolute; display: block; overflow: hidden; width: 0; height: 0; color: transparent; } @media screen and (max-width: 40em) { .description-preview h3 { font-size: 0.5em; } .description-preview p, .details { display: none; } }