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

html, body {
	height: 100%;
	padding: 0;
	margin: 0;
}

body {
	overflow: hidden;
}

.no-js body {
	overflow: auto;
}

@media (max-width: 480px) {
	body {
		overflow-y: scroll;
	}
}

.header {
	position: absolute;
	width: 100%;
}

.main {
	margin-top: 2.5em;
	padding: 3em 0;
}

.pt-wrapper {
	position: relative;
	width: 100%;
	height: 100%;
	-webkit-perspective: 1200px;
	-moz-perspective: 1200px;
	perspective: 1200px;
}

.pt-page {
	width: 100%;
	height: 100%;
	position: absolute;
	top: 0;
	left: 0;
	visibility: hidden;
	overflow: hidden;
	-webkit-backface-visibility: hidden;
	-moz-backface-visibility: hidden;
	backface-visibility: hidden;
	-webkit-transform: translate3d(0, 0, 0);
	-moz-transform: translate3d(0, 0, 0);
	transform: translate3d(0, 0, 0);
	-webkit-transform-style: preserve-3d;
	-moz-transform-style: preserve-3d;
	transform-style: preserve-3d;
}

@media (max-width: 480px) {
	.pt-page {
		height: auto;
	}
}

.pt-page-current, .no-js .pt-page {
	z-index: 1;
	visibility: visible;
}

.pt-page-ontop {
	z-index: 999;
}
html,
body,
input,
select,
textarea {
	color: #584f4b;
}

body {
	/*background: url('bg.jpg') no-repeat center center fixed;*/
	background: url('bg.svg') no-repeat center center fixed;
	-webkit-background-size: cover;
	-moz-background-size: cover;
	-o-background-size: cover;
	background-size: cover;
	background-color: transparent;
}

body, li {
	font-family: "Source Sans Pro", "Helvetica", "Helvetica Neue", "Arial", sans-serif;
}

@media (min-width: 481px) {
	/* For mobile, keep Bootstrap default smaller sizes */
	body, li {
		font-size: 18px;
		line-height: 32px;
	}
}

h1, h2, h3, h4, h5, h6, strong {
	color: #231f1e;
}

::-moz-selection {
	background: #5c524f;
	text-shadow: none;
	color: white;
}
::selection { /* Must be a separate rule, per https://developer.mozilla.org/en-US/docs/Web/CSS/::selection */
	background: #5c524f;
	text-shadow: none;
	color: white;
}

a, a:visited {
	color: #D8642C;
}
a:hover {
	color: #f47d44;
	text-decoration: none;
	border-bottom: 1px dashed #f47d44;
	outline: 0;
}
a:focus {
	color: #f47d44;
	text-decoration: none;
	border: 0;
	outline: 0;
}
a.gallery:hover {
	border: 0;
}

hr {
	display: block;
	height: 1px;
	border: 0;
	border-top: 1px solid #ccc;
	margin: 1em 0;
	padding: 0;
}

img {
	vertical-align: middle;
}

fieldset {
	border: 0;
	margin: 0;
	padding: 0;
}

textarea {
	resize: vertical;
}
nav {
	text-align: center;
	padding: 5px 0;
	behavior: url(pie/PIE.php);
	z-index: 9999;
}

nav ul {
	display: inline-block;
	margin: 0;
	padding: 0;
}

nav ul li {
	display: inline;
}

nav a {
	margin: 0em;
	padding: 0.5em;
	min-width: 5em;
	display: inline-block;
	text-align: center;
	text-decoration: none;
	text-shadow: 1px 1px 2px rgba(0, 0, 0, 0.3);
	font-family: "Source Sans Pro";
	font-weight: 700;
	font-size: 160%;
	color: #e29e68;
	outline: 0;
	white-space: nowrap;
}



nav a:visited {
	color: #e29e68;
}

nav a:hover,
nav a:active {
	color: #D8642C;
	border: 0;
	outline: 0;
	text-decoration: none;
	text-shadow: 1px 1px 2px rgba(0, 0, 0, 0.3);
/*	box-shadow: 0px 0px 1.5em 1em rgba(255, 255, 255, 0.7);
	background: rgba(255, 255, 255, 0.7);
	behavior: url(pie/PIE.php);*/
}

