/* visual component */
.visual .fp-header,
.visual .fp-play,
.visual .fp-fullscreen,
.visual .fp-unload,
.visual .fp-pause,
.visual .fp-message,
.visual .fp-embed,
.visual .fp-embed-code,
.visual .fp-time,
.visual .fp-brand {
  display: none !important;
}

.carousel .balanced-style-container {
  max-width: 100%;
}

.carousel .focus-style-container {
  margin: 0;
}

.carousel .focus-style-container .visual-description {
  max-width: 55%;
}

.visual.image {
  width: 100%;
}

.visual.image.visual-remove-margins.section {
  margin:0 ;
}

.visual-description {
  color: #05141F;
}

.text-color-light .visual-description {
  color: #ffffff;
}

.dark-overlay .visual-media-image {
  display: inline-block;
  position: relative;
  width: 100%;
}

.key-visual-style-container.dark-overlay .visual-media-image::after, .key-visual-style-container.dark-overlay .visual-player-container::after {
  content:'';
  position:absolute;
  left:0;
  top:0;
  width:100%;
  height:100%;
  display:inline-block;
  background: rgb(2,0,36);
  background: -moz-linear-gradient(90deg, rgba(2,0,36,1) 0%, rgba(0,0,0,0.5984768907563025) 0%, rgba(255,255,255,0) 33%);
  background: -webkit-linear-gradient(90deg, rgba(2,0,36,1) 0%, rgba(0,0,0,0.5984768907563025) 0%, rgba(255,255,255,0) 33%);
  background: linear-gradient(90deg, rgba(2,0,36,1) 0%, rgba(0,0,0,0.5984768907563025) 0%, rgba(255,255,255,0) 33%);
  filter: progid:DXImageTransform.Microsoft.gradient(startColorstr="#020024",endColorstr="#ffffff",GradientType=1);
}

.lazy-loading-enabled .visual-media-image {
  width: 100%;
  aspect-ratio: var(--visual-aspect-ratio);
}

.visual-media-image img {
  max-width: 100%;
  width: 100%;
}

.lazy-loading-enabled .visual-media-image img:not([src]) {
  visibility: hidden;
}

.lazy-loading-enabled .visual-media-image .loading.lazy {
  position: unset;
  animation: unset;
  border: unset;
  height: initial;
  width: initial;
  visibility: hidden;
  margin: unset; 
}

div.visual-player-container
 {
  position: relative;
  padding-bottom: 56.25%;
  /*padding-top: 30px;*/
  height: 0;
  overflow: hidden;
}

iframe.visual-player-container
 {
  position: relative;
  padding-bottom: 56.25%;
  /*padding-top: 30px;*/
  width:100%;
  overflow: hidden;
}

.visual-player-container .trailer .iframe-container {
  position: static;
}

.visual-player-container .trailer .trailer-content .trailer-description {
  display: none;
}

.iframe-container,
.iframe-overlay {
  position: relative;
  padding-bottom: 56.25%;
  /*padding-top: 30px;*/

  overflow: hidden;
}
.visual-player-container iframe {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}

.iframe-overlay {
  z-index: 100;
  cursor: pointer;
}

.visual-player-container.flowplayer {
  background-size: cover;
}
.visual-player-container .fp-ui {
  background-image: unset;
}

.btn-container {
  position: relative;
  padding-bottom: 56.25%;
  padding-top: 0;
  height: 0;
  z-index: 1;
}

.btn-play, .not-popup-btn-play {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  z-index: 1;
  cursor: pointer;
}

.trailer {
  position: fixed;
  top: 0;
  left: 0;
  z-index: 10000;
  /*background: rgba(5,20,31,0.7);*/
  background: #05141FB3;
  width: 100%;
  height: 100%;
  display: none;
  opacity: 0;
}
.trailer iframe {
  position: relative;
  outline: none;
}

.trailer.active {
  display: flex;
  justify-content: center;
  align-items: center;
  opacity: 1;
  position: absolute;
}

.trailer-content {
  max-width: 670px;
  width: 100%;
  height:550px;	
  overflow-y:scroll;
}

.trailer-content .trailer-title {
  display: flex;
  justify-content: space-between;
  background-color: #05141F;
  color: #ffffff;
  padding: 18px 20px;
  font-size: 16px;
}

.trailer-content .trailer-title.is-transparent,
.trailer-content .trailer-description.is-transparent {
  background-color: transparent;
}

.trailer-content .trailer-description {
  background-color: #05141F;
  color: #ffffff;
  padding: 25px;
  font-size: 16px;
}

.trailer-content .trailer-description .title-text {
  font-size: 16px;
  line-height: 20px;
}

.trailer-content .trailer-description .copy-text {
  margin-top: 10px;
  font-size: 12px;
  line-height: 17px;
}

.iframe-container iframe {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}

.iframe-container video {
  position: absolute;
  right: 0;
  bottom: 0;
  min-width: 100%;
  min-height: 100%;
  width: 100%;
  height: auto;
  z-index: 100;
  background-size: cover;
  overflow: hidden;
}

.disclaimer .bottom-left p {
  text-align: left;
}

.disclaimer .bottom-right p {
  text-align: right;
}

.disclaimer .dark {
  color: #ffffff;
}

.disclaimer .light {
  color: #05141F;
}

.basic-container .visual-description {
  display: none;
}

.key-visual-style-container {
  position: relative;
}

.key-visual-style-container .visual-description {
  position: absolute;
  top: 15%;
  left: 80px;
  text-shadow: none;
}

.key-visual-style-container .visual-description .title-text h3 {
  font-size: 40px;
  line-height: 48px;
}

.key-visual-style-container .visual-description .copy-text {
  font-size: 18px;
  line-height: 23px;
  margin-top: 10px;
}

