
/*
	Future Imperfect by HTML5 UP
	html5up.net | @n33co
	Free for personal and commercial use under the CCA 3.0 license (html5up.net/license)

	Modified/Cleaned for use with Hugo-Future-Imperfect Theme
	gohugo.io | @pacollins
*/

/* Reset */

	html, body, div, span, applet, object, iframe, h1, h2, h3, h4, h5, h6, p,
	blockquote, pre, a, abbr,	acronym, address, big, cite, code, del, dfn, em,
	img, ins, kbd, q, s, samp, small, strike, strong,	sub, sup, tt, var, b, u,
	i, center, dl, dt, dd, ol, ul, li, fieldset, form, label, legend, table,
	caption, tbody, tfoot, thead, tr, th, td, article, aside, canvas,	details,
	embed, figure, figcaption, footer, header, hgroup, menu, nav, output, ruby,
	section, summary, time, mark, audio, video {
		margin: 0;
		padding: 0;
		border: 0;
		font-size: 100%;
		font: inherit;
		vertical-align: baseline;
	}

	article, aside, details, figcaption, figure, footer, header, hgroup, menu,
	nav, section {
		display: block;
	}

	body {
		line-height: 1;
		-webkit-text-size-adjust: none;
	}

	ol, ul {
		list-style: none;
	}

	blockquote, q {
		quotes: none;

	}

	blockquote:before,
	blockquote:after,
	q:before,
	q:after {
		content: '';
		content: none;
	}

	header p {
		font-size: 1.2em;
		line-height: 1.4;
		margin: -1em 0;
	}

	table {
		border-collapse: collapse;
		border-spacing: 0;
	}

/* Box Model */

	*, *:before, *:after {
		-moz-box-sizing: border-box;
		-webkit-box-sizing: border-box;
		box-sizing: border-box;
	}

/* Basic */

	@-ms-viewport {
		width: device-width;
	}

	body {
		-ms-overflow-style: scrollbar;
	}

	@media screen and (max-width: 480px) {

		html, body {
			min-width: 320px;
		}

	}

	body {
		background: white;
	}

		body.is-loading *,
		body.is-loading *:before,
		body.is-loading *:after {
			-moz-animation: none !important;
			-webkit-animation: none !important;
			-ms-animation: none !important;
			animation: none !important;
			-moz-transition: none !important;
			-webkit-transition: none !important;
			-ms-transition: none !important;
			transition: none !important;
		}

/* Type */

	body, input, select, textarea {
		color: #333333;
		font-family: "Source Sans Pro", Helvetica, sans-serif;
		font-size: 14pt;
		font-weight: 400;
		line-height: 1.75;
	}

		@media screen and (max-width: 1680px) {

			body, input, select, textarea {
				font-size: 12pt;
			}

		}

		@media screen and (max-width: 1023px) {

			body, input, select, textarea {
				font-size: 12pt;
			}

		}

		@media screen and (max-width: 736px) {

			body, input, select, textarea {
				font-size: 12pt;
			}

		}

		@media screen and (max-width: 480px) {

			body, input, select, textarea {
				font-size: 12pt;
			}

		}

	a {
		-moz-transition: color 0.2s ease, border-bottom-color 0.2s ease;
		-webkit-transition: color 0.2s ease, border-bottom-color 0.2s ease;
		-ms-transition: color 0.2s ease, border-bottom-color 0.2s ease;
		transition: color 0.2s ease, border-bottom-color 0.2s ease;
		border-bottom: dotted 1px rgba(160, 160, 160, 0.65);
		color: inherit;
		text-decoration: none;
	}

		a:before {
			-moz-transition: color 0.2s ease;
			-webkit-transition: color 0.2s ease;
			-ms-transition: color 0.2s ease;
			transition: color 0.2s ease;
		}

		a:hover {
			border-bottom-color: transparent;
			color: #2ebaae !important;
		}

			a:hover:before {
				color: #2ebaae !important;
			}

	strong, b {
		color: #333333;
		font-weight: 700;
	}

	em, i {
		font-style: italic;
	}

	p {
		margin: 0 0 2em 0;
	}

	h1, h2, h3, h4, h5, h6 {
		color: #3c3b3b;
		font-family: "Raleway", Helvetica, sans-serif;
		font-weight: 800;
		letter-spacing: 0.1em;
		line-height: 1.65;
		margin: 0 0 1em 0;
		text-transform: uppercase;
	}

		h1 a, h2 a, h3 a, h4 a, h5 a, h6 a {
			color: inherit;
			border-bottom: 0;
		}

    h1 {
        font-size: 1.3em;
    }

	h2 {
		font-size: 1.1em;
	}

	h3 {
		font-size: 0.9em;
	}

	h4 {
		font-size: 0.7em;
	}

	h5 {
		font-size: 0.7em;
	}

	h6 {
		font-size: 0.7em;
	}

	sub {
		font-size: 0.8em;
		position: relative;
		top: 0.5em;
	}

	sup {
		font-size: 0.8em;
		position: relative;
		top: -0.5em;
	}

	blockquote {
		border-left: solid 4px rgba(160, 160, 160, 0.3);
		font-style: italic;
		margin: 0 0 2em 0;
		padding: 0.5em 0 0.5em 2em;
	}

		blockquote p {
				margin-bottom: 0;
		}

	code {
		background: rgba(160, 160, 160, 0.075);
		border: solid 1px rgba(160, 160, 160, 0.3);
		font-family: "Courier New", monospace;
		font-size: 0.9em;
		margin: 0 0.25em;
		padding: 0.25em 0.65em;
	}

	pre {
		-webkit-overflow-scrolling: touch;
		font-family: "Courier New", monospace;
		font-size: 0.9em;
		margin: 0 0 2em 0;
		display: table;
    table-layout: fixed;
    width: 100%
	}

		pre code {
			display: block;
			line-height: 1.75em;
			padding: 1em 1.5em;
			overflow-x: auto;
		}

	hr {
		border: 0;
		border-bottom: solid 1px rgba(160, 160, 160, 0.3);
		margin: 2em 0;
	}

		hr.major {
			margin: 3em 0;
		}

	.align-left {
		text-align: left;
	}

	.align-center {
		text-align: center;
	}

	.align-right {
		text-align: right;
	}


