.overlay{
	width: 100%;
	height: 100vh;
	position: fixed;
	top: 0; left: 0;
	background-color: rgba(0,0,0,0.3);
	z-index: 98;
	visibility: hidden;
	opacity: 0;
	transition: 600ms all ease;

	display: flex;
	flex-direction: column;
	flex-wrap: nowrap;
	justify-content: center;
	align-items: center;
}.overlay.visible{
	visibility: visible;
	opacity: 1;
}

	.message{
		display: block;
		width: 50%;
		background-color: var(--white);
		padding: 6rem;
		border-radius: 0.6rem;
		box-shadow: 0 0.3rem 0.4rem rgba(255,255,255,0.3);
		transform: translateY(-60rem);
		transition: 1.3s ease;
		opacity: 0;
	}.message.visible{
		opacity: 1;
		transform: translateY(0);
	}

		.message-header{
			text-align: center;
			margin-bottom: 2rem;
		}.message-header h3{
			font-family: "IbmPlexMonoItalic";
			font-size: 3rem; letter-spacing: 0.1rem;
			text-shadow: 0 0 0.3rem rgba(0,0,0,0.3);
		}.message-body p{
			text-align: center;
			letter-spacing: 0.1rem;
			font-family: "RobotoThin";
			font-size: 1.6rem;
			font-weight: bold;
			line-height: 3rem;
		}.message-footer{
			text-align: center;
			padding: 1rem 0;
		}

