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

body,
input,
textarea {
	font-family: "Lucida Grande", Tahoma, Geneva, Verdana, sans-serif;
}

#wrap {
	position: relative;
	min-height: 100%;
	background-color: white;
}

#bklayer {
	position: absolute;
	left: 0;
	top: 0;
	right: 0;
	bottom: 0;
	overflow: hidden;
	z-index: 0;
}

#bklayer #bc {
	position: absolute;
	top: 0;
	right: -1px;	/* Fixes a rendering bug with Chrome */
}

#bklayer #pf {
	position: absolute;
	top: 150px;
	left: 15%;
}

#bklayer #lmb {
	position: absolute;
	top: 0;
	left: -1px;		/* Chrome bug again */
}

#main {
	position: relative;
	z-index: 100;
	padding: 130px 0 195px;
}

#main.notray {
	padding-bottom: 60px;
}

a {
	text-decoration: none;
}

a img {
	border-style: none;
}

#link_home,
#link_contact,
#link_resume {
	width: 200px;
	height: 60px;
	position: absolute;
	background-color: black;
	font-size: 32px;
	top: 0;
	text-align: center;
	line-height: 60px;
	z-index: 200;
}

#link_home a,
#link_contact a,
#link_resume a {
	color: #D20301;
	display: block;
}

#link_home a:hover,
#link_contact a:hover,
#link_resume a:hover {
	color: #FFD400;
}

#link_home {
	left: 200px;
}

#link_home img {
	vertical-align: bottom;
	margin-bottom: 5px;
}

#link_home a {
	position: absolute;
	left: 0;
	top: 0;
	right: 0;
	bottom: 0;
	-webkit-transition: opacity 250ms ease-in-out;
	-moz-transition: opacity 250ms ease-in-out;
	-ms-transition: opacity 250ms ease-in-out;
	-o-transition: opacity 250ms ease-in-out;
	transition: opacity 250ms ease-in-out;
	opacity: 0;
}

#link_home:hover a {
	background: black;
	opacity: 1;
}

#link_resume {
	right: 420px;
}

#link_contact {
	right: 200px;
}

#orient {
	display: none;
}

#dock {
	background: black;
	color: #D20301;
	position: absolute;
	bottom: 0;
	width: 100%;
	z-index: 200;
}

#footer {
	border-style: solid none none;
	border-color: #D20301;
	border-width: 15px;
}

#image_tray {
	border-style: solid none none;
	border-color: #D20301;
	border-width: 15px;
	height: 120px;
	position: relative;
}

#image_tray .leftnav,
#image_tray .rightnav {
	position: absolute;
	top: 0;
	height: 120px;
	line-height: 120px;
}

#image_tray .leftnav a,
#image_tray .rightnav a {
	display: block;
	padding: 0 15px;
}

#image_tray .leftnav img,
#image_tray .rightnav img {
	vertical-align: middle;
}

#image_tray .leftnav {
	left: 0;
}

#image_tray .rightnav {
	right: 0;
}

#image_tray .images {
	position: absolute;
	top: 15px;
	bottom: 15px;
	left: 116px;
	right: 116px;
	overflow: hidden;
}

#image_tray ul {
	margin: 0;
	padding: 0;
	font-size: 0;	/* Kills whitespace between list items */
	list-style-type: none;
	position: absolute;
	white-space: nowrap;
	left: 0;
	-webkit-transition: left 250ms ease-in-out;
	-moz-transition: left 250ms ease-in-out;
	-ms-transition: left 250ms ease-in-out;
	-o-transition: left 250ms ease-in-out;
	transition: left 250ms ease-in-out;
}

#image_tray li {
	display: inline;
	padding: 0;
	margin-right: 15px;
}

#image_tray li:last-of-type {
	margin-right: 0;
}

#image_tray ul img {
	vertical-align: bottom;
	max-height: 90px;
}

#tagline {
	margin: 0;
	font-size: 24px;
	height: 60px;
	line-height: 60px;
	text-indent: 30px;
}

#tagline em {
	font-style: normal;
	color: #FFD400;
}

