@font-face {
	font-family: 'nexa bold';
	src:url('../fonts/Nexa Bold.otf');
}
@font-face {
	font-family: 'nexa light';
	src:url('../fonts/Nexa Light.otf');
}
@font-face {
	font-family: 'iconos';
	src:url('../fonts/iconos.eot');
	src:url('../fonts/iconos.eot?#iefix') format('embedded-opentype'),
		url('../fonts/iconoso.woff') format('woff'),
		url('../fonts/iconos.ttf') format('truetype'),
		url('../fonts/iconos.svg#iconos') format('svg');
	font-weight: normal;
	font-style: normal;
}

body, html { 
	font-size: 100%; 	
	padding: 0; 
	margin: 0;
	background:#FFF url('../imagenes/Back.png') top left;
}

/* Reset */
*,
*:after,
*:before {
	-webkit-box-sizing: border-box;
	-moz-box-sizing: border-box;
	box-sizing: border-box;
	}

body {
    font-family: 'nexa light','Calibri', Arial, sans-serif;
    overflow:inherit;
}

a {
	color: #F77F00;
	text-decoration: none;
}

a:hover {
	color: #656567;
}

#LogoPri {
	position: absolute;
	width: 90px;
	top: 8px;
	left: 10px;
	z-index: 61;
}

#BotonRegresar{
	position: fixed;
	align-content: center;
	text-align: center;

	width: 120px;
	height: 60px;  
	top: 30px;
	left: 50%;   
	margin-left: -60px;

	font-size: 120%;	
	font-family: Nexa Bold;
	color: #ffffff;
	background: #05050577;
	border-radius: 22px;
	border: 0px solid #ffffff;
	z-index:69;
}
#BotonRegresar:hover { color: #ffffff; box-shadow: 0px 0px 60px -17px rgba(51,51,51,1);}

#TituloPrincipal {
	position: relative;
	text-align: center; 
	font-family: 'nexa bold';
	font-size: 250%;
	line-height: 0.8;
	-webkit-background-clip: text; 
	-moz-background-clip: text; 
	background-clip: text; 
	color: #636363;
	margin: 50px 20px 20px 110px;
}


/* Contenedor de las fichas */

.container-principal {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 1rem;
    width: 100%;
	padding: 0px 30px 30px 30px;
	border: 0px solid #ff0000;
}

#TextPrinc {
	position: relative;
	text-align: justify;
	font-family: 'nexa light';
	font-size: 90%;
	max-width: 1700px;
	border: 0px solid #ff0000;
}

.ContenedorImagenes {
	position: relative;
	text-align: center; 
	align-content: center;
	width: 100%;
	border: 0px solid #ff0000;
}
.ImgPrincipal {
	position: relative;

	width: 65%;
	margin-right: 10px;
	max-width: 800px;
	border: 0px solid #ff0000;
	border-radius: 110px 110px 0px 110px;
}
.ImgSecundaria {
	position: relative;
	top: 100px;
	width: 25%;
	height: auto;

	max-width: 300px;
	border: 0px solid #ff0000;
	border-radius: 0px 80px 80px 80px;
}

/* Estilo de recursos */
.recurso {
	position: relative;
    background-color: #ffffff;
	width: 80px;
	height: 80px;
    border-radius: 25px;
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.1);
    padding: 10px;
    text-align: center;
    transition: transform 0.2s ease, box-shadow 0.23s ease;
	border: 1px solid #c7c7c7;
	cursor: pointer;
}
.recurso img {
	width: 100%;
}
.recurso:hover {
    transform: translateY(-2px);
    box-shadow: 0 8px 24px rgba(0, 0, 0, 0.15);
}

