:root {
    --offWhite: #EBEBEB;
    --mutedGold: #99916E;
    --heavyBronze: #463F32;
    --palaceRed: #381B1B;
}

html, body {
    margin: 0;
    padding: 0;
    font-size: 1vw;
    font-size: 1.9vh;
}

.banner {
    width: 100vw;
    height: 100vh;
    position: relative;
    color: #fff;
    overflow: hidden;
    cursor: pointer;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    -webkit-text-size-adjust: none;
    -webkit-tap-highlight-color: rgba(0,0,0,0);
    
    font-feature-settings: "kern";
}

.banner, .banner *, .banner:after, .banner:before {
    -webkit-box-sizing: border-box;
            box-sizing: border-box;
}

.bottom {
}

.tint,
.tint-g {
    position: absolute;
    width: 100%;
    height: 100%;
    top: 0; right: 0; bottom: 0; left: 0;
    background-color: rgba(0,0,0,0.35);
}

.tint-light {
    background-color: rgba(0,0,0,0.05);
}

.tint-g {
    background: linear-gradient(0deg, rgba(0,0,0,0.75) 0%, rgba(0,0,0,0) 40%, rgba(0,0,0,0) 60%, rgba(0,0,0,0.75) 100%);
}

.tint-bottom {
    position: absolute;
    width: 100%;
    left: 0;
    bottom: 0;
    height: 20em;
    background: linear-gradient(0deg, rgba(0,0,0,1) 0%, rgba(0,0,0,0) 100%);
}

.play {
    position: absolute;
    width: 100%;
    height: 100%;
    top: 0; right: 0; bottom: 0; left: 0;
}

.video {
    position: absolute;
    overflow: hidden;
    width: 100%;
    height: 100%;
    background-color: #000;
    background-image: url(blur.jpg);
    background-repeat: no-repeat;
    background-size: cover;
    background-position: 50% 50%;
    object-fit: cover;
    object-position: 50% 50%;
}

.box-vid {
    transition: opacity .5s ease;
}

.start {
    width: 100%;
    text-align: center;
    position: absolute;
    top: 46%;
    transform: translateY(-50%);
    padding: 0 5rem;

    padding-left: 6em;
    padding-right: 26em;

    top: calc(50% - 4em);

    padding-right: 6em;
    padding-left: 24em;
    padding-left: 26em;

    top: calc(50% - 5em);

    padding: 0;
    padding-right: 28em;
    padding-right: 33em;

    top: calc(50% + 2em);

    top: calc(50% - 2em);
}

.show-1 .start--- {
    z-index: 999;
}

.end {
    position: absolute;
    /* top: 3em;
    top: 7%;
    left: 50%;
    left: calc(50% - 2em);
    transform: translateX(-50%); */

    /* white-space: nowrap;

    left: calc(50% - 3em);
    top: calc(50% - 19.4em);
    transform: translate(-50%,-50%);
    z-index: 999; */

    position: absolute;
    white-space: nowrap;
    transform: translate(-50%,-50%);
    z-index: 999;
    bottom: -4.7em;
    left: 50%;

    transform: translateX(-50%);
    bottom: -1.9em;
}

.hero {
    font-size: 11.5em;
    font-size: 7.8em;
    line-height: 0.95;
}

.hero-l {
    font-size: 8.8em;
}

.wsnw {
    white-space: nowrap ;
}

.byline {
    font-size: 5em;
    font-size: 3.8em;
    line-height: 1;
    margin-top: .32em;
    transform: translateY(.4em);
    opacity: 0;
    color: #00208f;
}

@media (orientation: landscape) {
    .br-p {
        display: none;
    }
    .date-p {
        display: none;
    }
}

.cast {
    width: 36em;
    width: 52em;
    height: auto;
    max-width: 100%;
    margin-bottom: 4em;
    /* filter: drop-shadow(.1em .1em .16em #000); */
}

@media (orientation: landscape) {
    .cast-p {
        display: none;
    }
}

@media (orientation: portrait) {
    .cast-l {
        display: none;
    }
    .date-l {
        display: none;
    }
}

.c-wrap {
    font-size: 1.08em;
    font-size: .96em;
}

.logo {
    width: 60em;
    height: auto;
    max-width: 100%;

    width: 46em;

    width: 40em;

    /* filter: drop-shadow(.1em .1em .6em #000) */
}

.end .logo {
    width: 27em;
    vertical-align: middle;
}

.db-wrap {
    display: inline-block;
    vertical-align: middle;
    font-size: 90%;
}