/* Box */

	.box {
		border: solid 1px rgba(160, 160, 160, 0.3);
		margin-bottom: 2em;
		padding: 1.5em;
	}

		.box > :last-child,
		.box > :last-child > :last-child,
		.box > :last-child > :last-child > :last-child {
			margin-bottom: 0;
		}

		.box.alt {
			border: 0;
			border-radius: 0;
			padding: 0;
		}

/* Button */

	input[type="submit"],
	input[type="reset"],
	input[type="button"],
	.button {
		-moz-appearance: none;
		-webkit-appearance: none;
		-ms-appearance: none;
		appearance: none;
		-moz-transition: background-color 0.2s ease, border 0.2s ease, color 0.2s ease;
		-webkit-transition: background-color 0.2s ease, border 0.2s ease, color 0.2s ease;
		-ms-transition: background-color 0.2s ease, border 0.2s ease, color 0.2s ease;
		transition: background-color 0.2s ease, border 0.2s ease, color 0.2s ease;
		background-color: transparent;
		border: solid 1px rgba(160, 160, 160, 0.3);
		color: #3c3b3b;
		cursor: pointer;
		display: inline-block;
		font-family: "Raleway", Helvetica, sans-serif;
		font-size: 0.6em;
		font-weight: 800;
		height: 4.8125em;
		letter-spacing: 0.25em;
		line-height: 4.8125em;
		padding: 0 2.5em;
		text-align: center;
		text-decoration: none;
		text-transform: uppercase;
		white-space: nowrap;
	}

		input[type="submit"]:hover,
		input[type="reset"]:hover,
		input[type="button"]:hover,
		.button:hover {
			border: solid 1px #2ebaae;
			color: #2ebaae !important;
		}

			input[type="submit"]:hover:active,
			input[type="reset"]:hover:active,
			input[type="button"]:hover:active,
			.button:hover:active {
				background-color: rgba(46, 186, 174, 0.05);
			}

		input[type="submit"]:before,
		input[type="submit"]:after,
		input[type="reset"]:before,
		input[type="reset"]:after,
		input[type="button"]:before,
		input[type="button"]:after,
		.button:before,
		.button:after {
			color: #aaaaaa;
			position: relative;
		}

		input[type="submit"]:before,
		input[type="reset"]:before,
		input[type="button"]:before,
		.button:before {
			left: -1em;
			padding: 0 0 0 0.75em;
		}

		input[type="submit"]:after,
		input[type="reset"]:after,
		input[type="button"]:after,
		.button:after {
			left: 1em;
			padding: 0 0.75em 0 0;
		}

		input[type="submit"].fit,
		input[type="reset"].fit,
		input[type="button"].fit,
		.button.fit {
			display: block;
			margin: 0 0 1em 0;
			width: 100%;
		}

		input[type="submit"].big,
		input[type="reset"].big,
		input[type="button"].big,
		.button.big {
			font-size: 0.7em;
			padding: 0 3em;
		}

		input[type="submit"].small,
		input[type="reset"].small,
		input[type="button"].small,
		.button.small {
			font-size: 0.5em;
		}

		input[type="submit"].disabled,
		input[type="submit"]:disabled,
		input[type="reset"].disabled,
		input[type="reset"]:disabled,
		input[type="button"].disabled,
		input[type="button"]:disabled,
		.button.disabled,
		.button:disabled {
			-moz-pointer-events: none;
			-webkit-pointer-events: none;
			-ms-pointer-events: none;
			pointer-events: none;
			color: rgba(160, 160, 160, 0.3) !important;
		}

			input[type="submit"].disabled:before,
			input[type="submit"]:disabled:before,
			input[type="reset"].disabled:before,
			input[type="reset"]:disabled:before,
			input[type="button"].disabled:before,
			input[type="button"]:disabled:before,
			.button.disabled:before,
			.button:disabled:before {
				color: rgba(160, 160, 160, 0.3) !important;
			}


