:root {
	--form: 480px;
	--rojo: #E31223;
	--cdr_rojo: #FF0014;
}

*{
	padding: 0;
	outline: 0;
	margin: 0;
	border: 0;
	box-sizing: border-box;
	-ms-box-sizing: border-box;
	-o-box-sizing: border-box;
	box-sizing: border-box;
	outline: none;
	font-size: inherit;
	color: inherit;
	line-height: inherit;
	font-family: inherit;
}

body{
	font-family: 'Libre Caslon Display';
	line-height: 1;
	background: #E6EFEF;
	text-align: center;
}

a{
	text-decoration: none;
}

img{
	max-width: 100%;
	height: auto;
	display: block;
}
::placeholder{
	color: #000;
}
.contedor_general{
	width: 100%;
	overflow: hidden;
	min-height: 100vh;
	font-size: 32px;
}

section{
	display: flex;
	justify-content: center;
}

p{
	line-height: 1.2;
	white-space: pre-line;
}
small{
	font-size: 16px;
	font-weight: 500;
	letter-spacing: 0.3px;
}
::marker{
	/*color: var(--rojo);*/
}

.area_segura{
	width: 100%;
	max-width: 1440px;
	padding: 0 20px;
}
.flex_colum{
	display: flex;
	flex-direction: column;
}
.flex_colum>div{
	position: relative;
	width: 100%;
	display: flex;
	justify-content: center;
	z-index: 2;
}
.flotante{
	position: absolute;
}
.underline{
	text-decoration: underline;
}
.azul{
	text-decoration-color: #5288C5;
}
.rosa{
	text-decoration-color: #E4B2B6;
}
.naranja{
	text-decoration-color: #de461d;
}
div.div_grid{
	display: grid;
	justify-content: space-between;
	gap: 20px;
	width: 100%;
}
.solo_mobile{
	display: none;
}


@media screen and (max-width: 768px){
	.contedor_general{
		font-size: 16px;
	}
	.solo_desk{
		display: none;
	}
	.solo_mobile{
		display: block;
	}
}

/*PORTADA*/
	.portada{
		display: flex;
		flex-direction: column;
		justify-content: space-around;
		padding: 20px 0;
		height: 100vh;
		overflow: hidden;
	}
	.portada>div{
		display: flex;
		justify-content: center;
		gap: 40px;
		position: relative;
		padding: 0 20px;
	}
	.sol_portada img{
		width: 20%;
		max-width: 300px;
	}

	.logo_portada .flotante{
		transform: translateY(-20%);
		width: 30%;
		max-width: 550px;
	}
	.arb_1{
		left: 0;
	}
	.arb_2{
		right: 0;
	}
	div.doble_btn{
		padding-bottom: 20px;
	}
	.doble_btn a{
		display: block;
		width: 15%;
		max-width: 272px;
	}
	.cards_portada{
		top: 20px;
		left: 20px;
		width: 15%;
		max-width: 320px;
	}

	@media screen and (max-width: 768px){
		.logo_portada>img:nth-child(2){
			width: 92px;
		}
		.logo_portada .flotante{
			max-width: 170px;
		}
		.sol_portada img{
			width: 150px;
		}
		div.doble_btn{
			gap: 4px;
		}
		.doble_btn a{
			width: calc(50% - 2px);
			max-width: 200px;
		}
		.cards_portada{
			width: 115px;
		}
	}

/*LOGIN*/
	.login{
		display: flex;
		justify-content: center;
		align-items: center;
		padding: 40px 20px;
		height: 100vh;
		position: relative;
	}
	.logear{
		display: flex;
		flex-direction: column;
		align-items: center;
		gap: 40px;
		width: 30%;
		max-width: 480px;
	}
	.labe_sol{
		width: 100%;
		aspect-ratio: 1/1;
		display: flex;
		justify-content: center;
		align-items: center;
		background: url('../img/sol.png') no-repeat;
		background-size: cover;
	}
	.flex{
		display: flex;
		flex-direction: column;
		justify-content: center;
		align-items: center;
		gap: 16px;
		width: 32%;
	}
	.labe_sol label{
		display: block;
		position: relative;
	}
	.labe_sol input{
		display: block;
		width: 100%;
		background: transparent;
		border-bottom: 1px solid #000;
	}
	.btn_login{
		background: transparent;
		width: 60%;
		max-width: 280px;
		cursor: pointer;
	}
	.back{
		top: 30px;
		left: 20px;
		font-size: 20px;
	}

	@media screen and (max-width: 768px){
		.logear{
			width: 100%;
			max-width: 300px;
		}
	}

