/*	Less Framework 4
	http://lessframework.com
	by Joni Korpi
	License: http://opensource.org/licenses/mit-license.php	*/

/*	Resets
	------	*/

html, body, div, span, object, iframe, h1, h2, h3, h4, h5, h6, 
p, blockquote, pre, a, abbr, address, cite, code, del, dfn, em, 
img, ins, kbd, q, samp, small, strong, sub, sup, var, b, i, hr, 
dl, dt, dd, ol, ul, li, fieldset, form, label, legend, 
table, caption, tbody, tfoot, thead, tr, th, td,
article, aside, canvas, details, figure, figcaption, hgroup, 
menu, footer, header, nav, section, summary, time, mark, audio, video {
	margin: 0;
	padding: 0;
	border: 0;
}

article, aside, canvas, figure, figure img, figcaption, hgroup,
footer, header, nav, section, audio, video {
	display: block;
}

a img {border: 0;}



/*	Typography presets
	------------------	*/

.gigantic {
	font-size: 110px;
	line-height: 120px;
	letter-spacing: -2px;
}

.huge, h1 {
	font-size: 68px;
	line-height: 72px;
	letter-spacing: -1px;
}

.large, h2 {
	font-size: 42px;
	line-height: 48px;
}

.bigger, h3 {
	font-size: 26px;
	line-height: 36px;
}

.big, h4 {
	font-size: 22px;
	line-height: 30px;
}

body {
	font: 16px/24px Georgia, serif;
}

.small, small {
	font-size: 13px;
	line-height: 18px;
}

/* Selection colours (easy to forget) */

::selection 	 	{background: rgb(255,255,158);}
::-moz-selection 	{background: rgb(255,255,158);}
img::selection 		{background: transparent;}
img::-moz-selection	{background: transparent;}
body {-webkit-tap-highlight-color: rgb(255,255,158);}



/*		Default Layout: 992px. 
		Gutters: 24px.
		Outer margins: 48px.
		Leftover space for scrollbars @1024px: 32px.
-------------------------------------------------------------------------------
cols    1     2      3      4      5      6      7      8      9      10
px      68    160    252    344    436    528    620    712    804    896    */

body {
	width: 896px;
	margin: 0 auto;
	background: rgb(232,232,232);
	color: #fff;
	-webkit-text-size-adjust: 100%; /* Stops Mobile Safari from auto-adjusting font-sizes */

	font-family: "Helvetica Neue", Helvetica, Arial, sans-serif;
	font-size: 12px;
}

@media only all and (max-width: 1080px) and (max-height: 720px) {
	
	body, #background {	
		-moz-background-size: 1080px 720px;
		background-size: 1080px 720px;
	}
	
}

/* NOT SURE IF WE NEED THIS? - or if we do, keep it in specific location
img {
	display: block;
}
*/

h1, h2, h3, h4 {
	color: #fff;
	font-weight: normal;
}
h1 {
	margin: 0 0 10px 0;
}
h2 {
	font-size: 50px;
	text-align: right;
	width: 100%;
	text-transform: uppercase;
	height: 60px;
	overflow: hidden;
}
h1 span, h2 span {
	display: none;
}
h3 {
	font-size: 28px;
	line-height: 16px;
	margin: 20px 0 5px 0;
}
h4 {
	font-size: 30px;
	text-transform: uppercase;
}
h5 {
	font-size: 24px;
	margin: 20px 0 5px 0;
}
hr {
	border: 0;
	width: 100%;
}

#col1 {
	width: 250px;
	float: left;
	margin-right: 10px;
	padding-bottom: 6px;
	position: fixed;
}

#title {
	position: relative;
	margin: 12px;
	border-bottom: 3px solid #555;
}

#title img {
	position: relative;
}

#about {
	padding: 20px 12px 10px;
}

.text {
	line-height: 150%;
}

#navbox ul {
	list-style: none;
	margin: 12px;
	border-bottom: 3px solid #555;
}

#navbox li {
	color: #fff;
	font-size: 24px;
	text-align: right;
	text-transform: uppercase;
	padding: 6px 0;
	cursor: pointer;
	margin: 0;
	border-top: 1px solid #555;
}