/* Image */

	.image {
		border: 0;
		display: inline-block;
		position: relative;
	}

		.image img {
			display: block;
		}

		.image.left,
		.image.right,
		.image.center {
			max-width: 40%;
		}

			.image.left img,
			.image.right img,
			.image.center img {
				width: 100%;
			}

		.image.left {
			float: left;
			padding: 0 1.5em 1em 0;
			top: 0.25em;
		}

		.image.right {
			float: right;
			padding: 0 0 1em 1.5em;
			top: 0.25em;
		}

		.image.center {
				display: block;
				margin: auto;
				clear: both;
		}

		.image.fit {
			display: block;
			margin: 0 0 2em 0;
			width: 100%;
		}

			.image.fit img {
				width: 100%;
			}

		.image.featured {
			display: block;
			margin: 0 0 3em 0;
			width: 100%;
		}

			.image.featured img {
				width: 100%;
			}

			@media screen and (max-width: 736px) {

				.image.featured {
					margin: 0 0 1.5em 0;
				}

			}

		.image.main {
			display: block;
			margin: 0 0 3em 0;
			width: 100%;
		}

			.image.main img {
				width: 100%;
			}

/* List */

	ul {
		list-style: disc;
		margin: 0 0 2em 0;
		padding-left: 1em;
	}

		ul li {
			padding-left: 0.5em;
		}

		ul.actions {
			cursor: default;
			list-style: none;
			padding-left: 0;
		}

			ul.actions li {
				display: inline-block;
				padding: 0 1em 0 0;
				vertical-align: middle;
			}

				ul.actions li:last-child {
					padding-right: 0;
				}

			ul.actions.pagination .button {
			    background: white;
					line-height: 2.5em;
	        height: auto;
	        white-space: normal;
	        padding-top: 1em;
	        padding-bottom: 1em;
			}

			ul.actions.pagination .next {
				text-decoration: none;
			}

				ul.actions.pagination .next:after {
					content: "";
					-moz-osx-font-smoothing: grayscale;
					-webkit-font-smoothing: antialiased;
					font-family: FontAwesome;
					font-style: normal;
					font-weight: normal;
					text-transform: none !important;
				}

				ul.actions.pagination .next:after {
					content: '\f054';
				}

			ul.actions.pagination .previous {
				text-decoration: none;
			}

				ul.actions.pagination .previous:before {
					content: "";
					-moz-osx-font-smoothing: grayscale;
					-webkit-font-smoothing: antialiased;
					font-family: FontAwesome;
					font-style: normal;
					font-weight: normal;
					text-transform: none !important;
				}

				ul.actions.pagination .previous:before {
					content: '\f053';
				}

			@media screen and (max-width: 1023px) {

				ul.actions.pagination {
					text-align: center;
				}

					ul.actions.pagination .next, ul.actions.pagination .previous {
						min-width: 20em;
					}

			}

			@media screen and (max-width: 736px) {

				ul.actions.pagination .next, ul.actions.pagination .previous {
					min-width: 18em;
				}

			}

			ul.actions.small li {
				padding: 0 1em 0 0;
			}

			ul.actions.vertical li {
				display: block;
				padding: 1.5em 0 0 0;
			}

				ul.actions.vertical li:first-child {
					padding-top: 0;
				}

				ul.actions.vertical li > * {
					margin-bottom: 0;
				}

			ul.actions.vertical.small li {
				padding: 1em 0 0 0;
			}

				ul.actions.vertical.small li:first-child {
					padding-top: 0;
				}

			ul.actions.fit {
				display: table;
				margin-left: -1em;
				padding: 0;
				table-layout: fixed;
				width: calc(100% + 1em);
			}

				ul.actions.fit li {
					display: table-cell;
					padding: 0 0 0 1em;
				}

					ul.actions.fit li > * {
						margin-bottom: 0;
					}

				ul.actions.fit.small {
					margin-left: -0.5em;
					width: calc(100% + 0.5em);
				}

					ul.actions.fit.small li {
						padding: 0 0 0 0.5em;
					}

			@media screen and (max-width: 480px) {

				ul.actions {
					margin: 0 0 2em 0;
				}

					ul.actions li {
						padding: 1em 0 0 0;
						display: block;
						text-align: center;
						width: 100%;
					}

						ul.actions li:first-child {
							padding-top: 0;
						}

						ul.actions li > * {
							width: 100%;
							margin: 0 !important;
						}

					ul.actions.small li {
						padding: 0.5em 0 0 0;
					}

						ul.actions.small li:first-child {
							padding-top: 0;
						}

			}


