@charset 'UTF-8';
@import url('reset.css');
@import url('https://fonts.googleapis.com/css2?family=Crimson+Pro:ital,wght@0,400;0,700;0,900;1,400&display=swap');
/*

Azul: #02278C;
Celeste: #4662AF;
Rosa: #D9456C;

Azul: rgba(2, 39, 140, 1);
Celeste: rgba(70, 98, 175, 1);
Rosa: rgba(217, 69, 108, 1);

*/
.fimanager {
	display: inline-block;
	font-family: "Flaticon";
	font-style: normal;
	font-weight: normal;
	font-variant: normal;
	line-height: 1rem;
	text-decoration: inherit;
	text-rendering: optimizeLegibility;
	text-transform: none;
	-moz-osx-font-smoothing: grayscale;
	-webkit-font-smoothing: antialiased;
	font-smoothing: antialiased;
	display: block;
}



/* --------- General --------- */
html {
	font-size: 16pt;
	/*scroll-behavior: smooth;*/
}
body {
	font-family: 'Crimson Pro', serif;
	font-size: 1rem;
	line-height: 1.4rem;
	font-weight: 300;
	margin: 0;
	padding: 0;
	background: url(../images/bk.png), linear-gradient(135deg, #02278C 0%, #D9456C 45%, #4662AF 90%);
	-webkit-font-smoothing: antialiased;
	background-repeat: no-repeat;
	background-position: center top;
}
h1 {
	font-size: 3rem;
	font-weight: 900;
	line-height: 4rem;
	border-bottom: solid 1rem;
}
h2 {
	font-size: 2.4rem;
	line-height: 2.4rem;
	font-weight: 700;
	margin-bottom: 1.4rem;
}
h3 {
	font-size: 1rem;
	line-height: 1.4rem;
	font-weight: 700;
	margin: 0 0 1.4rem;
}
h4 {
	font-size: 1.5rem;
	font-weight: 300;
	line-height: 2rem;
}
p {	
	margin-bottom: 1.4rem;
	max-width: 50ch;
}
strong {
	font-weight: 700;
}
a {
	text-decoration: underline;
	color: #FFFFFF;
	cursor: pointer;
}
a:hover {
	color: #D9456C;
}
hr {
	margin: 2rem auto;
	visibility: hidden;
}
img {
	max-width: 100%;
	height: auto;
	width: auto;
	margin: 0 auto 2rem;
}
em {
	font-style: italic;
}
.fondoCeleste {
	background-color: rgba(70, 98, 175, 0.1);
}
.fondoBlanco {
	background-color: #FFFFFF;
}
.bkinf {
	background: url(../images/bkinf.png), #ffffff;
	background-repeat: no-repeat;
	background-position: center bottom;
}
.bkinf2 {
	background: url(../images/bkinf2.png), #ffffff;
	background-repeat: no-repeat;
	background-position: center bottom;
}
.bksup {
	background: url(../images/bksup.png);
	background-repeat: no-repeat;
	background-position: center top;
}
.blanco {
	color: #FFF;
}
.slider p {
	position: relative;
	top: -1px;
	height: 2.2rem;
	padding: 0.2rem 0 0;
	overflow: hidden;
	text-align: center;
	color: #000000;
	background-color: rgba(255,255,255,1);
}

/* --------- MENU --------- */
#menu {
	position: fixed;
	top: 0;
	width: 100%;
	max-width: 1280px;
	/*height: 96px;*/

	display: flex;
	flex-wrap: wrap;
	align-items: center;
	transition: all 0.2s ease-in-out 0s;
	z-index: 100;
}
#menu.hide {
	top: 0;
	transition: top 0.5s;
}
#menu h1 {
	flex: 0 1 100px;
	color: #fff;
	margin-left: 5%;
}
#menu a {
	text-decoration: none;
}
#menu .botones {
	flex: 1 1 300px;
	text-align: right;
	margin: 0 5%;

}
#menu .navBut{ 
	position: relative;
	margin-right: 1rem;
	font-weight: 700;
	text-decoration: none;
	color: #fff;

}
#menu .botones .current::after {
	content: "";
	position: absolute;
	width: 100%;
	height: 5px;
	top: 1.2rem;
	left: 10px;
	background-color: rgba(217, 69, 108, 0.2);
}
#menu .navBut::before {
	content: "";
	position: absolute;
	width: 100%;
	height: 5px;
	top: 1.2rem;
	left: 10px;
	background-color: #D9456C;
	visibility: hidden;
	transform: scaleX(0);
	transition: all 0.2s ease-in-out 0s;
}
#menu .navBut:hover::before {
  visibility: visible;
  transform: scaleX(1);
}

