/* Product grid */ .grid { position: relative; overflow: hidden; margin: 0 auto; padding: 1.5em 0 8em; text-align: center; -webkit-user-select: none; -moz-user-select: none; -ms-user-select: none; user-select: none; -webkit-touch-callout: none; -khtml-user-select: none; } /* Loader */ .grid__loader { display: none; margin: 3em auto 0; } .grid--loading .grid__loader { display: block; } /* Clearfix */ .grid:after { content: ''; display: block; clear: both; } /* Grid items */ .grid__sizer, .grid__item { position: relative; float: left; width: 20%; padding: .75em; } .no-touch .grid__sizer, .no-touch .grid__item { padding: .75em .75em 1.25em; } .grid--loading .grid__item { visibility: hidden; } .grid__item--size-a { width: 40%; } /* Gallery */ .slider { padding: 0; border-radius: 5px; background: #24252a; } .no-touch .slider { padding: 0 0 1.25em; } .slider__item { width: 100%; padding: 1em; } .slider__item img { width: 100%; } /* Flickity page dots */ .slider .flickity-page-dots { bottom: 20px; opacity: 0; -webkit-transition: opacity .3s; transition: opacity .3s; } .no-touch .slider:hover .flickity-page-dots { opacity: 1; } .slider .flickity-page-dots .dot { background: #131417; } /* Product meta */ .meta { position: relative; margin: 10px 0 0; padding: 0 60px 0 0; text-align: left; } .meta__brand { font-size: .85em; font-weight: bold; display: block; color: #595b64; } .meta__title { font-size: .95em; font-weight: bold; margin: 0; padding: .4em 0 .1em; } .meta__price { font-size: .95em; font-weight: bold; position: absolute; top: .45em; right: .25em; color: #595b64; } /* Action style */ .action { font-family: Avenir, 'Helvetica Neue', 'Lato', 'Segoe UI', Helvetica, Arial, sans-serif; font-size: 1.05em; position: relative; overflow: hidden; margin: 0; padding: .25em; cursor: pointer; color: #fff; border: none; background: none; } .action:focus { outline: none; } .action--button { color: #5c5edc; } .no-touch .action--button:hover { color: #fff; outline: none; } .text-hidden { position: absolute; top: 200%; } /* Add to cart button */ .action--buy { position: absolute; top: 0; right: 0; padding: 1.85em 2.35em; -webkit-transition: opacity .3s, -webkit-transform .3s; transition: opacity .3s, transform .3s; -webkit-transform: translate3d(-5px, 0, 0); transform: translate3d(-5px, 0, 0); } .no-touch .action--buy { opacity: 0; } .no-touch .grid__item:hover .action--buy { opacity: 1; -webkit-transform: translate3d(0, 0, 0); transform: translate3d(0, 0, 0); } /* Fixed bottom bar */ .bar { position: fixed; z-index: 100; bottom: 0; left: 0; width: 100%; padding: 1.75em 5em; text-align: center; background: #191a1b; -webkit-transform: translate3d(0, 0, 0); /* Fix for Chrome flicker on Mac ...party like we're in 2012! */ } .flexbox .filter { } /* Filter */ .filter__label { font-size: .85em; display: inline-block; margin: 0 2%; font-weight: bold; color: #393A3F; } .filter__item { margin: 0 10px; padding: 10px 15px; vertical-align: middle; color: #333; } .filter__item--selected { padding: 10px 15px; border-radius: 3px; background: #ffcd00; } .filter__item .icon { font-size: 1.75em; display: none; } /* Shopping cart */ .cart { font-size: 1.5em; position: absolute; top: 0; right: 0; overflow: hidden; height: 100%; padding: 0 1.195em; cursor: pointer; color: #abacae; border: none; background-color: #131415; } .no-touch .cart:focus, .no-touch .cart:hover { color: #fff; outline: none; } .cart--animate .cart__icon { -webkit-animation: cartAnim .4s forwards; animation: cartAnim .4s forwards; } @-webkit-keyframes cartAnim { 50% { opacity: 0; -webkit-transform: translate3d(50px, 0, 0); transform: translate3d(50px, 0, 0); } 51% { opacity: 0; -webkit-transform: translate3d(-50px, 0, 0); transform: translate3d(-50px, 0, 0); } 100% { opacity: 1; -webkit-transform: translate3d(0, 0, 0); transform: translate3d(0, 0, 0); } } @keyframes cartAnim { 50% { opacity: 0; -webkit-transform: translate3d(50px, 0, 0); transform: translate3d(50px, 0, 0); } 51% { opacity: 0; -webkit-transform: translate3d(-50px, 0, 0); transform: translate3d(-50px, 0, 0); } 100% { opacity: 1; -webkit-transform: translate3d(0, 0, 0); transform: translate3d(0, 0, 0); } } .cart__count { font-size: 9px; font-weight: bold; line-height: 15px; position: absolute; top: 50%; right: 20px; width: 15px; height: 15px; margin: -16px 0 0 0; text-align: center; color: #fff; border-radius: 50%; background: #5c5edc; } .cart--animate .cart__count { -webkit-animation: countAnim .4s forwards; animation: countAnim .4s forwards; } @-webkit-keyframes countAnim { 50% { opacity: 0; -webkit-transform: translate3d(0, 80px, 0); transform: translate3d(0, 80px, 0); } 51% { opacity: 0; -webkit-transform: translate3d(0, -80px, 0); transform: translate3d(0, -80px, 0); } 100% { opacity: 1; -webkit-transform: translate3d(0, 0, 0); transform: translate3d(0, 0, 0); } } @keyframes countAnim { 50% { opacity: 0; -webkit-transform: translate3d(0, 80px, 0); transform: translate3d(0, 80px, 0); } 51% { opacity: 0; -webkit-transform: translate3d(0, -80px, 0); transform: translate3d(0, -80px, 0); } 100% { opacity: 1; -webkit-transform: translate3d(0, 0, 0); transform: translate3d(0, 0, 0); } } /* Resize grid items on smaller screens */ @media screen and (max-width: 65em) { .grid__sizer, .grid__item, .grid__item--size-a { width: 33.333%; } } @media screen and (max-width: 50em) { .grid__sizer, .grid__item, .grid__item--size-a { width: 50%; } .bar { padding-left: 0; text-align: left; } } @media screen and (max-width: 40em) { .bar { padding: .5em 4.5em .5em 0; } .flexbox .filter { -webkit-justify-content: space-around; justify-content: space-around; padding: 0; width: 100%; } .filter__item { height: 100%; width: 100%; border: none; margin-left: 0; } .filter__item .icon { display: inline-block; } .filter__label, .action__text { display: none; } .cart { padding: 0 1em; } } @media screen and (max-width: 25em) { .grid { max-width: 100%; } .grid__loader { margin: 0 auto; } .grid__sizer, .grid__item, .grid__item--size-a { width: 100%; } .action--buy { font-size: 1.5em; padding: 1.15em 1.5em; -webkit-tap-highlight-color: transparent; } }