*{box-sizing:border-box;outline:none}html,body,div,span,object,iframe,h1,h2,h3,h4,h5,h6,p,blockquote,pre,abbr,address,cite,code,del,dfn,em,img,ins,kbd,q,samp,small,strong,sub,sup,var,b,i,dl,dt,dd,ol,ul,li,fieldset,form,label,legend,table,caption,tbody,tfoot,thead,tr,th,td,article,aside,canvas,details,figcaption,figure,footer,header,hgroup,menu,nav,section,summary,time,mark,audio,video{margin:0;padding:0;border:0;outline:0;font-size:100%;vertical-align:baseline;background:transparent;box-sizing:border-box}body{line-height:1}article,aside,details,figcaption,figure,footer,header,hgroup,menu,nav,section{display:block;box-sizing:border-box}nav ul{list-style:none}blockquote,q{quotes:none}blockquote:before,blockquote:after,q:before,q:after{content:'';content:none}a{margin:0;padding:0;font-size:100%;vertical-align:baseline;background:transparent;outline:none}ins{background-color:#ff9;color:#000;text-decoration:none}mark{background-color:#ff9;color:#000;font-style:italic;font-weight:bold}del{text-decoration:line-through}abbr[title],dfn[title]{border-bottom:1px dotted;cursor:help}table{border-collapse:collapse;border-spacing:0}hr{display:block;height:1px;border:0;border-top:1px solid #cccccc;margin:1em 0;padding:0}input,select{vertical-align:middle;outline:none;box-sizing:border-box}

.flex { display: -webkit-flex; display: -webkit-box; display: -moz-flex; display: -moz-box; display: -ms-flexbox; display: flex; }
.justify-content-between { -ms-flex-pack: justify; -webkit-justify-content: space-between; justify-content: space-between; }
.justify-content-around { -ms-flex-pack: justify; -webkit-justify-content: space-around; justify-content: space-around; }
.justify-content-start { -ms-flex-pack: start; -webkit-justify-content: flex-start; justify-content: flex-start; }
.justify-content-center { -ms-flex-pack: center; -webkit-justify-content: center; justify-content: center; }
.justify-content-end { -ms-flex-pack: end; -webkit-justify-content: flex-end; justify-content: flex-end; }
.align-items-center { -ms-flex-align: center; -webkit-align-items: center; align-items: center; }
.direction-row { -ms-flex-direction: row; -webkit-flex-direction: row; flex-direction: row; }
.direction-column { -ms-flex-direction: column; -webkit-flex-direction: column; flex-direction: column; }
.reverse { -ms-flex-direction: column-reverse; -webkit-flex-direction: column-reverse; flex-direction: column-reverse; }
.wrap { -webkit-flex-wrap: wrap; -ms-flex-wrap: wrap; flex-wrap: wrap; }

.animate { -webkit-transition: all 750ms ease-in-out 0ms; -moz-transition: all 750ms ease-in-out 0ms; -ms-transition: all 750ms ease-in-out 0ms; -o-transition: all 750ms ease-in-out 0ms; transition: all 750ms ease-in-out 0ms; }

* {
	font-family: 'Open Sans', sans-serif;
	font-weight: 300;
}

html, body {
	background-color: white;
	width: 100vw;
	height: 100vh;
	min-width: 320px;
	overflow: hidden;
}
body {
	padding: 50px;
}

.container {
	width: 100%;
	height: 100%;
	background-image: url('background.jpg');
	background-repeat: no-repeat;
	background-position: 50% 50%;
	background-size: cover;
}

div.right, div.left {
	width: 50%;
	height: 100%;
	padding: 50px;
	position: relative;
}

h1 {
	background-image: url('logo.png');
	background-repeat: no-repeat;
	background-position: 50% 50%;
	background-size: cover;
	width: 285px;
	height: 175px;
}
h1 span { display: none; }

div.right p {
	font-size: 28px;
	font-weight: 400;
	color: white;
}

h2 {
	font-size: 38px;
	font-weight: 400;
	text-transform: uppercase;
	color: #565655;
	margin-top: 130px;
	margin-bottom: 300px;
}

div.box {
	font-size: 20px;
	font-weight: 600;
	color: white;
	text-transform: uppercase;
	width: calc(100% / 3 - 15px);
	padding: 30px;
}
div.red {
	background-color: rgba(228, 22, 10, 0.5);
}
div.green {
	background-color: rgba(251, 185, 0, 0.5);
}
div.yellow {
	background-color: rgba(149, 193, 26, 0.5);
}
div.footer {
	background-color: rgba(0, 0, 0, 0.5);
	/*position: absolute;*/
	padding: 30px;
	margin-top: 30px;
	/*bottom: -50px;
	padding-bottom: 80px;*/
	height: 100%;
	height: -webkit-fill-available;  /* Mozilla-based browsers will ignore this. */
	height: fill-available;
}
div.footer p, div.footer a {
	color: white;
	font-size: 18px;
	line-height: 24px;
	text-decoration: none;
}
span.square {
	width: 15px;
	height: 15px;
	display: inline-block;
	margin: 0 10px;
}
span.red {
	background-color: rgba(228, 22, 10, 1);
}
span.green {
	background-color: rgba(251, 185, 0, 1);
}
span.yellow {
	background-color: rgba(149, 193, 26, 1);
}

@media screen and (max-width: 1845px) {
	h2 {
		font-size: 32px;
	}
}

@media screen and (max-width: 1600px) {
	h2 {
		font-size: 26px;
	}
}

@media screen and (max-width: 1360px) {
	h2 {
		font-size: 22px;
	}
}

@media screen and (max-width: 1200px) {
	div.box, div.footer p, div.footer a {
		font-size: 14px;
	}
}
@media screen and (max-width: 1024px) {
	html, body {
		height: auto;
	}
	div.right {
		-ms-flex-pack: initial; -webkit-justify-content: initial; justify-content: initial;
	}
	h1 {
		margin-bottom: 50px;
	}
	div.right, div.left {
		width: 100%;
		height: auto;
	}
	div.left {
		padding-top: 0;
	}
	div.container {
		display: block;
	}
	h2 {
		margin: 0 0 50px 0;
		color: white;
	}
	div.footer {
		position: relative;
		bottom: 0;
		padding-bottom: 30px;
	}
}
@media screen and (max-width: 570px) {
	body {
		padding: 20px;
	}
	div.right {
		padding: 20px;
	}
	div.left {
		padding: 0 20px 20px 20px;
	}
	div.boxes {
		display: block;
	}
	div.box {
		width: 100%;
		height: auto !important;
	}
	span.square {
		width: 10px;
		height: 10px;
		margin: 0 5px;
	}
}
@media screen and (max-width: 390px) {
	body {
		padding: 0;
	}
	h1 {
		width: 280px;
		height: calc(280px / (285 / 175));
	}
	h2 {
		font-size: 22px;
	}
}