/* fonts */
@font-face{  
  font-family: OpenSansR; 
  src: url(fonts/OpenSans-Regular.eot); 
  src: local( '*' ), url(fonts/OpenSans-Regular.ttf); 
  font-weight: normal;
  font-variant: normal;
  font-style: normal;  
}

@font-face{  
  font-family: OpenSansB; 
  src: url(fonts/OpenSans-Bold.eot);
  src: local( '*' ), url(fonts/OpenSans-Bold.ttf); 
  font-weight: normal;  
  font-variant: normal;
  font-style: normal;
}

@font-face{  
  font-family: OpenSansSB; 
  src: url(fonts/OpenSans-Semibold.eot);
  src: local( '*' ), url(fonts/OpenSans-Semibold.ttf); 
  font-weight: normal;  
  font-variant: normal;
  font-style: normal;
}

@font-face{  
  font-family: OpenSansLt; 
  src: url(fonts/OpenSans-Light.eot);
  src: local( '*' ),  url(fonts/OpenSans-Light.ttf); 
  font-weight: normal;  
  font-variant: normal;
  font-style: normal;
}

@font-face{  
  font-family: OpenSansLtI; 
  src: url(fonts/OpenSans-LightItalic.eot);
  src: local( '*' ), url(fonts/OpenSans-LightItalic.ttf); 
  font-weight: normal;  
  font-variant: normal;
  font-style: normal;
}

/* general */
html{
	width: 100%;
	height: 100%;
}

body{
	font-family: "OpenSansR", sans-serif;
	background: #fafafa;
	overflow:hidden;
	width: 100%;
	height: 100%;
	line-height: 1.5;
}

body > div{
	width: 98%;
	height: 98%;
	padding: 1%;
	color: #333;
	font-size: 1.5em;
	font-weight: normal;
	text-shadow:1px 1px 1px #ddd;
	position: relative;
}

div > *{
	margin-left: 300px;
}

div > p a, div > ul a{
	color:#666;
	text-decoration: none;
	border-bottom: 1px solid #eee;
}

div > p a:hover, div > ul a:hover{
	color:#333;
	border-bottom: 1px dotted #333;	
}

.animated{
	-webkit-transition: all 0.25s ease-in; 
	-moz-transition: all 0.25s ease-in; 
	-o-transition: all 0.25s ease-in; 
	transition: all 0.25s ease-in; 
}


/* navigation */
#swpNav{
	list-style: none;
	float:left;
	margin-top:1%;
	position: fixed;
	top: 0;
	left: 0;
	width: 300px;
	height:98%;
	border-right: 1px dotted #ccc;
	line-height: 1.1; 
	z-index: 9999;
}

#swpNav:hover{
	border-right: 1px solid #ccc;
}

#swpNav li{
	float: left;
	clear: both;
	margin-left:2em;
	position: relative;
}

#swpNav li.separator{
	height:2em;
}

#swpNav li:hover, #swpNav li.active{
	margin-left: 3em;
}

#swpNav li span{
	display: inline-block;
	width:0;
	height:32px;
	border-radius: 10px 0 10px 10px;
	margin-left:-100px;
	position: absolute;
	top:7px;
}

#swpNav li:hover span{
	width:30px;
	background: #333;
	margin-left: -30px;
	box-shadow:-1px -1px 1px #111;
}

#swpNav li.active span{
	width:30px;
	margin-left: -30px;
	background: #ccc;
	box-shadow: -1px -1px 1px #999;
}

#swpNav li.external:hover span{
	width:30px;
	margin-left: -30px;
	background: #069;
	box-shadow:-1px -1px 1px #333;
}

#swpNav li a{
	display: inline-block;
	font-family: "OpenSansSB", sans-serif;
	font-weight: normal;
	font-size: 2.5em;
	color: #eee;
	text-shadow:-1px -1px 1px #ddd;
	text-decoration: none;
	margin-left:5px;
}

#swpNav li:hover a{
	color: #333;
	text-shadow:-1px -1px 1px #111;
}

