
/*
#####################################################
##	Estilos Generales
#####################################################
*/


/**** FUENTES ****/

@font-face {
	font-family: fontRegular;
	src:url(../fonts/Jost-Regular.ttf) format("truetype");
	font-weight:300;
	font-style:normal
}
@font-face {
	font-family: font-bold;
	src:url(../fonts/SofiaSansCondensed-Bold.ttf) format("truetype");
	font-weight:400;
	font-style:normal
}
@font-face {
	font-family: font-black;
	src:url(../fonts/SofiaSansCondensed-Black.ttf) format("truetype");
	font-weight:400;
	font-style:normal
}



body {
	background: var(--white);
	color: var(--body);
	font-family: fontRegular;
}

button:focus {
	outline: none;
}


a {
	transition: all .6s ease;
	color: var(--body);
}

.font-bold {
	font-family: font-bold;
}

.font-black {
	font-family: font-black;
}


h1,h2,h3,h4,h5,h6 {
	font-family: font-bold;
}
h1 {
	font-size: 32px;
}

@media(min-width:742px){
	h1 {
		font-size: 52px;
	}
}

@media(min-width:992px){
	h1 {
		font-size: 62px;
	}
}

@media(min-width:1400px){
	h1 {
		font-size: 72px;
	}
}

h2 {
	font-size: 26px;
}

@media(min-width:742px){
	h2 {
		font-size: 36px;
	}
}

@media(min-width:992px){
	h2 {
		font-size: 46px;
	}
}

@media(min-width:1400px){
	h2 {
		font-size: 56px;
	}
}

h3,h4,h5,h6 {
	font-size: 20px;
}

@media(min-width:742px){
	h3,h4,h5,h6 {
		font-size: 26px;
		line-height: 26px;
	}
}

@media(min-width:1400px){
	h3,h4,h5,h6 {
		font-size: 36px;
		line-height: 36px;
	}
}

.contenedor-content-text a {
	color: var(--secondary);
	text-decoration: underline;
}
.contenedor-content-text h1,h2,h3,h4,h5,h6 {
	display: inline-block;
	width: 100%;
}
.contenedor-content-text ul {
	margin: .5rem 0;
}

.contenedor-content-text ul li {
	list-style: disc;
	list-style-position: inside;
}

.contenedor-content-text p {
	display: inline-block;
	width: 100%;
	margin-bottom: .5rem;
}

/*** Página predeterminada ***/

.contenedor-pagina--predeterminada p {
	display: block;
	width: 100%;
}


/* Botón principal */

.btn-primary {
	background-color: var(--primary);
	text-transform: uppercase;
	font-family: font-bold;
	padding: .8em 2.5rem;
	box-sizing: border-box;
    display: inline-block;
	color: #000000;
	transition: .1s ease-in-out all;
}

.btn-primary--revert {
	background-color: white;
	color: var(--body);
	text-transform: uppercase;
	font-family: font-bold;
	padding: .8rem 2.5rem;
	box-sizing: border-box;
    display: inline-block;
	transition: .1s ease-in-out all;
}

.btn-primary--revert:hover {
	background-color: rgba(255,255,255, 0.8);
}

.btn-primary:hover {
	background-color: var(--primaryhover);
}

/*** Inputs Generales ***/

input:focus {
	outline: none;
}

input[type=submit] {
	cursor: pointer;
}

input[type=submit]:disabled {
	opacity: .8;
}

input[type=checkbox] {
	border: 1px solid #ACACB7;
    width: 15px;
    height: 15px;
	border-radius: 4px;
	position: relative;
}

input[type=checkbox]:checked:after {
	content: "";
    display: block;
    width: 7px;
    height: 14px;
    border: solid var(--primary);
    border-width: 0 2px 2px 0;
    -webkit-transform: rotate(45deg);
    -ms-transform: rotate(45deg);
    transform: rotate(45deg);
    position: absolute;
    bottom: 8px;
	left: 6px;
	top: -4px;
}

input[type=radio] {
	border: 1px solid #A2A2A2;
    width: 15px;
    height: 15px;
	border-radius: 50%;
	position: relative;
}

input[type=radio]:checked:after {
	content: "";
	display: block;
	width: 100%;
	height: 100%;
	border-radius: 50%;
	background-color: var(--primary);
	position: absolute;
}

/*
#####################################################
##	FIN Estilos Generales
#####################################################
*/


/*
#####################################################
##	LANDING VALORACION
#####################################################
*/

.contenedor-landing-valoracion {
	background-position: center;
	background-size: cover;
	background-repeat: no-repeat;
	height: 100vh;
	min-height: 100vh;
}

.contenedor_thank_you {
	background-color: #ffffff;
    border-radius: 21px;
    width: 95%;
	padding: 1rem 0;
    margin: 0 auto;
    display: grid;
    box-shadow: 0px 8px 26px rgba(255, 255, 255, 0.35);
    overflow: hidden;
    position: relative;
	animation: aniThankYou;
	animation-duration: 1s;
	animation-iteration-count: 1;
	animation-direction: normal;
	opacity: 1;
}

