.overhide {
	overflow:hidden;	
}

#cookiesmsg {
	display:block;
	position:fixed;	
	bottom:0;
	z-index:1015;
	padding:15px;
	width:100%;
	background-color:#fff;
	background-color:rgba(255,255,255,0.8);
	line-height:180%;
	
}
#closecookies {
	float:right;	
}

#toplink a {
	background:none;
	color:#fff;
	background-color:#3f4376;
	background-color:var(--main-color1);
	width:40px;
	height:40px;
	display:inline-block;
	text-align:center;
	border-radius:.3rem;
		
	transition:all 0.3s ease-out;
	overflow:hidden;
}
#toplink a i {
	transform: translateY(+3px);
}
#toplink {
	position: fixed;
	right:10px;
	bottom:10px;
	opacity:0.5;
	transition:opacity 0.3s ease-out;
	display:none;
	z-index:+100;
}
#toplink.active {
	display:block;	
}
#toplink:hover {
	opacity:1;
}
#toplink:hover a {
	color:#fff;
	/*color:#adb10c;
	color:var(--main-color2);
	*/
	background-color:#3f4376;
	background-color:var(--main-color1);	
}

#animation_container {
	position:absolute;
	margin:auto;
	left:0;right:0;
  }
#dom_overlay_container {
	margin-left:auto;
	margin-right:auto;
	
}
#partners,
#clientes {
	padding:20px 0px;
}
.partner img {
		
}


#casos {
overflow:hidden;	
}
.servitipo div.custom-checkbox .custom-control-label::after {
	width:3rem;
	height:3rem;
	color:var(--main-color1);
	background-image:none !important;
	
	font-family: "Font Awesome 5 Free";
	content: "";
	font-weight:900;
	font-size:1.8rem;
	
	
	
	display: inline-block;
    font-style: normal;
    font-variant: normal;
    text-rendering: auto;
    -webkit-font-smoothing: antialiased;
	
}

.servitipo .custom-checkbox .custom-control-input:checked ~ .custom-control-label::after {
	content: "\f00c";
}

div.pagina h2
 {
	font-size:2.5rem;
	color:#000;
	padding-top:15px;
	font-weight:normal;
	
}
div.tecnologias > img {
	vertical-align:top;	
}
div.tecnologias > i:before,
div.tecnologias > img {
 opacity:0.65;
 font-size:2em;
}

