html {
	height: 100%;
	margin: 0;
	padding: 0;
}


body {
	height: 100%;
	width: 100%;
	margin: 0;
	padding: 0;
	background: #eee;
	font-family: Gudea, Arial, sans-serif;
	font-size: 1.8em;
	-webkit-font-smoothing: antialiased;
	text-shadow: 	0 1px 0 #fff;
	color: #666;
	transition: ease 0.3s;
}

@media (min-resolution: 300dpi) {
	body {
		font-size: 3em;
	}
}

h1, h2, h3 {
	font-family: Noto Sans, Arial, sans-serif;
	padding-bottom: 1em;
	/*font-style: italic;*/
}

img {
	border: none;
}

a {
	color: #777;
	text-decoration: none;
	transition: 0.3s;
}

a:hover,
a:focus {
	color: #3267cc;
	text-decoration: none;
}

a.section {
	display: block;
	position: absolute;
	top: -100px;
}

ul.rowlist {
	display: block;
	position: relative;
	float: left;
	clear: both;
	width: 100%;
	margin: 0;
	padding: 0;
	font-size: 0.8em;
}

ul.rowlist > li {
	display: inline-block;
	position: relative;
	float: left;
	margin: 0;
}

ul.rowlist > li:nth-child(n+2):before {
	content: '\2009\2044\2009';
}

ul.rowlist > li:last-child {
	clear: right;
}

.fa.asimage {
	display: inline-block;
	font-size: 120px;
	color: #bbb;
	text-shadow: 	0 -1px 1px #fff,
					0 2px 1px #999;
	/*padding: 20px;
	box-shadow: 0 10px 20px #bbb;*/
}

.alignleft {
	float: left;
	margin: 10px 30px 20px 0;
}

.alignright {
	float: right;
	margin: 0 0 30px 30px;
}

.fa.big {
	display: block;
	font-size: 100px;
	text-align: center;
	color: #bbb;
	text-shadow: 	0 2px 1px #fff,
					0 -2px 1px #999;
}

.fa.web {
	color: rgb(255, 115, 43);
	text-shadow: 	0 2px 1px #fff,
					0 -2px 1px rgb(155, 65, 20);
}

.fa.bi {
	color: rgb(29, 204, 236);
	text-shadow: 	0 2px 1px #fff,
					0 -2px 1px rgb(16, 135, 157);
}

.fa.mobile {
	color: rgb(124, 199, 98);
	text-shadow: 	0 2px 1px #fff,
					0 -2px 1px rgb(88, 149, 67);
}


#main {
	width: 100%;
	height: 100%;
	margin: 0;
	padding: 0;
}

#main > div {
	width: 100%;
	margin: 0;
	box-sizing: border-box;
}

#main > .header {
	position: fixed;
	z-index: 100;
	height: 80px;
	background: #3267cc;
	box-shadow: 0 10px 20px rgba(0,0,0,0.3);
	transition: 0.6s;
}


#main > .header-space {
	height: 80px;
	padding: 10px;
	transition: 0.6s;
}

#main > .header .logo {
	display: inline-block;
	height: 100%;
	width: auto;
	padding: 0;
	margin: 0 0 0 20px;
	position: relative;
	float: left;
	transition: 0.6s;
}

#main > .header .logo img {	
	height: 80px;
	width: 146px;
	transition: all 0.6s;
}

.toggle-menu-btn {
	width: 40px;
	height: 40px;
	background-color: rgba(255,255,255,0.2);
	border: 2px solid rgba(255,255,255,0.6);	
	position: relative;
	float: right;
	box-sizing: border-box;
	transition: 0.3s;
	margin: 20px 20px 0 0;
}

.toggle-menu-btn:hover,
.toggle-menu-btn:focus {
	cursor: pointer;
	border: 2px solid rgba(255,255,255,1);
	background-color: rgba(255,255,255,0.4);
}

.toggle-menu-btn > div {
	width: 70%;
	height: 3px;
	background: rgba(255,255,255,0.6);
	margin: 5px auto;
	transition: 0.2s;
}

.toggle-menu-btn > div:first-child {
	margin-top: 9px;
}

.toggle-menu-btn:hover > div,
.toggle-menu-btn:focus > div {
	background: rgba(255,255,255,1);	
}

#close-menu-btn:hover,
#close-menu-btn:focus {
	cursor: pointer;
	background-color: rgba(185,0,0,1);
	border: 2px solid rgba(230,0,0,1);
}

#main-menu {
	display: none;
	z-index: 100;
	width: 100%;
	margin: 80px 0 0;
	position: absolute;
	height: 100%;
	padding: 0;
	box-sizing: border-box;
	float: right;
}

