html,body,
h1,h2,h3,h4,h5,h6,
ul,p,figure,
form,fieldset,input,textarea{
	margin:0;
	padding:0;
}

*{
  -webkit-box-sizing: border-box;
     -moz-box-sizing: border-box;
          box-sizing: border-box;
}
.cl:before,
.cl:after,
.col2:before,
.col2:after,
fieldset:before,
fieldset:after {
  display: table;
  content: " ";
}
.cl:after,
.col2:after,
fieldset:after{
	clear:both;
}

html,
body{
	width:100%;
	height:100%;
	overflow:hidden;
}

a img,
fieldset{
  border: 0;
}
.fix {
  position: fixed;
  left: 0;
  top: 0;
}
.hidden{
	display:none;
}

.fade-in{
	opacity:0;
}

body{
	font-family: 'DIN';
	text-rendering: optimizeLegibility !important;
	-webkit-font-smoothing: antialiased !important;
	/*perspective:1500px;*/
}



/* ---------- preloader ---------- */
.loader{
	position:fixed;
	left:0;
	top:0;
	z-index:9999;
	width:100%;
	height:100%;
	background-color:#ecebeb;
}
.loader span{
	position:absolute;
	display:block;
}

.loader > span{
	position:absolute;
	left:50%;
	top:50%;
	
	display:block;
	width:42px;
	height:72px;
	margin:-72px 0 0 -21px;
	
	-webkit-transition: all 0.2s linear;
	transition: all 0.2s linear;
}

