/*  GENERAL  */

h2 {
	font-size: 34px;
	font-weight: 400;
}

h3 {
	font-size: 20px;
	font-weight: 500;
	letter-spacing: -0.03em;;
}

/* Contacto */

.contact {
	gap:50px;
}

.contact > .flex {
	width:100%;
	gap:30px;
}

.form, .info {
	width:100%;
	text-align:left;
	gap:30px;
}




/* Formulario */

.form, .data {
	background: white;
	box-shadow: var(--shadow);
	border-radius:20px;
	padding:50px
}

.form-row {
	display: flex;
	flex-direction: row;
	gap: 30px;
}

.txt-box {
	position:relative;
	width:100%;
	margin-bottom:30px;
	background:#f8f8fa;
}

.txt-box input, .txt-box textarea { 
	width:100%;
	padding:20px;
	transition: var(--trs);
	font-family: var(--font);
	font-size: 15px !important;
	color: var(--text);
	border-radius:5px 5px 0 0;
	background: transparent;
}

input:focus, textarea:focus, input:not(:placeholder-shown), textarea:not(:placeholder-shown) {
	background:#f8f8fa;
}

textarea:focus, textarea:not(:placeholder-shown) {
	height:200px !important;
}

input:focus + label, textarea:focus + label, input:not(:placeholder-shown) + label, textarea:not(:placeholder-shown) + label {
	top:-4px; left:5px;
	font-size: 12px;
	opacity:1;
} 

.txt-box label {
	position:absolute;
	top:15px; left:15px;
	font-size: 15px;
	font-weight: 500;

	transition: var(--trs);
	pointer-events: none;
	transform-origin: left;
	opacity:.5;
}

button {
	font-size: 14px;
	font-weight: 500;
	text-align: center;
	padding: 15px 40px;
	border-radius: 30px;
	color: var(--white);
	/*background: linear-gradient(135deg, #007aff 0%, #0057b2 100%);*/

	background: var(--color-primary);
	transition: var(--trs);
}

button span {
	margin-left:15px;
}




/* Información de contácto */

.data ul {
	margin-top:20px;
	padding:0;
}

.data ul > li {
	display: flex;
	align-items: center;
	padding:0;

	font-size: 14px;
	line-height:1.4em;
}

.data .ico, .data ul i {
	width:30px;
	color: var(--color-primary);
}

.data .tel {
	font-size: 16px;
	font-weight: 600;
	margin-bottom:20px;
}

.data .social {
	gap:10px;
}

.data .social a {
	display: inline-block;
	width: 30px; height: 30px;
	color: white;
	font-size: 14px;
	line-height: 30px;
	background-color: var(--color-primary);
	text-align: center;
	border-radius:50%;
}







/*  RESPONSIVE  */
@media only screen and (max-width: 980px) {
	.contact > .flex {
		flex-direction: column;
	}
}

@media only screen and (max-width: 425px) {
	.form, .data {padding:30px}
	.form-row {flex-direction: column; gap:0}
}

@media only screen and (max-width: px) {

}

@media only screen and (max-width: px) {

}

@media only screen and (max-width: px) {

}

@media only screen and (max-width: px) {

}

@media only screen and (max-width: px) {

}

@media only screen and (max-width: px) {

}

@media only screen and (max-width: px) {

}

@media only screen and (max-width: px) {

}

@media only screen and (max-width: px) {

}