nav li.active a {
	color: #f0da90;
}

#bookmark {
	position: absolute;
	top: -0.33em;
	left: -9999px;
	z-index: -9999;
	font-size: 9.1em;
	color: rgba(255, 226, 189, 0.3);
}

@media (max-width: 480px) {
	#bookmark {
		top: -0.47em;
	}
}header h1.title {
	color: #5c524f;
	font-family: "Source Sans Pro";
	font-size: 350%;
	font-weight: 700;
	line-height: 125%;
	margin: 0.4em 0 0.1em 0;
	text-align: center;
	text-shadow: 1px 1px 2px rgba(255, 255, 255, 0.2);
}

@media (max-width: 480px) {
	header h1.title {
		font-size: 250%;
	}
}

header h2.subtitle {
	color: #5c524f;
	font-size: 150%;
	font-weight: 200;
	letter-spacing: 2px;
	line-height: 250%;
	margin: 0;
	text-align: center;
	text-shadow: 1px 1px 2px rgba(255, 255, 255, 0.2);
	word-spacing: 2px;
}

@media (max-width: 480px) {
	header h2.subtitle {
		line-height: 150%;
		margin: 0.4em 0;
	}
}

header h2.subtitle-bold {
	font-size: 130%;
	font-weight: 400;
	line-height: 150%;
	margin: 0.3em auto 2.5em auto;
}

.main article h3.subtitle {
	font-weight: 200;
	font-size: 115%;
	text-align: center;
	margin: 0 auto 1em auto;
}

.main article {
	margin: 60px;
	/*text-shadow: 1px 1px 2px rgba(255, 255, 255, 0.3);*/
	/*box-shadow: 0px 0px 45px 30px rgba(255,255,255,0.5);*/
	background: rgba(255,255,255,0.5);
	border-radius: 30px;
	padding: 30px;
	behavior: url(pie/PIE.htc);
}


@-moz-document url-prefix() { /* Firefox only; see http://stackoverflow.com/a/18787345/223225 */
	.main article {
		/*box-shadow: 0px 0px 30px 30px rgba(255,255,255,0.5);*/
	}
}

@media (max-width: 480px) {
	.main article {
		margin: 40px 5px;
	}
}

.main .entry {
	margin-top: 1em;
	margin-bottom: 1em;
}

.main article h1 {
	font-size: 2em;
	font-family: "Source Sans Pro";
	font-weight: 700;
	text-align: center;
}

.main article h2 {
	font-size: 1.4em;
	font-family: "Source Sans Pro";
	font-weight: 700;
	text-align: center;
	margin: 2em 0 0.7em 0;
}

.main article h3 {
	font-size: 1.2em;
	font-family: "Source Sans Pro";
	font-weight: 700;
	text-align: left;
	margin: 2em 0 0.5em 0;
}

.main article h3.first {
	margin-top: 0;
}

.main article .subsection {
	font-size: 1.2em;
	font-family: "Source Sans Pro";
	font-weight: 700;
	font-style: normal;
	text-align: left;
	margin-right: 0.5em;
}

.main article h4 {
	font-weight: 700;
	margin: 0.6em 0;
}

.main article h5 {
	font-weight: 300;
	font-style: italic;
	margin: auto;
}

.main article ul, .main article ol {
	margin: 0.5em 0;
}

.main article ul li {
	margin: 0.1em 0;
	list-style: none;
	margin-left: -20px;
}

.main article ul li.section {
	margin: 0.5em 0;
	margin-left: -20px;
}

.main article ul ul li {
	list-style: square;
}

.main article ul > ul li {
	margin-left: -40px;
	margin-top: -0.4em;
}

.main article .list p {
	margin: 0.3em 0 0.3em 1em;
}

.main article strong {
	margin-right: 0.5em;
}

.main article span.slash {
	font-weight: normal;
	padding-left: 0.1em;
	padding-right: 0.1em;
}

.main article .date {
	font-style: italic;
	white-space: nowrap;
}

.main article ul.list-inline.list-labels {
	display: inline;
	margin: 0;
}
.main article ul.list-inline.list-labels li {
	background: rgba(92, 82, 79, 0.75);
	display: inline;
	padding: .2em .6em .3em;
	font-size: 70%;
	font-weight: 200;
	line-height: 0.3em;
	color: #fff;
	text-align: center;
	white-space: nowrap;
	vertical-align: baseline;
	border-radius: .25em;
	margin: 0;
	top: -0.3em;
	position: relative;
}