#copyright {
	margin: 0;
	font-size: 12px;
	position: absolute;
	bottom: 0;
	right: 30px;
	height: 60px;
	line-height: 60px;
}

#image {
	margin: 0 auto;
	width: 10%;
	display: table;
}

#switcher {
	font-size: 0;
}

#switcher img {
	border-style: solid solid none solid;
	border-color: black;
	border-width: 15px;
	vertical-align: bottom;
	max-height: 90px;
}

#switcher img:hover {
	border-color: #FFD400;
}

#switcher img.selected {
	border-color: #D20301;
}

#displaybox {
	border: 15px solid #D20301;
	background: black;
}

#displaybox a {
	color: #D20301;
}

#displaybox #imagewrapper {
	position: relative;
	font-size: 0;
}

.before-after-horizontal,
.before-after-vertical {
	display: none;
	color: #D20301;
	font-size: 32px;
}

.before-after-horizontal span {
	display: inline-block;
	width: 50%;
	text-align: center;
	padding-top: 0.25em;
}

.before-after-vertical {
	position: absolute;
	padding: 0.25em 0.5em;
	background-color: black;
}

.before-after-vertical.before {
	top: 0;
}

.before-after-vertical.after {
	top: 50%;
}

#displaybox[data-decorations~=before-after-horizontal] .before-after-horizontal,
#displaybox[data-decorations~=before-after-vertical] .before-after-vertical {
	display: block;
}

#details {
	color: white;
	padding: 15px;
}

#details #categories {
	float: right;
	margin: 15px 0 15px 15px;
}

#details #categories img {
	display: block;
	margin-bottom: 15px;
}

#description {
	max-width: 800px;
}

#description h1,
#contact h1 {
	color: #D20301;
	font-size: 48px;
	margin: 0;
}

#description p,
#description ul {
	margin: 15px 0 0;
	text-align: justify;
}

#contact {
	margin: 0 auto;
	width: 900px;
	border: 15px solid #D20301;
	background: black;
	color: #D20301;
	padding: 15px;
}

#contact p {
	margin: 0 0 15px;
}

#contact #result {
	color: #FFD400;
	text-align: center;
	font-size: 18px;
	margin: 0;
}

#contact #required {
	font-size: 12px;
}

#contact form p {
	margin: 0;
}

#contact_name,
#contact_email,
#contact_subject,
#contact_body {
	border: 1px solid #D20301;
	background-color: white;
	color: black;
	width: 100%;
	margin-bottom: 15px;
	font-size: 18px;
}

#contact_name,
#contact_email {
	width: 50%;
}

#contact #submitrow {
	text-align: right;
}

#contact #submitrow input {
	border-style: none;
	background-color: #D20301;
	color: black;
	font-size: 24px;
}

#contact #submitrow input[disabled] {
	cursor: default;
	opacity: 0.5;
}

#contact #submitrow input:hover {
	background-color: #FFD400;
}

p.form_error {
	color: #FFD400;
	font-size: 12px;
}

.warning {
	position: absolute;
	left: 0;
	top: 0;
	right: 0;
	bottom: 0;
	background-color: black;
	background-color: rgba(0, 0, 0, 0.8);
}

#jswarning {
	z-index: 1000;
}

#iewarning {
	z-index: 1100;
	background-color: black;
}

.warning_row {
	margin: 12% 0 0;
	padding: 15px 0;
	border-style: solid none;
	border-color: #D20301;
	border-width: 15px;
	background-color: black;
	color: #D20301;
}

.warning_text {
	width: 10%;
	display: table;
	margin: 0 auto;
}

#iewarning .warning_text {
	width: 80%;
}

.warning h1 {
	font-size: 200px;
	margin: 0;
}

.warning h2 {
	font-size: 40px;
	margin: 0 0 -36px;
}

.warning h3 {
	text-align: right;
	font-size: 24px;
	margin: 12px 0 0;
}

.warning a {
	color: #D20301;
	text-decoration: underline;
}

.warning a:hover {
	color: #FFD400;
}