/* Sort out older browsers and general browser fixes */

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

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

.clearfix:before,  
.clearfix:after {  
    content: " ";  
    display: table;  
}  
.clearfix:after {  
    clear: both;  
}  
.clearfix {  
    *zoom: 1;  
}  

@font-face {
    font-family: 'nexa_lightregular';
    src: url('font/Nexa_Free_Light-webfont.eot');
    src: url('font/Nexa_Free_Light-webfont.eot?#iefix') format('embedded-opentype'),
         url('font/Nexa_Free_Light-webfont.woff') format('woff'),
         url('font/Nexa_Free_Light-webfont.ttf') format('truetype'),
         url('font/Nexa_Free_Light-webfont.svg#nexa_lightregular') format('svg');
    font-weight: normal;
    font-style: normal;
}

@font-face {
    font-family: 'nexa_boldregular';
    src: url('font/Nexa_Free_Bold-webfont.eot');
    src: url('font/Nexa_Free_Bold-webfont.eot?#iefix') format('embedded-opentype'),
         url('font/Nexa_Free_Bold-webfont.woff') format('woff'),
         url('font/Nexa_Free_Bold-webfont.ttf') format('truetype'),
         url('font/Nexa_Free_Bold-webfont.svg#nexa_boldregular') format('svg');
    font-weight: normal;
    font-style: normal;
}

/* Page elements */

html,
body {
  height: 100%;
}

body {
	background:url(../images/bg-tile.gif);
}

header {
}

h1, h2, h3 {
	font-family: 'nexa_lightregular';
}

p {
	font-family: 'nexa_lightregular';
}

header section#logo {
	background:#fff;
	width:100%;
	height:120%;
	text-align:center;
	margin:0 0 10px 0;
	padding:15px 0 10px 0;
	border-bottom-left-radius: 4px;
	border-bottom-right-radius: 4px;
}

header section#logo img {
	width:90%;
}

img{
	width: 100%;
	height: auto;
}

nav {
	border-bottom: 0;  
	font-family: 'nexa_lightregular';
    }
	
nav ul li a {
	color:#000;
	text-decoration:none;
	transition: color ease 0.4s;
}

nav a:hover, nav a.selected {
	color:#fff;
	text-decoration:none;
}
	
nav ul {  
        display: none;  
        height: auto;
		list-style-type:none;
    }
	
nav ul li ul {
	margin:0 0 0 10px;
}

nav ul#linkedin {
	padding:0 0 20px 0;
    }
	
#toTop {
		width:40px;
		height:40px;
        float:right; /* this is the magic */
		margin:0 20px 20px 0;
        cursor:pointer;
        display:none;
		background:url(../images/to-top.png) no-repeat;
}

nav a#pull {  
        display: block;  
        width: 100%;  
        position: relative;
    }

nav a#pull:after {  
        content:"";  
        background: url(../images/nav-icon.png) no-repeat;  
        width: 30px;  
        height: 50px;  
        display: inline-block;  
        position: absolute;  
        left: 0px;  
        top: 2px;  
    }

nav a:link#pull, nav a:visited#pull {
	color:#fff;
	text-decoration:none;
	padding:0 0 20px 20px;
}

aside {
	background:#ff5500;
	padding:20px;
	margin:0 10px 10px 0;
	border-top-right-radius: 4px;
	border-bottom-right-radius: 4px;
}

#main {
	}

section#content {
	position:absolute;
}

article.element {
	float: left;
	overflow: hidden;
	position: relative;
	margin:0 10px 10px 0;
	background-size: 100% auto;
	border-radius: 4px;
}

.website {
	width:200px;
	height:400px;
}

article.email, article.banner {
	width:200px;
	height:200px;
}

article.contact {
	width:95%;
	height:auto;
	background:#ff5500;
	padding:10px;
	color:#144057;
	font-size:1.2em;
	text-align:center;
	display: flex;
	flex-direction: column;
	justify-content: center;
	align-items: center;
}

article.contact h1 {
	padding:0;
}

article.contact h1 a {
	color:#144057;
	text-decoration:none;
}

article.contact h1 a:hover {
	color:#fff;
	text-decoration:none;
}

article.skills {
	width:95%;
	height:auto;
	background:#333333;
	color:#fff;
	font-size:1.2em;
	padding:10px;
	text-align:center;
	display: flex;
	flex-direction: column;
	justify-content: center;
	align-items: center;
}

article.advantages{
	width:95%;
	height:auto;
	background:#144057;
	color:#ff5500;
	font-size:1.2em;
	padding:10px;
	text-align:center;
	display: flex;
	flex-direction: column;
	justify-content: center;
	align-items: center;
}

article.advantages h1.line-1, article.skills h1.line-1 {
	padding:0;
	}

article.advantages h1.line-2 {
	padding:0;
}

article.email:hover, article.banner:hover, article.website:hover {
	cursor: pointer;
	}

article.element.large {
	width: 99%;
	height: auto;
	z-index: 100;
	background:#144057;
	}
	
article.element.large img {
	width:95%;
}

article.element.medium {
  width: 200px;
  height: auto;
  z-index: 100;
  background:#144057;
}

.box-content {
	background:#144057;
	left:200px;
	position:relative;
	opacity:.95;
}

