html {
    width:100%;
    overflow-x: hidden;
}
body {
    margin:0;
    padding:0;
    color:#e9e9e9;
    font-family: 'Raleway', sans-serif;
    font-size: 1.5em;
    width:100%;
    min-width:18rem;
    overflow-x: hidden;
    background-color: #002222;
}
a {
    text-decoration: none;
    color:inherit;
}
header {
    background-color: #002222;
    max-height:600px;
    min-height:100vh;
    display:flex;
    flex-direction: column;
    justify-content: space-between;
    text-align: center;
}
header h1 {
    visibility: hidden;
    margin:0 auto;
    padding:0;
    position: relative;
    width:100vw;
    height:100vw;
    max-width:50vh;
    max-height:50vh;
    min-height:200px;
    min-width:200px;
    margin-top:2rem;
}
header h1:before {
    content: '';
    visibility: visible;
    background-image: url("/images/logo.svg");
    background-repeat: no-repeat;
    background-size: 100% 100%;
    background-position: center center;
    display: block;
    position: relative;
    width:100vw;
    height:100vw;
    max-width:50vh;
    max-height:50vh;
    min-height:200px;
    min-width:200px;
}
header div {
    font-size: 2rem;
}
header div span {
    display: block;
}
header div span:first-child:after {
    content:'';
    display: block;
    background-color: #668888;
    width:100%;
    height:1px;
    max-width:8em;
    margin: 0.5rem auto;
}
header ol {
    list-style-type: none;
    padding: 0;
    display: flex;
    justify-content: center;
    flex-wrap: wrap;
}
header li a {
    padding:0.5rem;
    display: block;
    color:#668888;
    transition: color 0.5s;
}
header li a:hover,
header li a:focus {
    padding:0.5rem;
    display: block;
    color:#e9e9e9;
    transition: color 0.1s;
}

section {
    padding:1rem;
}
section h1, section h2, section h2 {
    margin: 0;
}

#about-me {
    background-color: #113333;
    display: flex;
    align-items: center;
    flex-direction: column;
    min-height:100vh;
}
#about-me > h2 {
    display: none;
}
#about-me > div {
    text-align: center;
    margin-top:2rem;
    display: flex;
    align-items: center;
}
#about-me > div > div {
    display: flex;
    flex-direction: column;
    justify-content: center;
}

#about-me img {
    border-radius: 50%;
    width:15rem;
    margin:1.5rem;
}
#about-me p {
    text-align: left;
    /*text-align: center;*/
    font-family: 'Handlee', Raleway, sans-serif;
    margin: 0.5em 0 0.5em;
    white-space: pre-line;
}
@media only screen and (max-width: 400px) {
	#about-me p {
		white-space:initial;
	}
}
/*@media only screen and (max-width: 700px) {*/
    #about-me > div {
        flex-direction: column;
    }
    #about-me p {
        text-align: center;
    }
/*}*/

#about-me > ul {
    list-style-type: none;
    padding: 0;
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
}
#about-me > ul > li {
    display: block;
}
#about-me > ul > li > a {
    display: block;
    position: relative;
    width: 50px;
    height: 50px;
    visibility: hidden;
}
#about-me > ul > li > a:before {
    visibility: visible;
    content:'';
    position: relative;
    width:100%;
    height:100%;
    display: block;
    background-position: center center;
    background-size: 100% 100%;
    background-repeat: no-repeat;
    opacity:0.5;
    transition: opacity 0.5s;
}
#about-me > ul > li > a:hover:before {
    opacity: 1.0;
    transition: opacity 0.1s;
}
#about-me > ul > li > a[href*="github"]:before {
    background-image: url("/images/github.svg");
}
#about-me > ul > li > a[href*="gitlab"]:before {
    background-image: url("/images/gitlab.svg");
}
#about-me > ul > li > a[href*="twitter"]:before {
    background-image: url("/images/twitter.svg");
}
#about-me > ul > li > a[href*="mail"]:before {
    background-image: url("/images/mail.svg");
}
#about-me > ul > li > a[href*="stackoverflow"]:before {
    background-image: url("/images/stackoverflow.svg");
}

#skills {
    display: flex;
    flex-direction: column;
    align-items: center;
}

#skills h3 {
	margin:0;
    margin-top:5rem;
    font-weight: 200;
    text-align: center;
    font-size:3rem;
}
#skills h4 {
    margin:0;
    font-weight: 200;
    text-align: center;
    font-size:2rem;
    margin-top:1.5rem;
}
#skills h5 {
	margin:0;
    font-weight: 300;
	display:inline;
	font-size:1.5rem;
    color: #668888;
}
#skills > div {
	text-align:center;
    margin-top:1rem;
}
#skills > div:last-of-type {
    margin-bottom:0.5rem;
}
#skills > div ul {
	display:inline;
    list-style-type: none;
    padding-left:0;
}
#skills > div li {
	display:inline;
}
#skills > div li:after {
	white-space:initial;
}
#skills > ul {
    list-style-type: none;
    padding-left:0;
    display:flex;
    flex-direction:row;
    flex-wrap: wrap;
    justify-content:center;
    margin-top:1rem;
    margin-bottom:0.5rem;
}
#skills li {
    font-weight:300;
    color: #668888;
}
#skills li:after {
	content:', ';
	white-space:pre-wrap;
}
#skills li:nth-last-child(2):after {
	content:' and ';
}
#skills li:last-child:after {
	content:'';
}
#skills #desktop-development + ul li:nth-last-child(3):after {
	content:' and ';
}
#skills #desktop-development + ul li:nth-last-child(2):after {
	content:' using ';
}