.ContenedorInformacion { 
	position: relative;
	text-align: center; 
	align-content: center;
	width: 100%; 
	max-width: 1700px;
	border: 0px solid #ff0000;
}
.Info ul { list-style-type: square; text-align: justify;}
.Info ul li { border-bottom: 1px solid #d4d4d4; }
summary { 
	font-size: 150%;
	background: #c7c7c74d;
	border-radius: 18px;
	padding: 10px;
	margin-bottom: 10px;
	cursor: pointer;
}








/* PARA CARUSEL de apartados */
.carrusel {
	display: flex; /* Habilita el modelo de caja flexible */
	justify-content: center;/* Justifica horizontalmente */

	overflow: hidden; /* Oculta el desplazamiento por defecto */
	width: 100%;
	border: 0px solid #f50303;
	padding: 0px;

}
.carrusel-viewport {
	display: flex; /* Organiza los elementos en una fila */
	overflow-x: auto; /* Permite el desplazamiento horizontal */
	scroll-snap-type: x mandatory; /* Fuerza el anclaje a cada elemento */
	scroll-behavior: smooth; /* Permite un desplazamiento suave al navegar */
	-webkit-overflow-scrolling: touch; /* Mejora el rendimiento en dispositivos iOS */
	text-align: center;
	border-radius: 25px;
	max-width: 900px;
}
.carrusel-slide {
	position: relative;
	flex: 0 0 100%; /* Cada slide ocupa el 100% del ancho del contenedor */
	scroll-snap-align: center; /* Centra cada slide en el punto de anclaje */
	padding: 7px 7px 7px 7px;
}
/* Opcional: Estilos para las imágenes */
.carrusel-slide img {
	width: 100%;
	height: auto;
	display: block;
	border-radius: 45px;
}
/* Opcional: Oculta la barra de desplazamiento */
.carrusel-viewport::-webkit-scrollbar {
	display: none;
}
.carrusel-viewport {
	-ms-overflow-style: none; /* Oculta la barra en Internet Explorer y Edge */
	scrollbar-width: none; /* Oculta la barra en Firefox */
}
.carrusel-slide .prev,
.carrusel-slide .next {
	position: absolute;
	align-content: center;
	top: 48px;
	left: 50%; 

	height: 60px;  
	width: 60px;
	margin-top: -30px;

	color: rgb(146, 146, 146);
	font-size: 2.5rem;
	text-decoration: none;
	background-color: rgba(255, 255, 255, 0.7);

	border: 0px solid rgb(255, 255, 255);
	border-radius: 25px;
}
.carrusel-slide .prev:hover,
.carrusel-slide .next:hover {
	font-weight: bold;
}
.carrusel-slide .prev {
	margin-left: -105px;
}
.carrusel-slide .next {
	margin-left: 45px;
}


/* PARA LUGARES*/
#GaleriaFotografica {
	position: fixed;
	display: none;
	background: rgba(122, 122, 122, 0.9);
	text-decoration: none;
	width: 100%;
	height: 100%;
	top: 0px;
	left: 0px;
	padding: 20px 40px 20px 40px;
	z-index: 70;
	border: 0px solid #FFF;
}
#BotonCerrar_Lugares{
	position: fixed;
	align-content: center;
	text-align: center;

	top: 40px;
	left: 50%;   
	margin-left: -30px;
	height: 60px;  
	width: 60px;

	font-size: 170%;	
	padding: 7px 13px 7px 13px;
	color: #FFF;
	background: #05050577;
	cursor: pointer;
	border-radius: 22px;
	border: 0px solid #FFF;
	z-index:71;
}
#BotonCerrar_Lugares:after { font-family:'iconos'; content: "\e890"; }
#BotonCerrar_Lugares:hover { color: #fff8f8; box-shadow: 0px 0px 60px -17px rgba(51,51,51,1);}




#BotonAbrirPie{
	position: fixed;
	text-align: center;
	top: 100%;
	left: 50%;    
	height: 20px;  
	width: 100px;
	margin-top: -20px;
	margin-left: -50px;
	font-size: 100%;	
	padding: 3px;
	color: #FFF;
	background: #8AB30F;
	cursor: pointer;
	border-radius: 7px 7px 0px 0px;
	border: 0px solid #FFF;

	z-index:69;
}
#BotonAbrirPie:after { font-family:'iconos'; content: "\E889"; }
#Pie{
	position: fixed;
	display: none;
	align-content: center;
	text-align: center;
	font-size: 80%;
	top:100%;
	left:0px;
	height: 100px;  
	width: 100%;
	margin: -101px 0px 0px 0px;	
	padding: 10px;
	color: #FFF;
	background: #8AB30F;
	border: 0px solid #F00;

	z-index:69;
}
#LogoBco{
	position: relative;
	display: block;
	left: 50%;
	margin-left: -60px;
	width: 120px;
	margin-bottom: 7px;
}






/* width: 1024px */
@media screen and (max-width: 7000px) { 

	
}

/* width: 768px */
@media screen and (max-width: 1000px) { 

	
}

/* width: 600px */
@media only screen and (max-width: 744px) { 

	
}

/* � width: 375px */
@media only screen and (max-width: 576px) {
	.ImgPrincipal { width: 100%; border-radius: 65px 65px 0px 65px;}
	.ImgSecundaria { 
		width: 200px; 
		top:8px;
		left: 65px;
		border-radius: 50px 0px 50px 50px;
	}
	#TextPrinc { 
		height: 100px;
		overflow-y: auto;
	}
	.carrusel-slide { padding: 90px 7px 7px 7px; }
	#GaleriaFotografica { padding: 20px 10px 20px 10px; }
}

/* � width: 300px */
@media only screen and (max-width: 374px) {
	.ImgPrincipal { width: 100%; border-radius: 65px 65px 0px 65px;}
	.ImgSecundaria { 
		width: 200px; 
		top:8px;
		left: 60px;
		border-radius: 50px 0px 50px 50px;
	}
	#TextPrinc { 
		height: 100px;
		overflow-y: auto;
	}
}