.scroller {
	margin-top: 3em;
	overflow: hidden;
}

.section {
	padding-bottom: 15em;
}

/* Clear floats of children */
.sliding:before,
.sliding:after {
	content: " ";
	display: table;
}

.sliding:after {
	clear: both;
}

/* Sides */
.side {
	width: 50%;
	margin: 0;
	padding: 3em 5%;
	overflow: hidden;
	min-height: 12em;
	-webkit-transition: -webkit-transform 0.5s, opacity 0.5s;
	-moz-transition: -moz-transform 0.5s, opacity 0.5s;
    -ms-transition: transform 0.5s, opacity 0.5s;
	-o-transition: transform 0.5s, opacity 0.5s;
    transition: transform 0.5s, opacity 0.5s;
}

article.side-right {
    float: right;
}
article.side-left {
    float: left;
}

figure.side-left {
    float: left;
}

figure.side-right {
    float: right;
}
figure.marg-s {
    margin-top: 10px;
}

figure.marg-m {
    margin-top: 20px;
}

figure.marg-l {
    margin-top: 40px;
}

.appear {
	-webkit-transition: -webkit-opacity 2s;
	-moz-transition: -moz-opacity 2s;
    -ms-transition: opacity 2s;
	-o-transition: opacity 2s;
    transition: opacity 2s;
}
/* Clear floats of children */
.side:before,
.side:after {
	content: " ";
	display: table;
}

.side:after, {
	clear: both;
}

.side-right {
	text-align: left;
}

.side-left {
	text-align: right;
}

.side-right img {
	float: left;
}

.side-left img {
	float: right;
}

/* Initial state (hidden or anything else) */
.init .side,
.init .appear {
	opacity: 0;
}

.init .side-left {
	-webkit-transform: translateX(-80px);
	-moz-transform: translateX(-80px);
    -ms-transform: translateX(-80px);
   	-o-transform: translateX(-80px);
	transform: translateX(-80px);
}

.init .side-right {
	-webkit-transform: translateX(80px);
	-moz-transform: translateX(80px);
	-ms-transform: translateX(80px);
	-o-transform: translateX(80px);
	transform: translateX(80px);
}

/* Animated state */
/* add you final states (transition) or your effects (animations) for each side */
.sliding.animate .side-left,
.sliding.animate .side-right,
.sliding.animate .appear {
	-webkit-transform: translateX(0px);
	-moz-transform: translateX(0px);
    -ms-transform: translateX(0px);
    -o-transform: translateX(0px);
    transform: translateX(0px);
	opacity: 1;
}

/* Add a delay for the right side: */
.sliding.animate .side-right {
	-webkit-transition-delay: 0.2s;
	-moz-transition-delay: 0.2s;
	-ms-transition-delay: 0.2s;
	-o-transition-delay: 0.2s;
	transition-delay: 0.2s;
}

/* Example media queries */

@media screen and (max-width: 73.5em) {

	.side img {
		max-width: 120%;
	}
}

@media screen and (max-width: 41.125em) {
	.side {
		float: none;
		width: 100%;
	}

	.side img {
		max-width: 100%;
	}

figure.side-left, figure.side-right {
    margin-top: -100px;
    }
}