/*--
Author: W3layouts
Author URL: http://w3layouts.com
License: Creative Commons Attribution 3.0 Unported
License URL: http://creativecommons.org/licenses/by/3.0/
--*/
html, body{
  	font-family:Verdana, Geneva, Arial, Helvetica, sans-serif;
    font-size: 100%;
  	background: #FFf;
}
body a{
	transition:0.5s all;
	-webkit-transition:0.5s all;
	-moz-transition:0.5s all;
	-o-transition:0.5s all;
	-ms-transition:0.5s all;
}
/*-- header --*/
.header-bg{
	/*background:url(../images/header-bg.jpg) no-repeat 0px 0px;*/
	background:url(../images/slider-set.jpg) no-repeat 0px 0px;
	
	min-height:750px;
	background-size: cover;
	-webkit-background-size: cover;
	-moz-background-size: cover;
	-o-background-size: cover;
	position:relative;
}
.header{
	padding:3em  0 0 0;
}
.logo{
	float:left;
}
.menu{
	float: right;
	margin-top:2px;
}
.menu li{
	display:inline-block;
}
.menu li:first-child{
   	margin-left:0;
}
.menu li a{
  	display: block;
	font-size: 0.95em;
	text-transform: uppercase;
	margin: 0em 1.4em 0 1.4em;
	color:#fff;
	-webkit-transition: all 0.3s ease;
	-moz-transition: all 0.3s ease;
	-o-transition: all 0.3s ease;
	transition: all 0.3s ease;
	font-weight:500;
	padding:0;
}
.menu li a:hover,.menu li.active a{
	 border-bottom:3px solid #5DBCD2;
} 
.nav>li>a:hover, .nav>li>a:focus {
	background-color:rgba(238, 238, 238, 0) !important;
	color:#343434;
}
.toggleMenu {
    display:  none;
  	padding:4px 5px 0px 5px;
}
.nav:before,
.nav:after {
    content: " "; 
    display: table; 
}
.nav:after {
    clear: both;
}
@media screen and (max-width:800px) {
	.active {
        display: block;
    }
    .menu li a{
    	text-align:left;
    	border-radius:0;
    	-webkit-border-radius:0;
    	-moz-border-radius:0;
    	-o-border-radius:0;
    	padding:10px 0;
    }
    .nav {
	    list-style: none;
		width: 95%;
		position: absolute;
		right: 20px;
		background: #222;
		top:80px;
		z-index:9999;
    }
    .nav:after {
		content: '';
		position: absolute;
		right:18px;
		top: -9px;
		border-left:10px solid rgba(0, 0, 0, 0);
		border-right:10px solid rgba(0, 0, 0, 0);
		border-bottom:10px solid #333;
	}
    .menu ul{
    	margin:0;
    }
    .nav > li {
        float: none;
        display:block;
    }
    .nav li a{
    	border-top:1px solid #333;
    }
     .nav li:first-child a{
     	border-top:none;
     }
     .menu li a{
		border-bottom: 3px solid #222;
	 }
 }
