/* General */
:root {
	--font-title: 'Arial Black', sans-serif;
	--font-subtitle: 'Microsoft Yi Baiti', sans-serif;
	--font-general: 'Helvetica-Light', sans-serif;
    --teal: #3b538a;
    --cream: #dcdcdc
}

body {
	font-family: 'Poppins', sans-serif;
	margin: 0;
	padding: 0;
	align-items: center;
	height: 100vh;
}

/* Navbar */
.navbar {
	background: rgba(0, 0, 0, 0.5);
	color: white;
	position: fixed;
	width: 100%;
	z-index: 10;
	top: 0;
}

.nav-link {
	position: relative;
	display: inline-block;
	font-size: 14px;
	text-transform: uppercase;
	color: white;
	padding-left: 10px;
	transition: color 0.3s ease, padding-left 0.3s ease;
}

.nav-link::before {
	content: '';
	position: absolute;
	left: 0;
	right: 0;
	top: 0;
	height: 3px;
	background-color: transparent;
	transition: background-color 0.3s ease;
}

.nav-link:hover::before {
	background-color: var(--teal);
}

.nav-link:hover {
	color: var(--teal);
	padding-left: 15px;
}

/* Imagen de fondo con parallax */
.hero-section {
	position: relative;
	height: 100vh;
	background-image: url('../img/fondo_principal.jpg');
	background-size: cover;
	background-position: center;
	background-repeat: no-repeat;
	background-attachment: fixed;
}

.overlay {
	position: absolute;
	inset: 0;
	background: rgba(0, 0, 0, 0.5);
	display: flex;
	flex-direction: column;
	justify-content: center;
	align-items: center;
	padding-top: 5%;
}

.hero-title {
	font-size: 4.5rem;
	font-weight: bold;
	color: var(--teal);
    font-family: var(--font-general);
	text-align: center;
	margin-bottom: 1rem;
}

.line-divider {
	width: 241px;
	height: 10px;
	background-color: #3b538a;
	margin: 1rem 0;
}

.hero-subtitle {
	font-size: 1.7rem;
	color: var(--teal);
    font-weight: 800;
    font-family: var(--font-subtitle);
	text-align: center;
	margin-bottom: 2rem;
}

.hero-arrow {
	width: 80px;
	height: 80px;
	fill: #3b538a;
	margin-top: 1rem;
	cursor: pointer;
	animation: bounce 2s infinite;
}

@keyframes bounce {
	0%,
	100% {
		transform: translateY(0);
	}

	50% {
		transform: translateY(-10px);
	}
}

/* Contenido */
#nosotros {
	background-color: rgb(255, 255, 255, 0.9);
}

#nosotros h2 {
	color: var(--teal);
	font-size: 55px;
}

#nosotros p {
	color: grey;
	font-size: 1.3rem;
}

.half-left {
	padding-left: 300px;
}

.video-container {
	height: 450px;
}

.mission,
.vision h3 {
	/*color: rgba(237, 206, 37, 0.5)*/
	color: rgba(59, 83, 138, 1);
}

/* mision y vision */
#mision-vision {
	background-color: rgb(255, 255, 255, 0.9);
}

#mision-vision h2 {
	color: var(--teal);
	font-size: 55px;
}

#mision-vision p {
	color: grey;
	font-size: 1.3rem;
}

#proyectos {
    background-color: rgb(255, 255, 255, 0.9);
}

/* proyectos */
#proyectos h1 {
    color: var(--teal);
	font-size: 55px;
}

#proyectos p {
	color: #3b538a;
	font-size: 1.3rem;
    font-family: Microsoft Yi Baiti;
}


/* Servicios */

#servicios {
	background-image: url('../img/fondo_servicios.jpg');
	background-size: cover;
	background-position: center;
	background-repeat: no-repeat;
}

#servicios h2 {
    color: var(--teal);
	font-size: 55px;
}

/* Ajustes de tamaño y visualización en dispositivos móviles */
@media (width <= 1140px) {
	.hero-section {
		background-attachment: scroll;
	}

	.hero-title {
		font-size: 3rem;
	}

	.hero-subtitle {
		font-size: 1rem;
	}

	.navbar {
		background: rgba(0, 0, 0, 0.8);
		padding: 10px 0;
	}

	.nav-link {
		font-size: 12px;
	}

	.half-left {
		padding-left: 0px;
	}

	.half-right {
		padding-right: 0px;
	}

	#mision-vision {
		margin: 0;
		padding: 0;
	}


}

.img__servicios {
	filter: grayscale(100%);
}

.card__servicios h3 {
    color: var(--teal);
    font-family: var(--font-general);
}

.card__servicios p {
    color: var(--teal);
    font-family: var(--font-subtitle);
	font-size: 1.3rem;
}

/* Galeria */

.zoom-overlay {
	position: fixed;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	background-color: rgba(0, 0, 0, 0.8);
	z-index: 50;
	display: none;
	justify-content: center;
	align-items: center;
}

.seccion_vehiculos {
	/* background-image: url('../img/servicios3.jpg');*/
	background-color: rgba(255, 255, 255, 0.8);
	background-size: cover;
	background-position: center;
	background-repeat: no-repeat;
}

#seccion_vehiculos h1 {
    color: var(--teal);
	font-size: 55px;
}

.zoom-overlay.active {
	display: flex;
}

/* Carrusel */
#galeria {
	background-image: url('../img/carrusel_fondo.jpg');
	background-size: cover;
	background-position: center;
	background-repeat: no-repeat;
	height: 80vh;
}

.iframe-container {
	width: 100%;
	height: 100%;
	aspect-ratio: 16 / 9; /* Relación de aspecto para el iframe */
	overflow: hidden;
	border-radius: 10px; /* Bordes redondeados opcionales */
	margin: 0 auto;
}

/* Politicas */
#politicas {
	/*background-image: url('../img/politicas_fondo.jpg');*/
	background-image: url('../img/servicios3.jpg');
	background-size: cover;
	background-position: center;
	background-repeat: no-repeat;
}

/* Contacto */
#contacto {
	background-image: url('../img/contacto_fondo.jpg');
	background-size: cover;
	background-position: center;
	background-repeat: no-repeat;
}

/* Footer */
footer i {
	font-size: 1.25rem; /* Tamaño de los iconos */
}
