/* PRE LOADER */
.preloader {
	position: fixed;
	top: 0;
	left: 0;
	right: 0;
	bottom: 0;
	background-color: #fefefe;
	z-index: 99999;
	height: 100%;
	width: 100%;
	overflow: hidden !important;
}
.status {
	width: 200px;
	height: 200px;
	position: absolute;
	left: 50%;
	top: 50%;
	background-image: url(../images/loading.gif);
	background-repeat: no-repeat;
	background-position: center;
	margin: -100px 0 0 -100px;
}

/* CONTENT */
body{
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    -moz-user-select: none;
    -ms-user-select: none;
    -webkit-user-select: none;
    user-select: none;
	text-align: center;
	background-color: #272727;
}

.page-container{
	position: relative;
	overflow: hidden;
}

.content{
	padding-top: 70px;
}

.page{
	position: relative;
}

.page .overlay{
	position: absolute;
	width: 100%;
	height: 100%;
	
	filter: alpha(opacity=80);
	-moz-opacity:0.8;
	-khtml-opacity: 0.8;
	opacity: 0.8;
}

.page .page-container{
	position: relative;
	color: #ffffff;
}

.overlay-bg{
	position: fixed;
	width: 100%;
	height:100%;
	background-repeat: no-repeat;
	background-position: center center;
	background-size: cover;
}

/* HEADER */
#header{
	background-attachment: fixed;
	background-image: url(../images/bg/main.jpg);
	background-repeat: no-repeat;
	background-position: center center;
	background-size: cover;
}

#header .overlay-bg{
	background-image: url(../images/bg/main.jpg);
}

#header .page-container{
	padding: 150px 30px 70px 30px;
}

#header .page-container .slogan{
	font-weight: bold;
	font-size: 30px;
	font-family: 'Montserrat', sans-serif;
}

#header .btn-container{
	margin-top: 20px;
}

#header .btn-container .btn{
	border: 2px solid #ffffff;
	display: inline-block;
	padding: 10px 20px;
	margin: 10px;
	background-color: transparent;
	-webkit-border-radius: 6px;
	-moz-border-radius: 6px;
	border-radius: 6px;
	
	-moz-transition: width .5s, height .5s, top .5s, bottom .5s, left .5s, right .5s, margin .5s, padding .5s, opacity .5s, transform .5s, background-color .5s, max-height .5s;
	-o-transition: width .5s, height .5s, top .5s, bottom .5s, left .5s, right .5s, margin .5s, padding .5s, opacity .5s, transform .5s, background-color .5s, max-height .5s;
	-webkit-transition: width .5s, height .5s, top .5s, bottom .5s, left .5s, right .5s, margin .5s, padding .5s, opacity .5s, transform .5s, background-color .5s, max-height .5s;
	transition: width .5s, height .5s, top .5s, bottom .5s, left .5s, right .5s, margin .5s, padding .5s, opacity .5s, transform .5s, background-color .5s, max-height .5s;
}

#header .btn-container .btn.btn-services:hover{
	background-color: #e96656;
	cursor: pointer;
}

#header .btn-container .btn.btn-contact:hover{
	background-color: #34d293;
	cursor: pointer;
}

/* Content more width > 900px*/
@media (min-width: 900px) {
	#header .page-container{
		padding: 150px 20px 70px 20px;
	}

	#header .page-container .slogan{
		font-size: 55px;
	}
}

/* SERVICES */
#services{
	background-color: #ffffff;
}

#services .page-container{
	padding: 100px 30px 50px 30px;
	color: #404040;
	text-align: justify;
}

#services .page-container .title{
	font-weight: bold;
	font-size: 30px;
	font-family: 'Montserrat', sans-serif;
	margin-bottom: 10px;
}

#services .page-container .description{
	color: #808080;
	line-height: 25px;
	text-align: left;
}

.services-list{
	margin-top: 50px;
	text-align: center;
}

.service-item{
	position: relative;
	display: inline-block;
	max-width: 250px;
	margin: 20px;
	vertical-align: top;
}