/*-- header-info --*/
.header-info{
	position: absolute;
	width: 38%;
	top: 34%;
	z-index:999;
}
.header-info ul{
	margin:0;
	padding:0;
}
.header-info ul li{
	display:inline-block;
}
a.d-btn{
	background:#5DBCD2;
	color:#FFF;
	padding:0.8em 1.5em;
	display:inline-block;
	border-radius: 2em;
	-webkit-border-radius: 2em;
	-moz-border-radius: 2em;
	-o-border-radius: 2em;
	-ms-border-radius: 2em;
	text-decoration:none;
}
a.d-btn:hover{
	background:#343434;
}
/*-- chart --*/
.chart span{
	background: url(../images/chart.png) no-repeat 0px 0px;
	background-size: cover;
	-webkit-background-size: cover;
	-moz-background-size: cover;
	-o-background-size: cover;
	height: 500px;
	position: absolute;
	bottom: 0;
	display: block;
	width: 100%;
	left: 0;
}
/*-- services --*/
.services {
	padding:3em 0;
}
.service-grids {
	margin-top: 2.2em;
}
.header-section h3{
	color:#343434;
	font-weight:bold;
	text-transform:uppercase;
	margin:0;
	padding:0;
}
.header-section p{
	color: #adadad;
	font-size: 1em;
	font-weight: normal;
	margin: 1em auto;
	line-height: 1.5em;
	width: 80%;
}
.service-grid{
	padding: 1.5em 1em;
}
.service-grid h4{
	font-weight: bold;
	color: #343434;
	margin: 0 auto;
	padding: 0.5em 0 0.2em;
	line-height: 1.3em;
	width: 82%;
}
.service-grid label{
	width:30%;
	height:3px;
	display:inline-block;
	background:#5DBCD2;
}
.service-grid p{
	color: #aeaeae;
	font-size:0.69em;
	line-height:1.8em;
}
/*-- contact-section --*/
.contact-section{
	/*background:url(../images/contact-section-bg.jpg) no-repeat 0px 0px;*/
	/*background:url(../images/contacts-img.jpg) no-repeat 0px 0px;*/
	background:url(../images/img-center.jpg) no-repeat 0px 0px;
	background-size:cover;
	-webkit-background-size:cover;
	-moz-background-size:cover;
	-o-background-size:cover;
	min-height:380px;
	position:relative;
}
.contact-section-info h2{
	color: #FFF;
	font-weight: bold;
	text-transform: uppercase;
	line-height: 1.5em;
	font-size: 1.7em;
	margin: 0 auto;
	padding: 0;
	width: 90%;
}
a.c-btn{
	background: #5DBCD2;
	color: #FFF;
	padding: 0.8em 2em;
	display: inline-block;
	border-radius: 2em;
	-webkit-border-radius: 2em;
	-moz-border-radius: 2em;
	-o-border-radius: 2em;
	-ms-border-radius: 2em;
	text-decoration: none;
	margin-top: 1em;
}
a.c-btn:hover {
	background: #343434;
}
.contact-section-info {
	position: absolute;
	width: 70%;
	left: 14%;
	top: 33%;
	z-index: 2;
}
.contact-section-mask span{
	background: url(../images/dotts.png) no-repeat 0px 0px;
	min-height: 380px;
	position: absolute;
	top: 0;
	z-index: 1;
	bottom: 0px;
	width: 100%;
	left: 0;
}
/*-- about-section --*/
.about-section{
	padding: 3em 0 5em 0;
}
.about-section-grids h4{
	color:#5DBCD2;
	font-weight:bold;
	text-transform:uppercase;
	font-size:1.2em;
	margin:0 0 2.4em  0;
	padding:0;
}
.about-section-grids h4 span{
	background:#5DBCD2;
	display:block;
	height:3px;
	width:10%;
	margin-top:0.5em;
}
.about-section-left p{
	color: #343434;
	line-height: 1.5em;
	font-size: 0.96em;
}
.client-grids ul{
	margin:0;
	padding:0;
}
.client-grids ul li{
	display:inline-block;
	float:left;
	width:32%;
	margin-right:2%;
	margin-bottom:2%;
}
.client-grids ul li a:hover{
	opacity:0.8;
}
.client-grids ul li:nth-child(3),.client-grids ul li:nth-child(6){
	margin-right:0;
}
.client-grids ul li a img{
	width:100%;
}
.about-section-grids{
	padding:2.5em 0 0 0;	
}
/*-- team-section --*/
/*-- news --*/
/*-- contact --*/
.contact{
	/*background:url(../images/web-images/frase-centro1.jpg) no-repeat 0px 0px;*/
	background:url(../images/contacts-img.jpg) no-repeat 0px 0px;
	/*background:url(../images/img-center.jpg) no-repeat 0px 0px;*/
	/*background:url(../images/contact-section-bg.jpg) no-repeat 0px 0px;*/
	background-size:cover;
	-webkit-background-size:cover;
	-moz-background-size:cover;
	-o-background-size:cover;
	min-height:705px;
	padding:5em 0 0 0;
	position:relative;
}
.contact-left p{
	color: #FFF;
	font-size: 0.875em;
	margin: 1.5em 0;
	line-height: 1.6em;
}
.contact-left label{
	width:15%;
	height:4px;
	display:inline-block;
	background:#5DBCD2;
}
.contact-left ul{
	margin:1em  0 0 0;
	padding:0;
}
.contact-left ul li{
	display: block;
	font-weight: bold;
	color: #fff;
	/*text-transform: uppercase;*/
	padding: 0.4em 0;
	font-size: 0.875em;
}
.contact-left ul li a{
	color: #fff;
}
.contact-left ul li a:hover{
	color:#343434;
	text-decoration:none;
}
.contact-left ul li span{
	width:32px;
	height:32px;
	display:inline-block;
	background:url(../images/web-images/contact-icons.png) no-repeat 0px 0px;
	vertical-align:middle;
	margin-right:0.5em;
}
.contact-left ul li span.co-icon2{
	background:url(../images/web-images/contact-icons.png) no-repeat 0px -45px;
}
.contact-left ul li span.co-icon3{
	background:url(../images/web-images/contact-icons.png) no-repeat 0px -89px;
}
.contact-right h4 {
	color: #5DBCD2;
	font-weight: bold;
	text-transform: uppercase;
	font-size: 1.7em;
	margin: 0 0 1em 0;
	padding: 0;
}
.contact-right h4 span {
	background: #5DBCD2;
	display: block;
	height: 3px;
	width: 12%;
	margin-top: 0.5em;
}
/*-- footer --*/
.footer{
	background:#343434;
	padding:1.5em 0;
}
.footer-left{
	float: left;
	margin-top: 0.4em;
}
.footer-left p{
	color:#FFF;
	font-size:0.875em;
	margin:0;
}
.footer-right ul{
	margin:0;
	padding:0;
}
.footer-right ul li{
	display:inline-block;
	float:left;
}
.footer-right ul li a span{
	width: 49px;
	height: 24px;
	display: inline-block;
	background: url(../images/web-images/social-icons.png) no-repeat 0px 0px;
}
.footer-right{
	float:right;
	margin-top: 0.2em;
}
.footer-right ul li a span.face{
	background-position: -46px 0px;
}
.footer-right ul li a:hover{
	opacity:0.8;
} 
#toTop {
	display: none;
	text-decoration: none;
	position: fixed;
	bottom: 14px;
	right: 3%;
	overflow: hidden;
	width: 40px;
	height: 40px;
	border: none;
	text-indent: 100%;
	background: url("../images/to-top1.png") no-repeat 0px 0px;
}
#toTopHover{
	width: 40px;
	height: 40px;
	display: block;
	overflow: hidden;
	float: right;
	opacity: 0;
	-moz-opacity: 0;
	filter: alpha(opacity=0);
}
/*-- news --*/
/*--single--*/
/*--responsive design--*/
@media(max-width:1366px){
.services {
	padding: 0em 0 3em;
}
}
@media(max-width:1280px){
.service-grid h4 {
	font-size: 15px;
}
}
@media(max-width:1024px){
.header-info {
	width: 50%;
	top:30%;
}
.chart span {
	height: 300px;
}
.header-bg {
	min-height: 600px;
}
.service-grid h4 {
	font-size: 15px;
}
.contact-section-info h2 {
	width:100%;
}
.contact-section-info {
	width: 74%;
}
}
@media(max-width:800px){
.contact-section-info h2 {
	font-size: 1.3em;
}
/*--.container {
	width: 735px;
}--*/
.services {
	padding: 0em 0 3em;
}
.menu {
	margin-top: -10px;
}
.header-section p, .service-grid h4{
	width:100%;
}
.col-md-6.about-section-left {
	margin-bottom: 3em;
}
}
@media(max-width:768px){
.contact-right {
	margin-top: 2em;
}
.contact {
	min-height: 1030px;
}
.menu {
	margin-top: -10px;
}
}
@media(max-width:640px){
.menu {
	margin-top: -10px;
}
.header-info {
	width: 60%;
	top: 25%;
}
.header-bg {
	min-height: 500px;
}
.container {
	width:550px;
	/*width:580px;*/
}
.contact-section, .contact-section-mask span{
	min-height: 270px;
}
}
@media(max-width:480px){
.contact-section-info {
	top: 25%;
}
.header {
	padding: 1.5em 0 0 0;
}
.toggleMenu {
	padding: 0;
	margin-top: 10px;
}
.menu li a {
	font-size: 12px;
}
.contact-section-info h2 {
	font-size: 1em;
}
.header-info {
	width: 72%;
	top: 22%;
}
a.d-btn{
	padding: 0.5em 1em;
}
.header-bg {
	min-height: 450px;
}
.container {
	/*width:430px;*/
	width: 360px;
}
.header-section p {
	font-size: 0.85em;
}
.footer-left {
	float: none;
    margin-top:0;
}
.footer-right {
	float: none;
	margin-top: 0.5em;
}
}
@media(max-width:320px){
	.logo img{
		width:80%;
	}
	.header {
		padding:1em 0 0 0;
	}
	a.d-btn {
		padding: 0.5em 0.8em;
		font-size: 0.8125em;
		margin-right:0;
	}
	.header-bg {
		min-height:400px;
	}
	.header-info {
		width: 80%;
		top: 24%;
	}
	.container {
		width:300px;
	}
	.header-section h3 {
		font-size: 18px;
	}
	.header-section p {
		font-size: 0.8125em;
		width: 100%;
	}
	.service-grid {
		padding: 0.5em 0em;
	}
	.service-grid p {
		font-size: 0.8125em;
		line-height: 1.5em;
	}
	.service-grid h4 {
		font-size: 13px;
	}
	.contact-section-info {
		top: 16%;
	}
	.contact-section-info h2 {
		font-size: 0.8125em;
	}
	a.c-btn {
		padding: 0.5em 1em;
	}
	.contact-section, .contact-section-mask span {
		min-height: 200px;
	}
	.about-section-left p {
		font-size: 0.8125em;
	}
	.about-section-grids h4 {
		font-size: 1em;
	}
	.services {
		padding: 0em 0 2em;
	}
	.contact {
		min-height:1110px;
		padding: 3em 0 0 0;
	}
	.contact-left p {
		font-size: 0.8125em;
	}
	.contact-left ul li {
		font-size:11px;
	}
	.nav {
		right:20px;
		width:85%;
		top: 55px;
	}
	.header-info ul {
		margin-top: 2em;
	}
}

