/* initialising fonts*/
@font-face
{
	font-family: "Symbols";
	src: url("/font/Symbols.ttf");
}
@font-face
{
	font-family: "Lato";
	src: url("/font/Lato-Regular.ttf");
}
	@font-face
	{
		font-family: "Lato";
		src: url("/font/Lato-Italic.ttf");
		font-style: italic;
	}
@font-face
{
	font-family: "Source Code Pro";
	src: url("/font/SourceCodePro-Regular.ttf");
}
@font-face
{
	font-family: "Open Sans";
	src: url("/font/OpenSans-Regular.ttf");
}
	@font-face
	{
		font-family: "Open Sans";
		src: url("/font/OpenSans-Bold.ttf");
		font-weight: bold;
	}
	@font-face
	{
		font-family: "Open Sans";
		src: url("/font/OpenSans-Italic.ttf");
		font-style: italic;
	}
	@font-face
	{
		font-family: "Open Sans";
		src: url("/font/OpenSans-SemiBold.ttf");
		font-weight: 600;
	}
	@font-face
	{
		font-family: "Open Sans";
		src: url("/font/OpenSans-Light.ttf");
		font-weight: 200;
	}
@font-face
{
	font-family: "Montserrat";
	src: url("/font/Montserrat-Regular.ttf");
	font-weight: 400;
}
	@font-face
	{
		font-family: "Montserrat";
		src: url("/font/Montserrat-Light.ttf");
		font-weight: 300;
	}
	@font-face
	{
		font-family: "Montserrat";
		src: url("/font/Montserrat-Medium.ttf");
		font-weight: 500;
	}
	@font-face
	{
		font-family: "Montserrat";
		src: url("/font/Montserrat-SemiBold.ttf");
		font-weight: 600;
	}
	@font-face
	{
		font-family: "Montserrat";
		src: url("/font/Montserrat-Bold.ttf");
		font-weight: 700;
	}
	@font-face
	{
		font-family: "Montserrat";
		src: url("/font/Montserrat-ExtraBold.ttf");
		font-weight: 800;
	}
	@font-face
	{
		font-family: "Montserrat";
		src: url("/font/Montserrat-Black.ttf");
		font-weight: 900;
	}



html, body, header, main, footer, .landing
{
	margin: 0;
	padding: 0;
}
/* remove chrome's blue outline on focused elements */
:focus
{
	outline: none;
}

/* miscellaneous classes*/
.full-width {
	width: 100%;
}
.left-align {
	text-align: left;
}
.right-align {
	text-align: right;
}
.center-align {
	text-align: center;
}
.page-padding, main {
	padding-left: 0;
	padding-right: 0;
}
.no-padding {
	padding: 0;
}
.no-top-margin {
	margin-top: 0;
}
.no-bottom-margin {
	margin-bottom: 0;
}
.red-fill, .button.red-fill {
	background-color: #CC4141;
	color: #FFF;
}
.grey-fill {
	background-color: #333;
	color: #FFF;
}
.white-text {
	color: #FFF;
}
.red-fill hr, .grey-fill hr, .white-text hr {
	border-color: #FFF;
}
.button.red-fill polyline {
	stroke: #FFF;
}
.red-text {
	color: #CC4141;
	font-weight: 600;
}


html
{	
	background-color: #333;

	font-family: "Open Sans";
	font-size: 16px;
	color: #333;
}

body
{
	/* margin-bottom: -20px; */

	background-color: #EEE;
	/* background-image: url('../img/bg.jpg'); */
}
body.hide-scrollbar::-webkit-scrollbar /* class used for hiding the page's scrollbar  */
{
	width: 0;
}
body.bottom-toolbar
{
	padding-bottom: 90px;
}

body.nav-contact main {
	box-sizing: border-box;
	padding-bottom: 50px;
}

/* fix for a bug in IE that causes the <main> element to not display properly */
main
{
	display: block;
}