#swpNav li.external:hover a{
	color: #069;
	text-shadow:-1px -1px 1px #333;
}

#swpNav li.active a{
	color:#ccc;
	text-shadow:-1px -1px 1px #999;
}

/* home */
#swpHome > ul{
	list-style: none;
}

#swpHome > ul > li{
	margin-left:2em;
	position: relative;
}

#swpHome > ul > li:before{
	content:'*';
	position: absolute;
	display: inline-block;
	width:1em;
	height:1em;
	line-height:1em;
	text-align: center;
	left:-1em;
	top:10px;
	color:#ccc;
}

h1{
	font-size: 150%;
}

div > ul > li > span{
	font-family: "OpenSansLtI";
	font-size:80%;
	color: #666;
}


/* about */

#swpAbout{
	width:70%;
}

div img{
	float: right;
	border:1px solid #333;
	margin:0 0 0.5em 0.5em;
}

div > p > i.small{
	font-family: "OpenSansLtI";
	font-size:80%;
	color: #666;	
}

#years{
	display: inline!important;
}

/* swpReferences */

#swpReferences > div > #image{
	display: block;
	height:350px;
	width:500px;
	max-width:500px;
	float:left;
	margin:0;
}

#swpReferences > div > #image > a{
	display: block;
	width:100%;
	height:100%;
	margin-left:0;
}

#swpReferences > div > a{
	width:40px;
	font-size: 4em;
	height:350px;
	background: rgba(255, 255, 255, 0.3);
	background: url(http://repo.swpdsgn.net/opacity/FFFFFF/30.png)\9;
	line-height: 340px;
	text-align: center;
	margin-left:0;
	float: left;
	color: #999;
	position: absolute;
	opacity: 0;
	
	z-index: 9999;
	top:0px;
}


#prev{
	left:0px;
}

#next{
	right:0px;
}

#swpReferences > div:hover > a, #swpReferences > div.hover > a{
	opacity: 1;
	
	background: rgba(255, 255, 255, 0.8);
	background: url(http://repo.swpdsgn.net/opacity/FFFFFF/80.png)\9;
}

#swpReferences > div > a.disabled{
	cursor: default;
	opacity: 0;
	
}

#swpReferences > div:hover > a.disabled{
	opacity: 0;
	
}

#swpReferences > div > a:hover{
	color: #333;	
}

#swpReferences > div > a.disabled:hover{
	color: #eee;	
}

#swpReferences > div{
	float: left;
	clear: both;
	width: 502px;
	position: relative;
}

#swpReferences > div > #refs{
	float:left;
	clear:left;
	margin: 0;
    max-width: 100%;
    width: 100%;
    text-align: center;
}

#swpReferences > div > #refs > ul{
	float: none;
	margin:0;
	display: inline;
}

#swpReferences > div > #refs > ul > li{
	float: none;	
	clear: none;
	display: inline-block;
	width: 15px;
	height: 15px;
	background: #999;
	border-radius: 5px 0 5px 5px;	
	box-shadow:-1px -1px 1px #111;
	margin:0 2px;
}

#swpReferences > div > #refs > ul > li:hover{
	background: #333;
	cursor: pointer;
}

#swpReferences > div > #refs > ul > li.active{
	background: #069;
	text-shadow:-1px -1px 1px #333;	
}

#swpReferences > div > #refs > ul > li.active:hover{
	background: #069;
	text-shadow:-1px -1px 1px #333;	
}


/* contact */
div > p b{
	font-family: "OpenSansB";
	color: #666;	
}

div > p i{
	font-family: "OpenSansLtI";
	color: #666;	
}

div > p > span{
	display: block;
	position: relative;
	width:auto;
}

div > p > span > span{
	position: absolute;
	display: inline-block;
	width:0;
	height:28px;
	border-radius: 10px 0 10px 10px;
	top:7px;
	background-image: url(images/icons_28px.jpg);
	box-shadow:-1px -1px 1px #111;
}

div > p > span:hover > span{
	width:28px;
	margin-left:10px;
}

