.w-100{
	width:100%;
}
.text-thin{
	font-size:21px;
	font-weight: 100;
}

.text-red{
	color:var(--red-color);
}

.text-black{
	color:#000000;
}

.bg-white{
	background: white;
}
.bg-gray{
	background:var(--gray-color);
}

.bg-gray2{
	background: var(--gray2-color);
}

.bg-red{
	background:var(--red-color);
}

.bg-green{
	background:var(--green-color);
}

.bg-5{
	background: rgba(255,255,255,.05);
}

.bg-10{
	background: rgba(255,255,255,.10);
}

.bg-15{
	background: rgba(255,255,255,.15);
}

.ls-5{
	letter-spacing:5px;
}

img{
	max-width: 100% !important;
}
img.logo{
	margin-top:15px;
	margin-bottom:15px;
}

.m-3{
	margin:15px;
}

.mx-1{
	margin-left:5px;
	margin-right:5px;
}

.mx-2{
	margin-left:15px;
	margin-right:15px;
}

.my-1{
	margin-top:5px;
	margin-bottom:5px;
}

.my-3{
	margin-top:15px;
	margin-bottom:15px;
}

.mt_55{
	margin-top:-55px;
}

.mt_100{
	margin-top:-100px;
}

.mt-0{
	margin-top:0px !important;
}

.mt-2{
	margin-top:15px;
}

.mt-30 {
  margin-top: 30px !important;
}

.mt-50{
	margin-top:50px;
}


.mb-0{
	margin-bottom: 0px;
}

.mb-1{
	margin-bottom:10px;
}

.mb-2{
	margin-bottom:30px;
}

.text-center{
	text-align: center;
}

.p-0{
	padding: 0px;
}

.pb-50{
	padding-bottom:50px;
}

.pt-5{
	padding-top:50px;
}
.px-5{
	padding-left:40px;
	padding-right:40px;
}

.pt-10{
	padding-top:100px;
}

.p-10{
	padding:10px;
}

.pt-150{
	padding-top:150px;	
}

.pt-200{
	padding-top:200px;	
}

.py-5{
	padding-top:50px;
	padding-bottom:50px;
}

.py-2{
	padding-top:10px;
	padding-bottom: 10px;
}

.py-3{
	padding-top:15px;
	padding-bottom: 15px;
}

.py-100{
	padding-top:100px;
	padding-bottom: 100px;
}

.futura-medium{
	font-family: 'Futura PT Medium';
	font-size:24px;
	color:white;
}

.futura-light{
	font-family: 'Futura PT Light';
	font-size:24px;
	color:white;
}

.btn{
	border-radius: 30px;
	opacity: 1;
	transition: opacity .5s ease;
}

.btn:hover{
	opacity: .8;
}

.btn-bordered{
	border:2px white solid;
	color:white !important;
	font-size: 16px;
	font-weight: bold;
	padding:15px 40px;
}


.text-right{
	text-align: right;
}

.card{
	background:#11141b;
	border-radius: 5px;
	display: flex;
	align-items: center;
	justify-content: center;
	padding:15px;
	margin:10px;
}

.card div:first-child{
	width:164px;
}

.card h4{
	font-size:24px;
	line-height: 28px;	
	text-align: center;
}

.card *{
	z-index:9;
	position: relative;
}

.d-none{
	display: none !important;
}
.d-flex{
	display: flex;
}

.flex-wrap{
	flex-wrap: wrap;
}
.align-items-center{
	align-items: center;
}
.justify-content-center{
	justify-content: center;
}

.justify-content-between{
	justify-content: space-between;
}

div.animation{
	position: relative;
}

div.animation{
	animation: fade-bottom .1s cubic-bezier(0.250, 0.460, 0.450, 0.940); /* easeOutQuad */
}

div.animation h1{
	-webkit-transition: all 0s;
  -o-transition: all 0s;
  transition: all 0s;
  opacity: 1;
  visibility: visible;
  -webkit-transform: translateY(0);
  -ms-transform: translateY(0);
  transform: translateY(0);
}

.char{
	-webkit-animation: fadeInUp 0.5s cubic-bezier(0.3, 0, 0.7, 1) both;
  animation: fadeInUp 0.5s cubic-bezier(0.3, 0, 0.7, 1) both;
  -webkit-animation-delay: .1s;
  animation-delay: .1s
}



.section-padding {
  padding: 120px 0;
}

.valign {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
}

.cmd-padding {
  padding: 0 10px;
}

.about .img-mons .img1, .about .img-mons .img2, .about .img-mons .img3 {
  height: 200px;
  border-radius: 10px;
  overflow: hidden;
}

.about .img-mons .img1 img, .about .img-mons .img2 img, .about .img-mons .img3 img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
  object-fit: cover;
  -o-object-position: center center;
  object-position: center center;
}

