@font-face{
	font-family: 'Montserrat';
	src: url("../fonts/Montserrat-Regular.woff2");
	font-style: normal;
	font-weight: 400;
	font-display: swap;
}
@font-face{
	font-family: 'Montserrat';
	src: url("../fonts/Montserrat-SemiBold.woff2");
	font-style: normal;
	font-weight: 600;
	font-display: swap;
}
@font-face{
	font-family: 'Montserrat';
	src: url("../fonts/Montserrat-Bold.woff2");
	font-style: normal;
	font-weight: 700;
	font-display: swap;
}




:root{
	--rosa1: #DC2287;
	/*--rosa2: #FFF9FC;--*/
	--rosa2: #FDEEF6;
	--gris1: #263238;
	--gris2: #455A64;
	--gris3: #758892;
	--cyan1: #36BABF;
}

*{
	font-family: 'Montserrat', sans-serif;
}
.sombra{
	position: fixed;
	height: 100%;
	width: 100%;
	background-color: rgba(104, 14, 69, 0.51);
	top: 0;
	z-index: 30;
	display: none;
  	transition: all 1s;
	opacity: 0;
}
.visible-som{
	display: block;
	transition: all 1s;
	opacity: 1;
}
.menu-movil-icon{
	display: none;
	color: var(--rosa1);
	font-size: 32px;
}
.menu{
	width: 100%;
	height: auto;
	padding: 20px 0px;
	background: var(--rosa2);
}
.menu-container{
	display: flex;
	position: relative;
	align-items: center;
	justify-content: space-between;
}
.logo{
	height: 40px;
	width: 40px;
	aspect-ratio: 1/1;
}
.nav-list{
	position: absolute;
	margin: 0 auto;
	left: 0;
	right: 0;
	display: inline-block;
	text-align: center;
	width: fit-content;
}
.nav-items{
	display: flex;
	text-decoration: none;
	list-style: none;
	padding: 0px;
	margin: 0px;
	gap: 48px;
}
.nav-items_links{
	color: var(--rosa1);
	font-size: 16px;
	font-weight: 600;
	text-decoration: none;
}
.nav-items_links:visited{
	color: var(--rosa1);
}
.nav-items_links:hover{
	border-bottom: 2px solid var(--rosa1);
	color: var(--rosa1);
}
.banner{
	height: auto;
	padding: 25px 0px;
	width: 100%;
	background: var(--rosa2);
}
.banner_textos, .banner_image{
	height: 100%;
}
.banner_textos-title{
	font-size: 96px;
	color: var(--rosa1);
	font-weight: 700;
	line-height: 56px;
}
.banner_textos-subtitle{
	color: var(--rosa1);
	font-weight: 700;
	font-size: 48px;
}
.banner_textos-title span{
	font-size: 36px;
	color: var(--gris1);
	font-weight: 600;
}
.banner_textos-parrafo{
	font-size: 14px;
	color: var(--gris2);
	line-height: 200%;
	text-align: left;
}
.banner_textos-parrafo.services{
	font-size: 16px;
	font-weight: 600;
}
.btn-llamar{
	background: var(--cyan1);
	color: #ffffff;
	font-size: 16px;
	font-weight: 600;
	padding: 8px 40px;
	border-radius: 50px;
	text-decoration: none;
	position: relative;
	z-index: 10;
	display: inline-block;
	text-align: center;
	margin-top: 30px;
	border: 2px solid transparent;
	transition: all 0.4s;
}
.btn-llamar::before{
	background: var(--cyan1);
	content: "";
	height: 100%;
	width: 100%;
	transform: translateY(5px) scale(0.7);
	filter: blur(15px);
	position: absolute;
	z-index: -1;
	left: 0;
	right: 0;
	margin: 0 auto;
	transition: all 0.4s;
}
.btn-llamar i{
	margin-right: 5px;
}
.btn-llamar:hover{
	background: #ffffff;
	color: var(--cyan1);
	border-color: var(--cyan1);
	transition: all 0.4s;
}
.btn-llamar:hover::before{
	background: #fff0;
	filter: blur(0px);
	transform: translateY(-8px) scale(1);
	border-radius: 50px;
	transition: all 0.4s;
}

.banner_image{
	display: flex;
	justify-content: center;
	align-items: center;
}
.banner_image img{
	/*width: 606px;*/
	
}


