* {
	margin: 0;
	box-sizing: border-box;
}
p {
	margin-bottom: 0rem;
}
@font-face {
	font-family: 'Montserrat Regular';
	src: url('../fonts/Montserrat-Regular.otf');
}

@font-face {
	font-family: 'AvenirNext Regular';
	src: url('../fonts/AvenirNext-Regular.otf');
}

@font-face {
	font-family: 'Montserrat-ExtraBold';
	src: url('../fonts/Montserrat-ExtraBold.ttf');
}

@font-face {
	font-family: 'Montserrat-Bold';
	src: url('../fonts/Montserrat-Bold.otf');
}

:root {
	--background-linear-navbar: linear-gradient(to left, #1e2428, #232b31, #28333a, #2e3a43, #33424c);
	--background-boxes: #152359;
	--background-transparent-NS: rgba(117, 128, 133, 0.7);

	--color-text: #232323;
	--color-green-title: #44aa44;

	--family-MR: 'Montserrat Regular', sans-serif;
	--family-AR: 'AvenirNext Regular', sans-serif;
	--family-ME: 'Montserrat-ExtraBold', sans-serif;
	--family-MB: 'Montserrat-Bold', sans-serif;

	--background-service: #999999;

	--max-width: 1200px;
	--box-shadow-card: 0 14px 28px rgba(0, 0, 0, 0.25), 0 10px 10px rgba(0, 0, 0, 0.22);
}

/*ESTILO POPUP INCIO*/
.modalI-container {
	position: fixed;
	z-index: 9;
	width: 100%;
	height: 100vh;
	top: 0;
	left: 0;
	background: rgba(0, 0, 0, 0.5);
	display: flex;
	justify-content: center;
	align-items: center;
	padding: 0 20px;
}
.modalI {
	position: relative;
	transition: transform 1s;
	transform: translateY(0%);
	width: 450px;
	outline: 5px solid white;
}
.closeI {
	position: absolute;
	top: -24px;
	right: -20px;
	display: inline-block;
	width: 45px;
	height: 45px;
	background: #ef0800;
	cursor: pointer;
	border-radius: 50%;
	z-index: 3;
	padding: 5px;
}
.modalI-close {
	transform: translateY(-200%);
}

.content-img-navidad {
	margin: 0;
	& img {
		width: 100%;
		aspect-ratio: inherit;
		object-fit: contain;
	}
}

/* CONTENDOR PRINCIPAL */
.containerP {
	/* outline: 2px dotted red; */
	max-width: var(--max-width);
	margin: 0 auto;
	width: 92%;
}

.line-footer {
	height: 1px;
	background: var(--color-green-title);
}
/* ESTILOS BOTONES */
.content-btn {
	text-align: center;
	position: relative;
	.btn-form-enviar {
		background: var(--color-green-title);
		color: white;
		border: none;
		text-transform: uppercase;
		width: 100%;
		height: 40px;
		transition: all 0.3s ease-in-out;
		font-family: var(--family-MB);
		border: 2px solid var(--color-green-title);
		font-size: 0.7rem;
		&:hover {
			background: white;
			color: var(--color-green-title);
			border: 2px solid var(--color-green-title);
			letter-spacing: 3px;
			border-radius: 20px;
		}
	}
}
/* END */

/* LOADER */
.oculto {
	overflow: hidden;
}
#mdb-preloader.loaded {
	opacity: 0;
	transition: 0.3s ease-in 1s;
	display: none;
}
#mdb-preloader {
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	bottom: 0;
	background-color: white;
	z-index: 9999;
	height: 100%;
	width: 100%;
}
.flex-center {
	display: grid;
	place-items: center;
}
/* CARUSEEL */
.carousel-item {
	height: calc(100vh - 130px);
}
.bg-none {
	height: 100% !important;
}
.carousel-caption {
	bottom: 43%;
	z-index: 2;
	& h2 {
		font-family: var(--family-MB);
		font-size: 1.7rem;
		filter: drop-shadow(2px 2px 5px #eeeeee);
		@media (min-width: 768px) {
			font-size: 4.5rem;
		}
	}
}

.none-des {
	/* outline: 1px solid red; */
	display: flex;
	flex-direction: column;
	height: 100%;
	bottom: 0 !important;
	justify-content: space-evenly;
	& h2 {
		font-size: 1.8rem !important;
		font-family: var(--family-MB);
		filter: drop-shadow(2px 2px 4px #fff);
		@media (min-width: 568px) {
			font-size: 3.5rem !important;
		}
	}
	& h3 {
		font-family: var(--family-MR);
		font-size: 1.5rem !important;
		filter: drop-shadow(2px 2px 4px #fff);
		@media (min-width: 568px) {
			font-size: 2.5rem !important;
		}
	}
}

.carousel-inner::before {
	/* counter-increment: bricks;
	content: counter(bricks); */
	content: '';
	position: absolute;
	width: 100%;
	height: 100%;
	top: 0;
	background: rgba(0, 30, 82, 0.5);
	z-index: 1;
}

/* PARTNERS */
.partner {
	padding: 50px 0;
	.title-partner {
		text-align: center;
		font-family: var(--family-MR);
		font-size: 1.5rem;
		&::after {
			content: 'Nuestros Partners';
			border-bottom: 3px solid #44aa44;
			padding-bottom: 0.3em;
		}
	}
}

.sliders {
	height: 250px;
	margin: auto;
	position: relative;
	width: 70%;
	display: grid;
	place-items: center;
	overflow: hidden;
	/* outline: 2px dotted red; */
	.slide-track {
		display: flex;
		width: calc(250px * 10);
		animation: scroll 6s linear infinite;
		gap: 5em;
		&:hover {
			animation-play-state: paused;
		}
		.slide {
			/* height: 200px;
			width: 250px; */
			display: flex;
			align-items: center;
			padding: 15px;
			perspective: 100px;
			img {
				width: 100%;
				transition: transform 1s;
				&:hover {
					transform: translateZ(20px);
				}
			}
		}
	}
}

@keyframes scroll {
	0% {
		transform: translateX(0);
	}
	100% {
		transform: translateX(calc(-250px * 5));
	}
}

.sliders::before,
.sliders::after {
	background: linear-gradient(to right, rgba(255, 255, 255, 1) 0%, rgba(255, 255, 255, 0) 100%);
	content: '';
	height: 100%;
	position: absolute;
	width: 15%;
	z-index: 2;
}

.sliders::before {
	left: 0;
	top: 0;
}

.sliders::after {
	right: 0;
	top: 0;
	transform: rotateZ(180deg);
}

/* HOME */

.bg-info-home {
	position: relative;
	padding-bottom: 50px;
	& figure {
		& img {
			width: 100%;
			height: 900px;
			object-fit: cover;
		}
	}
	.info-home {
		position: absolute;
		top: 50%;
		left: 50%;
		transform: translate(-50%, -50%);
		z-index: 2;
		display: grid;
		gap: 3em;
		.grid-info {
			display: flex;
			flex-direction: column;
			height: 100%;
			place-items: center;
			column-gap: 5em;
			box-shadow: 0 0 4px hsl(192, 100%, 9%, 0.3);
			padding: 12px;
			@media (min-width: 995px) {
				height: 550px;
				flex-direction: unset;
			}
			& h2 {
				text-align: center;
				font-family: var(--family-MB);
				font-size: 1.7rem;
			}
			.grid-info-item {
				display: grid;
				gap: 2em;
				grid-template-columns: repeat(auto-fill, minmax(min(100%, 20rem), 1fr));
				height: 90%;
				.item {
					box-shadow: 0 0 4px hsl(192, 100%, 9%, 0.3);
					padding: 18px;
					max-width: 600px;
				}
			}
		}
	}
}

.grid-info_reverse {
	@media (min-width: 768px) {
		flex-direction: row-reverse !important;
	}
}

.img-home {
	object-fit: cover;
	position: relative;
}