.imago {
  -webkit-clip-path: polygon(0 0, 100% 0, 100% 0, 0 0);
  clip-path: polygon(0 0, 100% 0, 100% 0, 0 0);
  -webkit-transition: all 0.8s;
  -o-transition: all 0.8s;
  transition: all 0.8s;
  -webkit-transition-delay: 0.3s;
  -o-transition-delay: 0.3s;
  transition-delay: 0.3s;
}

.imago.animated {
  -webkit-clip-path: polygon(0 0, 100% 0, 100% 100%, 0 100%);
  clip-path: polygon(0 0, 100% 0, 100% 100%, 0 100%);
}

.sub-title {
  position: relative;
  padding-left: 30px;
  margin-bottom: 20px;
  background:url(../images/ico.svg) no-repeat center left / 20px 20px;
}

.sub-title h6{  
  font-weight: 300;
  font-size: 16px;
  text-transform: uppercase;
  letter-spacing: 4px;
}

.about .ftbox ul {
  margin: 0;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;  
  list-style: none;
  padding-left:0px;
}

.about .ftbox ul li{
	width: 100%;
  padding: 35px 25px;
  text-align: center;
  background: #11141b;
  border-radius: 5px;
  position: relative;  
}

.about .ftbox ul li.space {
  margin: 0 10px;
}

.skills-box .skill-item {
  margin-top: 50px;
}

.skills-box h6 {
  font-size: 13px;
  font-weight: 300;
  text-transform: uppercase;
  letter-spacing: 2px;
  margin-bottom: 10px;
}

.skills-box .skill-progress {
  height: 7px;
  background-color: rgba(255, 255, 255, 0.05);
  position: relative;
}

.skills-box .skill-progress .progres {
  position: absolute;
  height: 100%;
  width: 0;
  top: 0;
  left: 0;
  background-color: var(--red-color);
  -webkit-transition: all 1.5s;
  -o-transition: all 1.5s;
  transition: all 1.5s;
}

.team-crv .img-box .img.sizxl {
    width: 90%;
}

.team-crv .img-box .toright .img {
    margin-left: auto;
}

.team-crv .img-box .img {
    min-width: 150px !important;
}

.circle-number{
	width:30px;
	height:30px;
	border-radius: 50%;	
	border:1px var(--red-color) solid;
	color:var(--red-color);
	display: flex;
	align-items: center;
	justify-content: center;
	flex-shrink: 0;	
	margin-right:10px;
	font-size: 15px;
	font-weight: bold;
	line-height: 15px;
}

.border-bottom{
	border-bottom: .25px white solid;
}

.servicio-container{
	text-align: center;
	height:267px;
	display: flex;
	flex-direction: column;
	justify-content: center;
	align-items: center;
}

.servicio-container .rec{
	width:102px;
	height:102px;
	flex-shrink: 0;
	display: flex;
	align-items: center;
	justify-content: center;
	margin-bottom: 30px;
	border-radius: 20.5px;
	font-size:56px;
	font-weight: 500;
}

.vision .rec{
	width:274px;
	height:277px;
	display: flex;
	flex-direction: column;
	justify-content: flex-end;
	padding:15px;	
}

.vision .rec h2{
	font-size:75px;
	line-height: 35px;
	margin:0px;
}

.vision .rec h5{	
	margin:5px 0px 10px 0px;
}

.vision .rec p{
	font-size:17px;
	line-height: 17px;
	font-weight: 100;
}

#portafolio-slider{
	display: flex;
	align-items: center;
	justify-content: space-between;
}

.item-portafolio{
	position: relative;	
}

#portafolio-slider .btn-slider{
	flex-shrink: 0;
	cursor: pointer;
	position: absolute;
	z-index: 2;
}

#portafolio-slider .btn-slider.next{
	right:0px !important;
}

#testimonios-slider .btn-slider{
	flex-shrink: 0;
	cursor: pointer;
}

#testimonios-slider p.texto{
	font-size:25px;
	line-height: 40px;
	font-weight: 100;
}

.clientes-container{
	display: flex;
	flex-wrap: wrap;
}

.clientes-container .client{
	flex-shrink: 0;
	width:167px;
	height:167px;
	border:.25px white solid;
	border-radius: 12px;
	display: flex;
	align-items: center;
	justify-content: center;
	margin:10px;
}

.clientes-container .client img{

}

#contact input, #contact textarea{
	background: none;
	border:none;
	border-bottom:.25px white solid;
	font-size:16px;
	font-weight: 100;
	outline: none;
	resize: none;
	padding-bottom:10px;
}

#contact button{
	font-size:16px;
	line-height: 16px;
	font-weight: 100;
	border:none;	
	padding:15px;	
	letter-spacing:5px;

}

.bg-50-percent{
	background:var(--gray-dark);	
	position: relative;
	padding:50px 0px;
}