/* footer (social links, copyright) */
footer
{
	position: relative;
	padding: 20px 0px;

	background-color: #333;

	color: #CCC;
	text-align: center;
}
footer .social-tile
{
	display: inline-block;
	width: 60px;
	height: 50px;
	padding: 10px;
	box-sizing: border-box;

	text-align: center;
}
footer .social-tile svg
{
	opacity: 0.8;
}
footer .social-tile:hover svg
{
	opacity: 1;
}
footer hr
{
	width: 100px;
}
footer .copyright
{
	font-size: 18px;
	font-weight: 200;
}

.nav-new
{
	position: fixed;
	z-index: 11;
	top: 20px;
	left: 20px;
	display: inline-block;
	overflow: hidden;

	background-color: #D7D7D7;
	border-radius: 25px;
	box-shadow: 0px 3px 3px 0px rgba(0, 0, 0, 0.3);
}
.nav-new-logo
{
	position: relative;
	z-index: 13;

	width: 40px;
	height: 40px;
	margin: 0px;

	border: 5px solid #D7D7D7;
	border-radius: 50%;
}
.nav-new-links
{
	display: block;
	width: 310px;
	max-width: 110vw;
	margin-top: -200px;
	margin-left: -210px;

	opacity: 0;

	transition: margin 0.5s ease-in-out, opacity 0.5s ease-in-out, max-width 0.5s ease-in-out;
}
.nav-new-expanded .nav-new-links
{
	max-width: calc(100vw - 40px);
	margin-top: -50px;
	margin-left: 0px;

	opacity: 1;
}
.nav-new-links a
{
	position: relative;
	display: block;
	margin-left: 60px;
	padding-left: 10px;
	height: 50px;
	font-family: "Montserrat";
	font-weight: 700;
	font-size: 17px;
	color: #444;
	line-height: 50px;
	text-transform: uppercase;
	text-decoration: none;
	letter-spacing: 0.1em;
}
.nav-new-links a:hover
{
	color: #cc4242;
}
body.nav-home .nav-new-links a[href="/"]::before, body.nav-commands .nav-new-links a[href="/commands"]::before, body.nav-resource-packs .nav-new-links a[href="/resource-packs"]::before, body.nav-contact .nav-new-links a[href="/contact"]::before
{
	content: "";
	position: absolute;
	top: calc(50% - 2px);
	left: 0px;

	border: 2px solid #444;
	border-radius: 50%;
}
body.nav-home .nav-new-links a[href="/"]:hover::before, body.nav-commands .nav-new-links a[href="/commands"]:hover::before, body.nav-resource-packs .nav-new-links a[href="/resource-packs"]:hover::before, body.nav-contact .nav-new-links a[href="/contact"]:hover::before
{
	border-color: #cc4242;
}
.nav-new-toggle
{
	position: absolute;
	top: 0px;
	right: 0px;

	width: 50px;
	height: 50px;
	padding: 0px;

	background: none;
	border: none;
	border-radius: 50%;

	cursor: pointer;

	transition: transform 0.3s ease-in-out, background-color 0.3s;
}
.nav-new-toggle:hover
{
	background-color: #CCC;
}
.nav-new-toggle polyline {
	fill: none;
	stroke: #444;
	stroke-width: 2.5;
	stroke-linecap: round;
	stroke-linejoin: round;
}
.nav-new-expanded .nav-new-toggle
{
	transform: rotateZ(180deg);
}

h1
{
	margin: 0;

	font-family: "Montserrat";
	font-size: 2.3em;
	font-weight: 500;
	text-transform: uppercase;
	letter-spacing: 0.1em;
}
h2 {
	font-family: "Montserrat";
	font-size: 1.75em;
	font-weight: 500;
	text-transform: uppercase;
	letter-spacing: 0.1em;
}
h3
{
	font-family: "Montserrat";
	font-size: 1.25em;
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: 0.1em;
}
.subtitle
{
	padding-left: 10%;
	padding-right: 10%;
	font-family: "Montserrat";
	font-weight: 500;
	letter-spacing: 0.07em;
}