/* --- CSS para el JS --- */
.menu-fixed {
	background-color: #FFFFFF;
	box-shadow: 2px 2px 10px 5px rgba(0, 0, 0, 0.1);
	transition: all 0.2s ease-in-out 0s;
}
.logoGradado {
	display: block;
	background: -webkit-linear-gradient(135deg, rgba(2,39,140,1) 0%, rgba(217, 69, 108, 1) 100%);
	-webkit-background-clip: text;
	-webkit-text-fill-color: transparent;
	transition: all 0.2s ease-in-out 0s;	
}
.logoBlanco {
	background: transparent;
	-webkit-background-clip: none;
	-webkit-text-fill-color: none;
	transition: all 0.2s ease-in-out 0s;	
}

/* ------------ CUERPO ------------ */
#inicio {
	position: relative;
	width: 100%;
	margin: 8rem 0 5rem;
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	align-items: center;
}
#inicio .texto {
	flex: 1 1 300px;
	max-width: 550px;
	margin: 3rem -75px 0 5%;
	font-size: 2.5rem;
	line-height: 3rem;
	font-weight: 700;
	text-align: right;
	color: #FFFFFF;
	z-index: 1;
}
#inicio .texto p {
	padding: 0 0 1.5rem;
	text-shadow: -3px 3px 0px #02278C, -1px 1px 1px #02278C,  1px -1px 0px #02278C,  -1px -1px 0px #02278C,  1px 1px 0px #02278C;
}

#inicio .texto .iconos {
	position: relative;
	display: inline-flex;
	font-size: 4rem;
	top: -1rem;
	color: #4662AF;
	text-shadow: 0px 3px 0px #02278C;
}
#inicio .corazones::before,
#inicio .corazones::after {
	position: relative;
	content: "♥·♥·♥";
	margin: 0 0.5rem;
	top: -2.2rem;
	font-size: 0.7rem;
	color: #4662AF;
	text-shadow: -2px 2px 1px #02278C;
}
#inicio .cerdito {
	flex: 0 1 400px;
	transform: rotate(10deg);
	margin: 1.5rem 8% 0 0; 
	background-color: #D9456C;
	border: solid 0.5rem ;
	border-bottom: solid 3rem;
	border-radius: 0.1rem;
	box-shadow: 10px 25px 0 #02278C;
	border-image-slice: 1;
	border-image-source: linear-gradient(135deg, #743ad5, #D9456C);
}
#inicio .cerdito img {
	margin-bottom: 0;
}

.contenedorModulos {
	padding: 8rem 0 0;
	width: 100%;
}
.centradoTXTmargen {
	margin: 0 auto;
	width: 90%;
	max-width: 900px;
	text-align: center;
}
.centradoTXTmargen p {
		max-width: 60ch;
		margin-left: auto;
		margin-right: auto;
	}
.moduloFlexBase {
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	align-items: stretch;
	padding: 0 0 6rem;
	margin: 0 5%;
}
.moduloFlexMedio {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	align-items: center;
	padding: 0 0 4rem;
	margin: 0 5%;
}

/* ------------ CAJAS 1 ------------ */
.cajas1 {
	flex: 1 1 300px;
	margin: 0 0.25rem;
}
.cajas1 img{
	display:block;
}
.ContVimeo {
	position:relative;
	padding:66.67% 0 0 0;
	margin: 0 0 2rem;
}
.vimeo {
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	margin: 0 auto;
	width: 100%;
	max-width: 800px;
	height: 100%;
}
/* ------------ CAJAS 2 ------------ */
/* ------ RECUADROS CATEGORIAS ----- */
.cajas2 {
	flex: 1 1 260px;
	text-align: center;
	margin: 4rem 1rem 0;
}
.cajas2 i{
	font-size: 8rem;
	color: #D9456C;
	margin: 0;
}
.cajas2 h3 {
	height: 2rem;
}
.cajas2 p {
	max-width: 340px;
	margin: 0 auto 1.4rem;
}