.aspect-19{
	aspect-ratio: 16/9;
}
.aspect-1{
	aspect-ratio: 1/1;
}
.aspect-auto{
	aspect-ratio: auto;
}


/* ---------  servicios ----------*/
.servicios{
	height: auto;
	width: 100%;
	padding-top: 100px;
	padding-bottom: 100px;
	text-align: center;
}
.servicios-parrafo{
	font-size: 18px;
	color: var(--gris2);
	margin-bottom: 50px;
}
.servicios_container{
	width: 100%;
	display: grid;
	grid-template-columns: 1fr 1fr 1fr 1fr;
	gap: 30px;
}
.servicios_container-card{
	background: var(--rosa2);
	border: 2px solid var(--rosa1);
	color: var(--rosa1);
	border-radius: 10px;
	display: flex;
	justify-content: center;
	align-items: center;
	min-height: 80px;
	text-decoration: none;
}
.servicios_container-card.disable{
	background: #c6c3c3;
	border: 2px solid #a2a2a2;
	color: #999;
	cursor: no-drop;
}
.servicios_container-card:visited{
	color: var(--rosa1);
}
.servicios_container-card:hover{
	background: var(--rosa1);
	color: var(--rosa2);
}
.servicios_container-card.disable:hover{
	background: #c6c3c3;
	border: 2px solid #a2a2a2;
	color: #999;
	cursor: no-drop;
}
.servicios_container-card i{
	font-size: 24px;
	margin-right: 10px;
}
.servicios_container-card h3{
	font-size: 18px;
	margin-bottom: 0px;
	font-weight: 600;
}


/* -------- valores ---------*/
.valores{
	height: auto;
	width: 100%;
	padding-top: 10px;
	padding-bottom: 100px;
}
.valores_imagen{
	display: flex;
	justify-content: center;
}
.valores_imagen img{
	width: 419px;
}
.valores_texto{
	padding-left: 50px;
}
.valores_texto-title{
	font-size: 24px;
	color: var(--gris1);
	font-weight: 700;
	margin-bottom: 15px;
}
.valores_texto-parrafo{
	line-height: 200%;
	font-size: 16px;
	color: var(--gris3);
	margin-bottom: 30px;
}


/* ----------- social -------------*/
.social{
	height: auto;
	width: 100%;
	padding-top: 80px;
	padding-bottom: 80px;
	background: var(--rosa2);
}
.social_textos{
	color: var(--rosa1);
}
.social_textos-title{
	font-weight: 600;
	font-size: 24px;
	margin-bottom: 20px;
}
.social_textos-parrafo{
	line-height: 200%;
	font-size: 18px;
	font-weight: 400;
	margin-bottom: 15px;
}
.social_textos ul{
	list-style: none;
	margin: 0px;
	padding: 0px;
}
.social_textos ul li{
	line-height: 200%;
	font-size: 14px;
}
.social_textos ul li i{
	margin-right: 10px;
}

.social_images{
	display: grid;
	grid-template-columns: 1fr 1fr 1fr;
	gap: 30px;
	justify-items: center;
	align-items: center;
	padding: 60px 95px;
}
.social_images-item{
	width: 96px;
	border-radius: 100px;
}



/* ------------- footer ------------*/
footer{
	height: auto;
	width: 100%;
	padding: 50px;
	text-align: center;
	color: var(--gris2);
	font-weight: 400;
	font-size: 18px;
}
footer a:link{
	text-decoration: none;
	font-weight: 700;
	color: var(--gris1);
}
footer a:visited{
	color: var(--gris1);
}
footer a:hover{
	color: var(--gris1);
	border-bottom: 2px solid var(--gris1);
}



/*---------------------------- page services ------------------*/
.pady{
	padding: 90px 0px;
}
.img-service{
	height: 64px;
	width: 64px;
	aspect-ratio: auto;
	margin-bottom: 20px;
}
.service-item{
	padding-bottom: 150px;
}
.service-title{
	font-size: 24px;
	font-weight: 700;
	color: var(--gris1);
	text-transform: uppercase;
}
.service-parrafo, .service-span{
	font-size: 16px;
	line-height: 200%;
	color: var(--gris2);
	margin-top: 20px;
	margin-bottom: 30px;
}

