@import url('https://fonts.googleapis.com/css2?family=Poppins:ital,wght@0,100;0,200;0,300;0,400;0,500;0,600;0,700;0,800;0,900;1,100;1,200;1,300;1,400;1,500;1,600;1,700;1,800;1,900&display=swap');

@font-face {
    font-family: 'BigCaslon';
    src: url('fonts/BigCaslon.eot');
    src: url('fonts/BigCaslon.eot') format('embedded-opentype'),
         url('fonts/BigCaslon.woff2') format('woff2'),
         url('fonts/BigCaslon.woff') format('woff'),
         url('fonts/BigCaslon.ttf') format('truetype'),
         url('fonts/BigCaslon.svg#BigCaslon') format('svg');
}
@font-face {
    font-family: 'Astallya';
    src: url('fonts/AstallyaScriptRegular.eot');
    src: url('fonts/AstallyaScriptRegular.eot') format('embedded-opentype'),
         url('fonts/AstallyaScriptRegular.woff2') format('woff2'),
         url('fonts/AstallyaScriptRegular.woff') format('woff'),
         url('fonts/AstallyaScriptRegular.ttf') format('truetype'),
         url('fonts/AstallyaScriptRegular.svg#AstallyaScriptRegular') format('svg');
}

:root{
	--astallya: 'Astallya';
	--bigcaslon: 'BigCaslon';
	--gris: #666f70;
	--dorado: #cbae8d;
	--azul: #98abad;
	--cafe: #ccae8e;
	--fondo: #99abae;
}
html{
	scroll-behavior: smooth;
}
body{
	margin: 0 auto;
	font-family: "Poppins", sans-serif;
	color: var(--gris);
	background-color: #FFF;
}
section{
	position: relative;
	width: 100%;
}
body > img{
	position: relative;
	width: 100%;
	vertical-align: top;
}
nav{
	position: fixed;
	width: 100%;
	top: 0px;
	left: 0px;
	height: 100px;
	background-color: #FFF;
	display: flex;
	align-items: center;
	justify-content: center;
	z-index: 10;
}
nav > div{
	position: relative;
	width: 350px;
	height: 100%;
	background-image: url(images/logo-cm.png);
	background-repeat: no-repeat;
	background-position: center center;
	background-size: auto 100%;
}
nav > ul{
	position: relative;
	padding: 0px;
	margin: 0px;
	list-style: none;
	width: calc(100% - 350px);
	display: flex;
	justify-content: center;
	align-items: center;
}
nav > ul > li{
	box-sizing: border-box;
	padding: 1vw;
	cursor: pointer;
}
nav > ul > li:hover{
	font-weight: 700;
	font-style: italic;
}

.inicio > h2, .galeria > h2, .paquetes > h2, .paquetes > article > div > h2 > span, .pagos > h2, .beneficio > h2, .recomendaciones > article > h2, .ubicacion > h2, .paquetes > article > div > div > h2 > span, .beneficio > div > article > h2{
	font-family: var(--bigcaslon);
}

.inicio{
	background-image: url(images/01-PORTADA.jpg);
	background-position: center center;
	background-size: cover;
	background-repeat: no-repeat;
	height: 60vw;
	margin-top: 100px;
}
.inicio > h2{
	font-size: 5vw;
    margin: 0px;
    letter-spacing: 5vw;
    text-align: center;
    color: #FFF;
    font-weight: 100;
    padding-top: 2vw;
}

.recuerdos{
	width: 50%;
    padding-left: 25%;
    padding-right: 25%;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    padding-top: 3vw;
    padding-bottom: 4vw;
}
.recuerdos > h2{
	font-family: var(--astallya);
    font-size: 10vw;
    font-weight: 100;
    margin: 0px;
	color: var(--dorado);
}
.recuerdos > h3{
    font-size: 1.8vw;
    font-weight: 500;
    margin: 0px;
    letter-spacing: .3vw;
}
.recuerdos > h3 > span{
	font-weight: 800;
	font-style: italic;
}
.recuerdos > p{
	font-size: 1.3vw;
	font-weight: 500;
	text-align: center;
}
.recuerdos > div{
	position: relative;
	width: 2px;
	height: 3vw;
	padding-top: 5vw;
	background-color: var(--gris);
}