div.tecnologias > i:hover:before ,
div.tecnologias > img:hover {
	opacity:1;	
}
div.pagina h2:after {
	content: ' ';
	width:80px;
	display:block;
	height:4px;
	background-color:#adb10c;
	background-color:var(--main-color2);	
	margin-top:5px;
	margin-bottom:25px;
	transition:width 0.5s ease-out;
	
}
div.pagina h2.active:after {
	transition-delay:0.05s;
	width:130px;
}
div.viewfoto {
	background-color:#f0f0f0;
	background-color:var(--main-color3);

}
/*
#carouselInicio a.carousel-control-prev,
#carouselInicio a.carousel-control-next {
	overflow:hidden;	
}
#carouselInicio a.carousel-control-prev > i.fa-chevron-left::before,
#carouselInicio a.carousel-control-next > i.fa-chevron-right::before
 {

	color:#3f4376;
	color:var(--main-color1);
	font-size:2em;
	opacity:0;
}

#carouselInicio a.carousel-control-prev > i.fa-chevron-left::before  {
	margin-left:-275px;
	
}
#carouselInicio a.carousel-control-next > i.fa-chevron-right::before  {
	margin-left:275px;
	
}
#carouselInicio a:hover.carousel-control-next > i.fa-chevron-right::before,
#carouselInicio a:hover.carousel-control-prev > i.fa-chevron-left::before  {
	margin-left:0px;
	font-size:1em;
	transition:all 0.35s ease-out;
	opacity:1;
	
}


.carousel-item div.icono > img {
	width:11vw;
	margin-left:auto;
	margin-right:auto;
	
	
}


.carousel > img  {
	-webkit-filter: grayscale(100%);
	filter: grayscale(100%);
	opacity:0.2;
	
	-webkit-transition: .3s ease-in-out;
	transition: .3s ease-in-out;
}
.carousel:hover > img {
	-webkit-filter: grayscale(0%);
	filter: grayscale(0%);
	opacity:1;
}
*/
.slick-prev:hover::before,  .slick-next:hover::before {
	color:#3f4376;
	color:var(--main-color1);
}
.carousel {
	background-size:cover;	
}
.carousel > div.cover  {
	position:absolute;
	top:0;left:0;bottom:0;right:0;

 background: rgb(255,255,255);
background: -moz-radial-gradient(circle, rgba(255,255,255,0.95) 30%, rgba(255,255,255,0) 100%);
background: -webkit-radial-gradient(circle, rgba(255,255,255,0.95) 30%, rgba(255,255,255,0) 100%);
background: radial-gradient(circle, rgba(255,255,255,0.95) 30%, rgba(255,255,255,0) 100%);
filter: progid:DXImageTransform.Microsoft.gradient(startColorstr="#ffffff",endColorstr="#ffffff",GradientType=1);

opacity:0.8;
transition:all 0.3s ease-out;
}
.slider.carousel-inner:hover   div.cover {

opacity:1;
}
.carousel > div.container > div {
	z-index:+10;
	
	
	
}
.carousel > div.container > div > div.tot {

  /*background-color:rgba(255,255,255,0.80);*/
  max-width:500px;
  padding:15px;
  border-radius:4px;
  text-align:center;
  transition:all 0.3s ease-out;
}
.carousel:hover > div.container > div > div.tot {
  /*background-color:rgba(255,255,255,0.95);*/
	
}
@media (min-width: 978px) {
	.carousel > div.container > div > div.tot {
		transform: scale(2, 2);
		
		
	}
	
}

.carousel   div.icono > img { 
	width:70px;
	margin-left:auto;
	margin-right:auto;
	
}







div.imagenleft > a,
a.logocliente,
.carousel-control-prev,
.carousel-control-prev:hover,
.carousel-control-prev:active,
.carousel-control-prev:focus,
.carousel-control-next,
.carousel-control-next:hover,
.carousel-control-next:active,
.carousel-control-next:focus {
	background-image: none;
}
/*

.carousel-caption > h3 {
	font-size:3vw;
	font-weight:bold;
	color:#3f4376;
	color:var(--main-color1);
}
.carousel-item {

	
}
*/
.carousel-inner {
	/*
	background-color:#f0f0f0;
	background-color:var(--main-color3);
	*/
}
/*


.carousel-caption > div.resumen {
	font-size:1.6vw
}


.carousel-item.active .carousel-caption {
	top: 50%;
}


.carousel-caption {
	right: 15%;
	left: 15%;
	top: -50%;
	transform: translateY(-50%);
	text-align:justify;
	bottom: initial;
	color:#000;
	background-color:rgba(255,255,255,0.9);	
	padding:20px 35px;
	border-radius:0.5vw;
	transition:top 0.5s ease-out;
	
}
.carousel-caption a.btn {
	border:none;
	color:#000;
	font-size:2vw;
	border-radius:0.3vw;
	padding:0.2vw 1vw;
	text-shadow:none;
	float:right;

}

*/

.modal-footer a.btn:hover {
	background-color:#3f4376;
	background-color:var(--main-color1);
	color:#adb10c;
	color:var(--main-color2);
}

.custom-checkbox .custom-control-input:checked ~ .custom-control-label::before {
	background-color:#3f4376;
	background-color:var(--main-color1);
}
.custom-checkbox .custom-control-input ~ .custom-control-label::before {
	background-color:#adb10c;
	background-color:var(--main-color2);
}
.custom-checkbox .custom-control-input:disabled:checked ~ .custom-control-label::before {
	background-color:#f0f0f0;
	background-color:var(--main-color3);
}

