body {
	font-family: Arial, sans-serif;
	margin: 0;
	padding: 0;
	background-image: radial-gradient(circle, #a8eb12, #00bf72, #008793, #004d7a, #051937);
}

.container {
	width:640px;
	max-width: calc(100% - 40px);
	margin: 20px auto;
	padding: 20px;
	background-color: #003a60;
	border-radius: 8px;
	box-shadow: 0 4px 6px rgba(0, 0, 0, 0.3);
}

h1,h2 {
	text-align: center;
	color: #fff;
	margin-bottom: 40px;
	font-size:2.4em;
}

label {
	display: block;
	margin-top: 15px;
	font-weight: bold;
	color:#fff;
	font-size: 1.4em;
}

p{
	font-size:1.4em;
	color:#fff;
	margin-bottom: 20px;
}

table{
	width:100%;
	margin-bottom:10px;
}

.descripcion{
	border-top:1px solid #ccc;
	padding-top:10px;
}

.form-group{
	margin-bottom:40px;
}

input, select, textarea {
	width: 100%;
	padding: 10px;
	margin-top: 5px;
	border: 1px solid #ddd;
	border-radius: 4px;
	font-size: 1.4em;
	box-sizing: border-box;
}
select{
	height:39px;
}

#audio-player {
	display: none;
	width: 100%;
	margin-top: 10px;
}
.recording {
	background-color: #d9534f !important;
}

#portada{
	width:100%;
	max-width:600px;
	display:block;
	margin-bottom:40px;
}

button, .boton {
	margin-top: 20px;
	width: 100%;
	padding: 10px;
	background-color: #007bff;
	color: white;
	font-size: 1.4em;
	border: none;
	border-radius: 4px;
	cursor: pointer;
	position:relative;
	text-decoration:none;
}

button:hover::after, .boton:hover::after {
	content:"";
	width:100%;
	height:100%;
	position:absolute;
	left:0;
	top:0;
	background-color: #fff;
	opacity:0.2;
}

button.submit{
	background-color:#28a745;
	color: white;
	border: none;
	padding: 10px 20px;
	border-radius: 5px;
	cursor: pointer;
}
.optional {
	font-size: 1.2em;
	color: #888888;
}

.error {
	color: red;
	font-size: 12px;
}
#logo{
	text-align:center;
	margin-bottom:20px;
}

.mensaje{
	text-align:center;
	margin-top:20px;
	background: #f4f4f9;
	border-radius:5px;
	padding:10px;
	margin-bottom:20px;
	font-size:0.8em;
}

#preloader {
	position: fixed;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	background-color: rgba(255, 255, 255, 0.8);
	display: flex;
	justify-content: center;
	align-items: center;
	z-index: 9999;
}

#preloader .spinner {
	border: 4px solid rgba(0, 0, 0, 0.1);
	border-top: 4px solid #007bff;
	border-radius: 50%;
	width: 40px;
	height: 40px;
	animation: spin 1s linear infinite;
	position:absolute;
	top:50%;
	left:50%;
	margin-left:-20px;
	margin-top:-20px;
}

@keyframes spin {
	0% {
		transform: rotate(0deg);
	}
	100% {
		transform: rotate(360deg);
	}
}