
html {
	height 100%;/*sticker footer attribute*/
}
* {
  box-sizing: border-box;
}

body {
	color: #777777;
	font-family: Arial, "Helvetica Neue", Helvetica, sans-serif;
	background-image: url("topography.png");
	font-size: 18px;
	line-height: 34px;
	display: flex;
	flex-direction: column;/*sticker footer attribute*/
	height: 100vh;/*sticker footer attribute*/
}
p:last-child {
  margin-bottom: 0;
}

h1, h2, h3, p {
	margin-bottom: 20px;
}
h1 {
  padding-bottom: 20px;
  font-size: 30px;
  line-height: 30px;
  border-bottom: 3px solid #ddd;
}

h1,
h2,
h3 {
  font-family: Georgia, Times, "Times New Roman", serif;
  font-weight: 700;
  color: #4aaaa5;
}
h3,
.aside h2 {
  padding-bottom: 20px;
  margin-bottom: 15px;
  line-height: 22px;
  border-bottom: 2px solid #eee;
 
}
.container {
  width: 100%;
  max-width: 960px;
  margin: 0 auto;
  clear: both;
}
.container-header{
	width: 100%;
  max-width: 960px;
  margin: 0 auto;
  clear: both;

}

/*sticker footer attribute*/
.container-sticky {
	flex: 1 0 auto;
}

.container-header {
	width: 960px;
	margin: auto;
}

.header {
	position: relative;
	background-color: #ffffff;
	color: #777777;
	border-bottom: 2px solid #cccccc;
	overflow: auto;
	z-index: 99;
	width: 100%;
	margin-bottom: 30px;
	
}

.heading {
  float: left;
  width: 350px;
  height: 90px;
  font-family: Georgia, Times, "Times New Roman", serif;
  font-size: 30px;
  font-weight: 700;
  line-height: 90px;
  color: #fff;
  text-align: center;
  text-decoration: none;
  background: #4aaaa5;
}

.menu-nav {
	float: right;
	margin-top: 25px;
}

.menu-nav a {
	display: inline-block;
	text-decoration: none;
	color: #4aaaa5;
	padding-left: 15px;
	margin-left: 15px;
	line-height: 18px;
	border-left: 1px solid #efefef;
}

.menu-nav:first child {
	border-left: 0 none;
}
.menu-nav a:link, .menu-nav a:visited {
	text-decoration: none;
	color: #808080;
}

.menu-nav a:hover {
	color: #4aaaa5;
}

.menu-nav a:active {
	color: #aa6b4a;
}

.main-section {
	float:left;
	background: #ffffff;
	border: 1px solid #dddddd;
	max-width: 650px;
	width: 100%;
	margin-bottom: 40px;
	padding: 30px;
}

.title-section {
	border-bottom: 2px solid #cccccc;
	width: auto;
	height: auto;
	color: #4aaaa5;

	margin: 0 30px;
}

.article-section {
	position: relative;
	height: auto;
	margin: 30px 30px;
}

.aside {
	float: right;
	width: 100%;
	max-width: 270px;
	padding: 30px;
	margin-bottom: 20px;
	color: #4aaaa5;
	border: 1px solid #dddddd;
	background-color: #ffffff;
	text-align: center;
}

.aside_title {
	margin: 0 30px;
	color: #4aaaa5;
	border-bottom: 2px solid #cccccc;
}

.aside_content {
	margin: 20px 0px;
}

.icon-social {
	width: 60px;
	height: 60px;
	margin-top: 8px;
	margin-right: 10px;
}
.icon-social:last-child {
  margin-right: 0;
}

.icon_social-link:link {
	text-decoration: none;
}

#picture-profile{
	width: 200px;
	height: auto;
	float: left;
	margin-top: 10px;
	margin-right: 25px;


}

.form-line {
	line-height: 22px;
	width: 99%
}

.button-form-submit {
	background-color: #4aaaa5;
	color: white;
	border: none;
	text-align: center;
	width: 100px;
	height: 34px;
	margin-top: 10px;
	font-size: 18px;
}

.box-portfolio {
	position: relative;
	width: 280px; 
	height: 200px;
	display: block;
	float: left;	
	margin-bottom: 30px
}
/*change opacity on hover over portfolio pictures*/
.box-portfolio:hover .picture-portfolio {
	opacity: 0.3;
}

.picture-portfolio {
	position: absolute;
	width: 280px;
	height: 200px;
	opacity: 1;  /*change opacity on hover over portfolio pictures*/
	transition: .3s ease;  /*change opacity on hover over portfolio pictures*/
	backface-visibility: hidden;  /*change opacity on hover over portfolio pictures*/
}

#box-portfolio-right {
	float: right;
}