.custom-checkbox .custom-control-label {
	cursor:pointer;
}
/*
#acerca > h2 {
	font-size:3vw;
	
	font-weight:bold;
	color:var(--main-color1);
}
#acerca > h2 > span {
	display:none;
	animation-duration: 0.8s;
	animation-delay: 1.5s;
	-webkit-animation-duration: 0.8s;
	-webkit-animation-delay: 1.5s;
	-moz-animation-duration: 0.8s;
	-moz-animation-delay: 1.5s;
}
#acerca > h2 > span:last-child {
	display:inline-block;
}

#partners,
#clientes {
	background-color:#fff;
	
}
.partner {
	text-align:center;
}

*/

.partner img {
	max-width:100%;
	max-height:100%;
	-webkit-filter: grayscale(100%); 
    filter: grayscale(100%);
	opacity:0.8;
	transition:filter 0.6s,opacity 0.6s ;
}
.partner img:hover  {
	-webkit-filter: grayscale(0%);
    filter: grayscale(0%);
	opacity:1;
	
}


div.servitipo {
	text-align:center;
	font-size:16px;
	
}

div.servitipo  > div.custom-control.custom-checkbox {
	padding-left:0;
}

div.servitipo label {
	/*border:1px solid var(--main-color1);*/
	width:100%;
	padding:10px 0px;
	border-radius:.25rem;
	margin-bottom:25px;
}

input.checkservtipo:checked+label,
div.servitipo label:hover {
	background-color:#f0f0f0;
	background-color:var(--main-color3);
}

div.servitipo label::before {
	display:none;	
}

div.servitipo label img {
	margin-left:auto;
	margin-right:auto;
	margin-bottom:10px;
	margin-top:10px;
	width:auto;
	height:70px;
	display:block;
}



div.servi {
	padding-left:0px;
	padding-right:0px;
	
	
	
	
}

.serv-head {
	background-position:left;
	background-repeat:no-repeat;
	background-size:50px;
	padding-left:65px;
	min-height:50px;

	
}

div.servi div.card-body {
	padding-bottom:45px;	
}

div.servi .card-title > small::before {
	content:' ';
	width:20%;
	height:2px;
	background-color:#adb10c;
	background-color:var(--main-color2);
	display:block;
	margin:5px 0px;
}
div.servi .card-title > small {
		color:#000;
	
}

div.servi .btn {
	position:absolute;
	bottom:15px;
	right:15px;	
}









a#idiomaDropdown > img {
	opacity:0.6;
}
a#idiomaDropdown:hover > img {
	opacity:1;
	
}

 .btn {
	opacity:1;
	color:#000;
	background-color:transparent;
	border:none !important;

}
.btn:hover {
	opacity:1;
	background-color:#3f4376;
	background-color:var(--main-color1) !important;
	color:#adb10c;
	color:var(--main-color2);
}

.btn:hover:disabled:hover {
	background-color:transparent !important;
	cursor:not-allowed;
	
	opacity:.65;
	color:#000;
	
}




div.servi > div,
div.card-body {
	overflow:hidden !important;
}

div.servi div.card {
	height:100% !important;	
	border:none;
	-webkit-box-shadow: 0px 0px 5px 1px rgba(128,128,128,1);
	-moz-box-shadow: 0px 0px 5px 1px rgba(128,128,128,1);
	box-shadow: 0px 0px 5px 1px rgba(128,128,128,1);
	
	transition: transform ease-in 0.15s, transform ease-in 0.15s, box-shadow ease-in 0.15s,-webkit-box-shadow ease-in 0.15s,-moz-box-shadow ease-in 0.15s;	
}
div.servi div.card:hover {
	 transform: scale(1.03);
	-webkit-box-shadow: 0px 0px 10px 7px rgba(128,128,128,1);
	-moz-box-shadow: 0px 0px 10px 7px rgba(128,128,128,1);
	box-shadow: 0px 0px 15px 3px rgba(128,128,128,1);	
	
}
div.servi div.card a.btn {
	background-color:transparent;
}
div.servi div.card:hover a.btn {
	background-color:#f0f0f0;
	background-color:var(--main-color3);
	
}