.date {
    width: 28em;
    height: auto;
    max-width: 100%;
    /* margin: 2em 0 0 3em; */
    margin-top: 2.4em;
    /* filter: drop-shadow(.1em .1em .16em #000); */
}

.netflix {
    width: 33em;
    height: auto;
    margin-top: 14em;

    /* position: absolute;
    bottom: 5em;
    left: 50%;
    transform: translateX(-50%); */
}

.nf-wrap {
    position: relative;
    grid-area: 1 / 1 / 2 / 2;
}

.nf-b {
    width: 32em;
    height: auto;
    position: absolute;
    bottom: 0;
    left: 50%;
    transform: translateX(-50%)
}

@media (orientation: landscape) {
    /* .nf-b {
        bottom: 1em;
    } */
}

.animate .cast,
.animate .logo,
.animate .date,
.animate .netflix,
.animate .btn-wrap {
    transition: all .5s ease;
}

.cast,
.logo,
.date,
.netflix,
.btn-wrap {
    opacity: 0;
    transform: translateY(20%);
    transform: translateY(3em);
}

.start .logo {
    opacity: 0;
    transform: translateY(4em);
}

.show-2 .start .cast,
.show-2 .start .logo,
.show-2 .start .date,
.show-2 .start .netflix,
.show-2 .start .btn-wrap {
    opacity: 1;
    transform: translateY(0em);
}

.show-2 .start .logo {
    transition-delay: .1s;
}

.show-2 .start .date {
    transition-delay: .2s;
}

.show-2 .start .netflix {
    transition-delay: .3s;
}

.show-2 .start .btn-wrap {
    transition-delay: .3s;
}

/* .show-1 .start .date {
    transition-delay: .2s;
}

.show-1 .start .btn-wrap {
    transition-delay: .3s;
} */

.show-2 .end .logo,
.show-2 .end .date,
.show-2 .end .btn-wrap {
    opacity: 1;
    transform: translateY(0em);
}

.show-2 .end .logo {
    transition-delay: .2s;
}

.show-2 .end .date {
    transition-delay: .2s;
}

.show-2 .end .btn-wrap {
    transition-delay: .23s;
}

.btn-wrap {
    position: relative;
    display: inline-block;
    margin-top: 1.25em;
    /* filter: drop-shadow(.1em .1em .16em #000); */
}

.btn-wrap .line-top,
.btn-wrap .line-bottom {
    height: .125em;
}

.btn-wrap .line-right,
.btn-wrap .line-left {
    width: .125em;
}

.btn {
    padding: .7em 1.5em;
    width: 16em;
    width: 18em;
    height: auto;
    max-width: 100%;
    display: block;

    background-color: rgba(0,0,0,.15);
    /* filter: drop-shadow(.1em .1em .16em #000); */
}

.end .btn {
    display: block;
    background-color: #000;
}

.animate .btn {
    transition: all .15s ease;
}

.btn:hover {
    /* filter: brightness(1.1); */
}

.animate .logo {
    transition: all .33s ease;
}

.disc {
    position: absolute;
    right: 1em;
    bottom: 1em;
    opacity: .3;
    width: auto;
    height: .7em;
}

.grid {
    position: relative;
    display: grid;
    grid-template-columns: repeat(1, 1fr);
    grid-template-rows: 1fr;
    grid-column-gap: .6em;
    grid-row-gap: .6em;
    padding: 7.5em 4em 12em 4em;
    width: 100%;
    height: 100%;

    padding: 6em 4em 2em 4em;

    padding: 4em;

    padding: 2em 4em 6em 4em;
}

/* .grid::before {
    white-space: nowrap;
    font-size: 2.4em;
    content: "Våre nordiska dramafavoritter";
    position: absolute;
    z-index: 999;
    left: 50%;
    transform: translate(-50%, -1.8em);
    opacity: 0;
} */

.animate .grid::before {
    transition: all .25s ease;
}

.show-2 .grid::before,
.show-3 .grid::before {
    transition: all .4s ease .4s;
    opacity: 1;
}

.box {
    position: relative;
    cursor: pointer;

    width: calc(12em * 6);
    height: calc(5em * 6);

    width: calc(16em * 4.3);
    height: calc(9em * 4.3);

    width: calc(16em * 4.5);
    height: calc(8em * 4.5);

    width: calc(16em * 4);
    height: calc(9em * 4);

    /* position: absolute; */
    left: 50%;
    left: calc(50% - 2em);
    top: 50%;
    transform: translate(-50%,-50%);

    left: calc(50% + 7em);
    top:  calc(50% - 1em);;

    left: 50%;

    /* border: .2em solid #463F32;
    border: .2em solid #99916E;

    border: 4px solid #99916E; */
}