#education {
    display: flex;
    flex-direction: column;
    align-items: center;
    margin-bottom: 5rem;
}
#education h3 {
	margin:0;
    margin-top:5rem;
    font-weight: 200;
	font-size:3rem;
}

#education ol {
    text-align: left;
    list-style: none;
    position: relative;
    padding: 0;
    padding-left: 6em;

}
#education ol li {
	margin-bottom:1rem;
}
#education ol li:last-child {
	margin-bottom:0;
}
#education ol .date-range {
    position: absolute;
    left:-0.5em;
    width:5.5em;
    display: block;
    text-align: right;
    font-weight:300;
}
#education ol .institution {
    color:#668888;
    display: block;
    font-weight:300;
}
@media only screen and (max-width: 750px) {
    #education ol {
        padding-left:0;
        text-align: center;
    }
    #education ol .date-range {
        position: relative;
        text-align: center;
        left:0;
        width:auto;
    }
}

#projects {
    background-color: #224444;
    min-height: 100vh;
    display: flex;
    flex-direction: column;
    align-items: center;
}

#projects > h2 {
    margin-top: 5rem;
    margin-bottom: 2rem;
    font-weight: 200;
	font-size:3rem;
}

#projects > section {
    display: flex;
    justify-content: center;
    max-width:800px;
}
#projects > section h3 {
    font-size: 2.5rem;
    font-weight: 200;
}
#projects > section:nth-child(odd) {
    flex-direction: row;
}

#projects > section:nth-child(even) {
    flex-direction: row-reverse;
}

#projects > section > img {
    height:300px;
    width:300px;
    flex:0;
    flex-basis: 300px;
}

#projects > section:first-of-type h3:before {
	content:'';
	background-color:#f7f7f7;
	border-radius:50px;
	background-image:url('/images/sampledb.svg');
	display:inline-block;
	width:100px;
	height:100px;
	background-size: 90px 90px;
	background-repeat: no-repeat;
	background-position: center;
	margin: -40px 15px -40px 0;
}

#projects > section > div {
    flex:1;
    background-color: #113333;
    padding:1rem;
    border: 1px solid #446666;
}
@media only screen and (max-width: 415px) {
    #projects > section:first-of-type h3:before {
    	margin-bottom: -5px;
    	margin-left: 47px;
    	display:block;
    }
}
@media only screen and (max-width: 750px) {

    #projects > section:nth-child(odd),
    #projects > section:nth-child(even) {
        flex-direction: column;
        align-items: center;
    }
}

#projects > section .infos {
    list-style-type: none;
    padding-left: 0;
}
#projects > section .infos a {
    color:inherit;
    text-decoration: none;
}
#projects > section .infos li {
    color:#668888;
}
#projects > section .infos a:hover {
    color:#e9e9e9;
}
#projects > section .infos li {
    padding-left: 1.5em;
    background-size: 1.25em 1.25em;
    background-repeat: no-repeat;
    background-position: left center;
    font-size: 1rem;
}
#projects > section .infos li.source {
    background-image: url("/images/source.svg");
}
#projects > section .infos li.package {
    background-image: url("/images/package.svg");
}
#projects > section .infos li.license {
    background-image: url("/images/license.svg");
}
#projects > section .infos li.build {
    background-image: url("/images/build.svg");
}
#projects > section .infos li.skills {
    background-image: url("/images/skills.svg");
}
#projects > section .infos ul {
    list-style-type: none;
    padding: 0;
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
}
#projects > section .infos ul li {
    padding: 0;
}
#projects > section .infos ul li:after {
    content:', ';
    white-space: pre;
}
#projects > section .infos ul li:last-child:after {
    content:'';
}
#projects > section .infos ul li:nth-last-child(2):after {
    content:' and ';
}
#projects > section p a {
    color:#88aaaa;
}
#projects > section p a:hover {
    color:#e9e9e9;
}

#projects > section p.comment {
    font-family: 'Handlee', 'Raleway', sans-serif;
    color:#88aaaa;
}

#projects > section:last-child {
    margin-bottom: 5rem;
}

#contact {
    background-color: #113333;
    display: flex;
    flex-direction: column;
    align-items: center;
}
#contact h2 {
    margin-top:5rem;
    font-weight: 200;
	text-align: center;
	font-size:3rem;
}

#contact p {
    text-align: center;
}

#contact a {
    display: inline-block;
    position: relative;
    width: 100px;
    height: 100px;
    visibility: hidden;
}
#contact a:before {
    visibility: visible;
    content:'';
    position: relative;
    width:100%;
    height:100%;
    display: block;
    background-position: center center;
    background-size: 100% 100%;
    background-repeat: no-repeat;
    opacity:0.5;
    transition: opacity 0.5s;
}
#contact a:hover:before {
    opacity: 1.0;
    transition: opacity 0.1s;
}
#contact a[href*="twitter"]:before {
    background-image: url("/images/twitter.svg");
}
#contact a[href*="mail"]:before {
    background-image: url("/images/mail.svg");
}
#contact div {
    margin-bottom: 5rem;
}




footer {
    background-color: #002222;
    display: flex;
    flex-direction: column;
    align-items: center;
    font-size: 1rem;
    padding: 2rem;
    color: #aabbbb;
}
footer h2 {
    font-family: sans-serif;
    font-weight: 600;
    font-size: 1rem;
    margin: 0;
    padding: 0;
}
footer address {
    font-style: normal;
    text-align: center;
}