@charset "utf-8";
/* CSS Document */

body{
	margin: 0;
	padding: 0;
    font-family: 'IBM Plex Sans Condensed', sans-serif;
	color: #666;
}


/*    Intro    */


.intro{
	position: relative;
	height: 980px;
	background: url(../img/index/top.jpg);
	background-size: cover;
	background-position: center;
	color: #fff;
	z-index: -9;
}

.intro .txt{
	position: absolute;
	background: rgba(0,0,0,.3);
	top: 50%;
	left: 50%;
	transform: translate(-50%,-50%);
	text-align: center;
	padding: 2em 2em 3em 2em;
}

.intro h1{
	margin: 0 0 .5em 0;
	font-size: 4em;
}

.intro h2, .intro h3{
	font-weight: 300;	
}

.intro h3{
	width: 60%;
	margin: 0 auto;
}

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

.intro .txt{
	position: absolute;
	background: rgba(0,0,0,.3);
	top: 50%;
	left: 50%;
	transform: translate(-50%,-50%);
	text-align: center;
	padding: 2em 2em 3em 2em;
	width: 70%;
}
	
.intro h1{
	font-size: 3em;
}
	
.intro h3{
	width: 80%;
	margin: 0 auto;
}	
}

/*    Portfolio    */

.port{
	height: 40em;
	text-align: center;
	color: #666;
	padding: 0 10%;
}

.port h1{
	padding: 1em 0 0 0;
	font-size: 4em;
	margin: 0;
}

.port video{
	width: 28em;
	height: auto;
	padding-top: 3em;
}

.port p{
	padding: 0 25%;
	font-size: 1.2em;
}

.port a{
	display: block;
	background: rgba(204,0,0,1);
	color: #fff;
	width: 10em;
	height: 3em;
	line-height: 3em;
	text-decoration: none;
	margin: 2em auto 0;
	font-size: 1.1em;
	font-weight: 600;
	cursor: pointer;
}

.port a:hover{
	background: rgba(232,139,4,1);
}

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

.port{
	height: 1%;
	overflow: hidden;
	padding-bottom: 3em;
	}	
	
.port video{
	width: 15em;
}
	
.port p{
	padding: 0 15%;
}	
}

/*     Solutions     */

.sol{
	background: #666;
	color: #fff;
	text-align: center;
	height: 45em;
	padding: 0 10%;
}

.sol h1{
	padding-top: 1em;
	margin: 0;
	font-size: 4em;
}

.sol p{
	padding: 2em 20%;
	font-size: 1.2em;
}

.sol .crcl1, .sol .crcl2, .sol .crcl3, .sol .crcl4{
	display: inline-block;
	height: 12em;
	width: 12em;
	border-radius: 50%;
	background: #fff;
	margin: 0 1em 1.5em;
}

.sol .crcl1{
	background: url(../img/index/solution/open.jpg);
	background-size: cover;
}

.sol .crcl2{
	background: url(../img/index/solution/interoperability.jpg);
	background-size: cover;	
}

.sol .crcl3{
	background: url(../img/index/solution/train.jpg);
	background-size: cover;
}

.sol .crcl4{
	background: url(../img/index/solution/code.jpg);
	background-size: cover;
}

.sol  h3{
	line-height: 8em;
}

.sol a{
	display: block;
	background: rgba(204,0,0,1);
	color: #fff;
	width: 10em;
	height: 3em;
	line-height: 3em;
	text-decoration: none;
	margin: 2em auto 0;
	font-size: 1.1em;
	font-weight: 600;
	cursor: pointer;
}

.sol a:hover{
	background: rgba(232,139,4,1);
}

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

.sol{
	height: 1%;
	overflow: hidden;
	padding-bottom: 3em;
}
	
.sol p{
	padding: 2em 5%;
}	
}

/*     Vertical     */

.vertical{
	height: 45em;
	text-align: center;
}

.vertical, .imgs {
  width: 100%;
  height: 100%;
  min-height: 45em;
  position: relative;
	text-align: center;
}

.vertical .imgs {
  display: flex;
  overflow: hidden;
}

.vertical .img {
  min-width: 100%;
  height: 100%;
  display: flex;
  align-items: flex-end;
  justify-content: center;
  position: absolute;
  left: 100%;
  animation: .6s cubic-bezier(0.645, 0.045, 0.355, 1) 0s left;
  animation-fill-mode: forwards;
  background-size: cover !important;
  background-position: 50% !important;
}


.vertical .img:nth-of-type(1) { background: url(../img/vm/bank.jpg); }
.vertical .img:nth-of-type(2) { background: url(../img/vm/city.jpg);}
.vertical .img:nth-of-type(3) { background: url(../img/vm/gambling.jpg); }
.vertical .img:nth-of-type(4) { background: url(../img/vm/hospital.jpg); }
.vertical .img:nth-of-type(5) { background: url(../img/vm/transport.jpg); }
.vertical .img:nth-of-type(6) { background: url(../img/vm/industry.jpg); }
.vertical .img:nth-of-type(7) { background: url(../img/vm/school.jpg); }
.vertical .img:nth-of-type(8) { background: url(../img/vm/retail.jpg); }