#main > .header ul.menu {
	display: block;
	box-sizing: border-box;
	position: absolute;
	list-style-type: none;
	padding: 40px;
	margin: 0;
	width: 100%;
	background-color: rgba(255,255,255,0.8);
	border: 2px solid rgba(255,255,255,1);
	box-shadow: 0 20px 40px rgba(0,0,0,0.3);
}

#main > .header .menu > li {
	display: inline-block;
	position: relative;
	float: left;
	box-sizing: border-box;
	width: 100%;
	margin: 2px 0;
}

#main > .header .menu > li > a {
	display: block;
	box-sizing: border-box;
	width: 100%;
	padding: 10px 20px;
	border: 1px solid rgba(0,0,0,0.8);
	background-color: rgba(0,0,0,0.7);
	text-shadow: none;
	color: rgba(255,255,255,0.8);
	margin: 0;
}

#main > .header .menu > li > a:hover,
#main > .header .menu > li > a:focus {
	color: rgba(255,255,255,1);
	border: 1px solid rgba(0,0,0,1);
	background-color: rgba(0,0,0,0.8);
}

#main > .banner {
	background: url('banner_background_blur_light.jpg') no-repeat center center;
	background-size: cover;
	transition: 0.3s;
	height: 200px;
}

#main > .block {
	position: relative;
	float: left;
	min-height: 200px;
	height: auto;
	transition: 0.3s;
}

#main > .block:nth-child(even) {
	background: #fff;
}

#main > .block > .content,
#main > .footer > .content {
	max-width: 980px;
	height: 100%;
	margin: 0 auto;
	box-sizing: border-box;
}

#main > .banner > .content {
	display: none;
	max-width: 1200px;
	height: 100%;
	margin: 0 auto;
	background: url('banner.png') no-repeat 90% center;	
	background-size: contain;
	box-sizing: border-box;
	padding-top: 60px;
	/*transition: 0.6s;*/
}

#main > .banner > .content .textarea {
	display: none;
	width: 100%;
	height: 80%;
	box-sizing: border-box;
	padding: 0 0 0 30px;
	margin: 0;
}

#main > .banner p {
	display: inline-block;
	position: relative;
	float: left;
	clear: both;
	box-sizing: border-box;
	color: #3267cc;	
	font-family: Noto Sans, Arial, sans-serif;
	font-style: italic;
	text-shadow: 0 3px 3px rgba(0,0,0,0.2);
	transition: 0.6s;	
	opacity: 0;
	font-size: 1px;
	padding: 0;
	margin: 0;
}

#main > .banner p:nth-child(even) {
	color: #333;
	margin-left: 40px;
}

.text {
	padding: 30px;
}

.column {
	position: relative;
	float: left;
	box-sizing: border-box;
	height: 100%;
	transition: 0.3s;
}

.columns-3 .column {
	width: 100%;		
	margin: 0 0 40px;
}

.columns-3 .column:nth-child(3n+2) {
	margin-right: 0;
}

.columns-3 .column:nth-child(3n) {
	margin-left: 0;
}

.columns-3 h3 {
	display: block;
	text-align: center;
}


#main > .footer {
	position: relative;
	float: left;
	height: 300px;
	background: #333;
	color: #ddd;
	text-shadow: 0 0 0 #000;
	font-size: 0.8em;
}

#main > .footer > .content {
	text-align: center;
	padding: 80px 0 0;
}


@media (min-width: 1200px) and (orientation: landscape) {
	
	#main > .header .logo {
		margin-left: 100px !important;
	}
	
	.toggle-menu-btn {
		margin-right: 100px !important;	
	}
	
	#main > .banner {
		height: 500px !important;	
	}
	
	#main > .banner p {
		font-size: 1.8em !important;
	
	}

	#main > .banner p:first-child {
		font-size: 3em !important;
	}
	
	#main > .banner > .content .textarea {		
		padding: 40px 0 0 30px !important;
	}
	
}


@media (min-width: 768px) and (orientation: landscape) {
	
	#main > .header,
	#main > .header-space {
		height: 100px;
	}
	
	#main > .header .logo img {
		height: 100%;
		width: auto;
	}
	
	.toggle-menu-btn {
		margin-top: 30px;	
	}
	
	
	#main > .banner > .content {
		background-size: auto;
	}
	
	#main-menu {
		z-index: auto;
		width: 500px;
		margin: 30px 30px 0;
		position: relative;
	}
	
	#main > .banner {
		height: 350px;	
	}
	
	.columns-3 .column {		
		width: 28%;
		margin: 0 4% 40px;
	}
	
	#main > .banner p {		
		opacity: 1;
		font-size: 1.4em;
		margin: 10px 0 20px;
	}

	#main > .banner p:first-child {
		font-size: 2.05em;
	}
}