/* Mixins
================================================== */
/* Breakpoints
================================================== */
/* Images
================================================== */
figure {
  border: none;
  padding: 0;
  display: inline-block;
  margin: 1em 0;
}

img {
  max-width: 100%;
  height: auto;
  -webkit-user-select: none;
  -o-user-select: none;
  user-select: none;
  pointer-events: none;
  aspect-ratio: attr(width)/attr(height);
}

* {
  /*

  		image-rendering: -moz-crisp-edges;         // Firefox
  		image-rendering:   -o-crisp-edges;         // Opera
  		image-rendering: -webkit-optimize-contrast; // Webkit (non-standard naming)
  		image-rendering: crisp-edges;
  		-ms-interpolation-mode: nearest-neighbor;  //
  */
}

/* Prevent people stealing images
================================================== */
img {
  pointer-events: none;
}

/* lazy load
================================================== */
.rocket-lazyload {
  opacity: 0;
  transition: opacity 1s;
}
.rocket-lazyload.lazyloaded {
  opacity: 1;
}

/* Parralax - no supported on touch screens
========================================================== */
@media (hover: hover) {
  .parralax-image {
    background-attachment: fixed;
  }
}
/* Media upload
========================================================== */
.media-upload {
  padding-bottom: 50%;
}

.media-upload {
  position: relative;
  overflow: hidden;
}
.media-upload.cover .image {
  position: absolute;
  height: 100%;
  width: 100%;
  top: 0;
  left: 0;
  background-position: center;
  background-repeat: no-repeat;
  -ms-background-size: cover;
  background-size: cover;
}
.media-upload.cover video {
  top: 50%;
  left: 50%;
  transform: translateX(-50%) translateY(-50%);
  min-width: 100%;
  min-height: 100%;
}
.media-upload.contain .image img {
  width: 100%;
  display: block;
}
.media-upload.contain video {
  width: 100%;
  display: block;
}

.media-upload {
  transition: 0.5s;
}

a:focus .media-upload,
a:hover .media-upload {
  transform: scale(1.1);
}