#navbox li span {
	display: block;
	position: relative;
	width: 100%;
	padding: 2px 7px 2px 0;
}

#navbox li span:not(.nohover):hover {
	border-right: 5px solid #f00;
}

#navbox li span.active {
	border-right: 5px solid #f00;
	background-color: #393939;
}

a, a:hover, a:active, a:visited {
	text-decoration: none;
	color: #fff;
	border-bottom: 1px dotted #777;
}

a.noborder {
	border-bottom: 0 none;
}

.doccontent {
	padding: 20px;
	text-align: center;
}

#col2 {
	width: 670px;
	min-height: 900px;
	left: 260px;
	position: relative;
}

.placeholder {
	width: 100%;
	height: 100%;
	background-color: #000;
	position: absolute;
	opacity: 0.8;
	z-index: -5;
}

#d-portfolio, #d-resume, #d-projects, #d-contact {
	z-index: 6;
	width: 650px;
	padding: 10px;
	position: absolute;
	top: 0;
}

#port-loader {
	width: 100%;
	height: 80%;
	background: url('images/loader.gif') no-repeat center center;
	display: none;
	position: absolute;
}
#port-menu, #port-project {
	margin-top: 0;
}
.menu-section {
	margin-bottom: 10px;
}
.menu-row {
	margin-left: 20px;
	margin-right: 20px;
	height: 180px;
	overflow: hidden;
	position: relative;
}
.menu-item {
	width: 280px;
	height: 180px;
	float: left;
	margin: 0 10px 0 0;
}

.menu-row img {
	position: absolute;
}
.menu-leftarrow, .menu-rightarrow {
	width: 15px;
	height: 180px;
	position: absolute;
	z-index: 5;
	display: none;
}
.menu-leftarrow {
	left: 10px;
}
.menu-rightarrow {
	right: 10px;
}
.menu-rightarrow img, .menu-leftarrow img {
	cursor: pointer;
}

.caption {
	padding: 4px;
	background-color: #000;
	color: white;
	opacity: 0.8;
}
.menu-title {
	z-index: 15;
	font-weight: bold;
	font-size: 13px;
	line-height: 12px;
	position: absolute;
	bottom: 0;
	width: 272px;
}
.subtitle {
	font-size: 10px;
	color: #ccc;
	font-weight: normal;
}
#port-images div.caption {
	position: absolute;
	max-width: 500px;
	margin-left: 20px;
	margin-top: -50px;
	font-size: 11px;
	line-height: 100%;
	white-space: nowrap;
}

.scroller{
	width: 9999px;
	position: absolute;
	z-index: 0;
}
.scroller > div.loader {
	background: url('images/loader.gif') no-repeat center center;
	height: 400px;
	float: left;
}
#port-images {
	width: 650px;
	height: 400px;
	position: relative;
	overflow: hidden;
	margin-bottom: 10px;
}

#port-info {
	width: 600px;
	min-height: 100px;
	max-height: 400px;
	margin-top: 5px;
	padding-right: 10px;
	font-family: Helvetica, Arial, sans-serif;
	font-size: 11px;
	line-height: 160%;
	color: #ddd;
	border: 0px solid #f00;
}

#port-info p {
	margin-top: 12px;
}