/* Mini Post */

	.mini-post {
		display: -moz-flex;
		display: -webkit-flex;
		display: -ms-flex;
		display: flex;
		-moz-flex-direction: column-reverse;
		-webkit-flex-direction: column-reverse;
		-ms-flex-direction: column-reverse;
		flex-direction: column-reverse;
		background: #ffffff;
		border: solid 1px rgba(160, 160, 160, 0.3);
		margin: 0 0 2em 0;
	}

		.mini-post .image {
			overflow: hidden;
			width: 100%;
		}

			.mini-post .image.featured {
					margin: 0;
			}

		.mini-post header {
			padding: 1.25em 4.25em 0.1em 1.25em ;
			min-height: 4em;
			position: relative;
			-moz-flex-grow: 1;
			-webkit-flex-grow: 1;
			-ms-flex-grow: 1;
			flex-grow: 1;
		}

			.mini-post header h3 {
				font-size: 0.7em;
			}

			.mini-post header .published {
				display: block;
				font-family: "Raleway", Helvetica, sans-serif;
				font-size: 0.6em;
				font-weight: 400;
				letter-spacing: 0.25em;
				margin: -0.625em 0 1.7em 0;
				text-transform: uppercase;
			}

			.mini-post header .author, .mini-post header .format {
				position: absolute;
				right: 2em;
				top: 2em;
			}

	.mini-posts {
		margin: 0 0 2em 0;
	}

    .mini-posts .posts-container {
      display: -moz-flex;
      display: -webkit-flex;
      display: -ms-flex;
      display: flex;
      -moz-flex-wrap: wrap;
      -webkit-flex-wrap: wrap;
      -ms-flex-wrap: wrap;
      flex-wrap: wrap;
      justify-content: flex-start;
      width: 100%;
    }

      .mini-posts .posts-container > * {
        margin: 0.2em;
        width: 24%;
        margin-top: 0;
      }


		@media screen and (max-width: 800px) {


			.mini-posts .posts-container > * {
				margin: 0 0 2em 0;
				width: 49%;
			}

		}

		@media screen and (max-width: 480px) {

				.mini-posts .posts-container > * {
					margin: 0 0 2em 0;
					width: 100%;
				}

		}

