/*
*
* Template Name: Sven Teaser Plugin styles
* @version: 10.0 (2018-07-15)
* Description: Styles associated with the Sven Teaser plugin
* Authors: Sven Creations(svencreations@gmail.com)
*
*/

/* ==================================================================
* Table of Contents:
*
* 1.0 - Common Declarations and Fixes
* 2.0 - Sven Layout Styles
* 		2.1 - Wrapper
* 		2.2 - Transition elements
* 		2.3 - Slide element styles
*       2.4 - Video Element
*       2.5 - Splash Image / Splash Page
* 		2.6 - Animation Text Position presets
* 		2.7 - Player Controls
* 		2.8 - Preloader Styles
* 		2.9 - Animation Summary Box
*       2.10 - Particles JS (Can be deprecated)
*       2.11 - Pulsating play button
*       2.12 - LetterBoxing
*       2.13 - Revealer
* 3.0 - Text Placeholders Basic Styles
* 		3.1 - Main Text and Sub Text Styles and Positions(General)
*		3.2 - BigText styles(General) (Can be deprecated)
*       3.3 - Better animation performance on browsers(Especially firefox)
* 4.0 - Responsive Styles
* 		4.1 - Small Devices, Tablets (≥768px)
* 		4.2 - Medium Devices, Desktops (≥992px)
* 		4.3 - Large Devices, Desktops (≥1200px)
*       4.4 - Wide Screens, Desktops (≥1824px)

================================================================== */

/* ==================================================================
1.0 Common Declarations and Fixes
================================================================== */
.abs-fs {
    position: absolute;
    top: 0;
    left: 0;
    overflow: hidden;
    width: 100%;
    height: 100%;
    padding: 0;
    margin: 0;
    background: none transparent;
}

.abs-center {
    position: absolute;
    top: 50%;
    left: 50%;
    -ms-transform: translate(-50%,-50%); /* IE 9 */
    -webkit-transform: translate(-50%,-50%); /* Safari */
    -moz-transform: translate(-50%,-50%); /* Firefox Older versions*/
    -o-transform: translate(-50%,-50%); /* Opera */
    transform: translate(-50%,-50%);
}

.abs-vcenter {
    position: absolute;
    top: 50%;
    left: 0;
    -ms-transform: translateY(-50%); /* IE 9 */
    -webkit-transform: translateY(-50%); /* Safari */
    -moz-transform: translateY(-50%); /* Firefox Older versions*/
    -o-transform: translateY(-50%); /* Opera */
    transform: translateY(-50%);
}

.bg-cover {
    background-position: center center;
    background-repeat: no-repeat;
    -webkit-background-size: cover;
    -moz-background-size: cover;
    -o-background-size: cover;
    background-size: cover;
}

.gpu-hack {
    -webkit-perspective: 1000px;
    -moz-perspective: 1000px;
    perspective: 1000px;
    -webkit-transform: translateZ(0);
    -moz-transform: translateZ(0);
    transform: translateZ(0);
    -webkit-backface-visibility: hidden;
    -moz-backface-visibility: hidden;
    backface-visibility: hidden;
}

#preloadjs-container { /* To avoid scrollbar while preloading assets using PreloadJS*/
    left: 0;
    bottom: 0;
}

.tof-fix::before { /* text overflow fix */
    content: "";
    display: block;
    margin-left: -100%;
}

.tof-fix::after {
    content: "";
    display: block;
    margin-right: -100%;
}

/* ==================================================================
2.0 Sven Layout Styles
================================================================== */

/*	2.1 Wrapper
-------------------------------------------------------------- */
.sven-wrapper {
    z-index: 0;
}

.sven-wrapper, .sven-container {
    position: relative;
    overflow: hidden;
    width: 100%;
    height: 100%;
    padding: 0;
    margin: 0;
}

.sven-container {
    z-index: 2;
}

/*	2.2 Transition elements
-------------------------------------------------------------- */
.black-bg {
    z-index: 4;
    opacity: 0;
    visibility: hidden;
    background: none #000;
}

.color-wrapper {
    z-index: -2;
}

/*	2.3 Slide element styles
-------------------------------------------------------------- */
.sven-slide {
    position: relative;
    z-index: 1;
    width: 100%;
    height: 100%;
    visibility: hidden;
}

.sven-scene {
    position: relative;
    z-index: 2;
    width: 100%;
    height: 100%;
    text-align: center;
    white-space: nowrap;
}

.sven-scene:before {
    content: '';
    display: inline-block;
    height: 100%;
    margin-right: -0.25em;
    vertical-align: middle;
}

