html {
	font-family: sans-serif;
	-ms-text-size-adjust: 100%;
	-webkit-text-size-adjust: 100%;
	height: 100%;
}

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

a:link, a:visited{
	color:lightgreen;
	text-decoration: none;
}

a:hover, a:active {
  color: white;
}

.viewport_area {
	width: 100%;
	height: 100%;
	display: table;
	position: relative;
}

.viewport_row {
	display: table-row;

}

.sidebar {
	width: 38%;
	min-width: 400px;
	background-color: #555555;
	background-image: linear-gradient(90deg, #555555 43%, #333333 100%);
	color: #FFF;
	display: table-cell;
}


.mainbar {
	min-height: 100%;
	height: auto;
	width: 61%;
	min-width: 550px;
	background-color: #333;
	color: #FFF;
	padding-left: 10px;
	display: table-cell;
}

#namefield {
	padding: 20px;
	margin: 20px;
	top: 10%;
	color: #FFF;
	display: block;
	font-size: xx-large;
	color: #CCC;
}

#contactfield {
	position: absolute;
	right: 0px;
	top: 0px;
	padding: 20px;
	margin: 20px;
	display: block;
	font-size: xx-large;
	cursor: pointer;
	color:lightgreen;
}

.maincontent {
	padding: 20px;
	margin: 20px;
	top: 10%;
	min-height: 61%;
	height: auto;
	min-width: 690px;
	background-color: #222;
	color: #FFF;
	display: block;
	overflow: auto;
	border-radius: 25px;

	> .between-sections {
		height: 78px;
	}
}

.sectionheader {
	position: absolute;
	left: 20px;
	font-size: xx-large;
	color: #CCC;
	text-transform: uppercase;
}

.sectionheader:target {
	position: absolute;
	left: 20px;
	font-size: xx-large;
}

.subsectionheader {
	position: absolute;
	left: 40px;
	font-size: x-large;
	color: #AAA;
	text-transform: uppercase;
	width: 300px;
}


.image-with-text {
	display: flex;
	align-items: center;

	> img {
		display: inline;
		float: left;
		width: 33%;
		min-width: 200px;
		max-width: 600px;
		margin-right: 20px;
	}

	> span {
		display: inline;
	}

}

.publication {
	display: flex;
	align-items: top;
	overflow: auto;

	> img {
		display: inline;
		float: left;
		width: 15%;
		margin-right: 20px;
		min-width: 150px;
		max-width: 300px;
	}

	> .infos {
		display: block;

		> .title {
			color: #FFF;
			display: block;
		}

		> .authors {
			color: #CCC;
			display: block;
			font-size: small;
			margin-bottom: 10px;
		}
		> .publisher {
			color: #CCC;
			display: block;
			margin-bottom: 20px;
			font-size: small;
		}

		> .links {
			color: #CCC;
			display: block;
		}

	}
}

.shared-contribution {
	margin-top: 20px;
	font-size: smaller;
	display: block;
}

.education-step {
	margin-bottom: 30px;
	> .title {
		font-size: larger;
	}
	> .project {
		color: #CCC;
	}
	> .grade {
		float: right;
		font-size: smaller;
	}
}

.hoverable {
	position: relative;
}

.hoverable:hover::after{
  background: #DDD;
  color: #000;
  border-radius: 4px;
  bottom: 100%;
  content: attr(infos);
  display: block;
  padding: 1em;
  position: absolute;    
  left:0%;
  max-width: 280px;
  z-index: 1;
  overflow: auto;
}

.technolgy-list {
	position: relative;

}
.technolgy-list img {
		height: 40px;
		margin-right: 50px;
		margin-bottom: 50px;
}
.technolgy-list .disclaimer {
	font-size: smaller;
	display: block;
}

.advertisement{
	margin-top: 50px;
	font-size: small;
}