/* Post */

	.post {
		padding: 3em 3em 1em 3em ;
		background: #ffffff;
		margin: 0 0 2em 0;
		position: relative;
	}

		.post > header {
			display: -moz-flex;
			display: -webkit-flex;
			display: -ms-flex;
			display: flex;
			left: -3em;
			margin: -3em 0 3em 0;
			position: relative;
			width: calc(100% + 6em);
		}

			.post > header .title {
				-moz-flex-grow: 1;
				-webkit-flex-grow: 1;
				-ms-flex-grow: 1;
				flex-grow: 1;
				-ms-flex: 1;
				padding: 0em 3em 3.3em 3em;
			}

				.post > header .title h1 {
            text-transform: none;
						font-weight: 900;
						font-size: 2.5em;
            line-height: 1.3;
				}

				.post > header .title h2 {
					font-weight: 900;
					font-size: 1.5em;
				}

				.post > header .title > :last-child {
					margin-bottom: 0;
				}

			.post > header .meta {
				padding: 3.75em 3em 1.75em 3em ;
				min-width: 17em;
				text-align: right;
				width: 17em;
			}

				.post > header .meta > * {
					margin: 0 0 1em 0;
				}

				.post > header .meta > :last-child {
					margin-bottom: 0;
				}

				.post > header .meta .published {
					color: #3c3b3b;
					display: block;
					font-family: "Raleway", Helvetica, sans-serif;
					font-size: 0.7em;
					font-weight: 800;
					letter-spacing: 0.25em;
					margin-top: 0.5em;
					text-transform: uppercase;
					white-space: nowrap;
				}

    #content p a,
		#content ul li a {
        border-bottom: dotted 2px rgba(160,160,160,.65);
    }

        #content p a:hover {
            border-bottom-color: transparent;
        }

    #content blockquote,
		#content p,
		#content ul{
        margin: 1em 0;
    }

		.post > .image.featured {
			overflow: hidden;
		}


			.post {
				border-left: 0;
				border-right: 0;
				left: -3em;
				width: calc(100% + (3em * 2));
			}

				.post > header {
					-moz-flex-direction: column;
					-webkit-flex-direction: column;
					-ms-flex-direction: column;
					flex-direction: column;
					padding: 3.75em 3em 1.25em 3em ;
					border-left: 0;
				}

					.post > header .title {
						-ms-flex: 0 1 auto;
						margin: 0 0 2em 0;
						padding: 0;
						text-align: center;
					}

					.post > header .meta {
						-moz-align-items: center;
						-webkit-align-items: center;
						-ms-align-items: center;
						align-items: center;
						display: -moz-flex;
						display: -webkit-flex;
						display: -ms-flex;
						display: flex;
						-moz-justify-content: center;
						-webkit-justify-content: center;
						-ms-justify-content: center;
						justify-content: center;
						border-left: 0;
						margin: 0 0 2em 0;
						padding-top: 0;
						padding: 0;
						text-align: left;
						width: 100%;
					}

						.post > header .meta > * {
							border-left: solid 1px rgba(160, 160, 160, 0.3);
							margin-left: 2em;
							padding-left: 2em;
						}

						.post > header .meta > :first-child {
							border-left: 0;
							margin-left: 0;
							padding-left: 0;
						}

						.post > header .meta .published {
							margin-bottom: 0;
							margin-top: 0;
						}

						.post > header .meta .author {
							-moz-flex-direction: row-reverse;
							-webkit-flex-direction: row-reverse;
							-ms-flex-direction: row-reverse;
							flex-direction: row-reverse;
							margin-bottom: 0;
						}

							.post > header .meta .author .name {
								margin: 0 0 0 1.5em;
							}

							.post > header .meta .author img {
								width: 3.5em;
							}


		@media screen and (max-width: 736px) {

			.post {
				padding: 0 1.5em 0.1em 1.5em ;
				left: -1.5em;
				margin: 0 0 2em 0;
				width: calc(100% + (1.5em * 2));
			}

				.post > header {
					padding: 3em 1.5em 0.5em 1.5em ;
					left: -1.5em;
					margin: -1.5em 0 1.5em 0;
					width: calc(100% + 3em);
				}

					.post > header .title h1 {
						font-size: 1.1em;
					}

					.post > header .title h2 {
						font-size: 1.1em;
					}

		}

		@media screen and (max-width: 480px) {
      .post {
        margin-top: -1.5em;
      }

			.post > header .meta {
				-moz-align-items: center;
				-webkit-align-items: center;
				-ms-align-items: center;
				align-items: center;
				-moz-flex-direction: column;
				-webkit-flex-direction: column;
				-ms-flex-direction: column;
				flex-direction: column;
			}

				.post > header .meta > * {
					border-left: 0;
					margin: 1em 0 0 0;
					padding-left: 0;
				}

				.post > header .meta .author .name {
					display: none;
				}

			.post > .image.featured {
				margin-left: -1.5em;
				margin-top: 0;
				width: calc(100% + 3em);
			}
		}