hr {
	width: 100px;
	margin-left: 0px;

	border: none;
	border-bottom: 3px solid #333;
}
hr.center-align {
	margin-left: auto;
	margin-right: auto;
}

button {
	padding: 0px;
	border: none;
	background: none;
}

img {
	max-width: 100%;
}

input[type="text"] {
	padding: 10px;

	background: #FFF;
	border: 1px solid #AAA;

    font-family: "Source Code Pro";
    font-size: 0.9em;
}
input[type="text"]:focus {
	outline: 2px solid #CC4141;
}

input[type="text"].full-width {
	margin-bottom: 10px;
}

.direction-right-below::after {
	content: "below";
}

.flex-row-responsive {
	display: flex;
	flex-wrap: wrap;
}

.flex-standard
{
	flex-grow: 1;
	flex-basis: 100px;
}
.flex-center-both
{
	display: flex;
	align-items: center;
	justify-content: center;
}

.cmd {
	background: #333;

	font-family: "Source Code Pro";
	font-size: 0.9em;
	color: #EEE;
}
.cmd-box {
	width: 100%;
	height: 62px;
	padding: 0px;
    box-sizing: border-box;
    overflow-x: hidden;
    resize: vertical;

	border: 1px solid #AAA;

    font-family: "Source Code Pro";
    font-size: 0.6em;
    color: #888888;
    word-wrap: break-word;
    word-break: break-all;
}
.cmd-box-label {
	margin: 0px;
	padding: 0px;

	font-family: Montserrat;
	font-size: 0.6em;
	font-weight: 900;
	color: #666;
	text-transform: uppercase;
	letter-spacing: 0.1em;
}
.install-instructions-step p.cmd-box-label {
	width: 100%;
	text-align: left;
}

.button {
	position: relative;
	display: inline-block;
	padding: 15px 20px;
	box-sizing: border-box;
	overflow: hidden;

	background: #EEE;
	border-radius: 100px;

	font-family: "Montserrat";
	font-weight: 700;
	color: #333;
	text-decoration: none;
	text-transform: uppercase;
	letter-spacing: 0.13em;

	box-shadow: 0px 3px 3px 0px rgba(0, 0, 0, 0.3);
	cursor: pointer;
}
.button span {
	position: relative;
	z-index: 1;
}
.button::before {
	content: "";
	position: absolute;
	top: 0px;
	bottom: 0px;
	left: 0px;
	z-index: 0;
	width: 0px;

	background-color: rgba(0, 0, 0, 0.075);

	transition: width 0.3s ease-out;
}
.button:hover::before {
	width: 100%;
}
.button-big {
	font-weight: 800;
}
.button-small, .featured-item-content .button {
	padding: 8px 15px;
	
	font-size: 0.8em;
	font-weight: 800;
}
.button svg {
	position: relative;
	top: 0.1em;
	left: 0px;
	height: 1em;
	width: 1em;

	stroke-linecap: round;
	stroke-linejoin: round;
	stroke-width: 4px;

	transition: left 0.2s ease-out;
}
.button:hover svg {
	left: 0.3em;
}
.button polyline {
	fill: none;
	stroke: #333;
}

hr.heading-line {
	border-width: 4px;
}

/* 	layout handling for youtube video embeds
	to ensure they scale properly */
