body {
	background: #FFF;
	font-family: 'IBM Plex Sans';
}

h1 {
	font-family: 'IBM Plex Serif', serif;
	color: #7EB540;
	font-size: 64px;
}

h2 {
	color: #000;
	font-size: 46px;
	text-transform: uppercase;
}

h3 {
	font-size: 40px;
}

.button, a.button, input[type=button], form input[type=submit], button {
	font-size: 1.2rem;
	white-space: initial;
}

.container {
	max-width: 1400px;
}

.container.narrow {
	max-width: 800px;
}

.container.padded {
	padding-left: 40px;
	padding-right: 40px;
}

.paragraph {
	font-size: 20px;
	line-height: 1.4;
}

.small.paragraph {
	font-size: 16px;
}

.large.paragraph {
	font-size: 24px;
	line-height: 1.4;
}

.paragraph.short > * + * {
	margin-top: 8px;
}

.button.ghost {
	border-color: #7EB540;
	color: #7EB540;
	background: #fff;
}

#header {
	position: absolute;
	left: 0;
	right: 0;
	top: 0;
	padding: 25px 0;
	z-index: 20;
}

#header img {
	width: 400px;
}

#footer_main {
	background: #7EB540;
}

#footer_main a {
	display: inline-block;
}

#intro_image {
	position: absolute;
	bottom: 100%;
	left: 50%;
	-webkit-transform: translateX(-50%);
	   -moz-transform: translateX(-50%);
	    -ms-transform: translateX(-50%);
	     -o-transform: translateX(-50%);
	        transform: translateX(-50%);
}

#hero {
	height: 700px;
	padding-top: 100px;
	padding-bottom: 100px;
}

img {
	height: auto;
}

#machines img {
	margin-bottom: -50px;
}

.overflow:after {
	content: "";
	position: absolute;
	left:0;
	right:0;
	top:100%;
	height: 300px;
	background: inherit;
	z-index: -1;
}

.primary-content.overflow + .primary-content {
	padding-top: 20px;
}

.primary-content.overflow + .primary-content .container {
	background: #FFF;
	width: calc(100% - 40px);
	padding-top: 40px;
	padding-bottom: 40px;
	-webkit-border-radius: 8px;
	        border-radius: 8px;
	-webkit-box-shadow: 0 0 10px rgba(0,0,0,0.2);
	        box-shadow: 0 0 10px rgba(0,0,0,0.2);
}

#video_carousel .video-slide {
	padding: 20px;
	position: relative;
	outline: none;
}

#video_carousel .video-slide.slick-current img {
	cursor: pointer;
	margin: auto;
}

#video_carousel .video-slide.slick-current.playing:after,
#video_carousel .video-slide.slick-current.playing img {
	display: none;
}

#video_carousel .video-slide.slick-current:after {
	font-size: 90px;
	opacity: 0.85;
	color: #FFF;
	content: "\f144";
	font-family: 'Font Awesome 5 Free';
	font-weight: 900;
	position: absolute;
	pointer-events: none;
	left: 50%;
	top: 50%;
	-webkit-transform: translate(-50%, -50%);
	   -moz-transform: translate(-50%, -50%);
	    -ms-transform: translate(-50%, -50%);
	     -o-transform: translate(-50%, -50%);
	        transform: translate(-50%, -50%);
}

#video_carousel .video-slide.slick-current .content {
	width: 450px;
}

#video_carousel .video-slide:not(.slick-current) .content {
	cursor: pointer;
	width: 200px;
}

#video_carousel .slick-next, #video_carousel .slick-prev {
    height: 40px;
    top: 200px;
    left: 50%;
}

#video_carousel .slick-prev:before,
#video_carousel .slick-next:before {
	content: "";
}

#video_carousel .slick-next:before, #video_carousel .slick-prev:before {
	opacity: 1;
}

#video_carousel .slick-prev {
    background: url(../img/ArrowLeft.svg) center no-repeat;
    background-size: 100%;
    margin-left: -255px;
    z-index: 200;
}

#video_carousel .slick-next {
    background: url(../img/ArrowRight.svg) center no-repeat;
    background-size: 100%;
    margin-left: 234px;
    z-index: 200;
}

@media screen and (min-width: 768px) {
	#machines .tile {
	    display: flex;
	    -webkit-flex-direction: column;
	    -ms-flex-direction: column;
	    flex-direction: column;
	    -webkit-justify-content: flex-end;
	    justify-content: flex-end;
	}

	#features .onehalf {
		-webkit-order: 2;
		    -ms-order: 2;
		        order: 2;
	}

	#features .onequarter + .onequarter {
		-webkit-order: 3;
		    -ms-order: 3;
		        order: 3;
	}
}

@media screen and (max-width: 1024px) {
	.container {
		padding-left: 20px;
		padding-right: 20px;
	}
}

@media screen and (max-width: 767px) {
	#video_carousel .video-slide.slick-current .content {
		width: calc(100% - 40px);
		margin: auto;
	}

	#video_carousel .slick-next, #video_carousel .slick-prev {
	    top: 50%;
	    left: 5px;
	    margin-left: 0;
        background-size: 70%;
	}

	#video_carousel .slick-next, #video_carousel .slick-next {
	    top: 50%;
	    left: auto;
	    right: 5px;
	    margin-left: 0;
	    background-size: 70%;
	}

	#intro_image {
		position: relative;
		-webkit-transform: none;
		   -moz-transform: none;
		    -ms-transform: none;
		     -o-transform: none;
		        transform: none;
	    bottom: auto;
	    left: auto;
	    margin: -140px auto -30px;
	}

	h1 {
		font-size: 48px;
	}

	h2 {
		font-size: 32px;
	}

	#hero {
		height: 400px;
	}

	#hero:before {
		position: absolute;
		left:0;
		right:0;
		top:0;
		bottom:0;
		content: "";
		background: #FFF;
		opacity: 0.4;
	}

	#machines h3 {
		margin-bottom: -50px;
	}
}

@media screen and (max-width: 480px) {
	h1 {
		font-size: 40px;
	}

	#hero {
	    background-size: 100% !important;
    	background-position: center bottom !important;
	}
}