div.relproyectos > h5 i.fas.fa-chevron-down {
	display:none;	
}

div.relproyectos > h5.collapsed i.fas.fa-chevron-up {
	display:none;	
}
div.relproyectos > h5.collapsed i.fas.fa-chevron-down {
	display:inline-block;
}

div.relproyectos > h5 {
	cursor:pointer;
	margin-bottom:0px;
	padding:10px 0px;
}
div.relproyectos > h5 > i {
	float:right;
	padding:10px;
	border-radius:5px;
	font-size:12px;
}

div.relproyectos > h5:hover {
	color:#3f4376;
	color:	var(--main-color1);
	
}
div.relproyectos > h5:hover  > i {
	color:#adb10c;
	color:	var(--main-color2);
	background-color:#3f4376;
	background-color:var(--main-color1);
}

div.relproyectos > div > h6 {
	margin-top:15px;
	font-weight:bold;
	
}
div.serviciosPag {
	
	/*background-image:url(/img/bg-corporate.png);*/
	
	padding-bottom:25px;
}






div.servi  h3 {
	line-height:auto;
	font-size:120%;
	font-weight:bold;
}
div.servi  h3 span {
	line-height:10%;
}


.navbar-light .navbar-toggler {
	border-color:transparent;
}

div.modal-content.loading {
	background-color:transparent;
	border:none;
}
div.modal-body.relproyectos,
div.modal-footer {
	border-top:1px solid #f0f0f0;
	border-top:1px solid var(--main-color3);	
}


div.modal-header {
	border-bottom:1px solid #f0f0f0;
	border-bottom:1px solid var(--main-color3);	
}

h4.modal-title {
	line-height:100%;

}
h4.modal-title > small {
	color:#adb10c;
	color:	var(--main-color2);
	
	
}

/** CONTACTAR **/
.map-responsive {
	transform: translateY(7px);
	overflow:hidden;
}

.map-responsive iframe{
    height:407px;
    width:100%;
	margin:0;
	padding:0;
	border:none;

}





#contactform div.form-group {
	position:relative;
	display:inline-block;
	width:100%;
}
#contactform button.btn.btn-primary {
	background-color:	var(--main-color3);
}
textarea.form-control + label.col-form-label {
	position:absolute;
	opacity:0.65;
	top:0;
	left:25px;
	display:inline-block;
	transition:all 0.3s;
}


textarea.form-control:focus + label.col-form-label,
textarea.form-control:not(:placeholder-shown) + label.col-form-label,
textarea.form-control:focus:not(:placeholder-shown) + label.col-form-label {
	transform: scale(0.85) translateY(-100%) translateX(-8.5%);
	opacity:1;
	
}




#contactform label.col-form-label {
	
}





input.form-control + label.col-form-label {
	/*
	pointer-events: none;
	padding:6px 12px;
	opacity:0.55;
	font-size:1rem;
	margin:0;
	position:relative;
	display:inline-block;
	transform: scale(1) translateY(-100%) translateX(0%);
	
	width:100%;
	transition:all 0.3s;
	*/
		position:absolute;
	opacity:0.65;
	top:0;
	left:25px;
	display:inline-block;
	transition:all 0.3s;
	
	
}



input.form-control:focus + label.col-form-label,
input.form-control:not(:placeholder-shown) + label.col-form-label,
input.form-control:focus:not(:placeholder-shown) + label.col-form-label {
	transform: scale(0.85) translateY(-100%) translateX(-8.5%);
	opacity:1;
}