.vertical h1{
	position: absolute;
	color: #fff;
	top: 2.5em;
	font-size: 4em;
}

.vertical h2{
	color: #fff;
	position: absolute;
	top: 3em;
	font-size: 2em;
}

.vertical p{
	position: absolute;
	color: #fff;
	font-size: 1.1em;
	top: 15em;
	padding: 1em 30% 0;
}

.vertical a{
	position: absolute;
	bottom: 10em;
	border: none;
	background: rgba(204,0,0,1);
	color: #fff;
	font-size: 1.1em;
	font-weight: 600;
	padding: 1em;
	width: 10em;
	cursor: pointer;
	text-decoration: none;
}

.vertical a:hover{
	background: rgba(232,139,4,1);
}

.dots {
  	position: absolute;
  	bottom: 6em;
  	left: 0;
	right: 0;
  	display: flex;
  	justify-content: center;
  	width: 20em;
	margin: 0 auto;	
}

.dot {
  width: .9em;
  height: .9em;
  background: rgba(255,255,255,.5);
  border-radius: 50%;
  margin: 0 .4em;
  cursor: pointer;
}

.dot:hover{
  background: rgba(170,0,0,1);
}

.active-dot {
  background: rgba(204,0,0,1);
}

@keyframes leftNext {
  from { left: 100%; }
  to { left: 0; }
}

@keyframes leftCurr {
  from { left: 0; }
  to { left: -100%; }
}

@keyframes rightNext {
  from { left: -100%; }
  to { left: 0; }
}

@keyframes rightCurr {
  from { left: 0; }
  to { left: 100%; }
}

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

.vertical{
	height: 1%;
	overflow: hidden;
}
	
.vertical h1{
	position: absolute;
	color: #fff;
	top: 3.5em;
	font-size: 3em;
}	
	
.vertical p{
	padding: 0 10%;
}
	
.vertical a{
	bottom: 8em;
}	
}

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

.vertical a{
	bottom: 6em;
}	
	
.dots {
  position: absolute;
  bottom: 4em;
  left: 0;
	right: 0;
  display: flex;
  justify-content: center;
  width: 20em;
	margin: 0 auto;	
}	
}


/*     Support     */

.sup{
	height: 42em;
	padding: 0 10%;
	text-align: center;
	color: #666;
}

.sup h1{
	padding-top: 1em;
	margin: 0;
	font-size: 4em;
}

.sup p{
	padding: 2em 25%;
	font-size: 1.2em;
}

.sup .crcl{
	position: relative;
	display: inline-block;
	height: 8em;
	width: 8em;
	border-radius: 50%;
	background: rgba(204,0,0,1);
	margin: 5em 3em;
	color: #fff;
	transition: .5s;
}

.sup .crcl:hover{
	background: rgba(232,139,4,1);
}

.sup h3{
	position: absolute;
	display: block;
	padding-top: 3em;
	color: #666;
	vertical-align: text-top;
	font-size: 1em;
	width: 12em;
	left: -2em;

}



.sup a:hover{
	color: rgba(232,139,4,1);
}

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

.sup{
	height: 1%;
	overflow: hidden;
	margin-bottom: 3em;
}	
}

/*     About     */

.about{
	height: 1%;
	overflow: hidden;
	padding: 3em 10%;
	text-align: center;
	background: rgba(84,84,84,1.00);
	color: #fff;
}

.about h1{
	margin: 0;
	font-size: 4em;
}

.about p{
	padding: 2em 20%;
}

.about a{
	display: block;
	background: rgba(204,0,0,1);
	width: 10em;
	padding: .75em 0;
	margin: 3em auto 0;
	font-weight: 600;
	text-decoration: none;
	color: #fff;
	font-size: 1.1em;
}

.about a:hover{
	background: rgba(232,139,4,1);
	color: #FFF;
}

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

.about p{
	padding: 2em 5%;
}
}

/*      Scroll     */
	
.scrolltop {
	display:none;
	width:100%;
	margin:0 auto;
	position: fixed;
	bottom: 7em;
	right: 0;	
	z-index: 99;
}

.scroll {
	position:absolute;
	right: 3em;
	bottom: 3em;
	width: 4em;
	height: 4em;
	border-radius: 50%;
	background: rgba(90,90,90,.5);
	text-align: center;
	margin: 0 0 0 0;
	cursor:pointer;
	transition: 0.5s;
	-moz-transition: 0.5s;
	-webkit-transition: 0.5s;
	-o-transition: 0.5s;
	color: rgba(255,255,255,1);
}

.scroll:hover {
	background:rgba(178,178,178,1.0);
	transition: 0.5s;
	-moz-transition: 0.5s;
	-webkit-transition: 0.5s;
	-o-transition: 0.5s; 		
}

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

	
.scrolltop {
	bottom: 9em;
}	
}

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

	
.scroll {
	display: none;
}	
}

