* {
	border: 0;
	margin: 0;
	padding: 0;
	-webkit-box-sizing: border-box;
	-moz-box-sizing: border-box;
	box-sizing: border-box;	
}
body {
  background-color: #fff;
  color: #666;
  font-family: 'Roboto Mono', monospace;
  font-size: 16px;
  line-height: 1.8;
  text-align: center;
  counter-reset: pwa;
}
header, section, article {
	padding: 5% 10%;
	margin: 0 auto;
	max-width: 1400px;
}
nav {
	text-align: left;
	border-bottom: 1px dotted;
}
nav a {
	display: block;
	padding: 0.5rem;
	color: black;
	letter-spacing: -1px;
}
footer {
	margin: 5% 2%;
}
footer > a {
	font-size: 0.75em;
	color: #666666;
	padding: 0 1em;
	
}
h1 {
	font-size: 2em;
	line-height: 1.5;
	color: #000000;
	margin-bottom: 1em;
}
h2 {
	font-size: 1.5em;
	line-height: 1.5;
	color: #000000;
	margin-bottom: 0.4em;
}
h2.count::before {
	counter-increment: pwa +1;
	content: "#" counter(pwa) " ";
	color: #04aa6d;
	display: block;
	font-size: 1.5em;
}
h3 {
	font-size: 1em;
}
p {
	margin-bottom: 1em;
}
a {
	text-decoration: none;
	cursor: pointer;
}
hr {
	margin: 0 auto;
	border-top: 3px dotted #444444;
	transform: rotate(1deg);
}
input, textarea {
	width: 100%;
	border: 1px solid #212121;
	border-radius: 0.25em;
	padding: 0.5em;
	font-family: inherit;
	margin-bottom: 1em;
}
input[type=submit] {
	padding: 0.75em;
	border: none;
}
textarea {
	height: 7em;
}
#alogo {
	color: #04aa6d;
}
#middleLinks {
	display: none;
	opacity: 0;
	transition: opacity 0.3s;
}
#hamburger {
	color: #04aa6d;
	font-size: 2em;
	position: absolute;
	top: 0;
	right: 0;
}
#deco {
	 width:100%;
	 max-width:500px;
	 margin: 2em auto 2em auto;
}
#pwa {
	display:block;
	margin:1em auto;
	height:200px;
	width:auto;
}
#gotoTop {
	display: block;
	position: fixed;
	bottom: 0.5rem;
	left: 0.5rem;
	width: 2em;
	height: 2em;
	font-size: 1em;
	line-height: 2em;
	border-radius: 50%;
	background-color: #04aa6d;
	color: #ffffff;
	box-shadow: 0 0 10px 0 rgba(0,0,0,0.4);
}
#gotoToc {
	display: block;
	position: fixed;
	bottom: 3rem;
	left: 0.5rem;
	width: 2em;
	height: 2em;
	font-size: 1em;
	line-height: 2em;
	border-radius: 50%;
	background-color: #04aa6d;
	color: #ffffff;
	box-shadow: 0 0 10px 0 rgba(0,0,0,0.4);
}
#bottomContact {
	display: block;
	position: fixed;
	bottom: 0.5rem;
	right: 0.5rem;
	width: 2em;
	height: 2em;
	font-size: 1em;
	line-height: 2em;
	border-radius: 50%;
	background-color: #04aa6d;
	color: #ffffff;
	box-shadow: 0 0 10px 0 rgba(0,0,0,0.4);
}
#contactBackground {
	z-index: 900;
	display: none;
	position: fixed;
	top: 0;
	left: 0;
	right: 0;
	bottom: 0;
	background-color: rgba(0,0,0,0.9);
	padding: 1.5em;
	overflow: auto;
}
#contactForm {
	position: relative;
	margin: 0 auto;
	max-width: 500px;
	background-color: #ffffff;
	border-radius: 0.25em;
	padding: 1em;
	opacity: 0.7;
	transform: translateY(-4em);
	transition: all 0.5s;
}
#closeContact {
	position: absolute;
	top: -0.5em;
	right: -0.5em;
	display: block;
	width: 1.5em;
	height: 1.5em;
	line-height: 1.5em;
	background-color: #ccc;
	border-radius: 50%;
	cursor: pointer;
}
#formMessage {
	font-size: 1.2em;
	line-height: 1.1em;
	color: green;
}
#moi {
	width: 30%;
	height: 30%;
	max-width: 200px;
	border-radius: 50%;
	margin-bottom: 2em;
}
.active {
	background-color: #efefef;
}
.margin1 {
	margin-bottom: 3em;
}
.ainline {
	text-decoration: underline;
}
.button {
	display: inline-block;
	background-color: #04aa6d;
	color: #ffffaa;
	border-radius: 1em;
	padding: 0.5em 1em;
	font-size: 0.75em;
	line-height: 1;
}
.button::before, .ainline::before {
	content: '»';
	padding-right: 0.25em;
}
.webtechIcon {
	width: 7em;
	height: auto;
	max-width: 300px;
}
.color1 {
	color: #04aa6d;
}
.black {
	color: #212121;
}
.decoIcon {
	font-size: 4em;
	padding: 0.5em;
	background-image: url(iconBg.svg);
	background-size: contain;
	color: #04aa6d;
	margin-bottom: 1rem;
}
.callToAction {
	background-color: #ffffaa;
	max-width: 600px;
	border-radius:0.5em;
	margin: 3em auto;
	padding :1em;
	box-shadow: 5px 5px 10px 0 rgba(0,0,0,0.3);
	color: black;
}
.callToAction i {
	display: block;
	font-size: 2em;
	margin: auto;
}
.share {
	width: 40px;
	height: 40px;
}
.browser {
	 padding: 0.5em;
	 margin: 1em auto;
	 border: 1px solid #ccc;
	 border-radius: 0.5em;
}
.browsericon {
	width: 30px;
	height: 30px;
}
@media only screen and (min-width: 781px) {
	nav a {
		display: inline-block;
	}
	#middleLinks {
		display: inline;
		opacity: 1;
	}
	#hamburger {
		display: none;
	}
	.share {
		width: 48px;
		height: 48px;
	}
}
@media only screen and (min-width: 1101px) {
	body {
		font-size: 18px;
	}
}