.main article div.gallery img {
	margin-bottom: 1em;
	vertical-align: top;
}

.main article div.pull-right > .thumb, .main article div.pull-right > .thumb-for-video {
	margin-left: 1em;
}
.main article div.pull-left > .thumb, .main article div.pull-left > .thumb-for-video {
	margin-right: 1em;
}

video {
	max-width: 100%;
	max-height: 100%;
	max-height: 80vh;
}
/*
 *	Home
 */

#home {
	margin-top: 10em;
}

#home > article {
	max-width: 867px;
	margin: 0 auto;
}

#home .home-lead {
	font-size: 150%;
	line-height: 180%;
	font-weight: 300;
	max-width: 920px;
	margin: 0 auto;
}

/*
 *	Résumé
 */

#resume {
	margin-top: 5em;
}

#resume > article {
	max-width: 1180px;
	margin: 60px auto;
}

/*
 *	Portfolio
 */

#portfolio section {
	margin-bottom: 5em;
}
#portfolio section.last {
	margin-bottom: 0;
}

/*
 *	Contact
 */

.nowrap {
	white-space: nowrap;
}

.ir {
	background-color: transparent;
	border: 0;
	overflow: hidden;
	*text-indent: -9999px;
}

.ir:before {
	content: "";
	display: block;
	width: 0;
	height: 150%;
}

.hidden {
	display: none !important;
	visibility: hidden;
}

.visuallyhidden {
	border: 0;
	clip: rect(0 0 0 0);
	height: 1px;
	margin: -1px;
	overflow: hidden;
	padding: 0;
	position: absolute;
	width: 1px;
}

.visuallyhidden.focusable:active,
.visuallyhidden.focusable:focus {
	clip: auto;
	height: auto;
	margin: 0;
	overflow: visible;
	position: static;
	width: auto;
}

.invisible {
	visibility: hidden;
}

.offstage {
	position: absolute;
	top: -9999px;
	left: -9999px;
}

img.hidden-hidpi {
	display: inline;
}
img.hidden-lodpi {
	display: none;
}
@media
	only screen and (-webkit-min-device-pixel-ratio: 1.3),
	only screen and (-o-min-device-pixel-ratio: 13/10),
	only screen and (min-resolution: 120dpi) {
	/* Per http://bjango.com/articles/min-device-pixel-ratio/ and https://gist.github.com/3446599 */
		img.hidden-hidpi {
			display: none;
		}
		img.hidden-lodpi {
			display: inline;
		}
}

.dropshadow {
  -webkit-box-shadow: 3px 3px 20px #fff;
  -ms-box-shadow: 3px 3px 20px #fff;
  -moz-box-shadow: 3px 3px 20px #fff;
  -o-box-shadow: 3px 3px 20px #fff;
  box-shadow: 3px 3px 20px #fff;
}/* room walls */