.galeria{
	padding-top: 3vw;
	background-color: var(--gris);
}
.galeria > h2{
	position: relative;
	z-index: 3;
	font-size: 6vw;
	margin: 0px;
	margin-top: -6.5vw;
	font-weight: lighter;
	color: var(--dorado);
	text-align: center;
}
.galeria > h2 > span{
	font-style: italic;
}
.galeria > img{
	position: relative;
	width: 6%;
}
.galeria > img:nth-child(4){
	width: 9%;
	top: 3vw;
	margin-left: 90%;
}
.galeria > div{
	position: relative;
	width: 90%;
	margin-left: 5%;
	margin-right: 5%;
	overflow: hidden;
}
.galeria > div img{
	position: relative;
	width: 100%;
	cursor: pointer;
	animation-name: encuadra;
	animation-duration: .5s;
	animation-fill-mode: forwards;
	border:solid 2px transparent;
}
.galeria > div img:hover{
	border:solid 2px var(--dorado);
}
@keyframes redondea{
	from{border-radius: 0vw}
	to{border-radius: 2vw}
}
@keyframes encuadra{
	from{border-radius: 2vw}
	to{border-radius: 0vw}
}
.galeria > article{
	position: absolute;
	top: 0px;
	left: 0px;
	width: 100%;
	height: 100%;
	background-color: rgba(255,255,255,.9);
	z-index: 2;
	display: none;
}
.galeria > article > p{
	position: absolute;
	top: 80px;
	right: 50px;
	width: 40px;
	height: 40px;
	text-align: center;
	line-height: 40px;
	font-size: 24px;
	font-weight: 500;
	background-color: var(--dorado);
	cursor: pointer;
	z-index: 5;
	color: #FFF;
}
.galeria > article > p:hover{
	background-color: var(--azul);
}
.galeria > article > div{
	position: relative;
	width: 100%;
	height: 100%;
	display: flex;
	justify-content: center;
	align-items: center;
}
.galeria > article > div > img{
	position: relative;
	height: 75%;
}
.swiper{
	margin-bottom: 2vw;
}