.links-contacts{
	text-decoration: none;
	list-style: none;
	padding: 0px;
}
.link-item{
	color: var(--rosa1);
	display: flex;
	align-items: center;
}
.link-item i{
	font-size: 28px;
	font-weight: 700;
}
.link-w{
	text-decoration: none;
	color: inherit;
	font-size: 14px;
	font-weight: 600;
	margin-left: 10px;
}
.link-w:visited{
	color: var(--rosa1);
}
.link-w:hover{
	color: var(--cyan1);
}
.boton-agendar{
	color:var(--cyan1);
	font-size: 14px;
	font-weight: 600;
	padding: 5px 15px;
	border-radius: 10px;
	text-decoration: none;
	position: relative;
	display: inline-block;
	text-align: center;
	margin-top: 10px;
	border: 2px solid var(--cyan1);
	transition: all 0.4s;
}
.boton-agendar:hover{
	background: var(--cyan1);
	color: #ffffff;
}



.cards-container{
	padding: 30px 0px;
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 30px;
}

.card-item{
	background: var(--rosa2);
	padding: 25px;
}
.card-item_title{
	font-size: 18px;
	font-weight: 700;
	color: var(--gris1);
}
.card-item_description{
	font-size: 14px;
	line-height: 180%;
	color: var(--gris2);
	font-weight: 400;
}


/* ----- page programas ------*/
.programas-container{
	display: grid;
	grid-template-columns: 1fr 1fr 1fr;
	gap: 30px;
}

.programas-card{
	border: 2px solid var(--rosa1);
	padding: 25px 25px 100px;
	border-radius: 5px;
	position: relative;
}
.programas-card img{
	aspect-ratio: auto;
}
.programas-card_title{
	font-size: 18px;
	font-weight: 700;
	color: var(--rosa1);
	margin-bottom: 15px;
	margin-top: 15px;
}
.programas-card_subtitle{
	font-size: 14px;
	color: var(--gris3);
	line-height: 180%;
	font-weight: 400;
}
.programas-card_button{
	position: absolute;
	display: block;
	background: var(--rosa1);
	color: var(--rosa2);
	width: 90%;
	margin: 0 auto;
	bottom: 25px;
	right: 0;
	left: 0;
	border-radius: 5px;
	padding-top: 5px;
	padding-bottom: 5px;
	border: 0;
	text-align: center;
	cursor: pointer;
	transition: all 0.3s;
	box-shadow: 0 8px 0 #ea7ab7;
}
.programas-card_button:active{
	transform: translateY(4px);
	box-shadow: 0 4px 0 #ea7ab7;
}

.modal-header.programas{
	background: var(--rosa1);
	color: var(--rosa2);
}
.modal-title.programas{
	font-weight: 700;
}
.modal-body.programas p{
	font-size: 16px;
	color: var(--gris1);
	line-height: 28px;
	margin-bottom: 25px;
}
.modal-body.programas ul{
	list-style: none;
	margin: 0;
	padding: 0;
	font-size: 16px;
	color: var(--gris1);
}
.modal-body.programas ul li:not(.item){
	list-style: disc;
	margin-left: 15px;
}
.modal-body.programas ul li h5{
	font-weight: 700;
	margin-top: 15px;
}

/* ---------------------------------------- responsive ----------------------------*/

@media screen and (max-width: 1199px){
	.social_images{
		padding: 60px 40px;
	}
}

@media screen and (max-width: 991px){
	/* --- banner ---*/
	.banner_textos-title{
		font-size: 56px;
		line-height: 35px;
	}
	/*--- servicios ---*/
	.servicios_container-card{
		flex-direction: column;
	}
	.servicios_container-card i{
		margin-right: 0px;
	}
	/* -- valores ---*/
	.valores_texto{
		padding-left: 0px;
	}
	.valores_texto-parrafo{
		font-size: 14px;
	}

	/* ------social --------*/
	.social_textos-parrafo{
		font-size: 16px;
		line-height: 180%;
	}
	.social_textos ul li{
		font-size: 12px;
	}
	.social_images{
		padding-left: 0px;
		padding-right: 0px;
	}
	
	
	/* ----- page programas ---*/
	.programas-container{
		grid-template-columns: 1fr 1fr;
	}
}