ul.categories {
  list-style-type: none;
  padding: 0;
}
ul.categories li {
  display: inline;
  padding-left: 0;
  padding-right: 0.6rem;
  text-transform: uppercase;
  font-family: "Raleway", Helvetica, sans-serif;
  font-size: 0.9rem;
}

.post-list {
  display: grid;
  grid-template-columns: auto 1fr;
  grid-gap: 0.5rem;
  align-items: center;
}
.post-list .title-link {
  font-weight: bold;
}

/* Section/Article */

	section.special, article.special {
		text-align: center;
	}

	article.post header .title p,
	article.post header .meta p,
	article.post header .meta span,
	article.post footer .stats {
	    /* Theoretically for IE 8 & 9 (more valid) */
	    /* ...but not required as filter works too */
	    /* should come BEFORE filter */
	    -ms-filter:"progid:DXImageTransform.Microsoft.Alpha(Opacity=70)";

	    /* This works in IE 8 & 9 too */
	    /* ... but also 5, 6, 7 */
	    filter: alpha(opacity=70);

	    /* Modern Browsers */
	    opacity: 0.70;
	}

	    article.post p,
	    article.post ol,
	    article.post h2,
	    article.post h3,
	    article.post h4 {
	        color: #333333;
	        /* Theoretically for IE 8 & 9 (more valid) */
	        /* ...but not required as filter works too */
	        /* should come BEFORE filter */
	        -ms-filter:"progid:DXImageTransform.Microsoft.Alpha(Opacity=87)";

	        /* This works in IE 8 & 9 too */
	        /* ... but also 5, 6, 7 */
	        filter: alpha(opacity=87);

	        /* Modern Browsers */
	        opacity: 0.87;
	    }

