.slide-mosaic{
    padding-bottom: 48px;
}

.controller.theme-dark {
    background-color: #151517;
}

@media screen and (max-width: 767px) {
    .slide-mosaic.controller {
        padding-bottom: 2%;
    }
}

.slide-mosaic {
    box-sizing: border-box;
    position: relative;
}

.slide-mosaic .left,
.slide-mosaic .right {
    width: calc(49.34%);
    position: relative;
}

.slide-mosaic .left {
    margin-right: 1.32%;
    margin-top: 96px;
}

div.slide-mosaic__panel {
    position: relative;
    box-sizing: border-box;
    margin-bottom: 2.6%;
}


/* obsolete: explicit .left and .right classes rather than :nth-child, to simplify parallax JS */

.slide-mosaic::after {
    content: '';
    display: block;
    clear: both;
    /* clears panel floats */
}

.slide-mosaic__panel .m-ambient-video::after,
.slide-mosaic__panel picture::after {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    height: 100%;
    width: 100%;
    background-color: transparent;
    border: 2px solid #ccc;
    opacity: .3;
}


/*
.tech.slide-mosaic .slide-mosaic__panel .m-ambient-video::after,
.tech.slide-mosaic .slide-mosaic__panel picture::after {
    border: 2px solid #444;
    opacity: 1;
}
*/

.tech.slide-mosaic .slide-mosaic__panel::after,
.tech.slide-mosaic .slide-mosaic__panel::after {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    height: 100%;
    width: 100%;
    background-color: transparent;
    border: 2px solid #444;
    opacity: 1;
}

.slide-mosaic__panel button {
    z-index: 4;
}

.slide-mosaic__panel div.m-ambient-video {
    padding-top: 0 !important;
}


/* aspect ratio control fix */

.tech div.slide-mosaic__panel {
    overflow: hidden;
}

.tech div.slide-mosaic__panel:before {
    content: "";
    position: relative;
    display: block;
    width: 100%;
    height: 0;
    padding-bottom: calc(85% + 240px);
    background-color: #151517;
}

@media screen and (max-width: 1083px) {
    .tech div.slide-mosaic__panel:before {
        padding-bottom: calc(90% + 240px);
    }
}

@media screen and (max-width: 767px) {
    .tech div.slide-mosaic__panel:before {
        padding-bottom: 122%;
    }
}

@media screen and (max-width: 539px) {
    .tech div.slide-mosaic__panel:before {
        padding-bottom: calc(90% + 240px);
    }
}

.slide-mosaic img {
    max-width: 100%;
    width: 100%;
}

.tech.slide-mosaic .m-ambient-video,
.tech.slide-mosaic img {
    position: absolute;
 top: 2px;
 left: 2px;
 transform: none;
 width: calc(100% - 4px);
}


/* end aspect ratio control */

.slide-mosaic__panel.right {
    margin-right: 0;
    background-color: #999;
}

.slide-mosaic.activate .slide-mosaic__panel.left {
    transform: translateY(-200px);
}

.slide-mosaic__text {
    position: absolute;
    left: 4.9%;
    bottom: 5.5%;
    width: 90%;
    max-width: 480px;
    z-index: 5;
}

@media screen and (max-width: 767px) {
    .slide-mosaic>div {
        max-width: 673px;
        margin: 0 auto;
        float: none;
    }
    div.slide-mosaic .left,
    div.slide-mosaic .right {
        float: none;
        max-width: 673px;
        width: 100%;
    }
    div.slide-mosaic .left {
        top: 0;
        /* percentages don't work */
    }
    div.slide-mosaic::after {
        display: none;
    }
}

.tech.slide-mosaic .m-ambient-video.pp-button>div {
    position: absolute;
    top: 24px;
}

.tech.slide-mosaic .m-ambient-video.pp-button>div button {
    top: 0;
}

.tech .slide-mosaic__panel .m-ambient-video::after {
    border: 0;
}
/*
@media screen and (min-width: 1084px) {
    .slide-mosaic.tech {
        top: 33vw;
        padding-bottom: 36vw;
    }
}
*/
@media screen and (min-width: 768px) {
.slide-mosaic.tech {
 padding-top: 120px;
}
}
@media screen and (max-width: 767px) {
    .slide-mosaic .m-ambient-video {
        min-width: 0 !important;
    }
}

.slide-mosaic .pp-button>video+div {
    position: absolute;
    top: auto;
    left: 24px;
    bottom: 24px;
}

.slide-mosaic .pp-button>video+div button:before,
.slide-mosaic .pp-button>video+div button {
    top: 0;
    left: 0;
    right: auto;
    bottom: auto;
    margin-left: 0;
    min-height: 0;
}

.slide-mosaic .pp-button>video+div button,
.slide-mosaic .pp-button>video+div button:hover,
.slide-mosaic .pp-button>video+div button:focus {
 background-color: transparent;
}

.slide-mosaic .pp-button>video+div button:focus {
 border: 0;
 outline: 1px dashed #fff;
}