.pt-page-rotateRoomLeftOut {
	-webkit-transform-origin: 100% 50%;
	-webkit-animation: rotateRoomLeftOut .8s both ease;
	-moz-transform-origin: 100% 50%;
	-moz-animation: rotateRoomLeftOut .8s both ease;
	transform-origin: 100% 50%;
	animation: rotateRoomLeftOut .8s both ease;
}
.pt-page-rotateRoomLeftIn {
	-webkit-transform-origin: 0% 50%;
	-webkit-animation: rotateRoomLeftIn .8s both ease;
	-moz-transform-origin: 0% 50%;
	-moz-animation: rotateRoomLeftIn .8s both ease;
	transform-origin: 0% 50%;
	animation: rotateRoomLeftIn .8s both ease;
}
.pt-page-rotateRoomRightOut {
	-webkit-transform-origin: 0% 50%;
	-webkit-animation: rotateRoomRightOut .8s both ease;
	-moz-transform-origin: 0% 50%;
	-moz-animation: rotateRoomRightOut .8s both ease;
	transform-origin: 0% 50%;
	animation: rotateRoomRightOut .8s both ease;
}
.pt-page-rotateRoomRightIn {
	-webkit-transform-origin: 100% 50%;
	-webkit-animation: rotateRoomRightIn .8s both ease;
	-moz-transform-origin: 100% 50%;
	-moz-animation: rotateRoomRightIn .8s both ease;
	transform-origin: 100% 50%;
	animation: rotateRoomRightIn .8s both ease;
}
.pt-page-rotateRoomTopOut {
	-webkit-transform-origin: 50% 100%;
	-webkit-animation: rotateRoomTopOut .8s both ease;
	-moz-transform-origin: 50% 100%;
	-moz-animation: rotateRoomTopOut .8s both ease;
	transform-origin: 50% 100%;
	animation: rotateRoomTopOut .8s both ease;
}
.pt-page-rotateRoomTopIn {
	-webkit-transform-origin: 50% 0%;
	-webkit-animation: rotateRoomTopIn .8s both ease;
	-moz-transform-origin: 50% 0%;
	-moz-animation: rotateRoomTopIn .8s both ease;
	transform-origin: 50% 0%;
	animation: rotateRoomTopIn .8s both ease;
}
.pt-page-rotateRoomBottomOut {
	-webkit-transform-origin: 50% 0%;
	-webkit-animation: rotateRoomBottomOut .8s both ease;
	-moz-transform-origin: 50% 0%;
	-moz-animation: rotateRoomBottomOut .8s both ease;
	transform-origin: 50% 0%;
	animation: rotateRoomBottomOut .8s both ease;
}
.pt-page-rotateRoomBottomIn {
	-webkit-transform-origin: 50% 100%;
	-webkit-animation: rotateRoomBottomIn .8s both ease;
	-moz-transform-origin: 50% 100%;
	-moz-animation: rotateRoomBottomIn .8s both ease;
	transform-origin: 50% 100%;
	animation: rotateRoomBottomIn .8s both ease;
}

/* room walls */

@-webkit-keyframes rotateRoomLeftOut {
	to { opacity: .3; -webkit-transform: translateX(-100%) rotateY(90deg); }
}
@-moz-keyframes rotateRoomLeftOut {
	to { opacity: .3; -moz-transform: translateX(-100%) rotateY(90deg); }
}
@keyframes rotateRoomLeftOut {
	to { opacity: .3; transform: translateX(-100%) rotateY(90deg); }
}

@-webkit-keyframes rotateRoomLeftIn {
	from { opacity: .3; -webkit-transform: translateX(100%) rotateY(-90deg); }
}
@-moz-keyframes rotateRoomLeftIn {
	from { opacity: .3; -moz-transform: translateX(100%) rotateY(-90deg); }
}
@keyframes rotateRoomLeftIn {
	from { opacity: .3; transform: translateX(100%) rotateY(-90deg); }
}

@-webkit-keyframes rotateRoomRightOut {
	to { opacity: .3; -webkit-transform: translateX(100%) rotateY(-90deg); }
}
@-moz-keyframes rotateRoomRightOut {
	to { opacity: .3; -moz-transform: translateX(100%) rotateY(-90deg); }
}
@keyframes rotateRoomRightOut {
	to { opacity: .3; transform: translateX(100%) rotateY(-90deg); }
}

@-webkit-keyframes rotateRoomRightIn {
	from { opacity: .3; -webkit-transform: translateX(-100%) rotateY(90deg); }
}
@-moz-keyframes rotateRoomRightIn {
	from { opacity: .3; -moz-transform: translateX(-100%) rotateY(90deg); }
}
@keyframes rotateRoomRightIn {
	from { opacity: .3; transform: translateX(-100%) rotateY(90deg); }
}

@-webkit-keyframes rotateRoomTopOut {
	to { opacity: .3; -webkit-transform: translateY(-100%) rotateX(-90deg); }
}
@-moz-keyframes rotateRoomTopOut {
	to { opacity: .3; -moz-transform: translateY(-100%) rotateX(-90deg); }
}
@keyframes rotateRoomTopOut {
	to { opacity: .3; transform: translateY(-100%) rotateX(-90deg); }
}