#galeria {
	display: block;
	height: 100%;
	padding: 1rem 0;
	border-left: solid 5px #4662AF;
	border-right: solid 5px #4662AF;
}
/* ------------ CAJAS 3 ------------ */
/* ------- BULLETS CABEZOTE -------- */
.cajas3 {
	flex: 0 1 260px;
	display: grid;
	column-gap: 1rem;
	margin: 4rem 1rem 0 0;
}
.cajas3 i{
	grid-column: 1 / span 1;
	display: block;
	height: 2rem;
	font-size: 3rem;
	align-self: center;
	justify-self: start;
	margin: 0;
}
.cajas3 .cifra {
	grid-column: 2 / span 1;
	font-size: 2rem;
	font-weight: 900;
	margin: 0;
}
.cajas3 .bullet {
	grid-column: 2 / span 1;
	display: block;
	height: 1rem;
	align-self: start;
	justify-self: start;
}

/* ------------ CAJAS 6 ------------ */
/* ---------- TABS PLANES ---------- */
.cajas6 {
	display: block;
	padding: 0 0 6rem;
}
/* --- TABS --- */
.pc-tab > input,
.pc-tab section > div {
	display: none;
}
#tab1:checked ~ section .tab1,
#tab2:checked ~ section .tab2,
#tab3:checked ~ section .tab3 {
	display: block;
}
#tab1:checked ~ nav .tab1,
#tab2:checked ~ nav .tab2,
#tab3:checked ~ nav .tab3 {
	color: red;
}
.pc-tab {
	width: 100%;
	margin: 2rem auto 0 ;
}

.pc-tab ul {
	display: grid;
	grid-template-columns: 1fr 1fr 1fr;
	grid-gap: 1rem;
	list-style: none;
	margin: 0;
	padding: 0;
}
.pc-tab ul li {
	width: 100%;
	justify-self: stretch;
}
.pc-tab ul li label {
	font-size: 1.5rem;
	font-weight: 300;
	line-height: 1rem;
	float: left;
	width: 100%;
	padding: 15px 0;
	border: 1px solid #ddd;
	border-bottom: none;
	background: #FAE8ED;
	color: #000000;
}
.pc-tab ul li label:hover {
	cursor: pointer;
	color: #FFFFFF;
	background: #D9456C;
}
.pc-tab ul li label:active {
	background: #ffffff;

}
.pc-tab section {
	text-align: left;
	clear: both;
}
.pc-tab section .seccion {
	width: 100%;
	border: 1px solid #ddd;
	background: #fff;
	line-height: 1.5em;
	letter-spacing: 0.3px;
	color: #000000;
}
.pc-tab a{
	color: #000000;
	text-decoration: underline;
}
#tab1:checked ~ nav .tab1 label,
#tab2:checked ~ nav .tab2 label,
#tab3:checked ~ nav .tab3 label {
	cursor: default;
	background: white;
	color: #000000;
	position: relative;
}
#tab1:checked ~ nav .tab1 label:after,
#tab2:checked ~ nav .tab2 label:after,
#tab3:checked ~ nav .tab3 label:after {
	content: '';
	display: block;
	position: absolute;
	height: 2px;
	width: 100%;
	background: #ffffff;
	left: 0;
	bottom: -1px;
}
/* -- PLANES -- */
.descripcion{
	width: 100%;
	margin: 4rem auto;
	text-align: center;
}
.descripcion2 {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	align-items: stretch;
}
.descripcion2 .caja4b {
	flex: 2 2 200px;
	text-align: center;
	margin: 0 10px;
	padding: 0;
}
.descripcion2 .caja4 {
	flex: 3 3 400px;
}
.caja4 p {
	margin: 0 2rem 1.4rem 10px;
}
.descripcion h3{
	font-size: 2rem;
	line-height: 2rem;
}
.descripcion i{
	font-size: 5rem;
	color: rgba(217, 69, 108, 0.1);
	margin-bottom: -1.5rem;
}
.tablaPrecios {
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	border-top: 1px solid #ddd;
}
.tablaPrecios .plan h3 {
	margin-bottom: 0;
}
.tablaPrecios .plan p {
	margin-bottom: 1.4rem;
}
.tablaPrecios .precio {
	margin-bottom: 1.5rem;
}
.tablaPrecios p{
	margin: 0;
}
.asterisco {
	border-top: 1px solid #ddd;
	padding-top: 1rem;
}
.asterisco p {
	text-align: center;
	max-width: none;
	margin: 0 5% 1.4rem;
}
.tablaPrecios .valorCol2 {
	flex: 1 0 200px;
	padding: 2rem 1rem 0.5rem;
}