.bg-50-percent:not(.animated):before {
    content:'\A';
    position:absolute;
    background:rgba(255,255,255,.1);
    top:0; 
    bottom:0;
    left:0; 
    width:0%;
    transition: width .5s, height .5s; 
}

.bg-50-percent.animated:before {
    content:'\A';
    position:absolute;
    background:rgba(255,255,255,.1);
    top:0; 
    bottom:0;
    left:0; 
    width:50%;
    transition: width .5s, height .5s;
}

.input-group{   
	position: relative;
  display: flex;  
  align-items: stretch;
  width: 100%;
}

.input-group input{
	border:none;
	font-size:16px;
	font-weight: 100;
	outline: none;
	resize: none;
	padding:15px;
	width:100%;
}

.input-group button{
	border:none;
	font-size: 12px;
	padding:15px;
}


span.medium{
	font-weight: 500;
	color:white;
}

.thin{
	font-weight: 100;
}

span.sub-title{
	background:rgba(112,112,112,.1);
	display: inline-block;
	padding:15px;
	font-size:16px;
	font-weight: 100;	
}

h1 span.text-bordered{
	color: #0D0F16;
  font-size: 71px;
  -webkit-text-stroke-width: 1px;
  -webkit-text-stroke-color: white;
}

.social-large .social-media-circled{
	font-size:45px;
}


.cont-image{
  position: relative;  
}

.cont-image img{
	scale: 1;
  transition: all .2s cubic-bezier(0.250, 0.460, 0.450, 0.940); /* easeOutQuad */
}

.cont-image:hover img{
  transform: scale(.95);
  transition: all .2s cubic-bezier(0.250, 0.460, 0.450, 0.940); /* easeOutQuad */
}

#services:hover .servicio-container, .clientes-container:hover .client{
	filter:blur(3px);
	opacity:.5;
	transform: scale(.98);
	box-shadow:none;
	transition: all .3s ease;
}

#services:hover .servicio-container:hover, .clientes-container:hover .client:hover{
	transform:scale(1);
  filter:blur(0px);
  opacity:1;
  box-shadow:0 8px 20px 0px rgba(0,0,0,0.125);
}

@keyframes fade-bottom {
  0% {
    transform: translateY(150px);
    opacity: 0;
  }
  100% {
    transform: translateY(0);
    opacity: 1;
  }
}


@keyframes fadeInUp {
  0% {
    opacity: 0;
    -webkit-transform: translateY(20px);
    transform: translateY(20px);
  }
  100% {
    opacity: 1;
    -webkit-transform: translateY(0);
    transform: translateY(0);
  }
}


@media all and (max-width: 991px){
	.menu-header{
		width: 300px;
    height: 100vh;
    overflow: hidden;
    position: fixed;
    top: 0;
    right: -300px;
    z-index: 9999;
    background: #000;
    display: flex;
    flex-direction: column;
    justify-content: flex-start;    
    padding: 30px;
    overflow-y: auto;
    transition: all .2s ease-out;
    transition: all .2s ease-in;
    box-shadow: 0 0 3px rgba(0,0,0,.6);
	}

	body.open .menu-header{
		right:0px;
	}

	body.open .overlay-menu{
		display: block;
    background-color: rgba(0,0,0,.4);
    position: fixed;
    z-index: 999;
    left: 0;
    top: 0;
    bottom: 0;
    right: 0;
	}
	nav ul{
		flex-direction: column;
		text-align: center;
	}

	.close-icon{
		color:#FFF;
		position: absolute;
    top: 15px;
    right: 15px;
    cursor: pointer;
	}

	.lang-switch, .lang-switch a{
		color:var(--gray-solid);
		text-decoration: none;
	}

	.lang-switch a:hover, .lang-switch a.active{
		color:var(--orange-color);
	}

	.about .img-mons, .number-sec .item, .block-sec .vid-area .cont, .about .content, .skills-box {
    margin-bottom: 50px;
	}
}

@media all and (min-width: 992px){
	.d-lg-none{
		display: none;
	}

	.d-lg-block{
		display: block !important;
	}
}

@media all and (max-width: 991px){
	.pt-200{
		padding-top:50px;
	}

	.mt_55, .mt_100{
		margin-top:0px;
	}

	.futura-medium, h3{
		font-size:18px;
	}

	.btn-main{
		font-size:16px;
	}

	.pt-150{
		padding-top:50px;
	}

	.blur{
		display: block;
	}

}

@media all and (max-width: 767px){
	.vision .rec{
		margin:15px auto;
	}
	.clientes-container{
		justify-content: center;
	}

	.about .ftbox ul{
		flex-wrap: wrap;
	}

	.about .ftbox ul li{
		margin:15px 0px !important;
	}

	.section-padding{
		padding:40px 0px;
	}
}