.service-item .icon{
	width: 150px;
	height: 150px;
	background-repeat: no-repeat;
	background-position: center center;
	background-size: 50%;
	
	-webkit-border-radius: 50%;
	-moz-border-radius: 50%;
	border-radius: 50%;
	
	display: inline-block;
	border: 10px solid #34495e;
	-moz-transition: border .5s;
	-o-transition: border .5s;
	-webkit-transition: border .5s;
	transition: border .5s;
}

.service-item .icon-web-design{
	background-image: url(../images/icon/web_design.png);
	border: 10px solid #e96656;
}

.service-item .icon-digital-marketing{
	background-image: url(../images/icon/digital_marketing.png);
	border: 10px solid #34d293;
}

.service-item .icon-responsive-design{
	background-size: 70%;
	background-image: url(../images/icon/responsive_design.png);
	border: 10px solid #3ab0e2;
}

.service-item .icon-mobile-app-design{
	background-image: url(../images/icon/mobile.png);
	border: 10px solid #e7ac44;
}

.service-item .icon-cms{
	background-image: url(../images/icon/cms.png);
	border: 10px solid #a64dff;
}

.service-item .icon-seo{
	background-image: url(../images/icon/seo.png);
	border: 10px solid #c4ff12;
}

.service-item .service-title{
	font-weight: bold;
	color: #34495e;
	margin: 10px;
}

.service-item .service-description{
	text-align: center;
	color: #808080;
	line-height: 25px;
}

/* Content more width > 900px*/
@media (min-width: 900px) {
	#services .page-container{
		padding: 100px 100px 50px 100px;
	}
	
	.service-item .icon{
		border: 10px solid #34495e;
	}
	
	.service-item:hover .icon-web-design{
		border: 10px solid #e96656;
	}
	
	.service-item:hover .icon-digital-marketing{
		border: 10px solid #34d293;
	}
	
	.service-item:hover .icon-responsive-design{
		border: 10px solid #3ab0e2;
	}

	.service-item:hover .icon-mobile-app-design{
		border: 10px solid #e7ac44;
	}
	
	.service-item:hover .icon-cms{
		border: 10px solid #a64dff;
	}
	
	.service-item:hover .icon-seo{
		border: 10px solid #c4ff12;
	}
}

/* WORKFLOW */
#workflow{
	background-attachment: relative;
	background-image: url(../images/bg/service.jpg);
	background-repeat: no-repeat;
	background-position: 52% top;
	background-size: auto 45%;
}

/* Content more width > 700px*/
@media (min-width: 700px) {
	#workflow{
		background-size: 100% 45%;
	}
}

#workflow .overlay{
	background-color: #34d293;
	filter: alpha(opacity=50);
	-moz-opacity: .5;
	-khtml-opacity: .5;
	opacity: .5;
}

#workflow .page-container{
	position: relative;
	z-index: 10;
	padding: 100px 30px 70px 30px;
}

#workflow .workflow-section{
	position: relative;
	z-index: 10;
	background-color: #ffffff;
}

#workflow .workflow-section .page-container{
	padding: 100px 30px 0px 30px;
	color: #404040;
	text-align: justify;
}

#workflow .workflow-section .page-container .title{
	font-weight: bold;
	font-size: 30px;
	font-family: 'Montserrat', sans-serif;
	margin-bottom: 10px;
}

#workflow .workflow-section .page-container .description{
	color: #808080;
	line-height: 25px;
	text-align: left;
}

#workflow .page-container .slogan{
	font-weight: bold;
	font-size: 30px;
	font-family: 'Montserrat', sans-serif;
}

#workflow .btn-container{
	margin-top: 20px;
}

#workflow .btn-container .btn{
	border: 2px solid #ffffff;
	display: inline-block;
	padding: 10px 20px;
	margin: 10px;
	background-color: transparent;
	-webkit-border-radius: 6px;
	-moz-border-radius: 6px;
	border-radius: 6px; 
	color: #ffffff !important;
	
	-moz-transition: width .5s, height .5s, top .5s, bottom .5s, left .5s, right .5s, margin .5s, padding .5s, opacity .5s, transform .5s, background-color .5s, max-height .5s;
	-o-transition: width .5s, height .5s, top .5s, bottom .5s, left .5s, right .5s, margin .5s, padding .5s, opacity .5s, transform .5s, background-color .5s, max-height .5s;
	-webkit-transition: width .5s, height .5s, top .5s, bottom .5s, left .5s, right .5s, margin .5s, padding .5s, opacity .5s, transform .5s, background-color .5s, max-height .5s;
	transition: width .5s, height .5s, top .5s, bottom .5s, left .5s, right .5s, margin .5s, padding .5s, opacity .5s, transform .5s, background-color .5s, max-height .5s;
}