/* Header */

	#header {
		display: -moz-flex;
		display: -webkit-flex;
		display: -ms-flex;
		display: flex;
		-moz-justify-content: space-between;
		-webkit-justify-content: space-between;
		-ms-justify-content: space-between;
		justify-content: space-between;
		background-color: #ffffff;
		border-bottom: solid 1px rgba(160, 160, 160, 0.3);
		height: 3.5em;
		left: 0;
		line-height: 3.5em;
		position: absolute;
		top: 0;
		width: 100%;
		z-index: 10000;
	}

		#header a {
			color: inherit;
			text-decoration: none;
		}

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

			#header ul li {
				display: inline-block;
				padding-left: 0;
			}

		#header h1 {
			height: inherit;
			line-height: inherit;
			padding: 0 0 0 1.5em;
			white-space: nowrap;
			min-width: 12.4em;
		}

			#header h1 a {
				font-size: 0.7em;
			}

		#header h2 {
		    font-size: inherit;
		    height: inherit;
		    line-height: inherit;
		    padding: 0 0 0 1.5em;
		    white-space: nowrap;
		}

			#header h2 a {
	        font-size: 0.7em;
	    }

	    @media screen and (max-width: 736px) {
	        #header h2 {
	            padding: 0 0 0 1em;
	        }
	    }

		#header .links {
			-moz-flex: 1;
			-webkit-flex: 1;
			-ms-flex: 1;
			flex: 1;
			border-left: solid 1px rgba(160, 160, 160, 0.3);
			height: inherit;
			line-height: inherit;
			margin-left: 1.5em;
			overflow: hidden;
			padding-left: 1.5em;
		}

			#header .links a {
					/* Theoretically for IE 8 & 9 (more valid) */
					/* ...but not required as filter works too */
					/* should come BEFORE filter */
					-ms-filter:"progid:DXImageTransform.Microsoft.Alpha(Opacity=65)";

					/* This works in IE 8 & 9 too */
					/* ... but also 5, 6, 7 */
					filter: alpha(opacity=65);

					/* Modern Browsers */
					opacity: 0.65;
			}

			#header .links ul li {
				border-left: solid 1px rgba(160, 160, 160, 0.3);
				line-height: 1;
				margin-left: 1em;
				padding-left: 1em;
			}

				#header .links ul li:first-child {
					border-left: 0;
					margin-left: 0;
					padding-left: 0;
				}

				#header .links ul li a {
					border-bottom: 0;
					font-family: "Raleway", Helvetica, sans-serif;
					font-size: 0.7em;
					font-weight: 400;
					letter-spacing: 0.25em;
					text-transform: uppercase;
				}

		#header .main {
			height: inherit;
			line-height: inherit;
			text-align: right;
		}

			#header .main ul {
				height: inherit;
				line-height: inherit;
			}

				#header .main ul li {
					border-left: solid 1px rgba(160, 160, 160, 0.3);
					height: inherit;
					line-height: inherit;
					white-space: nowrap;
				}

					#header .main ul li > * {
						display: block;
						float: left;
					}

					#header .main ul li > a {
						text-decoration: none;
						border-bottom: 0;
						color: #aaaaaa;
						overflow: hidden;
						position: relative;
						text-indent: 4em;
						width: 4em;
						color: #333333;
						/* Theoretically for IE 8 & 9 (more valid) */
						/* ...but not required as filter works too */
						/* should come BEFORE filter */
						-ms-filter:"progid:DXImageTransform.Microsoft.Alpha(Opacity=35)";

						/* This works in IE 8 & 9 too */
						/* ... but also 5, 6, 7 */
						filter: alpha(opacity=35);

						/* Modern Browsers */
						opacity: 0.35;
					}

						#header .main ul li > a:before {
							-moz-osx-font-smoothing: grayscale;
							-webkit-font-smoothing: antialiased;
							font-family: FontAwesome;
							font-style: normal;
							font-weight: normal;
							text-transform: none !important;
						}

						#header .main ul li > a:before {
							display: block;
							height: inherit;
							left: 0;
							line-height: inherit;
							position: absolute;
							text-align: center;
							text-indent: 0;
							top: 0;
							width: inherit;
						}

		#header form {
			margin: 0;
		}

			#header form input {
				display: inline-block;
				height: 2.5em;
				position: relative;
				top: -2px;
				vertical-align: middle;
			}

		#header #search {
			-moz-transition: all 0.5s ease;
			-webkit-transition: all 0.5s ease;
			-ms-transition: all 0.5s ease;
			transition: all 0.5s ease;
			max-width: 0;
			opacity: 0;
			overflow: hidden;
			padding: 0;
			white-space: nowrap;
		}

			#header #search input {
				color: #333333;
				width: 12em;
			}

			#header #search.visible {
				max-width: 12.5em;
				opacity: 1;
				padding: 0 0.5em 0 0;
			}

		@media screen and (min-width: 1023px) {

				#header .menu {
					display: none;
				}

			}

		@media screen and (max-width: 1023px) {

			#header .links {
				display: none;
			}

		}

		@media screen and (max-width: 736px) {

			#header {
				height: 2.75em;
				line-height: 2.75em;
			}

				#header h1 {
					padding: 0 0 0 1em;
				}

				#header .main .search {
					display: none;
				}

		}

		@media screen and (max-width: 320px) {
			#header h1 {
				min-width: 0;
				padding: 0 0 0 .5em;
			}
		}

/* Wrapper */

	#wrapper {
    display: block;
		-moz-transition: opacity 0.5s ease;
		-webkit-transition: opacity 0.5s ease;
		-ms-transition: opacity 0.5s ease;
		transition: opacity 0.5s ease;
		margin: 0 auto;
		opacity: 1.5em;
		padding: 1.5em;
		overflow: hidden;
    width: calc(768px + 3em);
    max-width: 100%;
	}


/* Main */

	#main {
		-moz-flex-grow: 1;
		-webkit-flex-grow: 1;
		-ms-flex-grow: 1;
		flex-grow: 1;
		-ms-flex: 1;
		width: 100%;
	}

/* Sidebar */

    #sidebar {
      border-top: solid 1px rgba(160, 160, 160, 0.3);
      margin: 3em 0 0 0;
      min-width: 0;
      padding: 3em 0 0 0;
      width: 100%;
    }

		#sidebar > * {
			border-top: solid 1px rgba(160, 160, 160, 0.3);
			margin: 3em 0 0 0;
			padding: 3em 0 0 0;
		}

		#sidebar > :first-child {
			border-top: 0;
			margin-top: 0;
			padding-top: 0;
		}

		#sidebar #mini-bio p {
				/* Theoretically for IE 8 & 9 (more valid) */
				/* ...but not required as filter works too */
				/* should come BEFORE filter */
				-ms-filter:"progid:DXImageTransform.Microsoft.Alpha(Opacity=65)";

				/* This works in IE 8 & 9 too */
				/* ... but also 5, 6, 7 */
				filter: alpha(opacity=65);

				/* Modern Browsers */
				opacity: 0.65;
				font-size: 0.9em;
				padding: 0;
		}