.skype > span{
	background-position:196px -1px; 
}

.skype:hover{
	color:#00b8ed;
}

.facebook + span{
	background-position:168px -1px; 
}

.linkedIn + span{
	background-position:140px -1px; 
}


.gplus + span{
	background-position:112px -1px; 
}

.diigo + span{
	background-position:84px -1px; 
}

.lastFm + span{
	background-position:56px -1px; 
}

.youtube + span{
	background-position:28px -1px; 
}

div > p a.facebook:hover{
	color:#4a6ea9;
	border-bottom: 1px dotted #4a6ea9;
}

div > p a.linkedIn:hover{
	color:#0097bd;
	border-bottom: 1px dotted #0097bd;
}

div > p a.gplus:hover{
	color:#e46044;
	border-bottom: 1px dotted #e46044;
}

div > p a.diigo:hover{
	color:#395c93;
	border-bottom: 1px dotted #395c93;
}

div > p a.lastFm:hover{
	color:#e02703;
	border-bottom: 1px dotted #e02703;
}

div > p a.youtube:hover{
	color:#e64a41;
	border-bottom: 1px dotted #e64a41;
}

/* RESPONSIVE */

@media all and (max-width:1280px){
	#swpAbout{
		width:80%;
	}
}

@media all and (max-width:1024px){
	#swpAbout img{
		width:200px;
		height: auto;
	}
}

@media all and (max-width:960px){
	
	body{
		font-size: 80%;
	}

	#swpNav{
		width:150px;
		font-size: 75%;
	}

	#swpNav li, #swpNav li:hover, #swpNav li.active{
	margin-left: 0;
	}

	#swpNav li span{
		display: none!important;
	}

	#swpAbout{
		width:96%;
	}

	#swpAbout img{
		display: none;
	}

	div > p > span:hover > span, div > p > span > span{
		display: none;
	}

	div > p > span > b{
		display: inline-block;
	}

	div > p > span{
		margin-bottom:.8em;
		font-size: 90%;
	}

	div > *{
		margin-left: 160px;
	}

}

@media all and (max-width:768px){
	body{
		font-size: 80%;
	}

	div > p > span > b{
		display: block;
		width: 100%;
	}
}

@media all and (min-width: 600px) and (max-width: 767px){
	#swpContact p{
		font-size: 125%;
	}
}

@media all and (max-width: 600px){
	#swpReferences > div{
		width:302px;
	}

	#swpReferences > div > #image{
		width:300px;
		height:200px;
		background-size: 100% 100%;
	}

	#swpReferences > div > a{
		height:200px;
		line-height:200px;
		width:20px;
		font-size: 2em;
	} 

	#swpReferences > div > #refs{
		width:300px;
		margin-top: 5px;
	}

	#swpReferences > ul li{
		margin-left: 0.5em;
	}

	#swpContact{
		font-size: 95%;
	}
}

@media all and (max-width:320px){
	
	#swpReferences > div > #image, #swpReferences > div > #prev, #swpReferences > div > #next, #swpReferences > div > #refs{
		display:none;
	}

}



@media all and (max-height:480px){
	
	body > div{
		font-size:85%;
	}

	#swpNav{
		width:100px;
		font-size: 55%;
	}

	#swpAbout{
		width:98%;
	}


	body > div > h1{
		padding-left:0.5em;
	}

	#swpHome > ul > li:before{
		top:5px;
	}

	div > *{
		margin-left: 100px;
	}

	body > div > p{
		padding-left:0.5em;
	}

	#swpContact > p > span{
		margin-bottom:3px;
	}

	

}

/*
	



	#swpAbout img{
		display: none;
	}

	#swpReferences > div > #image, #swpReferences > div > #prev, #swpReferences > div > #next, #swpReferences > div > #refs{
		display:none;
	}



	

}*/

/* ß.js specific */

.firefox #swpNav{
	height:96%;
}

.ipad #swpAbout{
	width: 96%;
}

.ipad #swpNav{
	bottom:0!important;
}