#workflow .btn-container .btn.btn-contact:hover{
	background-color: #3ab0e2;
	cursor: pointer;
}

#workflow .workflow-section .workflow-timeline-wrapper{
	position: relative;
	margin-top: 40px;
	text-align: center;
}

#workflow .workflow-section .workflow-timeline-wrapper .timeline{
	position: absolute;
	left: 0;
	right: 0;
	top: 15px;
	margin: auto;
	background-color: #07BEEB;
	height: 8px;
	width: 280px;
	-webkit-border-radius: 6px;
	-moz-border-radius: 6px;
	border-radius: 6px; 
}

#workflow .workflow-section .workflow-timeline-wrapper .workflow-spot{
	position: relative;
	display: inline-block;
	margin: 0 10px 0 10px;
 	width: 40px;
	height: 40px;
	background-image: url(../images/img_dot.png);
	background-repeat: no-repeat;
	background-position: center center;
	background-size: cover;
	
	-moz-transition: width .5s, height .5s, top .5s, bottom .5s, left .5s, right .5s, margin .5s, padding .5s, opacity .5s, transform .5s, background-color .5s, max-height .5s;
	-o-transition: width .5s, height .5s, top .5s, bottom .5s, left .5s, right .5s, margin .5s, padding .5s, opacity .5s, transform .5s, background-color .5s, max-height .5s;
	-webkit-transition: width .5s, height .5s, top .5s, bottom .5s, left .5s, right .5s, margin .5s, padding .5s, opacity .5s, transform .5s, background-color .5s, max-height .5s;
	transition: width .5s, height .5s, top .5s, bottom .5s, left .5s, right .5s, margin .5s, padding .5s, opacity .5s, transform .5s, background-color .5s, max-height .5s;
}

#workflow .workflow-section .workflow-timeline-wrapper .workflow-spot.selected{
	background-image: url(../images/img_dot_press.png);
}

#workflow .workflow-section .workflow-timeline-wrapper .workflow-spot:hover{
	filter: alpha(opacity=50);
	-moz-opacity:0.5;
	-khtml-opacity: 0.5;
	opacity: 0.5;
	cursor:pointer;
}

#workflow .workflow-section .slide-wrapper{
	margin-top: 20px;
}

#workflow .workflow-section .slide-wrapper .workflow-icon{
	position: relative;
	display: inline-block;
	width: 90px;
	height: 182px;
	background-image: url(../images/workflow_process.png);
	background-repeat: no-repeat;
	background-size: cover;
}

#workflow .workflow-section .slide-wrapper .slide.workflow-explore .workflow-icon{
	background-position: -8px 8px;
}

#workflow .workflow-section .slide-wrapper .slide.workflow-design .workflow-icon{
	background-position: -148px 8px;
}

#workflow .workflow-section .slide-wrapper .slide.workflow-build .workflow-icon{
	background-position: -290px 8px;
}

#workflow .workflow-section .slide-wrapper .slide.workflow-test .workflow-icon{
	background-position: -428px 8px;
}

#workflow .workflow-section .slide-wrapper .workflow-description{
	position: relative;
	display: inline-block;
	width: calc(100% - 95px);
	white-space: normal;
	vertical-align: top;
	padding: 30px;
	color: #808080;
	text-align: left;
	line-height: 25px;
}

/* Content more width > 900px*/
@media (min-width: 900px) {
	#workflow{
		background-attachment: fixed;
		background-position: center center;
		background-size: cover;
	}
	
	#workflow .page-container{
		padding: 100px 20px 70px 20px;
	}

	#workflow .page-container .slogan{
		font-size: 30px;
	}
	
	#workflow .workflow-section .page-container{
		padding: 100px 100px 50px 100px;
	}
}

