@import url('https://fonts.googleapis.com/css?family=Roboto:300,500');

html, body {
	height: 100%;
	box-sizing: border-box;
}

body {
	font-family: 'Roboto', sans-serif;
	font-size: 15px;
	letter-spacing: 0.04em;
	font-weight: 300;
	color: #666666;
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
	text-rendering: optimizeLegibility;
}

main {
	padding: 20px;
	height: 90%;

	background: rgba(247,247,247,1);
	background: -moz-linear-gradient(top, rgba(247,247,247,1) 0%, rgba(246,246,246,1) 53%, rgba(255,255,255,1) 100%);
	background: -webkit-gradient(left top, left bottom, color-stop(0%, rgba(247,247,247,1)), color-stop(53%, rgba(246,246,246,1)), color-stop(100%, rgba(255,255,255,1)));
	background: -webkit-linear-gradient(top, rgba(247,247,247,1) 0%, rgba(246,246,246,1) 53%, rgba(255,255,255,1) 100%);
	background: -o-linear-gradient(top, rgba(247,247,247,1) 0%, rgba(246,246,246,1) 53%, rgba(255,255,255,1) 100%);
	background: -ms-linear-gradient(top, rgba(247,247,247,1) 0%, rgba(246,246,246,1) 53%, rgba(255,255,255,1) 100%);
	background: linear-gradient(to bottom, rgba(247,247,247,1) 0%, rgba(246,246,246,1) 53%, rgba(255,255,255,1) 100%);
	filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#f7f7f7', endColorstr='#ffffff', GradientType=0 );

	color: #888888;
	text-align: center;
}

main h1, main h2, main h3, main h4, main h5, main h6 {
	font-weight: 300;
	line-height: 1.4;
}

.main-wrapper {
	text-align: left;
	display: inline-block;
	width: 50%;
	min-width: 280px;
	max-width: 530px;
	margin-top: 25vh;
}

.arrow-container {
	position: absolute;
	bottom: 20%;
	left: calc(50% - 32px);
}

h1, h2, h3, h4, h5, h6 {
	margin: 0 0 20px;
	font-weight: 500;
}

h1 {
	font-size: 1.7em;
}
h2 {
	font-size: 1.4em;
}
h3 {
	font-size: 1.2em;
}
h4 {
	font-size: 1.1em;
}
h5 {
	font-size: 1em;
}

p {
	line-height: 1.4;
}

summary:focus {
	outline:none;
}

.no-bullets {
	list-style: none;
	padding-left: 0;
}

.social-icons {
	list-style: none;
	padding-left: 0;
	opacity: 0.7;
}

.social-icons li {
	display: inline;
	margin-right: 10px;
}

.social-icons li:last-child {
	margin-right: 0;
}

.social-icons li a {
	text-decoration: none;
}

.projects {
	margin-top: 20px;
	padding: 20px;
}

.projects > h2 {
	margin-bottom: 40px;
}

@media only screen and (max-device-width: 1024px) {

	.project-images::-webkit-scrollbar {
		display: none;
	}

	.project-images {
		-ms-overflow-style: none;
	}
}

.project-panel {
	display: block;
	padding-top: 20px;
	margin-bottom: 40px;

	border-top: 1px solid #f0f0f0;
}

.project-panel table {
	border-spacing: 0 10px;
}

.project-panel th {
	padding: 0;
	font-weight: 500;
}

.project-panel td {
	padding-left: 20px;
}

.project-images {
	overflow-x: auto;
	overflow-y: hidden;
	line-height: 0;
	white-space: nowrap;
	margin-bottom: 20px;
}

.project-images img {
	display: inline-block;
	margin-right: 20px;
	border: 1px solid rgba(0,0,0,0.05);
	width: 80%;
	max-width: 600px;
}

.project-images img:last-child {
	display: inline-block;
	margin-right: 0;
}

.project-description {
	display: inline-block;
	width: 100%;
	max-width: 600px;
}

footer {
	padding: 20px;
	margin: 0;
	color: #666666;
	font-size: 0.7em;
	background: #f0f0f0;
}

@media only screen and (min-device-width: 640px) {

	main {
		padding: 40px;
		height: 95%;
	}

	main h1 {
		font-size: 2.7em;
	}
	main h2 {
		font-size: 2.2em;
	}
	main h3 {
		font-size: 1.8em;
	}
	main h4 {
		font-size: 1.5em;
	}
	main h5 {
		font-size: 1.2em;
	}

	.projects {
		padding: 40px;
		margin-top: 40px;
	}

	.project-panel {
		padding-top: 40px;
		margin-bottom: 60px;
	}

	footer {
		padding: 40px;
	}
}

@media only screen and (min-device-width: 1024px) {

	main {
		padding: 40px 80px;
	}

	.projects {
		padding: 40px 80px;
		margin-top: 80px;
	}

	.project-panel {
		margin-bottom: 80px;
	}

	.project-images {
		padding-bottom: 10px;
	}

	footer {
		padding: 40px 80px;
	}
}