html{
	height: 100%;
}

*{
	box-sizing: border-box;
}

body{
	display: flex;
	flex-direction: column;
	justify-content: space-between;
	margin: 0px;
	padding: 0px;
	min-height: 100vh;
	width: 100%;
	background-color: #fff;
	background-position: center top;
	background-size: cover;
	background-repeat: no-repeat;
	background-attachment: fixed;
	font-family: 'Open Sans', sans-serif;
	font-size: 18px;
}

body.home{
	background-image: url("../img/ink-bg-4.jpg");
}

body.products-bg{
	background-image: url("../img/capabilities-bg.jpg");
}

body.capabilities-bg{
	background-image: url("../img/desk-bg.jpg");
}

body.contact-bg{
	background-image: url("../img/ink-bg-4.jpg");
}

body.home header{
	transform: translateY(-100px);
	transition: transform 1s;
}

header{
	position: fixed;
	height: 60px;
	padding: 10px;
	width: 100%;
	z-index: 100;
	background-color: #fff;
	box-shadow: 0px 5px 15px -10px #000;
}

header .logo{
	height: 40px;
}

header label{
	position: absolute;
	padding: 5px 0px;
	right: 20px;
	cursor: pointer;
}

header label img{
	height: 30px;
	width: 30px;
}

header input{
	display: none;
}

header nav{
	position: static;
	padding-top: 5px;
}

header nav > ul{
	position: absolute;
	left: 0px;
	margin: 0px;
	padding: 0px;
	height: 0px;
	width: 100vw;
	overflow: hidden;
	list-style-type: none;
	transition: height 1s;
}

header nav > ul > li{
	margin: 0px;
	border-style: solid;
	border-width: 1px 0px;
	border-color: #ddd;
	background-color: #fff;
	font-size: 22px;
	font-weight: bold;
	text-align: center;
}

header input:checked + nav > ul{
	height: 276px;
}

header nav > ul > li > a{
	display: block;
	padding: 16px;
	height: 100%;
	color: rgb(0, 0, 0);
}

main > :first-child{
	padding: 60px 0px;
}

footer{
	padding: 4%;
	background-color: #231f20;
	text-align: center;
	color: #fff;
}

footer .logo{
	width: 300px;
	height: 45px;
}

main{
	flex-grow: 1;
}

main > div > h1{
	margin: 0px;
	padding: 1em;
	width: 100%;
	flex-shrink: 0;
	background: linear-gradient(to right, rgba(0,0,0,0), rgba(0,0,0,.5), rgba(0,0,0,0));
	text-align: center;
	color: #fff;
}

p:first-child{
	margin-top: 0em;
}

.slogan p{
	margin: 0em;
}

a{
	text-decoration: none;
}

a:hover{
	color: rgb(91, 185, 92);
}

button{
	padding: 2px 5px;
	font-size: 12px;
}

#cover-page .logo{
	width: 300px;
}

#cover-page{
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: space-around;
	padding: 10vh 0px 35vh 0px;
	height: 100vh;
	background-color: rgba(255,255,255,.7);
	font-family: 'Overpass', sans-serif;
	text-align: center;
}

#cover-page > nav{
	display: none;
}

#cover-page > nav > ul > li > a:hover{
	color: #dd8;
}

.slogan{
	width: 300px;
	cursor: default;
	font-size: 18px;
}

.scroll-down-indicator{
	position: absolute;
	bottom: 20vh;
	margin: auto;
	width: 100%;
	animation: bob 1.5s infinite;
	backface-visibility: hidden;
	opacity: .5;
}

.wrapper{
	margin: auto;
	width: 300px;
}

.home-content{
	padding: 20px 0px;
	background: linear-gradient(to right, rgba(255,255,255,.7) 0%, rgba(255,255,255,0.9) 10%, rgba(255,255,255,1) 50%, rgba(255,255,255,0.9) 90%, rgba(255,255,255,.7) 100%);
}

.home-content h1{
	background: none;
	margin: .67em 0em;
	padding: 0px;
	font-size: 28px;
	text-align: center;
}

.home-content hr{
	margin: 3em auto;
	width: 10em;
	border: 1px solid #000;
}

.home-content img{
	width: 100%;
}

.three-columns{
	padding: 20px 0px;
	background: linear-gradient(to right, rgba(204,194,180,.7) 0%, rgba(204,194,180,0.9) 10%, rgba(204,194,180,1) 50%, rgba(204,194,180,0.9) 90%, rgba(204,194,180,.7) 100%);
}

.three-columns .column{
	display: flex;
	flex-direction: column;
	align-items: flex-start;
}

.three-columns h1{
	background: none;
	padding: 0px;
	font-size: 20px;
	font-weight: bold;
	text-align: left;
}

.three-columns ul{
	padding: 0px;
	margin-top: 0em;
	width: 100%;
}

.three-columns ul > li{
	list-style-position: inside;
}

.contact-content{
	height: 100%;
	background: rgba(255, 255, 255, .75);
}

.contact-content > .wrapper{
	padding-top: 50px;
	display: flex;
	margin: auto;
	justify-content: space-between;
	align-items: flex-start;
	flex-wrap: wrap;
}

.contact-map iframe{
	margin: 1em 0em;
	width: 300px;
}

.contact-complete-content{
	height:100%;
	background-color: rgba(255,255,255,.8);
	text-align: center;
}

.contact-complete-content .wrapper{
	display: flex;
	flex-direction: column;
	justify-content: space-around;
	height:100%;
}

.copyright{
	font-weight: bold;
	color: #544;
}

#contact-form input, #contact-form textarea{
	border-style: solid;
	border-width: 2px;
	border-color: #aaa;
	margin: 5px 0px;
	padding: 2px;
	width: 300px;
	font-size: 18px;
}

@keyframes bob{
	0%		{transform: translate(0%, 0%);}
	35%		{transform: translate(0%, -35%);}
	65%		{transform: translate(0%, -35%);}
	100%	{transform: translate(0%, 0%);}
}