/*HEADER*/
	header{
		display: flex;
		justify-content: center;
	}
	header .area_segura{
		flex-direction: row;
	}
	.menu{
		--logo: 210px;
		display: grid;
		grid-template-columns: calc(50% - var(--logo)/2) var(--logo) calc(50% - var(--logo)/2);
		width: 100%;
		font-size: 20px;
		padding-top: 44px;
	}
	.lado{
		display: flex;
		justify-content: space-between;
		align-items: flex-start;
		gap: 4px;
	}
	.menu a{
		display: block;
		padding: 0;
		padding-bottom: 4px;
		border-bottom: 1px solid transparent;
		transition-duration: 0.4s;
		text-transform: uppercase;
		box-shadow: none;
	}
	.menu a:hover{
		border-color: #000;
	}
	
	.logo{
		margin-top: -20px;
		padding: 0 3px;
	}

	.cont_cerrar,
	.menu_mobile{
		display: none;
	}
	.btn_menu,
	.btn_cerrar{
		cursor: pointer;
	}

	footer{
		display: flex;
		justify-content: center;
		padding: 40px 0;
	}
	footer p{
		font-size: 24px;
	}

	@media screen and (max-width: 768px){
		.cont_menu{
			display: flex;
			flex-direction: column;
			gap: 24px;
			position: fixed;
			top: 0;
			left: 0;
			width: 100%;
			height: 100vh;
			background: #F5DDDE;
			padding: 20px;
			z-index: 10;
			transform: translateX(-100%);
			transition-duration: 0.4s;
		}
		.cont_menu.on{
			transform: translateX(0);
		}
		.cont_cerrar{
			display: flex;
		}
		.menu,
		.lado{
			display: flex;
			flex-direction: column;
			gap: 56px;
			font-size: 24px;
			align-items: center;
			justify-content: flex-start;
			padding: 0;
		}
		.menu .logo{
			display: none;
		}
 	
 		.menu_mobile{
 			--btn: 44px;
 			display: grid;
 			grid-template-columns: var(--btn) 101px var(--btn);
 			justify-content: space-between;
 			align-items: flex-start;
 			padding-top: 44px;
 		}
 		.logo{
 			margin: 0;
 		}

		footer p{
			font-size: 15px;
		}
		footer{
			padding-bottom: 24px;
		}
	}

/*HOME*/
	.home{
		gap: 50px;
		padding-top: 240px;
		position: relative;
	}
	.home p{
		font-size: 36px;
		width: 80%;
	}
	.flores{
		top: 0;
		right: 0;
		z-index: 1;
	}
	.cards{
		left: 0;
		bottom: 0;
		transform: translateY(-15%);
	}
	.home-intro img{
		width: 56%;
		max-width: 777px;
	}

	div.home_img{
		width: calc(100% + 40px);
		transform: translateX(-20px);
		z-index: 0;
	}

	@media screen and (max-width: 768px){
		.home{
			padding-top: 130px;
			gap: 32px;
		}
		.home p{
			width: 100%;
			font-size: 16px;
		}
		.home>div{
			padding: 0 30px;
		}
		.home_title{
			flex-direction: column;
			align-items: center;
			gap: 30px;
		}
		.home_title-img{
			width: 45%;
			min-width: 180px;
		}
		.cards{
			position: relative;
			transform: none;
			display: flex;
			width: 100%;
			margin-top: -20px;
		}
		.cards img{
			width: 115px;
		}
		.flores{
			width: 20%;
			min-width: 140px;
			top: 50px;
		}
		div.home_img{
			padding: 0;
		}
	}
	@media screen and (max-width: 425px){
		.home-intro img{
			width: 100%;
		}
	}
	
/*EVENTS*/
	.events{
		padding-top: 72px;
	}
	div.grid_1{
		grid-template-columns: 17% auto 14%;
		max-width: 1280px;
		margin: 0 auto;
		padding-top: 20px;
	}
	.grid_1 img{
		margin: -20px 0;
	}
	.event-title img{
		width: 52%;
		max-width: 723px;
	}
	.event-title img.esp{
		width: 72%;
		max-width: 998px;
	}
	.event-title2{
		margin: 80px 0 20px 0;
	}
	.event-title2 img{
		width: 66%;
		max-width: 923px;
	}
	.event-title2 img.esp{
		width: 77%;
		max-width: 1077px;
	}
	div.grid_2{
		/*grid-template-columns: auto 720px auto;*/
		grid-template-columns: auto minmax(350px, 50%) auto;
		justify-content: space-between;
		max-width: 1280px;
		gap: 12px;
		margin: 0 auto;
	}
	.grid_2 img{
		transform: translateY(-20%);
	}
	.event_note{
		padding: 40px 0;
	}

	@media screen and (max-width: 768px){
		.events{
			padding-top: 40px;
		}
		div.grid_1{
			display: block;
		}
		.span_grid{
			display: inline-grid;
			grid-template-columns: 80px auto 80px;
			align-items: center;
			gap: 12px;
		}
		div.grid_2{
			grid-template-columns: 70px 180px 60px;
			align-items: center;
			justify-content: center;
		}
		.grid_2 img{
			transform: none;
		}
		.event-title img{
			width: 75%;
			max-width: 380px;
		}
		.event-title2 img{
			width: 90%;
			max-width: 480px;
		}
		.event-title img.esp{
			width: 92%;
			max-width: 524px;
		}
		.event-title2 img.esp{
			width: 90%;
			max-width: 560px;
		}
	}

