/*
	Helios by HTML5 UP
	html5up.net | @ajlkn
	Free for personal and commercial use under the CCA 3.0 license (html5up.net/license)
*/


/* Sections/Article */

	article {
		margin-bottom: 3em;
		display: block;
	}


		h4{
			font-weight: normal;
		}

		article > :last-child, article:last-child {
			margin-bottom: 0;
		}




/* Image */

	.image {
		position: relative;
		display: inline-block;
		border: 0;
		outline: 0;
	}

		.image img {
			display: block;
			width: 100%;
			max-width: 300px;
		}

		.image.featured {
			display: block;
			width: 100%;
			margin: 0 0 4em 0;
		}



/* Carousel */

	.carousel {
		position: relative;
		overflow: hidden;
		padding: 2em 0 2em 0;
		margin-bottom: 0;
		background-color: #f0f4f4;
	}

		.carousel .forward, .carousel .backward {
			position: absolute;
			top: 50%;
			width: 6em;
			height: 12em;
			margin-top: -6em;
			cursor: pointer;
		}

			.carousel .forward:before, .carousel .backward:before {
				content: '';
				display: block;
				width: 6em;
				height: 6em;
				border-radius: 100%;
				background-color: rgba(72, 57, 73, 0.5);
				position: absolute;
				top: 50%;
				margin-top: -3em;
				-moz-transition: background-color 0.35s ease-in-out;
				-webkit-transition: background-color 0.35s ease-in-out;
				-o-transition: background-color 0.35s ease-in-out;
				-ms-transition: background-color 0.35s ease-in-out;
				transition: background-color 0.35s ease-in-out;
				-webkit-backface-visibility: hidden;
			}

			.carousel .forward:after, .carousel .backward:after {
				content: '';
				width: 3em;
				height: 3em;
				position: absolute;
				top: 50%;
				margin: -1.5em 0 0 0;
				background: url("../products/img/arrow.svg") no-repeat center center;
			}

			.carousel .forward:hover:before, .carousel .backward:hover:before {
				background-color: rgba(239, 131, 118, 0.75);
			}

		.carousel .forward {
			right: 0;
		}

			.carousel .forward:before {
				right: -3em;
			}

			.carousel .forward:after {
				right: -0.25em;
			}

		.carousel .backward {
			left: 0;
		}

			.carousel .backward:before {
				left: -3em;
			}

			.carousel .backward:after {
				left: -0.25em;
				-moz-transform: scaleX(-1);
				-webkit-transform: scaleX(-1);
				-ms-transform: scaleX(-1);
				transform: scaleX(-1);
			}

		.carousel .reel {
			white-space: nowrap;
			position: relative;
			-webkit-overflow-scrolling: touch;
			padding: 0 2em 0 2em;

			display: flex;
			align-items:stretch;
		}

		.carousel article {
			display: inline-block;
			min-width: 15em;
			background: #f0f4f4;
			text-align: center;
			padding: 0 1em 0 1em;
			margin: 0 1em 0 0;
			white-space: normal;
			opacity: 1.0;
			-moz-transition: opacity 0.75s ease-in-out;
			-webkit-transition: opacity 0.75s ease-in-out;
			-ms-transition: opacity 0.75s ease-in-out;
			transition: opacity 0.75s ease-in-out;
			
			align-items:stretch;
			align-self: center;
		}

			.carousel article.loading {
				opacity: 0;
			}

			.carousel article .image {
				position: relative;
				left: -1em;
				top: 0;
				width: auto;
				margin-right: -2em;
				margin-bottom: 1em;
			}







/* Wide */

	@media screen and (max-width: 1680px) {
		
		/* Carousel */

			.carousel {
				padding: 1.5em 0 1.5em 0;
			}

				.carousel .reel {
					padding: 0 1.5em 0 1.5em;
				}

				.carousel article {
					width: 18em;
					margin: 0 1.25em 0 0;
				}

	}



/* Narrower */

	@media screen and (max-width: 840px) {

		/* Carousel */

			.carousel {
				padding: 1.25em 0 1.25em 0;
			}

				.carousel article {
					width: 18em;
					margin: 0 1em 0 0;
				}

	}

/* Mobile */

	@media screen and (max-width: 736px) {

		/* Nav */

		#page-wrapper {
			-moz-backface-visibility: hidden;
			-webkit-backface-visibility: hidden;
			-ms-backface-visibility: hidden;
			backface-visibility: hidden;
			-moz-transition: -moz-transform 0.5s ease;
			-webkit-transition: -webkit-transform 0.5s ease;
			-ms-transition: -ms-transform 0.5s ease;
			transition: transform 0.5s ease;
			padding-bottom: 1px;
		}

		/* Image */

		.image.featured {
			margin: 0 0 2em 0;
		}

		/* Carousel */

			.carousel {
				padding: 0.5em 0 0.5em 0;
			}

				.carousel .reel {
					padding: 0 0.5em 0 0.5em;
				}

				.carousel article {
					width: 14em;
					padding-bottom: 2em;
					margin: 0 0.5em 0 0;
				}

					.carousel article .image {
						margin-bottom: 2em;
					}

	}