.centered {
    position: relative;
    z-index: 1;
    display: inline-block;
    max-width: 80%;
    vertical-align: middle;
}

.halign-left {
    text-align: left;
}

.halign-right {
    text-align: right;
}

.halign-center {
    text-align: center;
}

.content-container {
    position: relative;
    visibility: hidden;
    white-space: normal;
    -webkit-backface-visibility: hidden;
    -moz-backface-visibility: hidden;
    backface-visibility: hidden;
}

/* Overwrites imgcovereffect plugin's style position: relative */
.single-image, .scene-image {
    position: absolute !important;
}

.scene-image > * {
    -webkit-backface-visibility: hidden;
    -moz-backface-visibility: hidden;
    backface-visibility: hidden;
    -webkit-perspective: 1000px;
    -moz-perspective: 1000px;
    perspective: 1000px;
    outline: 1px solid transparent;
}

.scene-image img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: 50% 50%;
}

.slideshow-wrapper {
    z-index: 0;
}

/*	2.4 Video Element
-------------------------------------------------------------- */
.video-wrapper {
    z-index: -1;
}

.YTPOverlay, .bv-overlay {
    opacity: 0.3;
    background: none #000;
}

.preview-image {
    opacity: 0;
    visibility: hidden;
}

#big-video-wrap {
    visibility: hidden;
}

.mbYTP_wrapper {
    opacity: 0;
    -webkit-transition: opacity 2s !important;
    -moz-transition: opacity 2s !important;
    -o-transition: opacity 2s !important;
    transition: opacity 2s !important;
}

/*	2.5 Splash Image / Splash Page
-------------------------------------------------------------- */
.splash-wrapper {
    z-index: 5;
}

.splash-page {
    display: none;
}

/*	2.6 Animation Text Position presets
-------------------------------------------------------------- */
.right-bottom, .bottom-right {
    right: 2%;
    bottom: 7%;
    vertical-align: bottom;
}

.right-top, .top-right {
    right: 2%;
    top: 7%;
    vertical-align: top;
}

.right-center, .center-right {
    right: 2%;
    vertical-align: middle;
}

.left-top, .top-left {
    left: 2%;
    top: 7%;
    vertical-align: top;
}

.left-bottom, .bottom-left {
    left: 2%;
    bottom: 7%;
    vertical-align: bottom;
}

.left-center, .center-left {
    left: 2%;
    vertical-align: middle;
}

.center-top, .top-center {
    top: 7%;
    vertical-align: top;
}

.center-bottom, .bottom-center {
    bottom: 7%;
    vertical-align: bottom;
}

.place-left {
    top: 0;
    left: 0;
    right: auto !important;
    text-align: left;
}

.place-right {
    top: 0;
    right: 0;
    left: auto !important;
    text-align: right;
}

.place-center {
    top: 0;
    left: 0 !important;
    right: 0 !important;
    margin-left: auto !important;
    margin-right: auto !important;
    text-align: center;
}

/*	2.7 Player Controls
-------------------------------------------------------------- */
.pl-wrapper {
    position: absolute;
    z-index: 1;
    left: 0;
    bottom: 0;
    width: 100%;
    height: 13%;
}

.pl-controls {
    position: relative;
    width: 94%;
    height: 100%;
    margin: 0 auto;
    text-align: right;
}

.pl-controls:before {
    content: '';
    display: inline-block;
    height: 100%;
    margin-right: -0.25em;
    vertical-align: middle;
}

.pl-controls ul {
    display: inline-block;
    margin: 0 !important;
    list-style: none;
}

.pl-controls li {
    display: inline-block;
    margin-right: 8px;
}

.pl-controls li:last-child {
    margin-right: 0px;
}

.pl-controls a {
    position: relative;
    opacity: 0.6;
    padding: 0px 4px;
    color: #FFF;
    font-size: 12px;
    letter-spacing: 1px;
    text-decoration: none;
    cursor: pointer;
}

.pl-controls a:hover {
    opacity: 1;
}

.pl-controls a.strike {
    text-decoration: line-through !important;
}

.pl-controls .highlight {
    -webkit-animation-name: greenPulse;
    animation-name: greenPulse;
    -webkit-animation-duration: 2s;
    animation-duration: 2s;
    -webkit-animation-iteration-count: infinite;
    animation-iteration-count: infinite;
    padding: 0px 8px;
    border-radius: 4px;
}