.video-frame
{
	display: inline-block;
	position: relative;
	width: 100%;
	height: 0;
	margin: 0;
	padding-bottom: 56.25%;
}
.video-frame iframe
{
	position: absolute;
	width: 100%;
	height: 100%;
	top: 0px;
	left: 0px;
}
.fullscreen-video-embed {
	width: 100%;
	height: 56.25vw;
    max-height: 60vh;
}
body.bottom-toolbar .fullscreen-video-embed {
    max-height: calc(60vh - 90px);
}
#main-video {
	background-color: #000;
}
.video-cover {
	position: absolute;
	top: 0px;
	bottom: 0px;
	left: 0px;
	right: 0px;
	z-index: 1;
	display: flex;
	flex-direction: column;
	justify-content: center;
	align-items: center;
	padding: 50px 10px;

	background-image: url('/img/bg/yt.jpg');
	background-position: center;
	background-size: cover;

	cursor: pointer;

	transition: opacity 0.3s;
}
.video-cover::before {
	content: "";

	position: absolute;
	top: 0px;
	bottom: 0px;
	left: 0px;
	right: 0px;

	background-color: rgba(0, 0, 0, 0.1);

	transition: background-color 0.2s;
}
.video-cover:hover::before {
	background-color: rgba(0, 0, 0, 0.3);
}
.video-cover h2 {
	position: relative;
	z-index: 1;
	display: none;
	margin-top: 0px;
	margin-bottom: 50px;

	font-weight: 700;
	text-align: center;
}
.play-icon {
	position: relative;
	z-index: 1;
	width: 100%;
	max-width: 180px;
	min-height: 75px;

	transition: transform 0.2s;
}
.video-cover:hover .play-icon {
	transform: scale(1.05, 1.05);
}
.play-icon polygon.poly-outline {
	fill: none;
	stroke: #FFF;
	stroke-miterlimit: 10;
	stroke-width: 25px;
}
.play-icon polygon.poly-filled {
	fill: #FFF;
}

.trail-left, .trail-right {
	position: relative;
}
.trail-left::before, .trail-right::before {
	content: "";

	position: absolute;
	top: 0px;
	bottom: 0px;
	z-index: 1;
	display: inline-block;
	width: 100vw;

	background-color: #222;
}
.trail-left::before {
	right: 50%;
}
.trail-right::before {
	left: 50%;
}
.trail-left img, .trail-right img {
	position: relative;
	z-index: 2;
}

.popup-container {
	visibility: hidden;
	position: fixed;
	top: 0px;
	bottom: 0px;
	left: 0px;
	right: 0px;
	z-index: 20;
	display: flex;
	justify-content: center;
	align-items: center;

	background-color: rgba(215, 215, 215, 0.8);

	opacity: 0;

	transition: opacity 0.3s;
}
.popup-container-visible {
	opacity: 1;
}
.popup-click-away {
	position: absolute;
	top: 0px;
	bottom: 0px;
	left: 0px;
	right: 0px;
}
.popup {
	position: relative;
	display: none;
	flex-direction: column;
	justify-content: center;
	align-items: center;
	width: 100%;
	height: 100%;
	max-height: 100%;
	padding: 20px;
	box-sizing: border-box;
	overflow-x: hidden;
	overflow-y: hidden;

	background-color: #EEE;

	box-shadow: 0px 5px 5px 0px rgba(0, 0, 0, 0.3);
}
.popup-visible {
	display: flex;
}
.close-popup {
	position: fixed;
	top: 20px;
	right: 20px;
	z-index: 25;
	padding: 20px;

	background-color: #D7D7D7;
	border-radius: 100px;

	cursor: pointer;

	transition: background-color 0.3s, transform 0.3s;
}
.close-popup:hover {
	background-color: #CCC;
	/* transform: rotateZ(90deg); */
}
.close-popup svg {
	width: 20px;
	height: 20px;
	stroke-linecap: round;
	stroke-linejoin: round;
	stroke-width: 3px;
	stroke: #333;
}
.popup-content > h3:first-child {
	margin-top: 0px;
}
.popup-slide, .popup-slide-shield {
	position: absolute;
	top: 0px;
	bottom: 0px;
	left: 0px;
	right: 0px;
	display: flex;
	flex-direction: column;
	justify-content: center;
	align-items: center;
	padding: 20px;
	box-sizing: border-box;

	text-align: center;

	transition: opacity 0.3s, transform 0.5s;
}
.popup-slide-left, .popup-slide-shield-left {
	opacity: 0;
	transform: translateX(-100%);
}
.popup-slide-right, .popup-slide-shield-right {
	opacity: 0;
	transform: translateX(100%);
}
.popup-slide-controls {
	position: fixed;
	bottom: 0px;
	left: 0px;
	right: 0px;
	z-index: 25;
	display: flex;
	flex-direction: row;
	justify-content: center;
	align-items: center;
	height: 100px;

	transition: opacity 0.3s, transform 0.3s;
}
.popup-slide-controls-hidden {
	opacity: 0;
	transform: translateY(100px);
}
.popup-slide-button {
	padding: 20px;
	margin: 0px 5px;

	background-color: #D7D7D7;
	border-radius: 100px;

	cursor: pointer;

	transition: background-color 0.3s, transform 0.3s;
}
.popup-slide-button:hover {
	background-color: #CCC;
	/* transform: rotateZ(90deg); */
}
.popup-slide-button svg {
	width: 20px;
	height: 20px;

	fill: none;
	stroke-linecap: round;
	stroke-linejoin: round;
	stroke-width: 4px;
	stroke: #333;
}
.popup-slide .button {
	text-align: left;
}