.tablaPrecios .valorCol2 .plan h3{
	font-weight: 900;
	font-size: 2rem;
}
.tablaPrecios .valorCol2 p {
	max-width: 25ch;
}
.tablaPrecios .valorCol2 .precio .valor {
	font-size: 2.5rem;
	line-height: 2.5rem;
	font-weight: 900;
	
}
.tablaPrecios .valorCol2 .ventajas p {
	margin-bottom: 1.4rem;
}
.txtAcentro h3,
.txtAcentro p {
	text-align: center;
	margin-left: auto;
	margin-right: auto;
}
/* ----- PREGUNTAS Y RESPUESTAS ---- */
.ac-container {
	width: 100%;
	max-width: 500px;
}
.ac-container label {
	position: relative;
	display: grid;
	grid-template-columns: 1rem auto;
	grid-gap: 1rem;
	font-size: 1.8rem;
	line-height: 2.4rem;
	padding: 1rem 0;
	margin: 1rem 0;
	cursor: pointer;
	border-bottom: 1px solid;

}
.pregunta {
	max-width: 20ch;
}
.ac-container label .flecha:before{
	font-weight: 900;
	color: #D9456C;
	content: '+';
	align-self: flex-end;
}
.ac-container label:hover {
	content: '';
	color: #D9456C;
	border-bottom: 1px #FFFFFF solid;
}
.ac-container input:checked + label,.ac-container input:checked + label:hover {
	cursor: default;
	text-decoration: none;
	border-bottom: none;
	color: #FFFFFF;
}
.ac-container label:hover:after,.ac-container input:checked + label:hover:after {
	content: '';
	position: absolute;    
}
.ac-container input {
	display: none;
}
.ac-container article {
	overflow: hidden;
	height: 0;
	position: relative;
	padding: 0 0 0 2rem;
}
.ac-container input:checked ~ article {
height: auto;   
}
.ac-container input:checked ~ label .flecha:before {
	content: '-';
}

/* ------------- FOOTER ------------ */
footer {
	width: 100%;
	color: #FFFFFF;
	background: url("../images/Pics6.png"), url(../images/bk.png);
	background-position:  right bottom, center bottom;
	background-repeat: no-repeat, no-repeat;
	background-color: #02278C;
	/*
	Azul: #02278C;
Celeste: #4662AF;
Rosa: #D9456C;
	background-image: url("../images/Pics6.png");
	background-position: right;
	background-repeat: no-repeat;*/
}
footer p {
	align-self: stretch;
	margin: 0;
	font-size: 1rem;
	margin: 0;
}
footer h3 {
	margin: 1rem 0 ;
}
footer a{
	color: #FFFFFF;
	text-decoration: none;
	max-width: 20ch;
}
.cajasPie {
	flex: 1 1 250px;
	margin: 0px;
}
.pie {
	display: grid;
	grid-template-columns: 1.5rem auto;
	grid-gap: 1rem;	
	margin: 1rem 0;
}
.pie i {
	display: inline;
	font-size: 1.5rem;
	margin-bottom: 1rem;	
}
.pie p {
	max-width: 20ch;
}
.pie2 {
	display: grid;
	grid-template-columns: repeat(4, 1.5rem);
	grid-gap: 1rem;	
	font-size: 1.5rem;
	margin: 1.5rem 0 ;
}
.legal {
	display: flex;
	flex-wrap: wrap;
	justify-content: flex-start;
	align-items: flex-start;
	width: 100%;
	padding: 1rem 0 1px;
	text-align: left;
	font-size: 0.8rem;
	line-height: 1rem;
	color: #ffffff;
	background-color: #000000;
}
.legal p {
	font-size: 0.7rem;
	line-height: 0.7rem;
	flex: 1 1 300px;
	max-width: 370px;
	margin-left: 5%;
}
.legal a, .legal a:hover{
	color: #ffffff;
}.legal img {
	margin: 0;
}

