body,html {
	margin:0;
	padding:0;
	font-family: 'Rubik', sans-serif;		
}
.logo {
	display:flex;
	position:absolute;
	left:0px;
	top:0px;
	width:100%;
	background:gainsboro;
	height:80px;
	align-items:center;
	box-shadow:1px 1px 15px 1px black;
}
.logo > img {
	margin-left:50px;
	position:relative;		
}
.logo > .logo-text {
	margin-left:10px;
	font-size:1em;
}
.lead {	
	font-family: 'Rubik', sans-serif;	
	font-weight:500;
}
.em-big { font-size:4.25em; }
.sepia  { filter: sepia(0.85); }
.text-emboss { color:white; text-shadow:1px 1px 3px black; }
.text-bold { font-weight:500; }
.text-normal { font-size:1em; line-height:1.6; color:#242424; font-weight:400; }
.align-left { text-align:left };
.main {
	display:flex;
	flex-direction:column;
	position:absolute;
	width:100%;
	top:80px;
	height:auto;		
}
.section {		
	display:flex;
	position:relative;
	height:auto;
	width:100%;	
	align-items:center;
	text-align:center;
	min-height:100vh;
}
.bg {
	height:100vh;
	width:100%;
	display:flex;
	align-items:center;
	text-align:center;		
	justify-content:center;
	background-size: cover;
	background-repeat: no-repeat;
	transform: translate(0%, 0%);	
	transition: all 800ms;
}
.ing {
	height:100vh;
	width:100%;
	display:flex;
	text-align:center;
	justify-content:center;
	font-size:1.25em;
	transform: translate(0%, 75%);		
	transition: all 800ms ease 1s;		
}
.bos {
	display:flex;
	height:100vh;
	width:100%;
	text-align:center;
	justify-content:center;
	align-items:center;	
	transform: translate(0%, 75%);		
	transition: all 800ms ease 0.5s;	
	top:-70vh;
}
#s-1 { background:white; }
#s-2 { background:white; }
.cards {
	flex-wrap:wrap;
	justify-content:center;	
	align-content:flex-start;
	align-items:flex-start;
}
.cards > div {
	width:40%;
	margin:5%;
	min-width:400px;
	max-width:800px;
	text-align:left;
}
#s-books {
	background-repeat:no-repeat;
	background-size:cover;
	background-position:50% 50%;
}
#s-3 { background:gainsboro; }

.demo {
	background:white;
	min-height:40vh;
	justify-content:center;
	flex-direction:column;
}
.button {
	border-radius:40px;
	background:#D0A080;
	display:flex;
	justify-content:center;
	align-items:center;
	color:white;
	font-size:1.25em;
	width:120px;
	line-height:2.5;
	font-weight:500;
}
.demo a {
	color:white;
	text-decoration:none;	
}
.demo a > div {	
	transition:all 1000ms;
}
.demo a:hover > div {	
	transform:rotate3d(1, 0, 0, 1turn);
}
.footer {
	background:#404040;
	flex-wrap:wrap;
	justify-content:center;	
	min-height:40vh;
	color:white;
}
.footer > div {
	display:flex;
	align-items:flex-start;	
	width:75%;
}
.footer > div > div {
	width:33.3%;
}
.footer > .copy {
	display:flex;
	justify-content:center;
}


#float {
	position:absolute;
	height:100vh;
	width:100%;
	top:0px;
}
#float > div {
	position:absolute; 	
}
.init {
	transform: translate(0%, 100%);
	opacity: 0;
}
h1, h2 {
	text-transform:uppercase;
}