/* @-webkit-keyframes greenPulse {
    from { background-color: #749a02; -webkit-box-shadow: 0 0 9px #333; }
    50% { background-color: #91bd09; -webkit-box-shadow: 0 0 18px #91bd09; }
    to { background-color: #749a02; -webkit-box-shadow: 0 0 9px #333; }
}
@keyframes greenPulse {
    from { background-color: #749a02; -webkit-box-shadow: 0 0 9px #333; }
    50% { background-color: #91bd09; -webkit-box-shadow: 0 0 18px #91bd09; }
    to { background-color: #749a02; -webkit-box-shadow: 0 0 9px #333; }
} */
 @-webkit-keyframes greenPulse {
    from { background-color: #06A6A6; -webkit-box-shadow: 0 0 9px #333; }
    50% { background-color: #06A6A6; -webkit-box-shadow: 0 0 18px #06A6A6; }
    to { background-color: #06A6A6; -webkit-box-shadow: 0 0 9px #333; }
}
@keyframes greenPulse {
    from { background-color: #06A6A6; -webkit-box-shadow: 0 0 9px #333; }
    50% { background-color: #06A6A6; -webkit-box-shadow: 0 0 18px #06A6A6; }
    to { background-color: #06A6A6; -webkit-box-shadow: 0 0 9px #333; }
}

/*	2.8 Preloader Styles
-------------------------------------------------------------- */
.build-details {
    position: fixed;
    z-index: 10;
    bottom: 0px;
    right: 0px;
    opacity: 1;
    padding: 8px 12px 5px 15px;
    border-top-left-radius: 5px;
    background: none #2B3242 !important;
    color: #fff !important;
    font-size: 8px;
    letter-spacing: 1px;
    text-transform: uppercase;
}

.build-details span {
    display: inline-block;
    padding-left: 3px;
    font-size: 11px;
    font-weight: 600;
    letter-spacing: normal;
    vertical-align: baseline;
}

.loader-container {
    position: absolute;
    z-index: 6;
    top: 0;
    left: 0;
    overflow: hidden;
    width: 100%;
    height: 100%;
    background: none #000;
}

.loader-ie9 .loader-container .abs-center > div:after {
    content: 'LOADING';
    display: block;
    position: absolute;
    top: 100%;
    left: 50%;
    -ms-transform: translateX(-50%); /* IE 9 */
    -webkit-transform: translateX(-50%); /* Safari */
    -moz-transform: translateX(-50%); /* Firefox Older versions*/
    -o-transform: translateX(-50%); /* Opera */
    transform: translateX(-50%);
}

/* Double Bounce */
.sk-double-bounce {
    position: relative;
    width: 40px;
    height: 40px;
    margin: 0px auto;
}
.sk-double-bounce .sk-child {
    position: absolute;
    top: 0;
    left: 0;
    opacity: 0.6;
    width: 100%;
    height: 100%;
    border-radius: 50%;
    background-color: #333;
    -webkit-animation: sk-doubleBounce 2s infinite ease-in-out;
    animation: sk-doubleBounce 2s infinite ease-in-out;
}
.sk-double-bounce .sk-double-bounce2 {
    -webkit-animation-delay: -1.0s;
    animation-delay: -1.0s;
}

@-webkit-keyframes sk-doubleBounce {
    0%, 100% {
        -webkit-transform: scale(0);
        transform: scale(0);
    }
    50% {
        -webkit-transform: scale(1);
        transform: scale(1);
    }
}

@keyframes sk-doubleBounce {
    0%, 100% {
        -webkit-transform: scale(0);
        transform: scale(0);
    }
    50% {
        -webkit-transform: scale(1);
        transform: scale(1);
    }
}

.sound-info {
    position: absolute;
    left: 0;
    bottom: 18px;
    display: none;
    width: 100%;
    font-weight: 300;
    font-size: 12px;
    line-height: 18px;
}

.sound-info p {
    padding: 18px 0px;
}

/*	2.9 Animation Summary Box
-------------------------------------------------------------- */
#summary-handle, #summary-container {
    display: none;
    -webkit-transition: left 0.4s;
    -moz-transition: left 0.4s;
    -o-transition: left 0.4s;
    transition: left 0.4s;
}

#summary-handle {
    position: fixed;
    z-index: 999;
    top: 200px;
    width:40px;
    height: 40px;
    border: 1px solid #f1f1f1;
    -webkit-border-radius: 0px 3px 3px 0px;
    -moz-border-radius: 0px 3px 3px 0px;
    border-radius:  0px 3px 3px 0px;
    background: none #fff;
    line-height:40px;
    text-align:center;
    cursor: pointer;
}

#summary-handle {
    left: -5px;
}

#summary-handle.active {
    left:220px;
}

#summary-handle i {
    display: block;
    width: 40px;
    height: 40px;
    color: #60d8ff;
    font-size: 1.25em;
    line-height: 40px;
}

#summary-container {
    position: fixed;
    z-index: 998;
    top: 160px;
    width: 220px;
    min-height: 200px;
    height: auto !important;
    height: 200px;
    border: 1px solid #f1f1f1;
    background: none #fff;
    color: #555;
    text-align: left;
    -webkit-border-radius: 0px 3px 3px 0px;
    -moz-border-radius: 0px 3px 3px 0px;
    border-radius:  0px 3px 3px 0px;
}