/* Intro */

	#intro {
		align-items: center;
		text-align: center;
	}

		#intro p,
		#intro .icons a {
				/* Theoretically for IE 8 & 9 (more valid) */
				/* ...but not required as filter works too */
				/* should come BEFORE filter */
				-ms-filter:"progid:DXImageTransform.Microsoft.Alpha(Opacity=60)";

				/* This works in IE 8 & 9 too */
				/* ... but also 5, 6, 7 */
				filter: alpha(opacity=60);

				/* Modern Browsers */
				opacity: 0.6;
		}

		#intro .intro-circle {
		    border-radius: 50%;
		}

		#intro .logo {
			border-bottom: 0;
			display: inline-block;
			margin: 0 0 1em 0;
			overflow: hidden;
			position: relative;
			width: 4em;
		}

			#intro .logo:before {
				/*background-image: url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='100px' height='100px' viewBox='0 0 100 100' preserveAspectRatio='none' zoomAndPan='disable'%3E%3Cpolygon points='0,0 100,0 100,25 50,0 0,25' style='fill:%23f4f4f4' /%3E%3Cpolygon points='0,100 100,100 100,75 50,100 0,75' style='fill:%23f4f4f4' /%3E%3C/svg%3E");*/
				background-position: top left;
				background-repeat: no-repeat;
				background-size: 100% 100%;
				content: '';
				display: block;
				height: 100%;
				left: 0;
				position: absolute;
				top: 0;
				width: 100%;
			}

			#intro .logo img {
				display: block;
				margin-left: -0.25em;
				width: 4.5em;
			}

		#intro header h2 {
			font-size: 1.5em;
			font-weight: 900;
		}

		#intro header p {
			font-size: 0.8em;
		}

	@media screen and (max-width: 1023px) {

		#intro {
			margin: 0 0 3em 0;
			text-align: center;
		}

			#intro header h2 {
				font-size: 2em;
			}

			#intro header p {
				font-size: 0.7em;
			}

	}

	@media screen and (max-width: 736px) {

		#intro {
			margin: 0 0 1.5em 0;
			padding: 1.25em 0;
		}

			#intro > :last-child {
				margin-bottom: 0;
			}

			#intro .logo {
				margin: 0 0 0.5em 0;
			}

			#intro header h2 {
				font-size: 1.25em;
			}

			#intro header > :last-child {
				margin-bottom: 0;
			}

	}

/* Footer */

	#footer .icons {
		color: #aaaaaa;
		text-align: center;
		margin-top: 0;
		padding-top: 0
	}

	#footer .copyright {
		text-align: center;
		color: #aaaaaa;
		font-family: "Raleway", Helvetica, sans-serif;
		font-size: 0.7em;
		font-weight: 400;
		letter-spacing: 0.25em;
		text-transform: uppercase;
	}


img.left-image-aside, img.right-image-aside {
  width: 100vw;
  max-width: none;
  margin-left: -1.5rem;
  margin-right: -1.5rem;
  padding-bottom: 1rem;
}
@media (min-width: 481px) {
  img.left-image-aside, img.right-image-aside {
    margin: auto;
    width: 320px;
  }
}
@media (min-width: 737px) {
  img.left-image-aside, img.right-image-aside {
    width: calc(320px + 1rem);
  }
  .left-image-aside { float: left; }
  img.left-image-aside { padding-right: 1rem; }
  .right-image-aside { float: right; }
  img.right-image-aside { padding-left: 1rem; }
}
.caption {
  position: relative;
  top: -0.5rem;
  font-size: smaller;
  opacity: 0.9;
}

.run-box {
  display: grid;
}
@media (min-width: 600px) {
  .run-box {
    grid-template-columns: auto auto;
  }
}
.run-box .key {
  font-weight: bold;
  text-align: right;
  margin-right: 1rem;
  margin-bottom: 0.5rem;
}
.run-box .basics {
  display: grid;
  grid-template-columns: auto auto;
  margin: auto;
}
@media (min-width: 600px) {
  .run-box .basics {
    padding-right: 1rem;
  }
}
.run-box .map {
  text-align: center;
}

h1.index {
  font-size: 2em;
  text-transform: none;
  margin-bottom: 1rem;
}
@media (min-width: 600px) {
  h1.index {
    font-size: 3em;
  }
}