/* ---------------------- MEDIA QUERY ---------------------- */
@media (min-width: 1280px) {
	body {
		max-width: 1280px;
		margin: 0 auto;
	}
}
@media (max-width: 800px) {
	.centradoTXTmargen {
		width: 100%;
	}
	.centradoTXTmargen p {
		margin-left: 10px;
		margin-right: 10px;
	}
	.moduloFlexBase,
	.moduloFlexMedio  {
		margin: 0 10px;
	}
	.pc-tab section .seccion {
		border-left: none;
		border-right: none;
	}
	.tablaPrecios .valorCol2 {
		flex: 1 1 120px;
		
		padding: 2rem 1rem;
		text-align: center;
		border-top: 1px solid #ddd;
	}
	.tablaPrecios .valorCol2 p {
		max-width: 20ch;
		margin-left: auto;
		margin-right: auto;
	}
}
@media (max-width: 760px) {
	#menu {
		justify-content: space-between;
	}
	#menu h1 {
		font-size: 2rem;
		flex: 0 1 80px;
		border-bottom: solid #ffffff 0.7rem;
		line-height: 2.5rem;
	}
	#menu .botones {
		flex: 1 1 170px;		
		margin: 10px 10px 0 5px;

		display: flex;
		flex-wrap: wrap;
		justify-content: flex-end;
	}
	#menu .navBut{ 
		flex: 0 1 170px;
		font-size: 1rem;
		line-height: 1.2rem;
		display: block;

		margin: 0 0 5px;
		color: #fff;
	}
	#inicio .texto {
		order: 2;
		margin: -70px 5% 0rem;
		font-size: 2rem;
		line-height: 2rem;
		text-align: center;
	}
	#inicio .cerdito {
		order: 1;
		transform: rotate(5deg);
		margin: 1.5rem 0 0 0; 
	}
	.caja4 {
		order: 1;
	}
	.caja4b {
		order: 2;
	}
}
@media (max-height: 600px),
(max-width: 500px) {
	#menu.hide {
		top: -150px;
		transition: top 0.5s;
	}
}
@media (max-width: 450px) {
	/*body {
		max-width: 310px;
	}*/
	.pc-tab ul {
		grid-gap: 0.5rem;
		width: 99%;
	}
	.contenedorModulos {
		padding: 3rem 0 0;
	}
	.moduloFlexBase,
	.moduloFlexMedio {
		padding: 0 0 2rem;
	}
	h2 {
		font-size: 1.5rem;
		line-height: 1.5rem;
		margin-bottom: 1.5rem;
	}
	h4 {
		font-weight: 700;
		font-size: 1rem;
	}
	hr {
		margin: 0;
		padding: 0;
	}
	#merc img,
	#gif img,
	#preguntasF img {
		width: 50%;
	}
	#inicio {
		margin: 5rem 0 1rem;
	}
	#inicio .cerdito img {
		width: 240px;
	}
	#inicio .cerdito {
		flex: 0 1 240px;
	}
	#inicio .texto {
		font-size: 1.7rem;
		line-height: 1.7rem;
	}
	.ac-container label {
		font-size: 1.2rem;
		line-height: 1.4rem;
	}
	.pregunta {
		font-weight: 700;
	}

	.pc-tab ul li label {
		font-size: 1rem;
	}
	footer {
		background-position: left;
	}
}