/* ABOUT */
#about{
	background-attachment: relative;
	background-image: url(../images/bg/keyboard.jpg);
	background-repeat: no-repeat;
	background-position: center center;
	background-size: cover;
}

#about .overlay{
	background-color: #171717;
	filter: alpha(opacity=90);
	-moz-opacity: .9;
	-khtml-opacity: .9;
	opacity: .9;
}

#about .page-container{
	position: relative;
	z-index: 10;
	padding: 100px 30px 100px 30px;
	color: #ffffff;
	text-align: justify;
}

#about .page-container .title{
	font-weight: bold;
	font-size: 30px;
	font-family: 'Montserrat', sans-serif;
	margin-bottom: 10px;
}

#about .page-container .slogan{
	display: block;
	font-size: 45px;
	width: 100%;
	text-align: left;
}

#about .page-container .description{
	display: block;
	width: 100%;
	vertical-align: top;
}

#about .page-container .sub-header,
#about .page-container .description{
	color: #808080;
	line-height: 25px;
	text-align: left;
}

#about .page-container .section-content{
	position: relative;
	margin-top: 50px;
}

/* Content more width > 900px*/
@media (min-width: 900px) {
	#about{
		background-attachment: fixed;
	}
	
	#about .page-container{
		padding: 100px 100px 100px 100px;
	}
	
	#about .page-container .slogan{
		display: inline-block;
		font-size: 55px;
		width: 45%;
		text-align: right;
	}

	#about .page-container .description{
		display: inline-block;
		width: 50%;
		padding-left: 20px;
	}
}

/* CONTACT */
#contact{
	background-attachment: fixed;
	background-repeat: no-repeat;
	background-position: center center;
	background-size: cover;
}

#contact .page-container{
	padding: 150px 30px 70px 30px;
}

#contact .page-container .slogan{
	font-weight: bold;
	font-size: 30px;
	font-family: 'Montserrat', sans-serif;
}

#contact .page-container .sub-header{
	color: #ffffff;
	line-height: 25px;
}

#contact .btn-container{
	margin-top: 20px;
}

#contact .btn-container .btn{
	border: 2px solid #ffffff;
	display: inline-block;
	padding: 10px 20px;
	margin: 10px;
	background-color: transparent;
	-webkit-border-radius: 6px;
	-moz-border-radius: 6px;
	border-radius: 6px; 
	
	-moz-transition: width .5s, height .5s, top .5s, bottom .5s, left .5s, right .5s, margin .5s, padding .5s, opacity .5s, transform .5s, background-color .5s, max-height .5s;
	-o-transition: width .5s, height .5s, top .5s, bottom .5s, left .5s, right .5s, margin .5s, padding .5s, opacity .5s, transform .5s, background-color .5s, max-height .5s;
	-webkit-transition: width .5s, height .5s, top .5s, bottom .5s, left .5s, right .5s, margin .5s, padding .5s, opacity .5s, transform .5s, background-color .5s, max-height .5s;
	transition: width .5s, height .5s, top .5s, bottom .5s, left .5s, right .5s, margin .5s, padding .5s, opacity .5s, transform .5s, background-color .5s, max-height .5s;
}

#contact .btn-container .btn.btn-contact:hover{
	background-color: #34d293;
	cursor: pointer;
}

#contact .btn-container a:link,
#contact .btn-container a:hover,
#contact .btn-container a:active{
	color: #ffffff;
}

/* Content more width > 900px*/
@media (min-width: 900px) {
	#contact .page-container{
		padding: 150px 20px 70px 20px;
	}

	#contact .page-container .slogan{
		font-size: 55px;
	}
}

/* FOOTER */
.footer{
	position: relative;
	background: #272727;
	color: #939393;
}

.footer .footer-item{
	position: relative;
	width: 100%;
	height: 100px;
	display:table;
	float: left;
	margin-top: 20px;
}

.footer .footer-item .footer-item-content{
    vertical-align: middle;
    display: table-cell;
}

.footer .footer-item .icon{
	position: relative;
	display: inline-block;
	margin-bottom: 15px;
}

.footer .footer-item .info{
	position: relative;
}

.footer .footer-item.address:hover{
	color: #e96656;
}

.footer .footer-item.email:hover{
	color: #34d293;
}

