body {
	background-color: #FFF;
	font-family: "Roboto", "Arial", "Sans-Serif";

	margin: 0;
	padding: 0;

	font-weight: 400;
	letter-spacing: 0.01em;
}

.regular {
	margin: 6em 0 0 0;
}

* {
	box-sizing: border-box;
}

h1, h2, h3, h4 {
	font-weight: 500;
}

a:link, a:active, a:visited {
	color: #D11f93;
	text-decoration: none;
}

a:hover {
	text-decoration: underline;
}

code {
    background-color: rgba(0,0,0,0.04);

	font-family: Consolas, "Liberation Mono", Menlo, Courier, monospace;

	padding: 0;
    padding-top: 0.2em;
    padding-bottom: 0.2em;

    margin: 0;

    font-size: 85%;

    border-radius: 3px;
    color: #333;
}

code:after, code:before {
	letter-spacing: -0.2em;
    content: "\00a0";
}

pre code:after, pre code:before {
	content: normal;
}

pre {
    background-color: rgba(0,0,0,0.04);
	border-radius: 3px;

	overflow: auto;

	padding: 16px;

	font-size: 85%;
	line-height: 1.45;
}

pre code {
	display: inline;

	max-width: initial;

	padding: 0;
	margin: 0;

	background-color: transparent;
	border: 0;

	overflow: initial;
	word-wrap: normal;
	word-break: normal;
	white-space: pre;

	font-size: 100%;
	line-height: inherit;

	background: transparent;
}

figure {
	padding: 0;
	margin: 0;
}

blockquote {
	padding: 0 15px;
	color: #777;
	border-left: 4px solid #ddd;
}

/* -- structure/generic -- */

main {
	margin-top: 2em;
	margin-bottom: 2em;
}

.center-figure {
	text-align: center;
	margin-top: 2em;
	margin-bottom: 2em;
}

.center-figure img {
	max-width: 100%;
}

.padded-content {
	padding-left: 1em;
	padding-right: 1em;
}

.contained {
	width: 100%;
	margin-left: auto;
	margin-right: auto;
}

.full-width {
	max-width: 100%;
	display: block;
	margin: auto;
	text-align: center;
}

@media (min-width: 725px) {

	main {
		margin-top: 4em;
		margin-bottom: 4em;
	}

	.contained {
		width: 700px;
	}

	.padded-content {
		padding-left: 0;
		padding-right: 0;
	}


}

/* -- header -- */

.regular #nav-header {
	position: fixed;
	top: 0;
	left: 0;
	width: 100%;
}

#nav-header {
	padding: 0.5em;

	text-align: left;

	font-size: 1.3em;
	text-transform: lowercase;

	font-weight: 300;
	background-color: white;
	border-bottom: 1px solid #EEE;
}

#nav-header nav ul, #nav-header nav ul li {
	display: inline-block;
}

#nav-header nav ul {
	list-style: none;
	margin: 0;
	padding: 0;
}

#nav-external {
	display: none;
}

#nav-external img {
	height: 1.35em;
	margin-right: 0.4em;
	vertical-align: middle;
}

#nav-header .active {
	font-weight: bold;
}

#nav-header a {
	color: #545454;
}

#nav-external ul li {
	padding-left: 0.5em;
	padding-right: 0.5em;
}

#nav-internal ul li {
	padding-left: 0.2em;
	padding-right: 0.2em;
}

@media (min-width: 625px) {
	#nav-header {
		font-size: 1.1em;
		padding: 0.9em;

		text-align: right;
	}

	#nav-header nav {
		display: inline-block;
	}

	#nav-internal ul li {
		padding-left: 0.75em;
		padding-right: 0.75em;
	}

	#nav-internal {
		padding-right: 1.5vw;
	}

	#nav-external {
		padding-left: 2vw;
		padding-right: 0.5em;
		border-left: 1px solid #b2b2b2;
	}
}

/* -- summary -- */

.summary {
	padding-bottom: 4em;
	margin-bottom: 5em;

	border-bottom: 1px solid #b2b2b2;

	line-height: 1.75em;
}

.summary .preview-image {
    width: 100%;
    height: 15em;
    background-position: center center;
    background-size: cover;
    background-repeat: no-repeat;
}

.summary header {
	margin-top: 1em;
	margin-bottom: 0.75em;
}

.summary header h1 {
	font-size: 1.5em;
}

.summary header h1 a {
	color: #000;
}

.summary footer {
	color: #9a9a9a;
	margin-top: 1.5em;
}

.summary footer a {
	color: #D11f93;
}

#list-section ul {
	list-style: none;
	padding: 0;
	margin: 0;
}

#list-section ul li h1, #list-section ul li h2 {
	/*display: inline-block;*/
}

#list-section ul li h1 a {
	color: #000;
}

#list-section ul li h1 {
	font-size: 1.5em;
	font-weight: 400;
	margin: 0;
	margin-bottom: 0.1em;
}

#list-section ul li h2 {
	font-size: 1em;
	color: #b2b2b2;
	font-weight: 300;
	margin: 0;
	margin-bottom: 0.75em;
}

/* -- project summary -- */

.project-summary .date {
	color: #b2b2b2;
	font-size: 0.75em;
	font-weight: normal;
	padding: 0 0 0 0.5em;
}


/*a:link, a:active, a:visited {
	color: #D11f93;
	text-decoration: none;
}

a:hover {
	text-decoration: underline;
}*/

@media (min-width: 625px) {
	.project-summary {
		min-height: 12em;

		margin-bottom: 2em;
		padding-bottom: 1em;		

		border-bottom: none;

		line-height: 1.4em;
	}

	.project-summary header h1 {
		font-size: 1.5em;
	}

	.project-summary .description {
		margin-left: 18em;
	}

	.project-summary .preview-image {
		float: left;
		width: 16em;
		height: 12em;
	}
}

/* -- blog -- */

#single header {
	margin-top: 2.5em;
	margin-bottom: 3em;
}

#single header h1 {
	text-align: center;

	font-weight: 500;
	font-size: 2em;

	word-wrap: break-word;

	margin: 0;
}

#single header h2 {
	text-align: center;

	font-weight: 300;
	font-size: 1em;

	margin: 0;
	margin-top: 0.2em;
}


#single article {
	line-height: 1.75em;
}

/* -- about -- */

#social-links {
	margin-top: 3em;
}

#social-links ul {
	text-align: center;
	font-size: 1.15em;
	line-height: 2.5em;
}

#social-links ul li {
	display: inline-block;
	padding-left: 1em;
	padding-right: 1em;
}

#social-links ul {
	list-style: none;
	margin: 0;
	padding: 0;
}

#social-links ul img {
	height: 2em;
	margin-right: 0.6em;
	vertical-align: middle;
}

#social-links ul a {
	color: #545454;
}

.snapcode {
	margin: auto;
	text-align: center;
	padding: 2em;
}

.snapcode img {
	width: 15em;	
}