.home-banner {
	display: flex;
	flex-direction: column;
	justify-content: center;
	align-items: center;
	min-height: calc(100vh + 100px);
	padding: 100px 0px;
	box-sizing: border-box;
}
.home-banner.first-banner {
	min-height: 100vh;
	padding: 50px 0px;
}
body.bottom-toolbar .home-banner {
	min-height: calc(100vh + 10px);
}
body.bottom-toolbar .home-banner.first-banner {
	min-height: calc(100vh - 90px);
}
.home-banner.banner-nav-padding {
	padding-top: 150px;
}
.home-banner.first-banner.banner-nav-padding {
	padding-top: 100px;
}
.img-banner {
	background-size: cover;
	background-position: center;
}
.banner-content {
	width: 80%;
}
.banner-content-full {
	width: 90%;
}
.banner-image {
	width: 40%;
	margin: -20px 0px 20px 0px;
}
.banner-image-full {
	width: 80%;
	margin: 0px;
}
.banner-image img {
	width: 100%;
}
.home-banner p {
	text-align: left;
}
.main-heading {
	font-weight: 300;
	font-size: 2em;
}
.main-heading .semibold {
	font-weight: 600;
}
p.section-preview-text {
	margin: 1em auto;
}

.red-img-bg {
	background-color: #CC4141;
	background-image: url('/img/bg.jpg');
	background-size: cover;
	background-position: bottom right;
}

.commands-icon polygon {
	fill: none;
	stroke: #333;
	stroke-miterlimit: 10;
	stroke-width: 30px;
}
.commands-icon circle {
	fill: #333;
}

.featured-item {
	position: relative;
	margin: 20px 0px;
	padding-bottom: 56.25%;

	background-position: center;
	background-size: cover;

	cursor: pointer;
}
.featured-item::before {
	content: "";

	position: absolute;
	top: 0px;
	bottom: 0px;
	left: 0px;
	right: 0px;

	background-color: rgba(0, 0, 0, 0);

	transition: background-color 0.3s;
}
.featured-item:hover::before {
	background-color: rgba(0, 0, 0, 0.1);
}
.featured-item-content {
	position: absolute;
	top: 0px;
	bottom: 0px;
	left: 0px;
	right: 0px;
	display: flex;
	flex-direction: column;
	justify-content: center;
	align-items: center;
	padding: 10px;

	opacity: 0;

	transition: opacity 0.3s;
}
.featured-item-active .featured-item-content {
	opacity: 1;
}
.featured-item-content h2 {
	margin: 0px 0px 10px 0px;
	
	font-size: 1.4em;
	font-weight: 500;
}
.featured-item-content p {
	margin: 0px 0px 10px 0px;

	font-size: 0.9em;
	text-align: center;
}