.footer .footer-item.tel:hover{
	color: #3ab0e2;
}

.footer .footer-item.copyright{
	background-color: #171717;
}

/* Content more width > 900px*/
@media (min-width: 900px) {
	.footer .footer-item{
		width: 25%;
		height: 200px;
		margin-top: 0px;
	}
}


/* EFFECT */
.effect{
	position: relative;
	-moz-transition: width .5s, height .5s, top 1s, bottom 1s, left 1s, right 1s, margin .5s, padding .5s, opacity 2s, transform .5s, background-color .5s, max-height .5s;
	-o-transition: width .5s, height .5s, top 1s, bottom 1s, left 1s, right 1s, margin .5s, padding .5s, opacity 2s, transform .5s, background-color .5s, max-height .5s;
	-webkit-transition: width .5s, height .5s, top 1s, bottom 1s, left 1s, right 1s, margin .5s, padding .5s, opacity 2s, transform .5s, background-color .5s, max-height .5s;
	transition: width .5s, height .5s, top 1s, bottom 1s, left 1s, right 1s, margin .5s, padding .5s, opacity 2s, transform .5s, background-color .5s, max-height .5s;
}

.effect.show{
	filter: alpha(opacity=0);
	-moz-opacity: 0;
	-khtml-opacity: 0;
	opacity: 0;
}

.page-container.display .effect.show{
	filter: alpha(opacity=100);
	-moz-opacity: 1;
	-khtml-opacity: 1;
	opacity: 1;
}

.effect.left{
	left: 50px;
}

.page-container.display .effect.left{
	left: 0;
}

.effect.right{
	right: 50px;
}

.page-container.display .effect.right{
	right: 0;
}

.effect.top{
	top: 50px;
}

.page-container.display .effect.top{
	top: 0;
}

.effect.bottom{
	bottom: 50px;
}

.page-container.display .effect.bottom{
	bottom: 0;
}

/* SLIDE */
.slide-wrapper{
	overflow:hidden;
}

.slide-container {
    position: relative;
    width: 100%;
    white-space: nowrap;
	
	-moz-transition: width .5s, height .5s, top 1s, bottom 1s, left 1s, right 1s, margin .5s, padding .5s, opacity 2s, transform .5s, background-color .5s, max-height .5s;
	-o-transition: width .5s, height .5s, top 1s, bottom 1s, left 1s, right 1s, margin .5s, padding .5s, opacity 2s, transform .5s, background-color .5s, max-height .5s;
	-webkit-transition: width .5s, height .5s, top 1s, bottom 1s, left 1s, right 1s, margin .5s, padding .5s, opacity 2s, transform .5s, background-color .5s, max-height .5s;
	transition: width .5s, height .5s, top 1s, bottom 1s, left 1s, right 1s, margin .5s, padding .5s, opacity 2s, transform .5s, background-color .5s, max-height .5s;
}

.slide-container .slide {
    display: inline-block;
    width: 100%;
    opacity: 0;
	vertical-align: top;
	
	-moz-transition: width .5s, height .5s, top 1s, bottom 1s, left 1s, right 1s, margin .5s, padding .5s, opacity 2s, transform .5s, background-color .5s, max-height .5s;
	-o-transition: width .5s, height .5s, top 1s, bottom 1s, left 1s, right 1s, margin .5s, padding .5s, opacity 2s, transform .5s, background-color .5s, max-height .5s;
	-webkit-transition: width .5s, height .5s, top 1s, bottom 1s, left 1s, right 1s, margin .5s, padding .5s, opacity 2s, transform .5s, background-color .5s, max-height .5s;
	transition: width .5s, height .5s, top 1s, bottom 1s, left 1s, right 1s, margin .5s, padding .5s, opacity 2s, transform .5s, background-color .5s, max-height .5s;
}

.slide-container .slide.selected {
    opacity: 1
}

/* PORTFOLIO */
#portfolio{
	background-attachment: relative;
	background-image: url(../images/bg/service.jpg);
	background-repeat: no-repeat;
	background-position: 52% top;
	background-size: cover;
}

/* Content more width > 700px*/
@media (min-width: 700px) {
	#portfolio{
		background-position: center;
		background-size: cover;
	}
}