.loader span span{
	width:100%;
	height:3px;
	
	top:0;
	left:0;
	z-index:1;
	
	background: linear-gradient(to left, #fff 50%, #0b6a7e 50%);
    background-size: 200% 100%;
    background-position:right top;
	
	-webkit-transition: all 0.2s linear;
	transition: all 0.2s linear;
}

.loader span span:nth-child(1){
	width:100%;
}
.loader span span:nth-child(2){
	top: 34px;
	left: -18px;
	z-index:0;
	width: 189%;
	background-color:#fff;
	-webkit-transform: rotate(-60deg);
	-moz-transform: rotate(-60deg);
	-o-transform: rotate(-60deg);
	transform: rotate(-60deg);
}
.loader span span:nth-child(3){
	top:auto;
	bottom: 0;
	left:0;
	width:100%;
	-webkit-transition-delay:0.5s;
	transition-delay:0.5s;
}
.loader span span:nth-child(2):after{
	content:"";
	position:absolute;
	right:0;
	display:block;
	width:0;
	height:100%;
	background:#0b6a7e;
	
	-webkit-transition: all 0.1s linear 0.3s;
	transition: all 0.1s linear 0.3s;
}

.loader span span:nth-child(1).animate,
.loader span span:nth-child(3).animate{
	background-position:left top;
}
.loader span span:nth-child(2).animate:after{
	width:100%;
}
/* ---------- preloader ---------- */


/* ---------- intro ---------- */
.intro,
.intro > div{
	position:absolute;
	top:0;
	left:0;
	z-index:150;
	
	width:100%;
	height:100%;
	background:#ecebeb;
	overflow:hidden;
}
/*.intro{
	-webkit-transition: all 0.3s ease-in;
	transition: all 0.3s ease-in;
}*/
.intro > div{
	-webkit-transition: all 1s linear;
	transition: all 1s linear;
}
.intro.transform > div{
	-webkit-transform:scale(10) translateX(40%);
	transform:scale(10) translateX(40%);
}
.intro-laptop{
	position:absolute;
	top:0;
	left:0;
	z-index:200;
	
	display:block;
	width:100%;
	height:100%;
	
	background:url(../images/intro-laptop.jpg) center no-repeat;
	
	-webkit-transform-style: preserve-3d;
	transform-style: preserve-3d;
	
	-webkit-transform-origin: 0 50%;
	transform-origin: 0 50%;
	
	-webkit-transition: all 1.5s ease-in-out;
	transition: all 1.5s ease-in-out;
	
	-webkit-transform:scale(0) translateX(-10%) translateY(0);
	transform:scale(0) translateX(-10%) translateY(0);
}
.transform .intro-laptop{
	left:0;
	-webkit-transform: scale(1.95) translateX(-24.4%) translateY(3.8%);
	transform: scale(1.95) translateX(-24.4%) translateY(2.4%);
}
/*.transform .intro-laptop.transform{
	-webkit-transition: all 0.5s ease-in-out;
	transition: all 0.5s ease-in-out;
	
	-webkit-transform: scale(2) translateX(-25%);
	transform: scale(2) translateX(-25%);
	opacity:0;
}*/
.intro.transform .laptop{
	opacity:0;
}


.intro .title{
	position:absolute;
	top:35%;
	z-index:1;
	
	width:100%;
	text-align:center;
}
.intro .title h2{
	color:#101010;
	font-size:3.12vw;
	font-weight:800;
	line-height:1.23em;
	text-transform:uppercase;
}
.intro .title a{
	display:inline-block;
	color:#101010;
	font-size:3.12vw;
	line-height:1.06em;
}
.intro .title a em{
	color:#0b6a7e;
	font-style:normal;
}
.intro .title a i{
	font-style:normal;
}
.intro .title h1{
	color:#101010;
	font-size:0.78vw;
	font-weight:600;
	text-transform:uppercase;
	
	position:relative;
	margin:-0.25% 0 1.35%;
	
	-webkit-transition: all 0.4s linear 0.4s;
	transition: all 0.4s linear 0.4s;
	opacity:0.5;
}
.intro.before .title h1{
	font-size:1.5vw;
	transform:rotateX(360deg) translateY(10px) translateX(0);
	opacity:1;
}
.intro.before .title.before h1{
	transform:translateY(10px) translateX(50px);
	opacity:0;
}

.intro .title h2,
.intro .title a,
.intro .title a > span{
	position:relative;
}

.intro .title h2,
.intro .title a{
	-webkit-transition: all 0.3s linear;
	transition: all 0.3s linear;
}
.intro .title a{
	-webkit-transition-delay:0.8s;
	transition-delay:0.8s;
}
.intro .title.before h2,
.intro .title.before a{
	transform:translateX(50px);
	opacity:0;
}

.intro .title a .zet{
	position:absolute;
	right:0;
}
.intro .title a .com{
	position:absolute;
	top:17%;
	left:87.8%;
	width:200px;
	
	font-size:0.7vw;
	text-align:left;
}
.intro .title a span i{
	display:inline-block;
	position:relative;
	-webkit-transition: all 0.2s linear;
	transition: all 0.2s linear;

	-webkit-transform-style: preserve-3d;
	transform-style: preserve-3d;
	-webkit-transform-origin: 50% 50%;
	transform-origin: 50% 50%;
	
	-webkit-transform: rotateY(0);
	transform: rotateY(0);
}
.intro .title a span i:first-child{	
	-webkit-transition-delay:0.5s;
	transition-delay:0.5s;
}
.intro .title a span i.rotate{
	-webkit-transform: rotateY(-90deg);
	transform: rotateY(-90deg);
	opacity:0;
}
.intro .title a .zet i,
.intro .title a .com i{
	-webkit-transform: rotateY(90deg);
	transform: rotateY(90deg);
	opacity:0;
}
.intro .title a .zet i.rotate,
.intro .title a .com i.rotate{
	-webkit-transform: rotateY(0);
	transform: rotateY(0);
	opacity:1;
}

.enter{
	position:absolute;
	top:140%;
	left:0;
	
	width:100%;
	text-align:center;
}
.enter span{
	display:inline-block;
	/*border:1px solid #fff;*/
	border-radius:6px;
	padding:8px 30px 5px;
	
	color:#101010;
	font-size:22px;
	cursor:default;
	
	background: linear-gradient(to top, #ecebeb 50%, #fff 50%);
    background-size: 100% 200%;
    background-position:left bottom;
	
	-webkit-transition: all 0.2s ease-out;
	transition: all 0.2s ease-out;
}
/*.enter span:hover{
    background-position:left top;
}*/

/*
.intro .title a > span{
	position:relative;
}
.intro .title a .zet{
	position:absolute;
	right:0;
}

.intro .title a .port i,
.intro .title a .zet i,
.intro .title a .com{
	display:inline-block;
	position:relative;
	-webkit-transition: all 0.3s linear;
	transition: all 0.3s linear;

	-webkit-transform-origin: 50% 50%;
	transform-origin: 50% 50%;
}
.intro .title a .zet i,
.intro .title a .com{
	-webkit-transform: rotateY(90deg);
}
.intro .title a:hover .port i.rotate{
	-webkit-transform: rotateY(-90deg);
	transform: rotateY(-90deg);
	opacity:0;
}
.intro .title a:hover .zet i.rotate,
.intro .title a:hover .com{
	-webkit-transform: rotateY(0);
	opacity:1;
}*/

.cup,
.laptop,
.tablet,
.phone,
.earphones,
.notebook{	
	position:absolute;
}
.intro > div img{
	display:block;
	width:100%;
}


.cup{
	top:5%;
	right:3%;
	z-index:0;
	
	width:10%;
	
	-webkit-transform-origin: 0% 0%;
	transform-origin: 0% 0%;
	
	-webkit-transition: all 0.3s linear 0.6s;
	transition: all 0.3s linear 0.6s;
	
	transform:rotateZ(0);
}
.before .cup{
	transform:rotateZ(-90deg) translateX(-90px)  translateY(90px);
	opacity:0;
}

.laptop{
	top:20px;
	left:-20.83%;
	z-index:5;
	
	width:33.958%;

	-webkit-transition: all 0.5s linear .15s;
	transition: all 0.5s linear .15s;
}
.before .laptop{
	transform:translateX(-50%) translateY(-100px);
}

.tablet{
	bottom:-12.5%;
	right:-11.458%;
	z-index:0;
	
	width:22.604%;

	-webkit-transition: all 0.5s linear 0.3s;
	transition: all 0.5s linear 0.3s;
}
.before .tablet{
	transform:translateX(100%) translateY(100px);
}

.phone{
	bottom:23%;
	right:-7.812%;
	z-index:5;
	
	width:13.02%;

	-webkit-transition: all 0.5s linear 0.4s;
	transition: all 0.5s linear 0.4s;
}
.before .phone{
	transform:translateX(100%) translateY(-100px);
}

.earphones{
	bottom:3.5%;
	left:4%;
	z-index:0;
	
	width:8.802%;
	
	-webkit-transition: all 0.5s linear;
	transition: all 0.5s linear;
}
.before .earphones{	
	opacity:0;
}

.notebook{
	bottom:0;
	left:45%;
	z-index:5;
	
	width:19.17%;
	
	-webkit-transform-origin: 50% 100%;
	transform-origin: 50% 100%;
	
	-webkit-transition: all 0.5s linear;
	transition: all 0.5s linear;
	
	transform:rotateZ(-28deg) translateY(45%);
	
	cursor:pointer;
	cursor:-webkit-zoom-in;
	cursor: -moz-zoom-in;
}
.before .notebook{	
	transform:rotateZ(0) translateY(100%);
	opacity:0;
}

.notebook.rotate{
	transform:scale(1.5) rotateZ(0deg) translateY(15%);
	cursor:-webkit-zoom-out;
	cursor: -moz-zoom-out;
}
.notebook article{
	position:absolute;
	top:0;
	left:5.434%;
	
	width:39.402%;
	height:100%;
	padding:2.4em 0 0 19em;
	-webkit-box-sizing: content-box;
	-moz-box-sizing: content-box;
	box-sizing: content-box;
	
	color:#101010;
	line-height:1.3em;
	font-size:0.55vw;
}
.notebook article h4{
	font-size:0.6vw;
	font-weight:400;
	margin-bottom:1.2em;
}
.notebook article p{
	margin-bottom:1.18em;
}
.notebook article p em{
	color:#484848;
	font-size:10px;
	opacity:0;
}
.notebook article h3,
.notebook article > em{
	position:absolute;
	left:0;
	
	display:block;
	width:40%;
	text-align:center;
}
.notebook article h3{
	top:1.8em;	
	font-size:0.7vw;
}
.notebook article > em{
	top:5em;
	font-size:0.5.vw;
}
.notebook article .mail{
	position:absolute;
	bottom: 9.8em;
	left: 4.8em;
	
	color:#101010;
	font-size:1.05vmin;
	text-decoration:none;
}
.intro .mail span{
	color:#0b6a7e;
}
/* ---------- /intro ---------- */


/* ---------- header ---------- */
header{
	position:fixed;
	top:0;
	left:0;
	z-index:100;
	width:100%;
	height:120px;
	background:rgba(255,255,255,0.7);
	
	-webkit-transition: all 0.3s linear;
	transition: all 0.3s linear;
}
header .title {
	position:absolute;
	left:34px;
	top:48px;
	
	display:block;
	width:223px;
	height:16px;
	background:url(../images/title.png);
	
	color:#005f96;
	font-family: 'Abadi';
	font-size:24px;
	text-transform:uppercase;
	text-indent:-9999px;
}
header .logo{
	display:block;
	width:30px;
	margin:26px auto 0;
}
header .logo img{
	display:block;
	width:100%;
}


/* --- hamburger --- */
.hamburger,
.hamburger span{
	position:absolute;
	display:block;
}

.hamburger{
	width:38px;
	height:22px;
	cursor:pointer;
	
	top:44px;
	right:34px;
	
	-webkit-transition: all 0.3s linear;
	transition: all 0.3s linear;
}
.hamburger > span{
	width:100%;
	height:100%;
}

.hamburger span span{
	width:100%;
	height:2px;
	background:#007cb6;
	
	top:0;
	left:0;
	
	-webkit-transition: all 0.3s ease-in-out;
	transition: all 0.3s ease-in-out;
}
.hamburger span span:nth-child(2){
	background:#005f96;
	top:10px;
}
.hamburger span span:nth-child(3){
	top:20px;
}

.hamburger:hover span span:nth-child(1) {
	top:-3px;
	left:5px;
	width:68%;
}
.hamburger:hover span span:nth-child(2) {
	top: 10px;
	left: 0;
	-webkit-transform: rotate(-45deg);
	-moz-transform: rotate(-45deg);
	-o-transform: rotate(-45deg);
	transform: rotate(-45deg);
}
.hamburger:hover span span:nth-child(3) {	
	top: 23px;
	left:7px;
	width:68%;
}



/* --- min --- */
header.home,
header.home .hamburger{
	-webkit-transition-delay: 0.3s;
	transition-delay: 0.3s;
}
header.home.min,
header.home.min .hamburger,
header.inner{
	-webkit-transition-delay: 0s;
	transition-delay: 0s;
}
header.min{
	top:-110px;
}
header.min:hover{
	top:0;
}


header.min .hamburger{
	top:135px;
}
header.min:hover .hamburger{
	top:44px;
}

/* ---------- /header ---------- */


/* ---------- portolio list ---------- */
.portfolio {
	position:relative;
	left:0;
	top:0;
	z-index:50;
	
	width: 100%;
	height:100%;
	
	overflow:hidden;
}
.portfolio ul{
	list-style:none;
	padding-top:120px;
}
.portfolio li{
	float:left;
	width:33.333%;
	position:relative;
	overflow:hidden;
}

.portfolio li > a{
	display:block;
	color:#fff;
	text-decoration:none;
	z-index:5;
}
.portfolio li img{
	position:relative;
	display:block;
	width:calc(100% + 1px);
}

.portfolio li .mask{
   position: absolute;
   top: 0;
   left: 0;
   
   width:100%;
   height:100%;
   padding:0 30px;
   overflow: hidden;
   
   text-align: center;
}
.portfolio li article{
	display:table-cell;
	height:100%;
	width:650px;
	vertical-align:middle;
}
.portfolio li h4 {
	position: relative;
	padding: 10px;
	/*border-bottom: 1px solid rgba(255, 255, 255, 0.3);*/
	margin: 20px 40px 0px 40px;
	
	color: #fff;
	font-size: 30px;
	font-weight:400;
	text-transform: uppercase;
}
.portfolio li h4:after{
	content:"";
	position:absolute;
	bottom:0;
	left:50%;
	
	width:0;
	height:1px;
	background:rgba(255, 255, 255, 0.3);
}
.portfolio li p {
	position: relative;
	padding:15px 80px 40px;
	margin-bottom:40px;
	
	color: #fff;
	font-family: Georgia, serif;
	font-size: 16px;
	font-style: italic;
	text-align: center;
}
.role,
.tech{
	display:block;
	color: #fff;
	font-family: Georgia, serif;
	font-size: 13px;
	font-style: italic;
	text-align: center;
	margin-bottom:5px;
}
.role:hover,
.tech:hover{
	opacity:1 !important;
}
/* ---------- /portolio list ---------- */


/* ---------- portolio list - hover animation ---------- */
/*.portfolio li img {
	-webkit-transform-style: preserve-3d;
	transform-style: preserve-3d;
	
	-webkit-transition: all 0.4s ease-in-out;
	transition: all 0.4s ease-in-out;
}
.portfolio li:hover img {
	-webkit-transform: scale(0);
	transform: scale(0);
	
	-webkit-transform: translateY(-200px) translateZ(-150px) rotateX(45deg) rotateZ(45deg);
	transform: translateY(-150px) rotateX(45deg) rotateZ(45deg);
}*/

.portfolio li .mask {
	background-color: rgba(0,0,0,0.7);
	opacity: 0;
	
	-webkit-transition: all 0.1s linear;
	transition: all 0.1s linear;
}
.portfolio li:hover .mask {
	opacity: 1;
}

.portfolio li h4:after {
	-webkit-transition: all 0.3s ease-in-out 0.1s;
	transition: all 0.3s ease-in-out 0.1s;
}
.portfolio li:hover h4:after {
	left:0;
	width:100%;
}


.portfolio li p {
	transform:translateX(200px);
	opacity: 0;
	
	-webkit-transition: all 0.3s ease-in-out 0.2s;
	transition: all 0.3s ease-in-out 0.2s;
}
.portfolio li:hover p {
	opacity: 1;
	-webkit-transform:translateX(0);
	transform:translateX(0);
}

.portfolio li .role,
.portfolio li .tech {
	opacity: 0;
	
	-webkit-transform: translateY(100px);
	transform: translateY(100px);
	
	-webkit-transition: all 0.3s ease-in-out 0.1s;
	transition: all 0.3s ease-in-out 0.1s;
}

.portfolio li:hover .role,
.portfolio li:hover .tech{
	opacity:0.9;
	
	-webkit-transform: translateY(0px);
	transform: translateY(0px);
}
.portfolio li:hover .role {	
	-webkit-transition-delay: 0.4s;
	transition-delay: 0.4s;
}
.portfolio li:hover .tech {
	-webkit-transition-delay: 0.5s;
	transition-delay: 0.5s;
}
/* ---------- /portolio list - hover animation ---------- */


@media screen and (max-width: 1600px) {
	.portfolio li {
		width: 33.333333%;
	}
}

@media screen and (max-width: 1024px) {
	header{
		height:60px;
	}
	header .title{
		/*display:none;*/
		top:20px;
	}
	header .logo{
		width:18px;
		margin:10px 24px 0;
	}
	.hamburger{
		top:17px;
		right:24px;
	}
	.portfolio ul,
	.page section{
		padding-top:60px;
	}
	.portfolio li {
		width: 50%;
	}
}

@media screen and (max-width: 480px) and (orientation : portrait) {
	.portfolio{
		overflow:auto;
	}
	.portfolio li {
		width: 100%;
	}
}