.balanced-style-container {
  width: 100%;
  max-width: calc(100% * 5 / 6 - 80px);
  margin: auto;
}

.balanced-style-container .inner-container {
  display: flex;
  flex-direction: row;
}

.balanced-style-container .inner-container .visual-media {
  width: 60%;
}

.balanced-style-container .inner-container .visual-description {
  width: 40%;
  margin: 30px 0 0 40px;
}

.balanced-style-container .inner-container .visual-description .title-text h3,
.focus-style-container .visual-description .title-text h3 {
  font-size: 24px;
  line-height: 30px;
}

.balanced-style-container .inner-container .visual-description .copy-text,
.focus-style-container .visual-description .copy-text {
  font-size: 16px;
  line-height: 22px;
  margin-top: 16px;
}

.focus-style-container {
  margin: 0 80px;
}

.focus-style-container .visual-media {
  margin-bottom: 30px;
}

.focus-style-container .visual-media img {
  max-width: 100%;
}

.focus-style-container .visual-description {
  width: 100%;
  max-width: calc(100% * 2 / 5);
  margin: auto;
}

.basic-container .balanced-style-container .visual-description, 
.basic-container .focus-style-container .visual-description {
  display:block;
}

.disclaimer .visual-disclaimer {
  font-size: 12px;
  line-height: 17px;
  color: #697279;
  margin-top: 20px;
}

.key-visual-style-container .disclaimer  .visual-disclaimer{
  margin: 20px 80px 0 80px;
}

@media (max-width: 1439px) {
  .trailer-content {
    max-width: 920px;
  }
}

@media (max-width: 1024px) {
  .disclaimer .visual-disclaimer {
    margin: 20px 30px 0 30px;
  }

  .trailer-content {
    max-width: 517px ;
    height: 420px;	
    overflow-y: scroll;
  }
}

@media (max-width: 767px) {
  .key-visual-style-container .visual-media {
    margin-bottom: 30px;
  }

  .key-visual-style-container .visual-description {
    position: relative;
    top: unset;
    left: unset;
    color: #05141F;
    margin: 0 30px;
  }

  .key-visual-style-container .visual-description .title-text h3 {
    font-size: 30px;
    line-height: 38px;
  }

  .key-visual-style-container .visual-description .copy-text {
    font-size: 22px;
    line-height: 30px;
    margin-top: 8px;
  }

  .balanced-style-container {
    max-width: 100%;
  }

  .balanced-style-container .inner-container {
    flex-direction: column;
  }

  .balanced-style-container .inner-container .visual-media {
    width: 100%;
    margin-bottom: 30px;
  }

  .balanced-style-container .inner-container .visual-description {
    width: auto;
    margin: 0 30px;
  }

  .focus-style-container {
    margin: 0;
  }

  .focus-style-container .visual-description {
    max-width: 100%;
    width: auto;
    margin: 0 30px;
  }

  .carousel .focus-style-container .visual-description {
    max-width: 100%;
    width: auto;
    margin: 0 30px 0 10px;
  }

  .carousel .focus-style-container .visual-media {
    margin-bottom: 20px;
  }

  .trailer-content {
    max-width: 40%;
  }

  .basic-container .balanced-style-container .visual-media .visual-media-image img {
    width: auto;
  }
  .basic-container .focus-style-container .visual-description {
    padding: 20px;
  }

}

@media (max-height: 768px) {
  .trailer-content {
    max-width: 100vh;
  }
}

@media (max-height: 640px) {
  .trailer-content {
    max-width: 75vh;
  }
}
@media (max-width: 480px) {	
  .disclaimer .visual-disclaimer{	
    margin: 20px 15px 0 15px;	
  }	
   .trailer-content {	
    max-width: 40vh;	
    height:175px;	
    overflow:scroll;	
  }	
  .trailer-content .trailer-title {	
    padding: 5px 20px;	
    font-size: 12px;	
  }	
}


/* overlay player fixes begin (if same video playing issue found in other countries please remove lang="no" css) */
.column_control ul {
  opacity: 1;
}

.visual-media-video .trailer{
  position: fixed;
  top: 0;
  height: 100vh;
  width: 100%;
  z-index: 100;
}

.visual-media-video .trailer.trailer.active {
  z-index: 2000;
  height: 100vh !important;
  top: 0;
}

.visual-media-video .trailer .trailer-content{
  overflow: visible;
  width: 100%;
}

.visual-media-video .trailer .iframe-container {
  position: relative;
}

.visual-media-video .trailer .iframe-container > iframe {
  width: 100%;
  height: 100%;
}


.visual-media-video .trailer .trailer-content {
  max-width: calc(100% - 30px);
  margin: 0 auto;
  max-height: calc(100% - 120px);
  height: auto;
  width: 125vh;
}

.visual-media-video .trailer .iframe-container {
  position: relative;
}

.visual-media-video .trailer .iframe-container > iframe {
  width: 100%;
  height: 100%;
}

@media (min-width: 541px) and (max-width: 1024px) {
.visual-media-video .trailer .trailer-content {
      max-width: calc(100% - 80px);
  }
}

@media (min-width: 768px) and (max-device-width: 989px) {
.visual-media-video .trailer .trailer-content{
      max-width: calc(100% - 80px - 60px);
  }
}

@media (min-width: 1025px) {
.visual-media-video .trailer .trailer-content {
      max-width: calc((100% - 160px) * 0.9 + 32px)
  }
}

/* overlay player fixes end */

.k-modified .visual-player-container .btn-container {
  width: 100%;
  position: absolute;
  top: 0;
}

div.visual-player-container {
  background-size: cover;
  background-position: center;
}