@-webkit-keyframes rotateRoomTopIn {
	from { opacity: .3; -webkit-transform: translateY(100%) rotateX(90deg); }
}
@-moz-keyframes rotateRoomTopIn {
	from { opacity: .3; -moz-transform: translateY(100%) rotateX(90deg); }
}
@keyframes rotateRoomTopIn {
	from { opacity: .3; transform: translateY(100%) rotateX(90deg); }
}

@-webkit-keyframes rotateRoomBottomOut {
	to { opacity: .3; -webkit-transform: translateY(100%) rotateX(90deg); }
}
@-moz-keyframes rotateRoomBottomOut {
	to { opacity: .3; -moz-transform: translateY(100%) rotateX(90deg); }
}
@keyframes rotateRoomBottomOut {
	to { opacity: .3; transform: translateY(100%) rotateX(90deg); }
}

@-webkit-keyframes rotateRoomBottomIn {
	from { opacity: .3; -webkit-transform: translateY(-100%) rotateX(-90deg); }
}
@-moz-keyframes rotateRoomBottomIn {
	from { opacity: .3; -moz-transform: translateY(-100%) rotateX(-90deg); }
}
@keyframes rotateRoomBottomIn {
	from { opacity: .3; transform: translateY(-100%) rotateX(-90deg); }
}/*
	Colorbox Core Style:
	The following CSS is consistent between example themes and should not be altered.
*/
#colorbox, #cboxOverlay, #cboxWrapper {
	left: 0;
	overflow: hidden;
	position: absolute;
	top: 0;
	z-index: 9999;
}
#cboxWrapper {
	max-width: none;
}
#cboxOverlay {
	height: 100%;
	position: fixed;
	width: 100%;
}
#cboxMiddleLeft, #cboxBottomLeft {
	clear: left;
}
#cboxContent {
	position: relative;
}
#cboxLoadedContent {
	overflow: auto;
	webkit-overflow-scrolling: touch;
}
#cboxTitle {
	margin: 0;
}
#cboxLoadingOverlay, #cboxLoadingGraphic {
	height: 100%;
	left: 0;
	position: absolute;
	top: 0;
	width: 100%;
}
#cboxPrevious, #cboxNext, #cboxClose, #cboxSlideshow {
	cursor: pointer;
}
.cboxPhoto {
	border: 0;
	display: block;
	float: left;
	margin: auto;
	max-width: none;
	ms-interpolation-mode: bicubic;
}
.cboxIframe {
	border: 0;
	display: block;
	height: 100%;
	margin: 0;
	padding: 0;
	width: 100%;
}
#colorbox, #cboxContent, #cboxLoadedContent {
	box-sizing: content-box;
	moz-box-sizing: content-box;
	webkit-box-sizing: content-box;
}

/* 
	User Style:
	Change the following styles to modify the appearance of Colorbox.  They are
	ordered & tabbed in a way that represents the nesting of the generated HTML.
*/
#cboxOverlay {
	background: #fff;
	filter: alpha(opacity = 90);
	opacity: 0.9;
}
#colorbox {
	outline: 0;
}
#cboxTopLeft {
	background: url(//cdnjs.cloudflare.com/ajax/libs/jquery.colorbox/1.4.33/example4/images/border1.png) no-repeat 0 0;
	height: 25px;
	width: 25px;
}
#cboxTopCenter {
	background: url(//cdnjs.cloudflare.com/ajax/libs/jquery.colorbox/1.4.33/example4/images/border1.png) repeat-x 0 -50px;
	height: 25px;
}
#cboxTopRight {
	background: url(//cdnjs.cloudflare.com/ajax/libs/jquery.colorbox/1.4.33/example4/images/border1.png) no-repeat -25px 0;
	height: 25px;
	width: 25px;
}
#cboxBottomLeft {
	background: url(//cdnjs.cloudflare.com/ajax/libs/jquery.colorbox/1.4.33/example4/images/border1.png) no-repeat 0 -25px;
	height: 25px;
	width: 25px;
}
#cboxBottomCenter {
	background: url(//cdnjs.cloudflare.com/ajax/libs/jquery.colorbox/1.4.33/example4/images/border1.png) repeat-x 0 -75px;
	height: 25px;
}
#cboxBottomRight {
	background: url(//cdnjs.cloudflare.com/ajax/libs/jquery.colorbox/1.4.33/example4/images/border1.png) no-repeat -25px -25px;
	height: 25px;
	width: 25px;
}
#cboxMiddleLeft {
	background: url(//cdnjs.cloudflare.com/ajax/libs/jquery.colorbox/1.4.33/example4/images/border2.png) repeat-y 0 0;
	width: 25px;
}
#cboxMiddleRight {
	background: url(//cdnjs.cloudflare.com/ajax/libs/jquery.colorbox/1.4.33/example4/images/border2.png) repeat-y -25px 0;
	width: 25px;
}
#cboxContent {
	background: #fff;
	overflow: hidden;
}
.cboxIframe {
	background: #fff;
}
#cboxError {
	border: 1px solid #ccc;
	padding: 50px;
}
#cboxLoadedContent {
	margin-bottom: 4em;
	margin-top: 1.5em;
}
#cboxTitle {
	background: rgba(255, 255, 255, 0.8);
	bottom: 0px;
	color: #666;
	font-size: 0.9em;
	left: 0;
	line-height: 1.4em;
	position: absolute;
	text-align: left;
	width: 100%;
}
#cboxCurrent {
	bottom: 0px;
	color: #999;
	left: 100px;
	position: absolute;
}
#cboxLoadingOverlay {
	background: #fff url(//cdnjs.cloudflare.com/ajax/libs/jquery.colorbox/1.4.33/example4/images/loading.gif) no-repeat 5px 5px;
}