.install-instructions-section {
	display: flex;
	justify-content: center;
	flex-wrap: wrap;
	overflow-y: hidden;
}
.install-instructions-step {
	width: 100%;
	margin-top: 70px;
}
.install-instructions-step-content {
	display: flex;
	max-width: 300px;
	flex-direction: column;
	align-items: center;
	margin: 0px auto;

	text-align: center;
}
.install-instructions-step h3 {
	width: 40px;
	height: 40px;
	margin: 0px 0px 10px 0px;

	background: #333;
	border-radius: 100px;

	color: #EEE;
	text-align: center;
	line-height: 39px;
}
.install-instructions-step p {
	text-align: center;
}

.supported-blocks-section {
	display: flex;
	justify-content: center;
	flex-wrap: wrap;
	overflow-y: hidden;
	max-width: 1600px;
	margin: 0px auto;
}
.supported-block-container {
	flex-grow: 1;
	max-width: 100px;
	margin-top: 10px;
	padding: 0px 5px;
}
.supported-block-content {
	display: flex;
	width: 80px;
	flex-direction: column;
	align-items: center;
	margin: 0px auto;

	text-align: center;
}
.supported-block-content img {
	width: 100%;
	max-width: 100px;
}
.supported-block-content p {
	margin: 10px 0px;

	font-size: 0.8em;
	text-align: center;
}
.supported-block-content .smaller {
	font-size: 0.85em;
}

.section-cover {
	position: absolute;
	top: 0px;
	bottom: 0px;
	left: 0px;
	right: 0px;
	z-index: 3;
	display: flex;
	flex-direction: column;
	align-items: center;
	padding-top: 20px;

	background-color: #EEE;

	transition: opacity 0.3s;
}

.pack-controls-toolbar {
	position: fixed;
	bottom: 0px;
	left: 0px;
	right: 0px;
	z-index: 10;
	height: 50px;
	display: flex;
	flex-direction: row;
	justify-content: center;
	align-items: center;
	padding: 20px 3px;

	background-color: #D7D7D7;

}
.pack-controls-toolbar .button {
	margin: 0px 3px;
}

.contact-panel
{
	position: relative;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	flex-direction: column;
	box-sizing: border-box;
	width: 50%;
	height: 250px;
	padding: 0px 20px;
	overflow-y: hidden;

	font-size: 18px;
	color: #FFF;
	text-align: center;
	text-decoration: none;

	cursor: pointer;

	/*transition-duration: 0.3s;*/
}
.contact-panel::before {
	content: "";
	position: absolute;
	top: 0px;
	bottom: 0px;
	left: 0px;
	right: 0px;
	z-index: 1;

	transform: skewY(30deg);
	transition: background-color 0.2s;
}
.contact-panel * {
	z-index: 2;
}
.contact-panel svg {
	width: 80px;
}
/*
.contact-panel h3, .contact-panel span, .contact-panel svg
{
	transition: transform 0.3s ease-in-out;
}
.contact-panel:hover h3, .contact-panel:hover span, .contact-panel:hover svg
{
	color: #FFF;
	transform: scale(1.075, 1.075);
}
*/
.contact-panel h3
{
	margin: 20px 0px 10px 0px;

	font-size: 1.5em;
	font-weight: 200;
}
.contact-panel span
{
	margin-top: 0px;

	font-size: 0.8em;
}


/*	give the pack controls buttons more breathing
	space as soon as the screen is big enough */
@media screen and (min-width: 350px) {
	.pack-controls-toolbar .button {
		margin: 0px 10px;
	}
}

@media screen and (min-width: 576px) {
	.video-cover h2 {
		display: block;
	}

	/* .popup {
		width: 500px;
		height: auto;

		border-radius: 10px;
	}
	.close-popup {
		position: absolute;
		padding: 10px;
	} */
	.popup-content
	{
		width: 440px;
	}
	/*.popup-slide-left {
		transform: translateX(-490px);
	}
	.popup-slide-right {
		transform: translateX(490px);
	} */
}