/*TRAVEL*/
	.travel_fd{
		background: url('../img/travel-img.png') no-repeat;
		background-size: contain;
		background-position: bottom center;
	}
	.travel{
		padding-top: 72px;
		gap: 30px;
	}
	.travel-title img{
		width: 35%;
		max-width: 483px;
	}
	.travel-title img.esp{
		width: 42%;
		max-width: 588px;
	}
	div.doble_img{
		display: grid;
		grid-template-columns: 41% 28% 31%;
		justify-content: space-between;
	}
	div.doble_img img{
		margin: -40px 0;
	}
	.travel-title2 img{
		width: 30%;
		max-width: 399px;
	}
	.travel-title2 img.esp{
		max-width: 297px;
	}
	div.grid_3{
		grid-template-columns: repeat(3, 1fr);
	}
	.item_grid{
		display: flex;
		flex-direction: column;
		align-items: center;
		gap: 8px;
	}
	.espacio_fd{
		aspect-ratio: 1/0.29
	}

	@media screen and (max-width: 768px){
		.travel_fd{
			background-image: url('../img/travel-img_mob.png');
		}
		.travel{
			padding-top: 40px;
		}
		div.doble_img{
			grid-template-columns: 30% 28% 31%;
		}
		div.doble_img img{
			margin: 0;
		}
		.travel-title img {
		    width: 52%;
		    max-width: 254px;
		}
		.travel-title img.esp{
			width: 64%;
		    max-width: 300px;
		}
		.travel-title2 img {
		    width: 39%;
		    max-width: 220px;
		}
		.item_grid img{
			height: 36px;
		}
		.item_grid{
			font-size: 14px;
		}
		.espacio_fd{
			aspect-ratio: 0
		}

	}

/*EXPLORE*/
	.explore{
		padding-top: 72px;
		gap: 40px;
		font-size: 40px;
	}
	.explore-title img{
		width: 39%;
		max-width: 534px;
	}
	.col1{
		margin-top: 80px;
		gap: 20px;
	}
	.explore-title2 img{
		width: 49%;
		max-width: 685px;
	}
	.explore-google_map a{
		width: 35%;
		max-width: 490px;
	}
	div.grid_4{
		grid-template-columns: auto 350px auto;
		max-width: 1120px;
		margin: 0 auto;
	}
	.grid_4 img:first-child{
		transform: translateY(10%);
	}
	.grid_4 img:last-child{
		transform: translateY(5%);
	}
	.exp_espacio{
		aspect-ratio: 1/0.1;
	}
	div.grid_5{
		grid-template-columns: auto 43% auto;
		align-items: center;
		max-width: 1400px;
		margin: 0 auto;
	}
	.grid_5 img:first-child{
		margin-top: -30%;
	}
	.grid_5 img:nth-child(2){
		margin: 0 auto;
	}
	div.grid_6{
		grid-template-columns: 16.2% 38% 17%;
		max-width: 1040px;
		margin: 0 auto;
	}
	.grid_6 .flex_colum{
		align-items: center;
		gap: 40px;
	}

	@media screen and (max-width: 768px){
		.explore{
			font-size: 16px;
			padding-top: 40px;
			gap: 20px;
		}
		.explore-title img {
		    width: 52%;
		    max-width: 284px;
		}
		.col1{
			margin-top: 20px;
			gap: 5px;
		}
		.explore-title2 img {
		    width: 60%;
		    max-width: 360px;
		}
		.explore-google_map a{
			width: 45%;
			max-width: 255px;
		}
		div.grid_4{
			grid-template-columns: 82px 35% 82px;
			justify-content: center;
		}

	}

/*REGISTRY*/
	.registry{
		padding-top: 72px;
		gap: 20px;
	}
	.registry-title img{
		width: 20%;
		max-width: 274px;
	}
	
	div.btns_registry{
		display: flex;
		justify-content: space-between;
		gap: 40px;
		padding: 20px;
		max-width: 780px;
		margin: 0 auto;
	}
	

	@media screen and (max-width: 768px){
		.registry{
			padding-top: 40px;
		}
		.registry-title img{
			width: 29%;
			max-width: 150px;
		}
		div.registry_img{
			width: calc(100% + 40px);
			transform: translateX(-20px);
			margin-bottom: -82px;
		}

	}

/*FAQ*/
	.faq{
		padding-top: 72px;
		gap: 40px;
	}
	.faq-title img{
		width: 16%;
		max-width: 217px;
	}
	.answ{
		flex-direction: column;
		gap: 80px;
		width: 100%;
		max-width: 980px;
		margin: 0 auto;
	}
	.faq_img{
		margin-top: 60px;
	}
	.faq_img img{
		width: 50%;
		max-width: 394px;
	}

	@media screen and (max-width: 768px){
		.faq{
			padding-top: 40px;
			gap: 20px;
		}
		.faq-title img{
			width: 21%;
			max-width: 120px;
		}
		.faq_img{
			margin-top: 30px;
		}
		.answ{
			gap: 36px;
		}
		.faq .exp_espacio{
			display: none;
		}
	}