#portfolio .overlay{
	background-color: #34d293;
	filter: alpha(opacity=50);
	-moz-opacity: .5;
	-khtml-opacity: .5;
	opacity: .5;
}

#portfolio .page-container{
	position: relative;
	z-index: 10;
	padding: 100px 30px 70px 30px;
}

#portfolio .page-container .slogan{
	font-weight: bold;
	font-size: 30px;
	font-family: 'Montserrat', sans-serif;
}

#portfolio .btn-container{
	margin-top: 20px;
}

#portfolio .btn-container .btn{
	border: 2px solid #ffffff;
	display: inline-block;
	padding: 10px 20px;
	margin: 10px;
	background-color: transparent;
	-webkit-border-radius: 6px;
	-moz-border-radius: 6px;
	border-radius: 6px; 
	
	-moz-transition: width .5s, height .5s, top .5s, bottom .5s, left .5s, right .5s, margin .5s, padding .5s, opacity .5s, transform .5s, background-color .5s, max-height .5s;
	-o-transition: width .5s, height .5s, top .5s, bottom .5s, left .5s, right .5s, margin .5s, padding .5s, opacity .5s, transform .5s, background-color .5s, max-height .5s;
	-webkit-transition: width .5s, height .5s, top .5s, bottom .5s, left .5s, right .5s, margin .5s, padding .5s, opacity .5s, transform .5s, background-color .5s, max-height .5s;
	transition: width .5s, height .5s, top .5s, bottom .5s, left .5s, right .5s, margin .5s, padding .5s, opacity .5s, transform .5s, background-color .5s, max-height .5s;
}

#portfolio .btn-container .btn.btn-portfolio:hover{
	background-color: #3ab0e2;
	cursor: pointer;
}

/* PORTFOLIO CASE */
.case-section{
	background-attachment: relative;
	background-repeat: no-repeat;
	background-position: center center;
	background-size: cover;
}

.case-section .overlay{
	background-color: #171717;
	filter: alpha(opacity=70);
	-moz-opacity: .7;
	-khtml-opacity: .7;
	opacity: .7;
}

.case-section .page-container{
	position: relative;
	z-index: 10;
	padding: 100px 30px 100px 30px;
	color: #ffffff;
	text-align: justify;
}

.case-section .page-container .title{
	text-align: left;
	font-weight: bold;
	font-size: 30px;
	font-family: 'Montserrat', sans-serif;
	margin-bottom: 10px;
}

.case-section .page-container .description{
	display: block;
	width: 100%;
	vertical-align: top;
}

.case-section .page-container .sub-header,
.case-section .page-container .description{
	color: #808080;
	line-height: 25px;
	text-align: left;
}

.case-section .page-container .section-content{
	position: relative;
	margin-top: 50px;
}

.case-section .page-container .section-content .gallery-item{
	display: block;
	text-align: center;
	vertical-align: top;
	height: 180px;
	margin: 10px;
}

.case-section .page-container .section-content .url-item a{
    background: url(../images/caseurl_icon.png) left top no-repeat;
    padding: 0 0 0 29px;
    color: #f49242;
    font-size: 14px;
    text-decoration: none;
    display: block;
    line-height: 25px;
}

.case-section .page-container .section-content .url-item a:hover{ text-decoration:underline;}

.case-section .page-container .section-content .gallery-item:hover{
	filter: alpha(opacity=70);
	-moz-opacity: .7;
	-khtml-opacity: .7;
	opacity: .7;
}

/* Content more width > 700px*/
@media (min-width: 700px) {
	.case-section .page-container .section-content .gallery-item{
		display: inline-block;
		height: 100px;
		margin: 10px 10px 0 0;
	}
}

/* CASE 1 */
.case-section.case1{
	background-image: url(../images/bg/case_letv.jpg);
}

/* CASE 2 */
.case-section.case2{
	background-image: url(../images/bg/ntm.jpg);
}

/* CASE 3 */
.case-section.case3{
	background-image: url(../images/bg/loreal.jpg);
}

/* CASE 4 */
.case-section.case4{
	background-image: url(../images/bg/amoy.png);
}

/* MAP */
.maps{
	position: relative;
	z-index: 10;
}

.maps iframe{
    pointer-events: none;
}