@media screen and (min-width:768px){
    .contenedor_thank_you {
        width: 690px;
    }
}

@media screen and (min-width: 992px) {
	.contenedor_thank_you {
		min-height: 690px;
	}
}

.contenedor_thank_you .contenedor_image img {
	width: 70px;
	height: auto;
	position: absolute;
	animation: aniCheck;
	animation-duration: 2s;
	animation-iteration-count: 1;
	animation-direction: normal;
}

.contenedor_thank_you .contenedor_image {
	background-color: rgb(107 181 119);
	width: 100px;
	height: 100px;
	padding: 1rem;
	border-radius: 50%;
	position: relative;
	display: flex;
	display: -ms-flexbox;
	flex-direction: row;
	align-items: center;
	justify-content: center;
}
.contenedor_thank_you .image_animation {
	width: 90px;
	height: 90px;
	padding: 1rem;
	border-radius: 50%;
	position: absolute;
	background-color: #ffffff;
}

@media screen and (min-width:992px){
	.contenedor_thank_you .contenedor_image {
		width: 150px;
		height: 150px;
	}
	.contenedor_thank_you .image_animation {
		width: 140px;
		height: 140px;
	}
	.contenedor_thank_you .contenedor_image img {
		width: 120px;
	}
}


.contenedor_thank_you .image_animation-two {
	position: absolute;
    left: 0px;
    width: 110px;
    height: 110px;
    background: #fff;
    transform: skewX(90deg);
	animation: auto linear 21.4463ms 1 normal none running aniCercle;
	animation-duration: 2s;
	animation-iteration-count: 1;
	animation-direction: normal;
}

@media screen and (min-width:992px){
	.contenedor_thank_you .image_animation-two {
		width: 160px;
    	height: 160px;
	}
}

@media screen and (min-width:992px){
	.contenedor_thank_you {
		width: 700px;
	}
}

@keyframes aniCercle {
	0% {
		transform: skewX(0deg);
	}
	50% {
		transform: skewX(45deg);
	}
	100% {
		transform: skewX(90deg);
	}
}

@keyframes aniThankYou {
	0% {
		opacity: 0;
	}
	50% {
		opacity: .5;
	}
	100% {
		opacity: 1;
	}
}

@keyframes aniCheck {
	0% {
		opacity: 0;
		width: 0px;
		transform: translateY(-1000%);
	}
	25% {
		opacity: 1;
		width: 90px;
		transform: translateY(0%);
	}
	50% {
		width: 70px;
	}
	75% {
		width: 90px;
	}
	100% {
		width: 70px;
	}
}

@media screen and (min-width:992px){
	@keyframes aniCheck {
		0% {
			opacity: 0;
			width: 0px;
			transform: translateY(-1000%);
		}
		25% {
			opacity: 1;
			width: 140px;
			transform: translateY(0%);
		}
		50% {
			width: 120px;
		}
		75% {
			width: 140px;
		}
		100% {
			width: 120px;
		}
	}

}


/*
#####################################################
##	FIN LANDING VALORACION
#####################################################
*/




/*
#####################################################
##	CONTACTO
#####################################################
*/

.linea-titulo-contacto {
    height: 3px;
    width: 130px;
    background-color: var(--primary);
    display: block;
}


.contenedor-form-contacto form p input[type="text"],
.contenedor-form-contacto form p input[type="tel"],
.contenedor-form-contacto form p input[type="email"] {
    padding: .5rem 1.5rem;
    border: 1px solid var(--light);
    border-radius: 6px;
    color: var(--body);
    font-size: 16px;
    width: 100%;
}

.contenedor-form-contacto form p input::placeholder {
    font-size: 16px;
    color: var(--light);
}

.contenedor-form-contacto form p textarea {
    padding: .5rem 1.5rem;
    border: 1px solid var(--light);
    border-radius: 6px;
    color: var(--body);
    font-size: 16px;
    height: 150px;
    max-height: 200px;
    width: 100%;
}

.contenedor-form-contacto form p textarea::placeholder {
    font-size: 16px;
    color: var(--light);
}

.contenedor-form-contacto .contenedor-input-politica .wpcf7-list-item {
    margin: 0 !important;
}

.contenedor-form-contacto .contenedor-input-politica .wpcf7-list-item label {
    display: flex;
    flex-direction: row;
    align-items: center;
}

.contenedor-form-contacto .contenedor-input-politica {
    font-size: 14px;
}

.contenedor-form-contacto .contenedor-input-politica input {
    margin-right: .5rem;
}

.contenedor-form-contacto .contenedor-input-politica a {
    color: var(--primary);
    text-decoration: underline;
}

.contenedor-form-contacto form p input[type="submit"] {
    background-color: var(--primary);
    color: #ffffff;
    padding: .5rem 2.5rem;
    border: 1px solid var(--primary);
    border-radius: 6px;
}

.contenedor-form-contacto form p input[type="submit"]:hover {
    background-color: transparent;
    color: var(--body);
}

/*
#####################################################
##	FIN CONTACTO
#####################################################
*/