@media (orientation: portrait) {

    .box {
        border: .2em solid var(--mutedGold);
        /* border: 4px solid var(--mutedGold); */
    }

    .box::after {
        content: "";
        position: absolute;
        left: -2em;
        top: -2em;
        width: calc(100% + 4em);
        height: calc(100% + 4em);
        /* background-image: url(../assets/frame.png); */
        background-repeat: no-repeat;
        background-size: contain;
        background-position: 50% 50%;

        left: -.4em;
        top: -.4em;
        width: calc(100% + .4em);
        height: calc(100% + .4em);

        left: -.2em;
        top: -.2em;
        width: calc(100% + .2em);
        height: calc(100% + .2em);
        border: .1em solid var(--heavyBronze);

        /* left: -4px;
        top: -4px;
        width: calc(100% + 4px);
        height: calc(100% + 4px);
        border: 2px solid #463F32; */

        pointer-events: none;
    }

    .line {
        display: none !important;
    }
}

.line {
    position: absolute;
    overflow: hidden;
    /* background-image: url(frame-h.jpg);
    background-position: 50% 50%;
    background-size: cover;
    background-repeat: no-repeat; */

    background-color: var(--mutedGold);
    border-width: 2px;
    border-color: #463F32;
    border: none !important;

    will-change: auto;
}

.line-right,
.line-left {
    /* background-image: url(frame-v.jpg); */
}

/* .line:after {
    left: 0;
    top: 0;
    content: "";
    position: absolute;
    width: 100%;
    height: 100%;
    background-image: url(frame-h.jpg);
    background-position: 50% 50%;
    background-size: cover;
    background-repeat: no-repeat; */

    /* background-size: contain;
    background-repeat: repeat;
} */

/* .line-right:after {
    left: calc(-100vw + 1.6em);
}

.line-bottom:after {
    top: calc(-100vh + 1.6em);
} */

.line-top,
.line-bottom {
    left: 0;
    width: 100%;
    height: .2em;
    height: .15em;

    height: 4px;
    height: .2em;
}

.line-right,
.line-left {
    top: 0;
    width: .2em;
    width: .15em;
    height: 100%;

    width: 4px;
    width: .2em;
}

.line-top {
    top: 0;

    border-top-style: solid;
}

.line-bottom {
    bottom: -1px;

    border-bottom-style: solid;
}

.line-right {
    right: 0;

    border-right-style: solid;
}

.line-left {
    left: 0;

    border-left-style: solid;
}

.line::after {
    content: "";
    position: absolute;
    background-color: var(--heavyBronze);
    z-index: 999;
    will-change: auto;
}

.line-top::after,
.line-bottom::after {
    left: 0;
    width: 100%;
    height: 2px;

    height: .1em;
}

.line-right::after,
.line-left::after {
    top: 0;
    height: 100%;
    width: 2px;

    width: .1em;
}

.line-top::after {
    top: 0;
}

.line-bottom::after {
    bottom: 0;
}

.line-right::after {
    right: 0;
}

.line-left::after {
    left: 0;
}

.play::before {
    content: "";
    position: absolute;
    top: 48%;
    left: 50%;
    transform: translate(-50%,-50%);
    background-image: url(play.png);
    background-repeat: no-repeat;
    background-size: contain;
    z-index: 1;
    opacity: 0;
    transition: all .25s ease;
    width: 4.2em;
    height: 4.2em;
    /* filter: drop-shadow(0.4em 0.6em 1em rgba(0,0,0,0.8)); */
}

.close {
    /* background-image: url(close.png); */
    background-repeat: no-repeat;
    background-size: contain;
    z-index: 1;
    transition: all .25s ease;
    width: 2.2em;
    height: 2.2em;

    position: absolute;
    right: 2em;
    top: 2em;
    z-index: 1;
}

.close::before {
    content: "";
    position: absolute;
    left: -100vw;
    top: -100vh;
    width: 200vw;
    height: 200vh;
    z-index: -1;
}

/* .close:hover {
    transform: translate(-50%,-50%) scale(1.1);
}

.close:active {
    transform: translate(-50%,-50%) scale(1.2);
} */

