.cmp-video {
  margin-top:44px;
  margin-bottom:44px;
}

@media (max-width:1320px) {
  .cmp-video {
    padding-left: 20px;
    padding-right: 20px;
  }
}

@media (max-width:1024px) {
  .cmp-video {
    margin-top:40px;
    margin-bottom:40px;
  }
}

.cmp-video__item {
  margin-right:32px;
}

.cmp-video__item:last-child {
  margin-right:0;
}

.cmp-video__item-thumb {
  background-color:#000;
  width:301px;
  height:170px;
  background-size:cover;
  background-position:center;
  position: relative;
}

.js-cmp-video__carousel:after {
  content: 'flickity';
  display: none; /* hide :after */
}

.cmp-video__stage {
position: relative;
padding-bottom: 54.25%;
height: 0;
margin-bottom: 32px;
overflow: hidden; }
.cmp-video__stage iframe,
.cmp-video__stage object,
.cmp-video__stage embed,
.cmp-video__stage video {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%; }

.cmp-video__item-title {
  font-size: 16px;
  font-weight: 500;
  line-height: 21px;
  letter-spacing: 0em;
  margin-top:12px;
}

.cmp-video__header {
  display:flex;
  justify-content: space-between;
}

@media (max-width:1024px) {
  .cmp-video__header {
    flex-direction:column;
  }
}

.cmp-video__header-text {
  flex:1;
  max-width:80%;
}

@media (max-width:1024px) {
  .cmp-video__header {
    margin-bottom:32px;
  }
  .cmp-video__header-text {
    max-width:100%;
  }  
}

.cmp-video__header-text h3 {
  font-size: 50px;
  font-weight:500;
  line-height: 55px;
  letter-spacing: 0em;
  margin:0 0 24px 0;
}

.cmp-video__header-text p {
  font-size: 24px;
  font-weight: 300;
  line-height: 31px;
  letter-spacing: 0em;
  margin:0 0 48px 0;
}

@media (max-width:1024px) {
  .cmp-video__header-text h3 {
    font-size: 40px;
    line-height: 44px;
  }
  .cmp-video__header-text p {
    margin:0 0 24px 0;
  }
  .cmp-video__header-cta a {
    width:100%;
  }
}

.is-clicked .cmp-video__item-thumb {
  position:relative;
}

.cmp-video__item-thumb .cmp-video__play-button {
  height: 50px;
  width: 50px;
}

.cmp-video__item-thumb .cmp-video__play-button::before {
  border-width: 10px 0 10px 18px;
  margin-left: 4px;
}

.is-clicked .cmp-video__play-button {
  display:none;
}

.is-clicked .cmp-video__item-thumb:after {
  position:absolute;
  content:"";
  display:block;
  width:100%;
  height:100%;
  background-color:rgba(0,0,0,.5);
  top:0;
  left:0;
  pointer-events: none;
}

.cmp-video__caption {
  font-size: 16px;
  font-weight: 400;
  line-height: 20px;
  letter-spacing: 0em;  
  margin:24px 0 32px 0;
  text-align:center;
}

@media (min-width:1025px) {
  .flickity-page-dots {
    display:none;
  }
}

@media (min-width:1301px) {
  .cmp-video__carousel-wrap {
      position: relative;
      height: 160px;
  }
  
  .cmp-video__carousel-pos {
      position: absolute;
      top: 0;
      left: 0;
      width: calc(50vw + 642px);
  }
}

/* for shop context */
.aem-components {
  max-width: 1300px;
  margin-left: auto;
  margin-right: auto;
}

/* Video overlay */
.cmp-video__thumbnail {
  position: absolute;
  background-size: cover;
  background-position: center;
  height: 100%;
  width: 100%;
  cursor: pointer;
}

.cmp-video__overlay {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-color: rgba(0, 0, 0, 0.5);
}

.cmp-video__play-button {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  background-color: rgba(0, 0, 0, 0.7); 
  width: 90px; 
  height: 90px;
  border-radius: 50%;
  display: flex;
  justify-content: center;
  align-items: center;
}

.cmp-video__play-button::before {
  content: '';
  width: 0;
  height: 0;
  margin-left: 7px;
  border-style: solid;
  border-width: 20px 0 20px 36px;
  border-color: transparent transparent transparent white;
}
