*, *:before, *:after {
   -moz-box-sizing: border-box; -webkit-box-sizing: border-box; box-sizing: border-box;
}
html, body, div, h1, ul, li, p, img {
	margin:0;
	padding:0;
	line-height: 1;
}
html {
	font-size: 13px;
}
h1, p {
	font-size: 1.2em;
	line-height: 1.2;
	margin-bottom: 0.5em;
}
hr {
	margin: 2em 0;
}
/* JS helper classes */
.hidden {
	display: none!important;
}

.carousel {
	position: relative;
}
.js .carousel {
	overflow: hidden;
	padding: 1px 0;
	margin: 0 auto;
	position: relative;
}
.js .carousel:after {
	content: " ";
	background: url(loader.gif) no-repeat center #fff;
	border: solid 1px #ccc;
	width: 100%;
	height: 100%;
	position: absolute;
	left: 0;
	top: 0;
	z-index: 10;
	opacity: 0.5;
}
.js .carousel-init:after {
	content: "  "; /* gets IE to repaint the psuedo element */
	display: none;
}
.js .carousel-vertical {
	max-width: 400px;
	/*height: 450px;*/
	padding: 4em 1px;
}

/* carousel window */
.carousel-container {
	overflow: hidden;
	/*border: solid 1px green;*/
}
.js .carousel-container {
	position: relative;
}
.carousel-horizontal .carousel-container {	
	width: 80%;
	left: 10%;
	margin-bottom: 2em;
}

.carousel-wrapper {
	list-style-type: none;
}
.js .carousel-wrapper {
	position: absolute;
	left: 0;
	top: 0;
	margin: 0;
	padding: 0;
}
/*only adding transitions on position*/
.js .carousel-horizontal .carousel-wrapper {
	-webkit-transition: left 1s;
	transition: left 1s;
}
.js .carousel-vertical .carousel-wrapper {
	-webkit-transition: top 1s;
	transition: top 1s;
}
/* don't animate when resetting positions */
.js .carousel-reset .carousel-wrapper {
	-webkit-transition-duration: 0;
	transition-duration: 0;
}

.carousel-item {
	background: #f9f9f9;
	/*background: lightgreen;*/
	float: left;
	position: relative;
	/*max-width: 500px;*/
}
.js .carousel-item {
	visibility: hidden;
}
.carousel .carousel-item__currently-viewing,
.carousel__animating .carousel-item {
	visibility: visible;
}

@media (min-width: 720px) {
	.carousel-item {
		/*width: 50%;*/
	}
	.carousel-item:nth-child(2n+1) {
		clear: left;
	}
	.js .carousel-item:nth-child(2n+1) {
		clear: none;
	}
}

.carousel-horizontal .carousel-item {
	margin-right: 0.5em;
}
.carousel-vertical .carousel-item {
	margin-bottom: 0.5em;
}

.carousel-content {	
	background: #fff;
	background: rgba(255,255,255,0.7);
	padding: 0.5em;
	position: absolute;
	bottom: 0;
	width: 100%;
	text-align: center;
}

.carousel img {
	/*opacity: 0.05;*/
	margin: 0 auto;
	display: block;
	width: 100%;
}

@media (min-width: 520px) {
	.carousel img {
		width: auto;
	}
	/* content types match the image included in the example */
	.carousel-content__small {
		max-width: 200px;
		left: 50%;
		margin-left: -100px;
	}
	.carousel-content__wide {
		max-width: 400px;
		left: 50%;
		margin-left: -200px;
	}
}

.carousel-prev,
.carousel-next {
	position: absolute;
	z-index: 2;
	display: block;
	text-decoration: none;
	width: 35px;
	overflow: hidden;
	color: #000;
	line-height: 1;
}
/* horizontal */
.carousel-horizontal .carousel-prev,
.carousel-horizontal .carousel-next {
	height: 52px;
	top: 40%;
}
.carousel-horizontal .carousel-prev {
	left: -7px;
	top: 40%;
}
.carousel-horizontal .carousel-prev:after {
	content: "\25C0";
	font-size: 65px;
	position: absolute;
	top: -7px;
	left: 0;
}
.carousel-horizontal .carousel-next {
	right: -7px;
	top: 40%;
}
.carousel-horizontal .carousel-next:after {
	content: "\25B6";
	font-size: 65px;
	position: absolute;
	top: -7px;
	right: 0;
}
/* nudge arrows in on larger viewports */
@media (min-width: 520px) {
	.carousel-horizontal .carousel-prev {
		left: 15px;
	}
	.carousel-horizontal .carousel-next {
		right: 15px;
	}
}
/* vertical */
.carousel-vertical .carousel-prev,
.carousel-vertical .carousel-next {
	height: 35px;
	left: 47%;
}
.carousel-vertical .carousel-prev {
	top: 0;
}
.carousel-vertical .carousel-prev:after {
	content: "\25B2";
	font-size: 65px;
	position: absolute;
	top: 0;
	left: -15px;
}
.carousel-vertical .carousel-next {
	bottom: 0;
}
.carousel-vertical .carousel-next:after {
	content: "\25BC";
	font-size: 65px;
	position: absolute;	
	bottom: 0;
	right: -15px;
}
.carousel-button__disabled {
	color: #ccc;
	cursor: default;
}

.carousel__quick-links {
	position: absolute;
}
.carousel-horizontal .carousel__quick-links {
	bottom: 0;
	left: 0;
	width: 100%;
	text-align: center;
}
.carousel-vertical .carousel__quick-links {
	left: auto;
	bottom: 2em;
	right: 0;
}
.carousel__quick-link {
	width: 10px;
	height: 10px;
	background: #ccc;
	display: inline-block;
	margin-right: 0.3em;
	border-radius: 10px;
}
.carousel__quick-link-viewing {
	background: #000;
}