@media (orientation: landscape) {

    /* .play::before {
        opacity: .85;
    }

    .box:hover .play::before {
        opacity: 1;
    }

    .bv-show .play::before,
    .bv-show:hover .play::before {
        opacity: 0;
    }

    .bv-pause:hover .play::before {
        opacity: 1;
    } */

    .box:hover .play::before {
        opacity: 1;
    }

}

.play:hover::before {
    transform: translate(-50%,-50%) scale(1.1);
}

.play:active::before {
    transform: translate(-50%,-50%) scale(1.2);
}

@media (orientation: portrait) {

    .play::before {
        opacity: 1;
    }

    /* .play::before {
        opacity: 1;
    }

    .bv-show .play::before {
        opacity: 0;
    }

    .bv-pause .play::before {
        opacity: 1;
    } */
}

.indy {
    top: 0;
    right: -12em;
    left: -5em;
    position: absolute;
    width: 40em;
    height: auto;

    height: 100%;
    width: auto;
    pointer-events: none;

    width: 50em;
    object-fit: cover;
    object-fit: contain;
    width: 44em;
    object-position: left bottom;
}

.animate .indy {
    transition: all .7s ease;
}

.show-2 .indy {
    left: -10em;
}

.box-copy {
    font-size: 1.6em;
    line-height: 1;
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    text-align: center;
    padding: 3rem 2rem;
}

.box-footer {
    position: absolute;
    left: 0;
    bottom: 2em;
    text-align: center;
    width: 100%;
}

.original {
    font-family: "g";
    font-weight: 500;
    margin-bottom: 1em;
    font-size: .9em;
}

.box-btn {
    font-family: "g";
    font-weight: 600;
    border: 2px solid #fff;
    background-color: rgba(0,0,0,.2);
    color: #fff;
    padding: .5em 2em;
    padding: .45em 2em .55em 2em;
    border-radius: 2em;
    display: inline-block;
    transition: all .2s ease;
}

.box-btn:hover {
    background-color: #fff;
    color: #000;
}

.box-bg {
    width: 100%;
    height: 100%;
    position: absolute;
    top: 0;
    left: 0;
    background-repeat: no-repeat;
    background-size: cover;
    background-position: 50% 50%;

    transition: all .33s ease;

    -webkit-backface-visibility: hidden;
    -moz-backface-visibility: hidden;
    -webkit-transform: translate3d(0, 0, 0);
    -moz-transform: translate3d(0, 0, 0)
}

.box-bg-1 {
    background-image: url(bg-1.jpg);
}

.box-bg-2 {
    background-image: url(bg-3.jpg);
}

.box-bg-3 {
    background-image: url(bg-2.jpg);
    background-position: 15% 50%;
}

.box-bg-4 {
    background-image: url(bg-4.jpg);
    background-position: 35% 50%;
}

.box:hover .box-bg {
    transform: scale(1.12);
}

/* .bv-show.box:hover .box-bg {
    transform: none;
} */

.bv-show .box-bg {
    opacity: 0;
}
    
.box-1 { grid-area: 1 / 1 / 2 / 2; }
.box-2 { grid-area: 1 / 2 / 2 / 3; }
.box-3 { grid-area: 1 / 3 / 2 / 4; }
.box-4 { grid-area: 1 / 4 / 2 / 5; }

.heart {
    position: absolute;
    top: .8em;
    right: .8em;
    width: 1.8em;
    height: auto;
}

.box-logo {
    width: 100%;
    height: auto;
    max-height: 1.6rem;
    object-fit: contain;
    object-position: 50% 50%;
    margin-bottom: 1.5rem;
    padding: 0 2rem;
}

.box-logo-1 {
    margin-bottom: 1.7rem;
}

.box-logo-2 {
    max-height: 2.2rem;
    padding: 0 4rem;
}

.box-logo-3 {
    max-height: 1.8rem;
    margin-bottom: 1.7rem;
    padding: 0 2.5rem;
}

.box-logo-4 {
    max-height: 3rem;
    margin-bottom: 1.3rem;
    padding: 0 3rem;
}

.exit {
    position: absolute;
    left: 0; top: 0; right: 0; bottom: 0;
    width: 100%;
    height: 100%;
}

/********/

.box {
    transform-origin: center;
    transform: translateY(35%);
    transform: translate(-50%,35%);
    transform: translate(-50%,-5%);
    opacity: 0
}

.animate .box {
    transition: all .5s ease;
}

.show-1 .box,
.show-3-- .box {
    transform: translateY(0%);
    transform: translate(-50%,-50%);
    opacity: 1
}