#summary-container {
    left:-225px;
}

#summary-handle.active + #summary-container {
    left: 0px;
}

#summary-container p {
    line-height: 1.5;
}

#summary-container .animation-name {
    text-decoration: underline;
}

#summary-container .details {
    padding: 10px;
    margin: 0 auto;
}

/*	2.10 Particles JS
-------------------------------------------------------------- */
#particles-js {
    position: absolute;
    z-index: 1;
    left: 0;
    top: 0;
    overflow: hidden;
    width: 100%;
    height: 100%;
}

/*	2.11 Pulsating play button
-------------------------------------------------------------- */
.video-play-button {
    z-index: 6;
    display: block;
    -webkit-box-sizing: content-box;
    -moz-box-sizing: content-box;
    box-sizing: content-box;
    width: 80px;
    height: 80px;
    -webkit-border-radius: 50%;
    -moz-border-radius: 50%;
    border-radius:  50%;
    text-align: center;
    cursor: pointer;
    -ms-transform: scale(0.65); /* IE 9 */
    -webkit-transform: scale(0.65); /* Safari */
    -moz-transform: scale(0.65); /* Firefox Older versions*/
    -o-transform: scale(0.65); /* Opera */
    transform: scale(0.65);
}

.video-play-button:before, .video-play-button:after {
    content: "";
    position: absolute;
    top: 50%;
    left: 50%;
    display: block;
    width: 80px;
    height: 80px;
    -webkit-border-radius: 50%;
    -moz-border-radius: 50%;
    border-radius:  50%;
    -ms-transform: translateX(-50%) translateY(-50%); /* IE 9 */
    -webkit-transform: translateX(-50%) translateY(-50%); /* Safari */
    -moz-transform: translateX(-50%) translateY(-50%); /* Firefox Older versions*/
    -o-transform: translateX(-50%) translateY(-50%); /* Opera */
    transform: translateX(-50%) translateY(-50%);
}

.video-play-button:before {
    z-index: 0;
    background: none #ba1f24;
    -webkit-animation: pulse-border 1500ms ease-out infinite;
    -moz-animation: pulse-border 1500ms ease-out infinite;
    -o-animation: pulse-border 1500ms ease-out infinite;
    animation: pulse-border 1500ms ease-out infinite;
}

.video-play-button:after {
    z-index: 1;
    background: none #fa183d;
    -webkit-transition: all 200ms;
    -moz-transition: all 200ms;
    -o-transition: all 200ms;
    transition: all 200ms;
}

.video-play-button:hover:after {
    opacity: 0.8;
}

.video-play-button span {
    position: relative;
    z-index: 3;
    top: 50%;
    display: block;
    color: #fff;
    font-size: 22px;
    font-weight: 600;
    text-align: center;
    -ms-transform: translateY(-50%); /* IE 9 */
    -webkit-transform: translateY(-50%); /* Safari */
    -moz-transform: translateY(-50%); /* Firefox Older versions*/
    -o-transform: translateY(-50%); /* Opera */
    transform: translateY(-50%);
}

@-webkit-keyframes pulse-border {
    0% {
        opacity: 1;
        -webkit-transform: translateX(-50%) translateY(-50%) translateZ(0) scale(1);
    }
    100% {
        opacity: 0;
        -webkit-transform: translateX(-50%) translateY(-50%) translateZ(0) scale(1.5);
    }
}

@-moz-keyframes pulse-border {
    0% {
        opacity: 1;
        -moz-transform: translateX(-50%) translateY(-50%) translateZ(0) scale(1);
    }
    100% {
        opacity: 0;
        -moz-transform: translateX(-50%) translateY(-50%) translateZ(0) scale(1.5);
    }
}

@-o-keyframes pulse-border {
    0% {
        opacity: 1;
        -o-transform: translateX(-50%) translateY(-50%) translateZ(0) scale(1);
    }
    100% {
        opacity: 0;
        -o-transform: translateX(-50%) translateY(-50%) translateZ(0) scale(1.5);
    }
}

