@mixin translate($x: 0, $y: 0, $z: 0) {

-webkit-transform:translate3d($x, $y, $z);
-moz-transform:translate($x, $y);
-ms-transform:translate($x, $y);
-o-transform:translate($x, $y);
transform:translate3d($x, $y, $z);

}

@mixin transition($prop, $duration, $easing: ease-in-out, $delay: 0ms) {

-webkit-transition:$prop $duration $easing $delay;
-moz-transition:$prop $duration $easing $delay;
-ms-transition:$prop $duration $easing $delay;
-o-transition:$prop $duration $easing $delay;
transition:$prop $duration $easing $delay;

}

.csstransitions.csstransforms {

.deck-container .slide {
        @include transition(opacity, 500ms);
}

.deck-container:not(.deck-menu) {
        > .slide {
                position:absolute;
                top:0;
                left:0;
                -webkit-box-sizing: border-box;
                -moz-box-sizing: border-box;
                box-sizing: border-box;
                width:100%;
                padding:0 48px;

                .slide {
                        position:relative;
                        left:0;
                        top:0;
                        opacity:0;
                }

                .deck-before, .deck-previous {
                        opacity:0.4;
                }

                .deck-current {
                        opacity:1;
                }
        }

        > .deck-previous, > .deck-before, > .deck-next, > .deck-after {
                opacity:0;
                pointer-events:none;
        }

        > .deck-before, > .deck-previous {
                .slide {
                        visibility:visible;
                }
        }

        > .deck-child-current {
                opacity:1;
                visibility:visible;
                pointer-events:auto;

                .deck-next, .deck-after {
                        visibility:hidden;
                }
        }
}

}