@media screen and (max-width: 767px){
	/*-- menu movil icon ---*/
	.logo{
		height: 30px;
		width: 30px;
	}
	.menu-movil-icon{
		display: block;
	}
	.menu{
		position: fixed;
		top: 0;
		z-index: 50;
		padding: 5px 0px;
	}
	.nav-list{
		position: fixed;
		bottom: -100%;
		width: 95vw;
		background: var(--rosa1);
		padding: 25px;
		z-index: 100;
		border-radius: 15px 15px 0px 0px;
		max-height: 80vh;
		transition: all 0.6s;
	}
	.nav-items{
		flex-direction: column;
		gap: 10px;
	}
	.nav-items_links{
		color: var(--rosa2);
		display: block;
		padding: 15px 0px;
	}
	.nav-items_links:visited{
		color: var(--rosa2);
	}
	.nav-items_links:hover{
		color: var(--rosa2);
		border: 0px;
	}
	.nav-items_links:active{
		background: #A81766;
	}
	
	.visible{
		bottom: 0px;
		transition: all 0.6s;
	}
	
	
	
	
	
	/*--- banner ---*/
	.banner{
		height: auto;
		padding: 68px 0px 50px;
	}
	.banner_textos{
		text-align: center;
	}
	.banner_textos-title{
		margin-top: 10px;
		margin-bottom: 20px;
	}
	.banner_image img{
		width: 400px;
	}
	.banner_image.img-banner_service img{
		width: 250px;
	}

	/* ---- servicios ---*/
	.servicios_container{
		gap: 20px;
		padding-left: 0px;
		padding-right: 0px;
	}
	.servicios_container-card h3{
		font-size: 16px;
	}


	/* ---- valores ----*/
	.valores_imagen img{
		width: 200px;
	}

	/* --------social --------*/
	.social_images{
		grid-template-columns: 1fr 1fr 1fr 1fr;
	}
	
	
	
	/*   ----- page services ----*/
	.banner_textos-parrafo.services{
		text-align: center;
	}
	.cards-container, .programas-container{
		grid-template-columns: 1fr;
	}
	
	.programas-card{
		padding-bottom: 25px;
	}
	.programas-card_button{
		position: relative;
		bottom: 0;
	}
	
	
}

@media screen and (max-width: 575px){
	.banner_image img{
		width: 300px;
	}
	.banner_textos-title, .banner_textos-subtitle{
		font-size: 36px;
	}
	.banner_textos-title span{
		font-size: 24px;
	}
	.banner_textos-parrafo, .valores_texto, .social_textos{
		padding-left: 15px;
		padding-right: 15px;
	}

	.servicios{
		padding-top: 60px;
		padding-bottom: 60px;
	}
	.servicios-parrafo{
		font-size: 16px;
		padding-left: 30px;
		padding-right: 30px;
	}

	.servicios_container{
		grid-template-columns: 1fr 1fr;
		padding-left: 30px;
		padding-right: 30px;
		gap: 30px;
	}

	.valores{
		padding-bottom: 60px;
	}

	.social_images {
	    grid-template-columns: 1fr 1fr 1fr 1fr 1fr;
	    gap: 15px;
	    padding-left: 15px;
	    padding-right: 15px;
	}
    	.social_images-item {
	    width: 80px;
	}
	
	/* -----page services ----*/
	.banner_image.img-banner_service img{
		width: 200px;
	}
	.service-title{
		font-size: 18px;
	}
	.service-parrafo, .service-span, .banner_textos-parrafo.services{
		font-size: 14px;
	}
	.card-item_title{
		font-size: 16px;
	}

	/* ---page programas ---*/
	.programas-card img{
		width: 40px;
		height: 40px;
	}
	.programas-card_title{
		font-size: 16px;
		margin-top: 10px;
		margin-bottom: 10px;
	}
	.programas-card_subtitle {
		font-size: 12px;
	}
	.programas-card_button{
		font-size: 14px;
	}
	
	
	
	
	.modal-body.programas p, .modal-body.programas ul{
		font-size: 14px;
	}
	.modal-body.programas ul li h5{
		font-size: 16px;
	}

	
	
}


@media screen and (max-width: 440px){
	.social_images{
		grid-template-columns: 1fr 1fr 1fr;
		gap: 30px;
	}
}