.show-2 .box-1 {
    transition-delay: .1s
}

.show-2 .box-3 {
    transition-delay: .15s
}

.show-2 .box-4 {
    transition-delay: .3s
}

/* .grid,
.grid::before,
.footer {
    pointer-events: none;
}

.show-2 .grid,
.show-3 .grid {
    pointer-events: auto;
} */

.overlay {
    position: absolute;
    /* left: 0; top: 0; right: 0; bottom: 0;
    width: 100%; height: 100%; */
    /* top: 50%;
    left: 50%;
    transform: translate(-50%,-50%);
    width: 100%;
    height: auto; */
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    display: flex;
    justify-content: center;
    align-items: center;  
    pointer-events: none;
    opacity: 0;
    z-index: 999;

    background-color: rgba(0,0,0,.75);
}

.animate .overlay {
    transition: opacity .5s ease;
}

.o-video {
    position: relative;
    /* max-width: 1024px;
    height: auto; */

    width: auto;
    height: 100%;
    height: calc(100% - 8em);
    height: calc(100% - 10em);
    background-image: none;
    z-index: 999;
}

.reveal {
    opacity: 1;
    pointer-events: auto;
}

@media (orientation: portrait) {
    html, body {
        font-size: 2vw;
    }
    .video {
        /* background-image: url(blur-p.jpg); */
    }
    .start {
        top: 28%;
        top: calc(50% - 23em);
        padding: 0 5rem;
        padding-left: 4rem;
        padding-right: 6rem;

        padding: 0 7rem;

        top: calc(50% - 28em);

        padding: 0;
    }
    .logo-h {
        transform: translate(-50%,-95%) scale(1.25);
    }
    .hero {
        /* font-size: 10em; */
    }
    .byline {
        margin-top: .5em;
        /* font-size: 4.5em; */
        font-size: 4.25em;
    }
    .br-l {
        display: none;
    }
    .grid {
        display: grid;
        /* grid-template-columns: repeat(2, 1fr);
        grid-template-rows: repeat(2, 1fr); */
        padding: 8em 2em 16em 2em;

        padding: 5em 2em 12em 2em;
    }
    .box, .nf-wrap {
        font-size: 1.3em;
        font-size: 1.4em;
    }
    .box-copy {
        padding: 3rem 3.5rem;
    }
    .footer {
        padding: 3.5em 2em 7em 2em;
    }
    .play::before,
    .play::after {
        top: 46% !important;
    }
    .box, .nf-wrap {
        left: 50%;
        width: calc(7em * 4);
        height: calc(9em * 4);
        width: calc(3em * 10);
        height: calc(4em * 10);

        left: calc(50% + 2.6em);
        width: calc(3em * 9.4);
        height: calc(4em * 9.4);
        top: calc(50% + 0em);

        left: calc(50% + 2.9em);
        width: calc(3em * 9.5);
        height: calc(4em * 9.5);

        width: calc(9em * 3.16);
        height: calc(14em * 3.16);
        top: calc(50% - 1.5em);

        width: calc(9em * 3);
        height: calc(15.8em * 3);

        left: 50%;
    }
    .nf-wrap {
        position: relative;
        transform: translate(-50%,-50%);
        top: calc(50% + 4em);
    }
    .nf-b {
        width: 26em;
    }
    .box----::after {
        /* background-image: url(../assets/frame-p.png); */
        left: -1.5em;
        top: -1.5em;
        width: calc(100% + 3em);
        height: calc(100% + 3em);
    }
    .indy {
        /* right: -16em; */
        right: calc(50% - 1em);
        transform: translateX(50%);
        width: 48em;

        transform: translateX(-50%);
        left: calc(50% - 1em);

        /* transform: translate(-50%,4em); */
    }
    .animate .indy {
        transition: all 1s ease;
    }
    .show-2 .indy {
        right: calc(50% - 19em);

        left: calc(50% - 20em);

        /* transform: translate(-50%,0em); */
    }
    .start .date {
        /* margin: 3em 0 0 4em; */
    }
    /* .end {
        left: 50%;
        top: calc(50% - 34em);

        top: calc(50% - 2.6em);
        z-index: 999;
        white-space: normal;
        pointer-events: none;

        max-width: 34em;
    } */
    .end {
        left: initial;
        transform: none;
        bottom: -1.9em;
        bottom: -5em;
        right: 1.5em;
        right: 0;
        width: 14em;
    }
    .db-wrap {
        margin-top: 55em;
        font-size: 100%;
        position: relative;
        left: -5em;
        left: -2.5em;
    }
    .end .logo {
        width: 32em;
        max-width: none;
    }
    .end .date {
        margin: 0;
    }
    /* .end .btn {
        margin-top: 1em;
        width: 18em;
    } */
    .sand-1 {
        left: -8em;
        /* transform: translateY(0em); */
    }
    .show-2 .sand-1 {
        transform: translateY(-5em);
    }
    .sand-2 {
        right: -8em;
        /* top: -4em; */
        /* transform: translateY(0em); */
    }
    .disc {
        height: .85em;
        opacity: .4;
    }
    .o-video {
        width: calc(100% - 0em);
        height: auto;
        height: 34em;
        object-fit: cover;
    }
    .close {
        font-size: 1.4em;
    }

    .logo,
    .date {
        filter: drop-shadow(.2em .2em 1em rgba(60,30,20,.75))
    }

    .date {
        width: 30em;
        filter: drop-shadow(.2em .2em .5em rgba(60,30,20,.75))
    }

    /* .date {
        filter: drop-shadow(.2em .2em .22em #000);
    }
    .btn-wrap {
        filter: drop-shadow(.2em .2em .22em #000);
    } */
    .cast {
        padding: 0 2em;
    }
}