::-webkit-input-placeholder { /* Chrome/Opera/Safari */
  color: #adadad;
}
::-moz-placeholder { /* Firefox 19+ */
  color: #adadad;
}
:-ms-input-placeholder { /* IE 10+ */
  color: #adadad;
}
:-moz-placeholder { /* Firefox 18- */
  color: #adadad;
}


img.logo-servicios{
	opacity: 1;
  	/*display: block;*/
  	width: 100%;
  	height: auto;
  	transition: .5s ease;
  	/*backface-visibility: hidden;*/
}


.container-logo:hover .logo-servicios {
  opacity: 0.6;
}

/*.container-logo:hover .middle {
  opacity: 1;
}*/

/* Estilos para la seccion de carrusel de clientes */
.client-carousel-section {
    text-align: center;
    padding: 50px 0;
    background-color: #ffffff;
}

.client-carousel-section h3 {
	color:#343434;
	font-weight:bold;
	text-transform:uppercase;
	margin:0;
	padding:0;
}

/* Estilos generales para la galería de proyectos */
.project-gallery {
    padding: 50px 0;
    background-color: #f9f9f9;
    text-align: center;
}

.project-container {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 20px;
}

.project-item {
    position: relative;
    width: 250px; /* Ancho fijo del contenedor */
    height: 200px; /* Altura fija del contenedor */
    overflow: hidden; /* Oculta cualquier parte de la imagen que sobresalga */
    text-align: center; /* Centra el contenido horizontalmente */
    display: flex; /* Habilita la alineación con flexbox */
    justify-content: center; /* Centra la imagen horizontalmente */
    align-items: center; /* Centra la imagen verticalmente */
}

.project-item img {
    width: 100%;  /* Las imágenes se ajustan al ancho del contenedor */
    height: auto;
    display: block;
    transition: transform 0.3s ease;
}

.project-item:hover img {
    transform: scale(1.1);
}

/* Título sombreado en la parte inferior de la imagen */
.project-title {
    position: absolute;
    bottom: 0;
    left: 0;
    right: 0;
    background: rgba(0, 0, 0, 0.6);
    color: #fff;
    text-align: center;
    padding: 10px;
    font-size: 14px;
    opacity: 0;
    transition: opacity 0.3s ease;
}

.project-item:hover .project-title {
    opacity: 1;
}

/* Responsividad para tablets: 2 imágenes por fila */
@media (max-width: 768px) {
    .project-item {
        width: 45%; /* Ajuste para que se muestren 2 imágenes por fila en tablets */
        height: auto;
    }
}

/* Responsividad para móviles: 1 imagen por fila y título siempre visible */
@media (max-width: 480px) {
    .project-item {
        width: 100%; /* Cada imagen ocupa el 100% en móviles */
        margin-bottom: 20px;
    }
    
    /* Hacer que el título siempre sea visible en móviles */
    .project-title {
        opacity: 1;
    }
}