.port-leftarrow, .port-rightarrow {
	width: 50px;
	height: 60px;
	top: 20%;
	overflow: hidden;
	position: absolute;
	display: none;
	z-index: 20;
}
.port-rightarrow {
	right: 0;
}
.port-rightarrow img, .port-leftarrow img {
	cursor: pointer;
	/* display: none;    //  HOVER DELEGATION DOESNT WORK */
}
.port-rightarrow img {
	position: absolute;
	right: 0;
}
#port-backbutton { 
	position: absolute;
	top: 35px;
	width: 26px;
	height: 26px;
	color: #fff;
	display: block;
	font-size: 13px;
	cursor: pointer;
	background: #000 url('images/backbutton.png') no-repeat left top;
	opacity: 0.75;
}
#port-dropbutton {
	position: absolute;
	top: 35px;
	left: 40px;
	width: 170px;
	height: 18px;
	padding: 4px 8px;
	color: #fff;
	display: block;
	font-size: 13px;
	line-height: 18px;
	cursor: pointer;
	background: #000 url('images/dropdown.png') no-repeat right top;
	opacity: 0.75;
}
#port-dropdown {
	position: absolute;
	display: none;
	width: 200px;
	max-height: 80%;
	line-height: 18px;
	padding: 8px;
	top: 65px;
	overflow: auto;
	z-index: 15;
	background-color: #000;
	opacity: 0.9;
}
#port-dropdown ul {
	font-size: 11px;
	padding: 0;
	margin: 0;
	font-weight: bold;
	color: #fff;
	border-bottom: 1px solid #222;
	margin-bottom: 10px;
}
#port-dropdown li {
	list-style-type: none;
	font-size: 13px;
	line-height: 120%;
	padding: 2px 0;
}
#port-dropdown ul ul {
	font-weight: normal;
}
#port-dropdown ul ul li {
	border-top: 1px solid #222;
	font-size: 11px;
	padding: 2px 0 3px 10px;
	cursor: pointer;
}
#port-dropdown ul ul li:hover {
	background-color: #1c1c1c;
}
#port-dropdown a {
	border: 0 none;
}
#port-dropback {
	cursor: pointer;
}

.resume-left {
	width: 60%;
	float: left;
	padding: 0 20px 20px 0;
	border-right: 1px solid #555;
	margin-right: 12px;
}

.resume-right {
	width: 30%;
	float: left;
}


img[src="images/extlink.gif"] {
	bottom: -1px;
	position: relative;
}

.note {
	color: #999;
	font-size: 10px;
	position: relative;
	bottom: 5px;
}



/*		Tablet Layout: 768px.
		Gutters: 24px.
		Outer margins: 28px.
		Inherits styles from: Default Layout.
-----------------------------------------------------------------
cols    1     2      3      4      5      6      7      8
px      68    160    252    344    436    528    620    712    */

@media only screen and (min-width: 768px) and (max-width: 991px) {

	body {
		width: 712px;
		padding: 0 28px 60px;
	}
	
	#col1, #col2 {
		width: 100%;
	}
	
	#col1 {
		position: relative;
		float: left;
	}
	
	#col2 {
		left: 0;
		position: relative;
		float: left;
	}

	#about, #title, #navbox ul {
		height: 170px;
	}

	#title {
		float: left;
	}
	
	#about {
		width: 230px;
		float: left;
		border-bottom: 3px solid #555;
		padding: 0 24px 0 0;
		margin-top: 12px;
	}

	#nav {
		width: 180px;
		float: left;
	}
	
	#d-portfolio, #d-resume, #d-projects, #d-contact {
		width: 688px;
		padding: 0 12px;
		position: absolute;
		top: 0;
	}
	
}



/*		Mobile Layout: 320px.
		Gutters: 24px.
		Outer margins: 34px.
		Inherits styles from: Default Layout.
---------------------------------------------
cols    1     2      3
px      68    160    252    */

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

	body {
		width: 320px;
		padding: 0;
	}

	
	#col1, #col2 {
		width: 100%;
	}
	
	#col1 {
		position: relative;
		float: left;
	}
	
	#col2 {
		left: 0;
		height: 1400px;
		position: relative;
		float: left;
	}

	#title {
		text-align: center;
	}

	#about {
		padding: 0 12px;
	}
		
	#d-portfolio, #d-resume, #d-projects, #d-contact {
		width: 296px;
		padding: 0 12px;
		position: absolute;
		top: 0;
	}
	
	.resume-left {
		width: 296px;
		border: 0;
	}
	
	.resume-right {
		width: 296px;
	}
	
	#d-resume {
		
	}

}



/*		Wide Mobile Layout: 480px.
		Gutters: 24px.
		Outer margins: 22px.
		Inherits styles from: Default Layout, Mobile Layout.
------------------------------------------------------------
cols    1     2      3      4      5
px      68    160    252    344    436    */

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

	body {
		width: 444px;
		padding: 0 18px 48px;
	}
	
	#d-portfolio, #d-resume, #d-projects, #d-contact {
		width: 420px;
	}	
	
	.resume-left {
		width: 420px;
	}
	
	.resume-right {
		width: 420px;
	}
	
}