/* these elements are buttons, and may need to have additional styles reset to avoid unwanted base styles */
#cboxPrevious, #cboxNext, #cboxSlideshow, #cboxClose {
	background: none;
	border: 0;
	margin: 0;
	overflow: visible;
	padding: 0;
	width: auto;
}
		
/* avoid outlines on :active (mouseclick), but preserve outlines on :focus (tabbed navigating) */
#cboxPrevious:active, #cboxNext:active, #cboxSlideshow:active, #cboxClose:active {
	outline: 0;
}
#cboxSlideshow {
	bottom: 0px;
	color: #444;
	position: absolute;
	right: 42px;
}
#cboxPrevious {
	bottom: 0px;
	color: #444;
	left: 0;
	position: absolute;
}
#cboxNext {
	bottom: 0px;
	color: #444;
	left: 63px;
	position: absolute;
}
#cboxClose {
	color: #444;
	display: block;
	outline: 0;
	position: absolute;
	right: 0;
	top: 0;
}

/*
  The following fixes a problem where IE7 and IE8 replace a PNG's alpha transparency with a black fill
  when an alpha filter (opacity change) is set on the element or ancestor element.  This style is not applied to or needed in IE9.
  See: http://jacklmoore.com/notes/ie-transparency-problems/
*/
.cboxIE #cboxTopLeft,
.cboxIE #cboxTopCenter,
.cboxIE #cboxTopRight,
.cboxIE #cboxBottomLeft,
.cboxIE #cboxBottomCenter,
.cboxIE #cboxBottomRight,
.cboxIE #cboxMiddleLeft,
.cboxIE #cboxMiddleRight {
	filter: progid:DXImageTransform.Microsoft.gradient(startColorstr=#00FFFFFF,endColorstr=#00FFFFFF);
}@media print {
	* {
		background: transparent !important;
		color: #000 !important; /* Black prints faster: h5bp.com/s */
		box-shadow: none !important;
		text-shadow: none !important;
		behavior: url(pie/PIE.php);
	}

	a,
	a:visited {
		text-decoration: underline;
	}

	a[href]:after {
		content: " (" attr(href) ")";
	}

	abbr[title]:after {
		content: " (" attr(title) ")";
	}

	/*
	 * Don't show links for images, or javascript/internal links
	 */

	.ir a:after,
	a[href^="javascript:"]:after,
	a[href^="#"]:after {
		content: "";
	}

	pre,
	blockquote {
		border: 1px solid #999;
		page-break-inside: avoid;
	}

	thead {
		display: table-header-group; /* h5bp.com/t */
	}

	tr,
	img {
		page-break-inside: avoid;
	}

	img {
		max-width: 100% !important;
	}

	@page {
		margin: 0.5cm;
	}

	p,
	h2,
	h3 {
		orphans: 3;
		widows: 3;
	}

	h2,
	h3 {
		page-break-after: avoid;
	}
}