/*

input:focus - label, input:not(:placeholder-shown) + span {
  opacity:1;
  transform: scale(0.75) translateY(-100%) translateX(-30px);
}
*/
/* For IE Browsers*/
/*
input:focus + label, input:not(:-ms-input-placeholder) + span {
  opacity:1;
  transform: scale(0.75) translateY(-100%) translateX(-30px);
}
*/
/** PORTAFOLIO **/
#clientes {
	display:block;
	position: relative;
	overflow:hidden;
	white-space:nowrap;

}
.slider-clientes .slick-slide  {
	height:auto !important;	
}
#clientes a {
	width:100%;
	display:inline-block;
	
	height:85px;
}

#clientes a > img {
	display:inline-block;
	max-width:200px;
	width:auto;
	-webkit-filter: grayscale(100%); /* Safari 6.0 - 9.0 */
    filter: grayscale(100%);
	opacity:0.8;
	transition:-webkit-filter 0.3s,filter 0.3s,opacity 0.3s ;
	
	
}

#clientes  a:hover > img {
	-webkit-filter: grayscale(0%); /* Safari 6.0 - 9.0 */
    filter: grayscale(0%);
	opacity:1;	
}

div.proyecto.oculto > div {
	opacity:0;
}

div.proyecto  h3:after {
	content: ' ';
	width:60px;
	display:block;
	height:2px;
	background-color:#adb10c;
	background-color:var(--main-color2);	
	margin-top:5px;
	margin-bottom:25px;
}


div.proyecto  h3 img {
	width:50px;
	height:auto;
	margin-right:15px;	
	margin-bottom:15px;
}


div.card.proyecto div.tecno {
	margin:10px 0px;	
}
div.card.proyecto div.tecno span {
		font-weight:bold;
		display:block;
}
div.card.proyecto div.tecno i {
	font-size:300%;
}

#masproyectos {
	max-width:350px;
	margin-left:auto;
	margin-right:auto;
	margin-top:15px;
	margin-bottom:30px;
	
	
}
div.imagenleft {
	overflow:hidden;	
}
div.imagenleft a > img {
	transition: transform .3s ease-out; 
	transform: scale(1);
}

div.imagenleft a:hover > img {
	transform: scale(1.10);	
}

/* IE10+ specific styles go here */ 
@media screen and (-ms-high-contrast: active), screen and (-ms-high-contrast: none) {  

/*
		--main-color1: #3f4376;
			--main-color2: #adb10c;
			--main-color3: #f0f0f0;
			*/
	.modal-body.viewfoto  {
		max-height:465px;	
		flex:none;
	}
	.carousel-caption  {
		height:100%;
		border-radius:0;
		padding-top:5%;	
	}
	.modal-footer > div.mr-auto {
		margin-right: 0.25rem !important;
	}
	
	div.modal-body.relproyectos {
		flex:none;
	}
}

/** social share **/
/* container */

#share {
	width: 100%;
  	margin: 20px auto 0px auto;
  	text-align: left;
}

/* buttons */

#share a {
	width: 40px;
  	height: 40px;
  	display: inline-block;
  	margin: 8px;
  	border-radius: 50%;
  	font-size: 18px;
  	color: #fff;
	opacity: 0.75;
	transition: opacity 0.15s linear;
	text-align: center;
}

#share a:hover {
	opacity: 1;
}

/* icons */

#share i {
  line-height:40px;
}

/* colors */

.emailc,
.emailc:hover {
	background: #cccccc;
}

.whatsapp,
.whatsapp:hover {
	
 	background: #25d366;
}
.facebook,
.facebook:hover {
 	background: #3b5998;
}

.twitter,
.twitter:hover {
  	background: #55acee;
}

.googleplus,
.googleplus:hover {
  	background: #dd4b39;
}

.linkedin,
.linkedin:hover {
  	background: #0077b5;
}

.pinterest,
.pinterest:hover {
  	background: #cb2027;
}