.box-content h1, .box-content-overlay h1 {
	font-family: 'nexa_lightregular';
	color:#ff5500;
	font-size:1.5em;
	padding:10px;
}

.box-content p {
	color:#fff;
	padding:0 10px;
	font-size:.8em;
}

.box-content-tag {
	position:absolute;
	bottom:10px;
}

.box-content-overlay {
	z-index:110;
	position:relative;
	top:0;
	left:0;
}

.box-content-overlay img {
	padding:0 10px;
}

article.email .box-content-overlay img, article.banner .box-content-overlay img{
	padding: 0 10px;
	width: calc(100% - 20px);
	height: auto;
}
article.email .box-content-overlay img{
	padding: 0 10px 5px 10px;
}

.box-content-overlay p {
	color:#fff;
	padding:10px 10px 0 10px;
	font-size:.9em;
}

.box-content-overlay p a {
	color:#ff5500;
	text-decoration:none;
	padding:0 0 10px 0;
	display:block;
}

.box-content-overlay p a:hover {
	color:#fff;
	text-decoration:none;
	padding:0 0 10px 0;
}
article.banner .box-content-overlay p{
	padding-bottom: 10px;
}



.article400 {
	height:400px;
}

.article200 {
	height:200px;
}

.dead {
	display:none;
}

footer {
	float:left;
	margin:0;
	padding:5px 0 10px 0;
	}

/* ==========================================================================
   Media Queries
   ========================================================================== */

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

/* ====================
    INTERMEDIATE: 
   ==================== */
header section#logo {
	background:#fff;
	width:200px;
	height:80px;
	line-height:80px;
	text-align:center;
	margin:0 0 10px 210px;
	padding:0;
}

header section#logo img {
	width:95%;
}

aside {
	width: 160px; /* 1140px - 10% for margins */
	position:absolute;
	margin:0 10px 0 0;
	height:225px;
}
	
#content {
	margin-left:210px;
	min-height:230px;
}

nav a#pull {  
    display: none;  
} 

nav ul {  
        display: block;  
        height: auto;  
}

article.element {
	float: left;
	overflow: hidden;
	position: relative;
	margin:0 10px 10px 0;
}

.website {
	width:200px;
	height:400px;
}

article.contact {
	width:180px;
	height:100px;
	background:#ff5500;
	padding:10px;
	color:#144057;
	font-size:1.2em;
	text-align:center;
}


article.skills {
	width:180px;
	height:100px;
	background:#333333;
	color:#fff;
	font-size:1.2em;
	padding:10px;
	text-align:center;
}

article.advantages{
	width:180px;
	height:100px;
	background:#144057;
	color:#ff5500;
	font-size:1.2em;
	padding:10px;
	text-align:center;
}


article.email, article.banner {
	width:200px;
	height:200px;
}
	article.banner{
		background-size: cover;
		background-position: center left;
	}

article.element.large {
  width: 410px;
  height: 400px;
  z-index: 100;
}

footer {
	float:left;
	margin:0 0 0 210px;
	padding:20px 0 20px 0;
	}
	
		
	
}
   
   @media only screen and (min-width: 768px) {

/* ====================
    WIDE: 
   ==================== */

	nav a#pull {  
    display: none;  
} 
nav ul {  
        display: block;  
        height: auto;  
    }
	
	#toTop {
	width:40px;
	height:40px;
	position:fixed;
	bottom:0; /* together with this to put the div at the bottom*/
	left:80px;
	cursor:pointer;
	display:none;
	background:url(../images/to-top.png) no-repeat;
}
	
   }

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

/* ===============
    Maximal Width
   =============== */
nav a#pull {  
    display: none;  
} 
nav ul {  
        display: block;  
        height: auto;  
    }
   
}

/* Start: Recommended Isotope styles */

/**** Isotope Filtering ****/

.isotope-item {
  z-index: 2;
}

.isotope-hidden.isotope-item {
  pointer-events: none;
  z-index: 1;
}

/**** Isotope CSS3 transitions ****/

.isotope,
.isotope .isotope-item {
  -webkit-transition-duration: 0.8s;
     -moz-transition-duration: 0.8s;
      -ms-transition-duration: 0.8s;
       -o-transition-duration: 0.8s;
          transition-duration: 0.8s;
}

.isotope {
  -webkit-transition-property: height, width;
     -moz-transition-property: height, width;
      -ms-transition-property: height, width;
       -o-transition-property: height, width;
          transition-property: height, width;
}

.isotope .isotope-item {
  -webkit-transition-property: -webkit-transform, opacity;
     -moz-transition-property:    -moz-transform, opacity;
      -ms-transition-property:     -ms-transform, opacity;
       -o-transition-property:      -o-transform, opacity;
          transition-property:         transform, opacity;
}

/**** disabling Isotope CSS3 transitions ****/

.isotope.no-transition,
.isotope.no-transition .isotope-item,
.isotope .isotope-item.no-transition {
  -webkit-transition-duration: 0s;
     -moz-transition-duration: 0s;
      -ms-transition-duration: 0s;
       -o-transition-duration: 0s;
          transition-duration: 0s;
}

/* End: Recommended Isotope styles */

@media only screen and (max-width: 499px) {
	header section#logo img{width: 250px; margin: 0 auto;}
}