@keyframes pulse-border {
    0% {
        opacity: 1;
        transform: translateX(-50%) translateY(-50%) translateZ(0) scale(1);
    }
    100% {
        opacity: 0;
        transform: translateX(-50%) translateY(-50%) translateZ(0) scale(1.5);
    }
}

/*	2.12 LetterBoxing
-------------------------------------------------------------- */
.lbox-top, .lbox-bottom {
    position: absolute;
    z-index: 3;
    left: 0;
    top: 0;
    width: 100%;
    height: 13%;
    background: none #000;
}

.lbox-bottom {
    top: auto;
    bottom: 0;
}

/*	2.13 Revealer
-------------------------------------------------------------- */
.revealer {
    position: absolute;
    z-index: 4;
    left: 0;
    top: 0;
    width: 100%;
    height: 100%;
    background: none #06A6A6;
    -ms-transform: translateX(-100%); /* IE 9 */
    -webkit-transform: translateX(-100%); /* Safari */
    -moz-transform: translateX(-100%); /* Firefox Older versions*/
    -o-transform: translateX(-100%); /* Opera */
    transform: translateX(-100%);
}


/* ==================================================================
3.0 Text Placeholders Basic Styles
================================================================== */

/*	3.1 Main Text and Sub Text Styles and Positions(General)
-------------------------------------------------------------- */
.lt-main {
    font-size: 1.75em;
    font-weight: 100;
}

.lt-sub {
    position: relative;
    z-index: 1;
    padding: 4px;
    color: #000;
    font-size: 1.082em;
    font-weight: 300;
}

/*	3.2 BigText styles(General)
-------------------------------------------------------------- */
.bt-container {
    position: absolute;
    z-index: 1;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    opacity: 0.12;
}

.bt-wrapper {
    position: relative;
    width: 80%;
    height: 100%;
    margin: 0 auto;
}

.bt-container h1 {
    font-weight: 700;
    white-space: nowrap;
}

/*	3.3 Better animation performance on browsers(Especially firefox)
---------------------------------------------------------------------- */
.s-char {
    -webkit-backface-visibility: hidden;
    -moz-backface-visibility: hidden;
    backface-visibility: hidden;
    -webkit-perspective: 1000px;
    -moz-perspective: 1000px;
    perspective: 1000px;
    outline: 1px solid transparent;
}

svg#ffblur {
	position: absolute;
	left: 0;
	top: 0;
	width: 0;
	height: 0;
}

/* ==================================================================
4.0 Responsive
================================================================== */

/* 4.1 Small Devices, Tablets (≥768px)
-------------------------------------------------------------- */
@media only screen and (min-width : 768px) {
    .lt-main {
        font-size: 2.5em;
    }

    .lt-sub {
        font-size: 1.545em;
    }

    .video-play-button {
        -ms-transform: scale(0.75); /* IE 9 */
        -webkit-transform: scale(0.75); /* Safari */
        -moz-transform: scale(0.75); /* Firefox Older versions*/
        -o-transform: scale(0.75); /* Opera */
        transform: scale(0.75);
    }

    #summary-handle, #summary-container {
        display: block;
    }
}

/* 4.2 Medium Devices, Desktops (≥992px)
-------------------------------------------------------------- */
@media only screen and (min-width : 992px) {
    .lt-main {
        font-size: 3.125em;
    }

    .lt-sub {
        font-size: 1.931em;
    }
}

/* 4.3 Large Devices, Desktops (≥1200px)
-------------------------------------------------------------- */
@media only screen and (min-width : 1200px) {
    .lt-main {
        font-size: 4.25em;
    }

    .lt-sub {
        font-size: 2.627em;
    }

    .video-play-button {
        -ms-transform: scale(0.85); /* IE 9 */
        -webkit-transform: scale(0.85); /* Safari */
        -moz-transform: scale(0.85); /* Firefox Older versions*/
        -o-transform: scale(0.85); /* Opera */
        transform: scale(0.85);
    }

    .build-details {
        font-size: 10px;
    }

    .build-details span {
        font-size: 14px;
    }
}

/* 4.4 Wide Screens, Desktops (≥1824px)
-------------------------------------------------------------- */
@media only screen and (min-width : 1824px) {
    .lt-main {
        font-size: 5.25em;
    }

    .lt-sub {
        font-size: 3.245em;
    }

    .video-play-button {
        -ms-transform: scale(1); /* IE 9 */
        -webkit-transform: scale(1); /* Safari */
        -moz-transform: scale(1); /* Firefox Older versions*/
        -o-transform: scale(1); /* Opera */
        transform: scale(1);
    }
}