.cont-form{
	width: 100%;
	height: 70rem;
}

	.sub-cont-form{
		width: 100%;
		height: 70rem;
		padding: 3rem;
		background-image: url('../images/fondo-contacto.png');
		background-position: center;
		background-repeat: no-repeat;
		background-size: 100% 100%;
	}

		.cont-form-overlay{
			width: 100%;
			height: 70rem;
			background-color: rgba(0, 0, 0, 0.6);
		}

		.cont-form-title{
			text-align: center;
			font-size: 3.3rem;
			color: var(--white);
			font-family: "IbmPlexMonoItalic";
		}

			.cont-form-1{
				width: 100%;
				padding: 3rem 0;
				margin-top: 2rem;
			}

				.form{
					width: 90%;
					height: 50rem;
					margin: 0 auto;

					display: flex;
					flex-direction: row;
					justify-content: center;
					flex-wrap: nowrap;
				}

					.form-section{
						background-image: linear-gradient(
							to left top,
							rgba(255,255,255,0.5) 10%,
							rgba(255,255,255, 0.1) 30%,
							rgba(255,255,255, 0.5) 60%,
							rgba(255,255,255, 0.1) 100%
						);
						border-top: 0.2rem solid var(--white);
						border-right: 0.1rem solid var(--white);
						border-bottom: 0.1rem solid var(--white);
						border-left: 0.2rem solid var(--white);
						border-radius: 0.6rem 0 0 0.6rem;
						padding: 2rem;

						display: flex;
						flex-direction: column;
						justify-content: flex-start;
						align-items: flex-start;
						flex-wrap: nowrap;
					}

						.form-title{
							width: 100%;
							margin: 1rem 0 1rem 0;
							text-align: center;
							font-size: 2rem;
							color: var(--white);
							letter-spacing: 0.2rem;
							text-shadow: 0 0.1rem 1rem rgba(0,0,0,0.9);
						}.form-control{
							display: block;
							width: 100%;
							flex-basis: calc(100%/6);
							text-align: center;
						}.form-control > input, .form-control > textarea{
							display: block;
							width: 100%;
							padding: 1rem 2rem;

							/* Border settings */
							border-top-width: 0.2rem;
							border-left-width: 0.2rem;
							border-bottom-width: 0.1rem;
							border-right-width: 0.1rem;
							border-style: solid;
							border-top-color: var(--white);
							border-left-color: var(--white);
							border-left-color: rgba(255,255,255, 0.7);
							border-bottom-color: rgba(255,255,255, 0.7);
							border-radius: 0.6rem;

							background-color: rgba(0,0,0,0.3);
							color: var(--white);
							letter-spacing: 0.1rem;
							font-size: 1.3rem;
							font-family: "Arial", sans-serif, serif;
						}.form-control > input::placeholder, .form-control > textarea::placeholder{
							color: rgba(255,255,255,0.6);
							letter-spacing: 0.1rem;
							font-size: 1.4rem;
							font-family: "Arial", sans-serif, serif;
						}.form-submit{
							display: block;
							width: 100%;
							text-align: center;
							margin-top: 1rem;
							padding: 0.3rem 0;
							flex-basis: calc(100%/6);
						}.form-control > textarea{
							display: inline-block;
							height: 9rem;
							min-width: 85%;
							max-width: 100%;
							min-height: 9rem;
							max-height: 10rem;
							font-size: 1.3rem;
							letter-spacing: 0.1rem;
							font-family: "Arial", sans-serif, serif;
						}.form-submit > input{
							display: block;
							width: 100%;
							padding: 1rem 2rem;
							border: none;
							color: var(--white);
							letter-spacing: 0.1rem;
							font-family: "Arial", sans-serif, serif;
							font-size: 1.3rem;
							background-color: red;
							box-shadow: 0.2rem 0.2rem 0.1rem darkred;
							transition: 400ms all ease;
							cursor: pointer;
						}.form-submit > input:hover{
							background-color: darkred;
							box-shadow: 0.3rem 0.3rem 0.1rem var(--black);
						}.form-options{
							display: block;
							width: 100%;
							flex-basis: calc(100%/6);
							padding: 0.6rem 1rem;
							user-select: none;

							display: flex;
							flex-direction: row;
							flex-wrap: nowrap;
							justify-content: space-around;
							align-items: center;
						}.form-options > div{
							display: inline-block;
							height: 0.1rem;
							width: 40%;
							border-bottom: 0.2rem solid var(--white);
						}.form-options > span{
							font-size: 1.4rem;
							font-weight: bold;
							color: var(--white);
							text-transform: uppercase;
						}

						.error{
							align-self: center;
							text-align: center; color: red; letter-spacing: 0.1rem;
							visibility: hidden;
						}

					.form-section, .form-section-1{
						flex-basis: 50%;
						max-width: 50%;
					}.form-section-1{
						width: 100%;
						height: 100%;
						border-radius: 0 0.6rem 0.6rem 0;
						background-image: linear-gradient(
							to left top,
							rgba(255,255,255,0.6) 20%,
							rgba(255,255,255,0.3) 60%,
							rgba(255,255,255,0.3) 70%,
							rgba(255,255,255,0.3) 100%
						);
						padding: 3rem;
						border: 0.1rem solid var(--white);
					}.form-section-1 > picture{
						border-radius: 0 0.6rem 0.6rem 0;
					}.form-section-1 > picture h3{
						text-align: center;
						font-size: 2.6rem;
						font-family: "Courier";
						letter-spacing: 0.3rem;
						color: var(--white);
						text-shadow: 0 0.1rem 1rem rgba(0,0,0,0.9);
					}.form-section-1 > picture > p{
						margin: 3rem 0;
						text-align: justify;
						letter-spacing: 0.1rem;
						line-height: 2.6rem;
						font-size: 1.3rem;
						color: var(--white);
					}
					
@media screen and (max-width: 1000px){
    .message{width: 70%;}
}

@media screen and (max-width: 750px){
    .message{width: 90%; padding: 3rem 1rem;}
}

@media screen and (max-width: 700px){

	.cont-form, .sub-cont-form, .cont-form-overlay{
		height: 100rem;
	}

	.form{
		flex-direction: column;
	}

		.cont-form-1{
			margin-top: 16rem;
		}

		.cont-form-title h1{
			font-size: 3rem;
		}

		.form-section, .form-section-1{
			flex-basis: 100%;
			max-width: 100%;
			margin: 1rem 0;
		}

		.form-control{
			margin: 1rem 0;
		}
}

@media screen and (max-width: 500px){
    .message{width: 100%; border-radius: 0;}
}

@media screen and (max-width: 480px){

	.cont-form, .sub-cont-form, .cont-form-overlay{
		height: 110rem;
	}

	.cont-form-1{
		margin-top: 20rem;
	}

		.cont-form-title h1{
			font-size: 2.3rem;
		}
		
		.sub-cont-form{padding: 3rem 0;}
		.form-section, .form-section-1{
		    width: 100%;
		    border-radius: 0;
		}

		.form-section-1 > picture{overflow: hidden;}
}