.paquetes{
	z-index: 2;
	padding-top: 8vw;
}
.paquetes > h2{
	font-size: 4vw;
	text-align: center;
	font-weight: 300;
}
.paquetes > h2 > span{
	font-style: italic;
}
.paquetes > article > div{
	position: relative;
	display: flex;
	flex-direction: column;
	justify-content: center;
	align-items: center;
}
.paquetes > article > div:nth-child(1){
	background-image: url(images/02-PKT-1.jpg);
	background-position: right center;
	background-repeat: no-repeat;
	background-size: 31%;
	height: 42vw;
}
.paquetes > article > div > div{
	position: relative;
	display: flex;
/*	justify-content: center;*/
	align-items: center;
	width: 70%;
}
.paquetes > article > div > div > h3{
	font-size: 9vw;
	font-weight: 500;
	padding-right: 2vw;
	margin: 0px;
	line-height: 1;
}
.paquetes > article > div > div > h2{
	font-size: 2vw;
	letter-spacing: .5vw;
	font-weight: 700;
	margin: 0px;
}
.paquetes > article > div > div > h2 > span{
	font-size: 3.5vw;
	font-weight: 400;
}
.paquetes > article > div > ul{
	color: var(--azul);
	font-size: 1.3vw;
	list-style: circle;
	font-weight: 400;
	padding-left: 16vw;
	width: 40%;
    letter-spacing: .1vw;
    padding-right: 30%;
}
.paquetes > article > aside{
	position: relative;
}
.paquetes > article > aside > img{
	position: relative;
}
.paquetes > article > aside > img:nth-child(1){
	width: 20%;
	top: -22vw;
}
.paquetes > article > aside > img:nth-child(2){
	width: 60%;
	margin-top: -2vw;
}
.paquetes > article > div > img{
	position: relative;
    width: 47%;
    margin-top: -33vw;
    margin-left: 53%;
}
body > img:nth-child(5){
	margin-top: -6vw;
	z-index: 1;
}
.contenedor{
	background-image: url(images/back-pagos.png);
	background-position: top center;
	background-size: auto 100%;
}
.pagos{
	
	z-index: 3;
	padding-top: 8vw;
	padding-bottom: 5vw;
}
.pagos > img:nth-child(1){
	position: absolute;
	width: 100%;
	top: -32vw;
}
.pagos > h2{
	font-size: 4vw;
	text-align: center;
	font-weight: 300;
}
.pagos > h2 > span{
	font-style: italic;
}
.pagos > p{
	position: relative;
    width: 40%;
    padding-left: 30%;
    padding-right: 30%;
    font-size: 1.4vw;
    text-align: center;
}
.pagos > div{
	position: relative;
	display: flex;
	justify-content: center;
	align-items: flex-start;
	padding-top: 3vw;
}
.pagos > div > article{
	position: relative;
	width: 22%;
	margin: 1vw;
	margin-left: 3%;
	margin-right: 3%;
}
.pagos > div > article > div{
	position: relative;
	display: flex;
	align-items:  center;
	justify-content: center;
}
.pagos > div > article > div > div{
	position: relative;
	width: 6vw;
	height: 6vw;
	margin: .5vw;
	border-radius: 3vw;
	background-color: #FFF;
	background-position: center center;
	background-size: 130%;
}
.pagos > div > article > h3{
	font-size: 7vw;
	margin: 0px;
	line-height: 1;
	color: var(--azul);
	margin-top: 2vw;
	text-align: center;
}
.pagos > div > article > p{
	font-size: 1.5vw;
	margin: 0px;
	line-height: 1;
	color: var(--azul);
	margin-top: 2vw;
	text-align: center;
}
.pagos > div > article > p > span{
	font-style: italic;
	font-weight: 600;
}
.beneficio{
	padding-top: 5vw;
}
.beneficio > div{
	position: relative;
	display: flex;
}
.beneficio > div > img:nth-child(1){
	position: relative;
    width: 43%;
    margin-left: -17%;
    height: fit-content;
}
.beneficio > div > article{
	position: relative;
	width: 40%;
	margin-left: 4%;
	text-align: center;
}
.beneficio > div > article > h2{
	font-size: 4vw;
	text-align: center;
	font-weight: 300;
}
.beneficio > div > article > h2 > span{
	font-style: italic;
}
.beneficio > div > article > h3{
	font-weight: 800;
	font-style: italic;
	font-size: 2.7vw;
	margin: 0px;
	line-height: 1.5;
}
.beneficio > div > img:nth-child(3){
	position: relative;
	width: 22%;
	margin-left: 8%;
}
.beneficio > img{
	position: relative;
	width: 100%;
}
.photobook{
	display: flex;
	justify-content: center;
	align-items: center;
	padding-top: 8vw;
}
.photobook > video{
	position: relative;
	width: 70%;
}
.recomendaciones{
	display: flex;
	flex-direction: column;
	justify-content: center;
	align-items: center;
	padding-top: 8vw;
	padding-bottom: 5vw;
}
.recomendaciones > img{
	position: relative;
	width: 25%;
}
.recomendaciones > article{
	position: relative;
	width: 50%;
	border-radius: 2vw;
	border: solid 2px var(--dorado);
	box-sizing: border-box;
	padding: 3vw;
	margin-top: 3vw;
}
.recomendaciones > article > ul{
	list-style: circle;
}
.recomendaciones > article > ul > li{
	margin-bottom: 1vw;
	line-height: 1.1;
}
.recomendaciones > article > h2{
	background-color: #FFF;
    width: 80%;
    text-align: center;
    margin-top: -5vw;
    font-size: 3vw;
    margin-left: 10%;
}
.ubicacion{
	padding-top: 7vw;
	background-color: var(--fondo);
	display: flex;
	flex-direction: column;
	justify-content: center;
	align-items: center;
}
.ubicacion > h2{
	color: #FFF;
	font-size: 5vw;
	font-weight: 400;
	text-align: center;
	line-height: 1;
}
.ubicacion > h2 > span{
	font-style: italic;
	font-size: 2.5vw;
}
.ubicacion > img:nth-child(1){
	position: absolute;
    width: 22%;
    top: -11vw;
    left: 0px;
}
.ubicacion > img:nth-child(2){
	position: absolute;
    width: 22%;
    top: 20vw;
    right: 5%;
}
.ubicacion > img:nth-child(5){
	position: relative;
	width: 70%;
	z-index: 2;
}
.ubicacion > a, .ubicacion > article > a{
	position: relative;
	border:solid 1px #FFF;
	border-radius: .7vw;
	font-size: 2vw;
	font-weight: 800;
	padding: .5vw;
	padding-right: 2vw;
	padding-left: 2vw;
	color: #FFF;
}
.ubicacion > a:hover{
	background-color: #FFF;
	color: var(--fondo);
}
.ubicacion > article > a:hover{
	background-color: #FFF;
	color: var(--cafe);
}
.ubicacion > article{
	position: relative;
    width: 100%;
    background-color: var(--cafe);
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    padding-top: 10vw;
    padding-bottom: 10vw;
    margin-top: -12vw;
}
.ubicacion > article > h3{
	font-size: 4vw;
	font-weight: 400;
	line-height: 1;
	text-align: center;
	color: #FFF;
}
.ubicacion > article > h3 > span{
	font-weight: 700;
}
footer{
	display: flex;
	align-items: center;
	justify-content: center;
}
footer > aside, footer > article{
	position: relative;
	width: 50%;
	padding-bottom: 5vw;
	padding-top: 2vw;
}
footer > aside{
	display: flex;
	flex-direction: column;
	justify-content: center;
	align-items: center;
}
footer > aside > p, footer > aside > a{
	font-weight: 500;
	font-size: 1.2vw;
	text-align: center;
	letter-spacing: .15vw;
}
footer > article{
	position: relative;
    width: 50%;
    background-color: var(--fondo);
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
}
footer > article > h3{
	font-size: 4vw;
	font-weight: 400;
	line-height: 1;
	text-align: center;
	color: #FFF;
}
footer > article > h3 > span{
	font-weight: 700;
}
footer > article > a{
	position: relative;
	border:solid 1px #FFF;
	border-radius: .7vw;
	font-size: 2vw;
	font-weight: 800;
	padding: .5vw;
	padding-right: 2vw;
	padding-left: 2vw;
	color: #FFF;
}
footer > article > a:hover{
	background-color: #FFF;
	color: var(--fondo);
}
.hamburger{
	display: none !important;
}
@media (max-width: 480px){
	nav{
		height: 70px;
	}
	nav > ul{
		position: fixed;
		width: 100%;
		height: 100vh;
		padding-top: 25vw;
		display: flex;
		flex-direction: column;
		justify-content: flex-start;
		background-color: #FFF;
		top: 70px;
		align-items: center;
		display: none;
	}
	nav > ul > li{
		width: 100%;
		text-align: center;
		font-size: 7vw;
		line-height: 15vw;
	}
	nav > div{
		width: 80%;
		background-position: left center;
	}
	.hamburger{
		z-index: 13 !important;
		display: block !important;
		top: 3vw !important;
	}
	.hamburger-inner, .hamburger-inner::before, .hamburger-inner::after{
		background-color: var(--fondo) !important;
	}
	.recuerdos{
		width: 80%;
		padding-left: 10%;
		padding-right: 10%;
		padding-top: 10vw;
		margin-bottom: 10vw;
	}
	.recuerdos > h2{
		font-size: 16vw;
		color: var(--fondo);
	}
	.recuerdos > h3{
		color: var(--dorado);
		font-size: 5vw;
	}
	.recuerdos > p{
		font-size: 4vw;
	}
	.galeria > h2{
		font-size: 10vw;
		margin-top: -9.5vw;
	}
	.galeria > article > div > img{
		height: auto;
		width: 90%;
	}
	.paquetes{
		width: 80%;
		padding-right: 10%;
		padding-left: 10%;
	}
	.paquetes > h2{
		font-size: 9vw;
	}
	.paquetes > article > div:nth-child(1){
		background-image: none;
		height: auto;
	}
	.paquetes > article > div > div{
		width: 100%;
	}
	.paquetes > article > div > div > h3{
		font-size: 22vw;
	}
	.paquetes > article > div > ul{
		width: 85%;
		font-size: 4vw;
		padding-right: 0%;
	}
	.paquetes > article > div > div > h2{
		font-size: 5vw;
	}
	.paquetes > article > div > div > h2 > span{
		font-size: 7.5vw;
	}

	.paquetes > article > aside{
		display: flex;
    	flex-direction: column-reverse;
    	background-image: url(images/02-PKT-1.jpg);
    	background-size: 50%;
        background-repeat: no-repeat;
        background-position: 39vw 50vw;
	}
	.paquetes > article > aside > img:nth-child(1){
		width: 45%;
	    top: -10vw;
	    margin-left: -8%;
	}
	.paquetes > article > aside > img:nth-child(2){
		width: 90%;
	    margin-top: -2vw;
	    margin-left: 20%;
	}
	.paquetes > article > div > img{
		margin-top: 0px;
		width: 100%;
	    margin-left: 20%;
	    margin-top: -10vw;
	}
	.pagos{
		padding-top: 38vw;
		padding-bottom: 47vw;
	}
	.pagos > img:nth-child(1){
		top: -20vw;
	}
	.pagos > h2{
		font-size: 9vw;
	}
	.pagos > p{
		width: 80%;
	    padding-left: 10%;
	    padding-right: 10%;
	    font-size: 4vw;
	}
	.pagos > div{
		flex-direction: column;
	}
	.pagos > div > article{
		width: 80%;
	    margin-left: 10%;
	    margin-right: 10%;
	    margin-bottom: 15vw;
	}
	.pagos > div > article > div > div{
		width: 14vw;
		height: 14vw;
		border-radius: 8vw;
	}
	.pagos > div > article > h3{
		font-size: 14vw;
	}
	.pagos > div > article > p{
		font-size: 4vw;
	}
	.beneficio{
		verflow: visible;
    	z-index: 4;
	}
	.beneficio > div > img:nth-child(1){
		display: none;
	}
	.beneficio > div > article{
		width: 80%;
	    margin-left: 10%;
	    margin-right: 10%;
	}
	.beneficio > div > img:nth-child(3){
		position: absolute;
	    width: 36%;
	    margin-left: 0px;
	    right: 0px;
	    top: -80vw;
	}
	.beneficio > div > article > h2{
		font-size: 9vw;
	}
	.beneficio > div > article > h3{
		font-size: 5vw;
	}
	.photobook > video{
		width: 100%;
	}
	.recomendaciones > img{
		width: 40%;
	}
	.recomendaciones > article{
		width: 80%;
		border-radius: 10vw;
	}
	.recomendaciones > article > h2{
		font-size: 5vw;
		margin-top: -6vw;
		width: 84%;
		margin-left: 8%;
	}
	.recomendaciones > article > ul > li{
		margin-bottom: 4vw;
	}
	.ubicacion > h2{
		font-size: 9vw;
	}
	.ubicacion > h2 > span{
		font-size: 5vw;
	}
	.ubicacion > a, .ubicacion > article > a{
		font-size: 5vw;
		padding: 1vw;
		padding-left: 5vw;
		padding-right: 5vw;
	}
	.ubicacion > img:nth-child(5){
		width: 100%;
	}
	.ubicacion > article > h3{
		font-size: 8vw;
	}
	footer{
		padding-top: 7vw;
		padding-bottom: 7vw;
	}
	footer > article{
		display: none;
	}
	footer > aside, footer > article{
		width: 80%;
		padding-right: 10%;
		padding-left: 10%;
	}
	footer > aside > p, footer > aside > a{
		font-size: 4vw;
	}

}

.swiper-wrapper{
	align-items: center;
}

a{
	text-decoration: none;
	color: inherit;
}