.viewdo-video(@primary: #2d5174, @secondary: #6d5f8c, @theme: default) {

  body{
    .video-state-container{
      height: -webkit-fill-available;

      .ivx-state-video-section{
        margin: auto;
        max-width: 75%;

        header{
          max-height: max-content;
          opacity: 1;
          overflow: hidden;
          transition: all .5s ease;
          transition-delay: .5s;
        }

        .video-player-container{
          position: relative;
          height: 100%;
          transition: 0.5s ease all;
          margin: auto;

          &:before,
          &:after{
            content: "";
            position: absolute;              
            pointer-events: none;
            transition: 0.5s ease all;
          }
          &:before{
            top: 50%;
            left: 50%;
            width: 25%;
            height: 25%;
            background-image: url(https://storage.googleapis.com/ivx-static/viewdo/base-styles/images/play.svg);
            background-repeat: no-repeat;
            background-size: contain;
            background-position: center;
            opacity: 0.25;
            transform: translate3d(-50%,-50%,0);
            z-index: 1;
          }

          &:after{
            top: 0px;
            left: 0px;;
            width: 100%;
            height: 100%;    
            background: rgba(0, 0, 0, 0.75); //try different colors for different themes
          }            
          
          &.ivx-video-playing{
            &:before,
            &:after{
              opacity: 0;
            }            
          }
        }
  
        footer .video-footer-content{
          max-height: max-content;
          opacity: 1;
          overflow: hidden;
          transition: all .5s ease;
        }
      }
    }
  }

  body.video-playing{
    .video-state-container{
      .ivx-state-video-section{
        display: flex;
        flex-direction: column;
        justify-content: center;
        height: fit-content;

        header{
          max-height: 0;
          opacity: 0;
        }
  
        .ivx-state-video-player{
          max-height: calc(100% - 64px);

          video{
            max-width: 100%;
            max-height: 100%;
            height: auto;
            width: fit-content;            
          }          
        }

        footer .video-footer-content{
          max-height: 0;
          opacity: 0;
        }
      }
    }
  }

  .viewdo-video-nav {
    .viewdo-video-nav-back,
    .viewdo-video-nav-skip {
      font-size: 0.875rem;
      text-transform: uppercase;
    }

    .viewdo-video-nav-back:before,
    .viewdo-video-nav-skip:after {
      content: "";
      display: inline-block;
      width: 1.5rem;
      height: 19px;
      vertical-align: bottom;
    }

    .viewdo-video-nav-back:before {
      text-align: left;
      margin-right: 0.5rem;
      background-image: url(https://static.dxp.media/viewdo/vanilla-bean/images/icons/arrow-left.svg);
      background-size: contain;
    }

    .viewdo-video-nav-skip:after {
      text-align: right;
      margin-left: 0.5rem;
      background-image: url(https://static.dxp.media/viewdo/vanilla-bean/images/icons/arrow-right.svg);
      background-size: contain;
    }
  }

  .viewdo-video-nav {
    position: fixed;
    top: 50%;
    transform: translate3d(-50%, -50%, 0);
    width: 100%;
    left: 50%;

    .viewdo-video-nav-back,
    .viewdo-video-nav-skip {
      position: absolute;
      padding: 1rem;
      background: black;
      box-sizing: border-box;
      transform: translateY(-50%);
      cursor: pointer;
    }

    .viewdo-video-nav-back {
      left: 0px;
    }

    .viewdo-video-nav-skip {
      right: 0px;
    }
  }

  ._videoNavMobile {
    .viewdo-video-nav {
      .viewdo-video-nav-back,
      .viewdo-video-nav-skip {
        line-height: 1;

        span {
          display: none;
        }
      }

      .viewdo-video-nav-back:before {
        margin-right: 0;
        width: 1rem;
        height: 13px;
      }

      .viewdo-video-nav-skip:after {
        margin-left: 0;
        width: 1rem;
        height: 13px;
      }
    }
  }

  .responsive(mobile, {._videoNavMobile;});
}
