/**
 * @file
 * Provides media integration.
 */
/**
 * Pure CSS fluid video wrapper.
 */
.media__iframe,
.slick__capture,
.slick__slide picture {
  border: 0 none;
  display: block;
  max-width: 100%;
}

.media--switch--player .media__iframe {
  background: rgba(0, 0, 0, 0.8);
  max-width: 100%;
  opacity: 0;
  visibility: hidden;
}

.slide__overlay .media--switch--player {
  /* 16:9 ratio */
  height: 0;
  padding-bottom: 56.25%;
}

.slide__overlay .media--switch--player .media__iframe,
.slide__overlay .media--switch--player .slick__image,
.slide__overlay .media--switch--player picture {
  border: 0 none;
  display: block;
  height: 100%;
  left: 0;
  position: absolute;
  top: 0;
  width: 100%;
  z-index: 0;
}

.slide__overlay .media--switch--player picture .slide__image {
  height: auto;
  position: relative;
}

/**
 * Aspect ratio applied to the main image, unless overriden to just overlay.
 */
/* 16:9 ratio */
.slick--ratio--file .media--player,
.slick--ratio--field-collection .slide__media {
  height: 0;
  padding-bottom: 56.25%;
}

.slick--ratio--file .media--player picture,
.slick--ratio--file .media--player .media__iframe,
.slick--ratio--file .media--player .slick__image,
.slick--ratio--field-collection .slide__media picture,
.slick--ratio--field-collection .slide__media .media__iframe,
.slick--ratio--field-collection .slide__media .slick__image {
  border: 0 none;
  display: block;
  height: 100%;
  left: 0;
  position: absolute;
  top: 0;
  width: 100%;
  z-index: 0;
}

.slick--ratio--file .media--player picture .slide__image,
.slick--ratio--field-collection .slide__media picture .slide__image {
  height: auto;
  position: relative;
}

/* 4:3 ratio */
.slick--ratio--43.slick--ratio--field-collection .slide__media,
.slick--ratio--43.slick--ratio--file .media--player {
  padding-bottom: 75%;
}

/**
 * Aspect ratio applied to the overlay image/audio/video only.
 * Ratio overlay only applies to FC, default to .slide__overlay.
 */
.slick--ratio-overlay.slick--ratio--field-collection .slide__media {
  height: auto;
  padding-bottom: 0;
}

.slick--ratio-overlay.slick--ratio--field-collection .slide__media picture,
.slick--ratio-overlay.slick--ratio--field-collection .slide__media .media__iframe,
.slick--ratio-overlay.slick--ratio--field-collection .slide__media .slick__image {
  height: auto;
  position: relative;
}

.slick--ratio-overlay.slick--ratio--43 .slide__overlay .media--switch {
  padding-bottom: 75%;
}

.media--switch .media__iframe,
.media-icon {
  -webkit-transition: visibility 0s linear 0.5s, opacity 0.5s linear;
  transition: visibility 0s linear 0.5s, opacity 0.5s linear;
}

.media-icon {
  cursor: pointer;
  display: block;
  opacity: 0;
  position: absolute;
  visibility: hidden;
  z-index: 9;
}

.media-icon--play,
.media-icon--close,
.media-icon--spinner {
  height: 80px;
  left: 50%;
  margin: -40px 0 0 -40px;
  top: 50%;
  width: 80px;
}

.media-icon--close::before,
.media-icon--close::after,
.media-icon--play::before {
  content: '';
  display: block;
  position: absolute;
  pointer-events: none;
}

.media-icon--close::before,
.media-icon--close::after {
  background: white;
  border-radius: 4px;
  height: 8px;
  left: 50%;
  margin: -4px 0 0 -40px;
  top: 50%;
  width: 80px;
  -ms-transform: rotate(45deg);
  -webkit-transform: rotate(45deg);
  transform: rotate(45deg);
}

.media-icon--close::after {
  -ms-transform: rotate(-45deg);
  -webkit-transform: rotate(-45deg);
  transform: rotate(-45deg);
}

.media-icon--close:hover::before,
.media-icon--close:hover::after {
  background-color: #ff6d2c;
}

.is-playing .media-icon--close {
  visibility: hidden;
}

.media-icon--play {
  border: 8px solid white;
  border-radius: 50%;
}

.media-icon--play::before {
  border: 16px solid transparent;
  border-left: 24px solid white;
  left: 50%;
  line-height: 60px;
  margin: -16px 0 0 -6px;
  top: 50%;
}

.media-icon--play:hover {
  border-color: #ff6d2c;
}

.media-icon--play:hover::before {
  border-left-color: #ff6d2c;
}

.is-playing:hover .media-icon {
  -webkit-transition-delay: 0s;
  transition-delay: 0s;
}

.media--switch .slick__image,
.media-icon--play,
.is-playing .media__iframe,
.is-playing:hover .media-icon--close {
  opacity: 1;
  visibility: visible;
}

.is-playing .media__iframe,
.slick--ratio .is-playing .media__iframe {
  z-index: 3;
}

.is-playing.media--switch + .slide__pattern,
.is-playing.media--switch .slick__image,
.is-playing .media-icon--play,
.is-playing:hover .media-icon--play,
.slick--ratio .is-playing .slick__image {
  opacity: 0;
  visibility: hidden;
  z-index: -1;
}

.is-playing .slide__pattern {
  display: none;
}

/**
 * Fallback non-JS.
 */
.no-js .media--switch .slick__image,
.no-js .media--switch .media-icon {
  opacity: 0;
  visibility: hidden;
}

.no-js .media--switch .media__iframe {
  opacity: 1;
  visibility: visible;
}