@media (orientation: portrait) and (max-height: 700px) {
    .indy {
        transform: translate(50%,4em);

        transform: translate(-50%,4em);
    }
}

/* @media (orientation: portrait) and (min-aspect-ratio: 5/8) {
    html, body {
        font-size: 1.3vw;
        font-size: 1.6vw;
    }
    .start {
        padding: 0 4rem;
    }
    .play::before,
    .play::after {
        top: 38%;
    }
}

@media (orientation: portrait) and (min-aspect-ratio: 5/6) {
    html, body {
        font-size: 1.3vw;
    }
}

@media (min-aspect-ratio: 1/1) and (max-aspect-ratio: 10/7) {
    html, body {
        font-size: 1.4vw;
        font-size: 1.3vw;
    }
} */

@media (orientation: portrait) and (min-aspect-ratio: 5/8) {
    html, body {
        font-size: 1.3vw;
        font-size: 1.6vw;
        font-size: 1.3vw;
    }
}

@media (orientation: portrait) and (min-aspect-ratio: 5/6) {
    html, body {
        font-size: 1.3vw;
        font-size: 1.1vw;
    }
    /* .bottom {
        background-color: red;
    } */
}

@media (min-aspect-ratio: 1/1) and (max-aspect-ratio: 10/6) {
    html, body {
        font-size: 1.7vh;
    }
    /* .bottom {
        background-color: green;
    } */
}

@media (min-aspect-ratio: 1/1) and (max-aspect-ratio: 10/7) {
    html, body {
        font-size: 1.2vw;
    }
    /* .bottom {
        background-color: pink;
    } */

    .o-video {
        width: calc(100% - 4em);
        height: auto;
    }
}


.play {
    display: none;
}

.madbtn {
    position: absolute;
    box-sizing: border-box;
    border-radius: 50%;
    cursor: pointer;
    width: 2em;
    height: 2em;
    max-width: 60px;
    max-height: 60px;
    bottom: 2rem;
    right: 2rem;
    background-color: rgba(0,0,0,.4);
    transition: opacity .1s ease;
    z-index: 9999;
}

.madbtn-sound:after,
.madbtn-replay:after {
    content: "";
    position: absolute;
    top: -50%;
    left: -50%;
    width: 200%;
    height: 200%;
}

.madbtn-icon {
    width: 40%;
    height: auto;
    position: absolute;
    top: 50%;
    left: 50%;
    -webkit-transform: translate(-50%,-50%);
    transform: translate(-50%,-50%);
    fill: #fff;
}

.madbtn-play {
    display: none;
    width: 5em;
    height: 5em;
    top: 50%;
    left: 50%;
    -webkit-transform: translate(-50%,-50%);
    transform: translate(-50%,-50%);
}

.madbtn-replay {
    display: none;
}

.madbtn-sound-on {
    background-color: #fff;
}

.madbtn-sound-on .madbtn-sound-icon {
    fill: #000;
}

@media (orientation: landscape) {
    .madbtn {
        font-size: .92em;
    }   
}

@media (orientation: portrait) {
    .madbtn {
        font-size: 1.12m;
    }   
}

.show-2 .box {
    pointer-events: none;
}