@media screen and (min-width: 768px) {
	.install-instructions-step {
		width: 50%;
	}
}

@media screen and (min-width: 992px) {
	body.nav-contact main {
		min-height: 505px;
	}

	.nav-new-links
	{
		display: flex;
		width: 810px;
		margin: -50px 50px 0px -760px; /* width of the nav-new-links element (810px) - width of the < button (50px) */
		padding: 0px 30px;
		box-sizing: border-box;
	}
	.nav-new-expanded .nav-new-links
	{
		margin-left: 50px;
	}
	.nav-new-links > span
	{
		display: inline-block;
		flex-grow: 1;
		margin: 0px;
		text-align: center;
	}
	.nav-new-links a
	{
		display: inline-block;
		margin: 0px;
		padding: 0px 10px;
	}


	.subtitle {
		font-size: 1.4em;
	}

	.direction-right-below::after {
		content: "to the right";
	}

	.flex-row-responsive
	{
		align-items: stretch;
		font-size: inherit;
	}

	.button-big {
		padding: 20px 35px;

		font-size: 1.5em;

		box-shadow: 0px 5px 5px 0px rgba(0, 0, 0, 0.3)
	}

	.home-banner {
		flex-direction: row;
	}
	.home-banner#install {
		align-items: flex-start;
	}
	.banner-reverse {
		flex-direction: row-reverse;
	}
	.banner-image {
		margin: 0px;
		padding: 0px 10%;
		box-sizing: border-box;
	}
	.banner-image-full {
		width: 40%;
	}
	.banner-content {
		width: 60%;
		padding: 6%;
		box-sizing: border-box;

		text-align: center;
	}
	.banner-content-full {
		width: 100%;
		max-width: 1920px;
	}
	.main-heading {
		width: 850px;

		margin-top: 0px;
		font-size: 4.2em;
	}
	h1 {
		font-size: 4em;
		font-weight: 600;
		text-align: center;
		letter-spacing: 0.15em;
	}
	hr.heading-line {
		border-width: 7px;
		margin-left: auto;
		margin-right: auto;
	}
	p.section-preview-text {
		max-width: 650px;
		font-size: 1.3em;
		text-align: left;
	}
	.home-banner p.center-align {
		margin-left: auto;
		margin-right: auto;
		text-align: center;
	}

	.featured-container {
		display: flex;
		justify-content: center;
		align-items: center;
		flex-wrap: wrap;
		padding: 10px;
		box-sizing: border-box;
	}
	.featured-item {
		width: calc((100% - 60px) / 3); /* account for the margin between each featured item */
		padding-bottom: calc(56.25% /3);
		margin: 10px;
	}
	.featured-item-content p {
		text-align: center;
		font-size: 0.9em;
	}

	.supported-block-container {
		width: 150px;
		max-width: 150px;
	}
	.supported-block-content {
		width: 100px;
	}
	.supported-block-content p {
		font-size: 1em;
	}

	.contact-row {
		height: 400px;
	}
	.contact-panel
	{
		display: flex;
		flex-grow: 1;
		flex-basis: 100px;
		flex-direction: column;
		width: auto;
		height: auto;
		padding: 0px 20px;

		font-size: 22px;
		color: #FFF;
		text-align: center;

		cursor: pointer;

		/*transition-duration: 0.3s;*/
	}
	.contact-panel:hover::before {
		background-color: rgba(0, 0, 0, 0.2);
	}
	.contact-panel svg {
		width: 100px;
	}
	.install-instructions-step {
		width: 33.33333%;
	}
}

@media screen and (min-width: 1400px) {
}

@media screen and (min-width: 1600px) {
	.featured-item-content {
		padding: 10%;
	}
	.featured-item-content h2 {
		font-size: 1.8em;
	}
	.featured-item-content p {
		font-size: 1.2em;
	}
	.featured-item-content .button {
		padding: 15px 20px;

		font-size: 1em;
	}
}