.box-portfolio-text {
	border-bottom: none;
	bottom: 20px;
	position: absolute;
	color: white;
	text-align: center;
	background-color: #4aaaa5;
	height: 50px;
	width: 280px;
	line-height: 50px;
}

.box-portfolio-text:hover {
	color: #aa6b4a;
}

.box-portfolio-text:active {
	color: #5d2e16;
}

.footer {
	clear:left;
	display:block;
	text-align: center;
	border-top: 5px solid #4aaaa5;
	background-color: #666666;
	height: 100px;
	color: white;
	font-size: 12px;
	line-height: 80px;
	margin-top: 60px;
	flex-shrink: 0; /* Prevent Chrome, Opera, and Safari from letting these items shrink to smaller than their content's default minimum size. */
}

/* contact page */

#contact-form ul {
  margin-bottom: 20px;
}

#contact-form li {
  margin-bottom: 10px;
}

label,
input[type=text],
input[type=email],
textarea {
  display: block;
  width: 100%;
}

input[type=text],
input[type=email],
textarea {
  height: 35px;
  padding: 0 10px;
  font-size: 14px;
  border: 1px solid #ddd;
}

textarea {
  height: 200px;
}

input[type=submit] {
  padding: 10px 30px;
  font-size: 18px;
  color: #fff;
  cursor: pointer;
  background: #4aaaa5;
  border: 0 none;
}


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

	.container-sticky{
  		width: 980px;
  	}

	.container, .container-header{
		width: 768px;
	}

	.main-section{
		width: 450px;
	}

	.aside{

		width: 270px;
	}

	#picture-profile{
		width: 100%;
		height: auto;
		float: left;
		margin-bottom: 20px;
	}
	
	.box-portfolio {
		position: relative;
		width: 100%; 
		height: 270px;
		display: block;
		float: left;	
		margin-bottom: 30px;
}

	.box-portfolio-text {
	
		position: absolute;
		color: white;
		text-align: center;
		background-color: #4aaaa5;
		height: 60px;
		width: 100%;
		line-height: 60px;
	}

	.picture-portfolio {
		position: absolute;
		width: 100%;
		height: 270px;
		margin-bottom: 30px;
		opacity: 1;  
		transition: .3s ease;  
		backface-visibility: hidden;  
	}


	#box-portfolio-right {
		float: left;
	}

}

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


  	.container-sticky{
  		width: 768px;
  	}
	.container-header{
		margin: 0 20px;
		width: 688px;
	}
	
	.main-section{
		max-width: 688px;
		margin: 0 20px;
		width: 100%;
	}
	.aside{
		text-align: left;
		float:left;
		width: 100%;
		max-width: 688px;
		margin: 30px 20px;
	}

	#picture-profile{
		width: 300px;
		height: auto;
		float: left;
		margin-top: 10px;
		margin-right: 25px;
}

	.box-portfolio {
		position: relative;
		width: 280px; 
		height: 200px;
		display: block;
		float: left;	
		margin-bottom: 30px;
}

	.box-portfolio-text {
		
		position: absolute;
		color: white;
		text-align: center;
		background-color: #4aaaa5;
		height: 50px;
		width: 100%;
		line-height: 50px;
	}

	.picture-portfolio {
		position: absolute;
		width: 280px;
		height: 200px;
		margin-bottom: 30px;
		opacity: 1;  
		transition: .3s ease;  
		backface-visibility: hidden;  
	}


	#box-portfolio-right {
		float: right;
	}
}

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

 	.container-sticky{
  		width: 640px;
  	}

	.container-header{
		width: 600px;
	}

	.main-section{
		float: left;
		max-width: 600px;
	}

	.aside{
		width:100%;
		float: left;
		max-width: 600px;
	}

	#picture-profile{
	width: 100%;
	height: auto;
	float: none;
	margin-bottom: 20px;
	}

	.heading {
		position: static;
		float: none;
		  width: 600px;
	}

	.menu-nav {
		width: 600px;
		float: none;
		margin: 10px 0;
	}

	.menu-nav a {
		display: inline-block;
		text-decoration: none;
		color: #4aaaa5;
		padding-left: 55px;
		margin-left: 55px;
		line-height: 18px;
		border-left: 1px solid #efefef;
	}

.box-portfolio {
		position: relative;
		width: 100%; 
		height: 405px;
		display: block;
		float: left;	
		margin-bottom: 30px;
}

	.box-portfolio-text {
		font-size: 28px;
		position: absolute;
		color: white;
		text-align: center;
		background-color: #4aaaa5;
		height: 80px;
		width: 100%;
		line-height: 80px;
	}

	.picture-portfolio {
		position: absolute;
		width: 100%;
		height: 405px;
		margin-bottom: 30px;
		opacity: 1;  
		transition: .3s ease;  
		backface-visibility: hidden;  
	}


	#box-portfolio-right {
		float: left;
	}
}