body {
	font-family: 'Roboto', sans-serif;
	background: #157813;
}
#outer {
	max-width: 960px;
	margin: auto;
	background: white;
}

h1,h2 {
	color: #157813;
}

#pie {
	color: #555;
	background: #999;
	padding: 10px;
	text-align: center;
	font-size: 80%;
}

#contenido {
	padding: 10px 20px;
}

#cabecera {
	/* padding: 20px; */
	padding: 10px;
}

#cabecera h1 { display: none; }

#cabecera img { width: 100%; }

div.survey-mensaje {
	text-align: center;
	font-weight: bold;
	padding: 20px;
	margin: 10px auto;
	border: 1px solid red;
	background: lightcoral;
}

div.respuesta-correcta {
	border-color: green;
	background: lightgreen;
}

div.error-token-usado, div.error-cerrada {
	border-color: blue;
	background: lightcyan;
}

input[type="submit"] {
	margin-top: 10px;
}

div.opciones-filas > div {
	margin: 0 4%;
	border-bottom: 1px dashed gray;
	padding: 10px;
}

div.opciones-filas > div:first-child {
	border-top: 1px dashed gray;
}

div.opciones-filas > div:hover {
	background: lightcyan;
}

div.opciones-filas > div input {
	display: inline-block;
	margin-right: 10px;
}

p.texto-intro {
	line-height: 1.5;
	font-weight: bold;
}

div.pregunta-group div.pregunta {
	padding-left: 4%;
}

div.pregunta-group div.pregunta h2 {
	font-size: 125%;
	font-style: italic;
}

div.contenedor-texto {
	margin: 0 4%;
}

div.contenedor-texto input { width: 100%; }
div.contenedor-texto textarea { width: 100%; height: 5em;}
div.pregunta-xx_gracias h2 { text-align: center; }

div.acordeon > div.pregunta:first-child > h2 { margin-top: 0; }

h3.subtitle {
	color: #285e35;
	margin: 10px 4%;
}

div.nc { color: #333; font-style: italic; }

div.navegacion { margin-top: 10px; min-height: 25px; text-align: center; }

.boton {
	text-align: center;
	color: white;
	background: orangered;
	font-size: 125%;
	font-weight: bold;
	cursor:pointer;
	border-radius: 5px;
	padding: 10px 20px;

}

div.navegacion .boton-previo {
	background: #f77d50;
}

div.navegacion .boton-previo:hover, div.navegacion .boton-siguiente:hover {
	background: orange;

}

div.navegacion .boton.desactivado,
div.navegacion .boton.desactivado:hover {
	color: white;
	background: #999;
	cursor:default;
}

div.navegacion .ow-boton-previo { float: left; }
div.navegacion .ow-boton-siguiente { float: right; }

div.navegacion .ow { padding: 5px; }

div.navegacion .progreso {
	position: relative;
	display: inline-block;
	width: 100%;
	max-width: 200px;
	height: 39px;
	color: white;
	font-size: 125%;
	font-weight: bold;
	background: #333;
	border: 2px solid navy;
	border-radius: 5px;
	text-align: center;
}

div.navegacion .progreso .progreso-barra {
	height: 100%;
	background: #156ba2;
}
div.navegacion .progreso span {
	width: 100%;
	position: absolute;
	left: 0;
	top: 8px;
	text-align: center;
}

div#limpiar-navegacion {
	clear: both;
}

@media(min-width: 960px) {
	div[data-horizontal="1"] div.opciones-filas {
		display: flex;
		flex-wrap: wrap;
		margin: 0 4%;
	}

	div[data-horizontal="1"] div.opciones-filas > div.is-value {
		flex: 1 1 100px;
		margin: 0;
		border-top: 1px dashed gray;

		border-bottom: none;
		border-left: 1px dashed gray;
		text-align: center;
		padding: 10px 5px;
	}

	div[data-horizontal="1"][data-required="1"] div.opciones-filas > div.is-value {
			border-bottom: 1px dashed gray;
	}

	div[data-horizontal="1"] div.opciones-filas > div.is-value > input {
		margin: 0 0 0.3em;
	}

	div[data-horizontal="1"] div.opciones-filas > div.is-value > span:before {
		content: "\a";
		white-space: pre;
	}

	div[data-horizontal="1"]:not([data-required="1"]) div.opciones-filas > div:nth-last-child(2) {
		border-right: 1px dashed gray;
	}

	div[data-horizontal="1"][data-required="1"] div.opciones-filas > div:last-child {
		border-right: 1px dashed gray;
	}

	div[data-horizontal="1"] div.opciones-filas > div.nc {
		flex: 1 0 700px;
		border: 1px dashed gray;
		text-align: center;
		margin: 0;
	}
}

div.anotacion {
	display: inline-block;
	font-size: 60%;
	font-style: italic;
	border: 1px solid red;
	border-radius: 5px;
	color: red;
	padding: 1px 3px;
	margin-left:10px;
	position: relative;
	top: -2px;
}

div.cabecera {
	text-align: justify;
	margin: 1em 0;
}

div.cabecera div.artista {
	font-size: 200%;
	font-weight: bold;
	color: #157813;
	text-align: center;
}

div.cabecera div.fecha {
	color: gray;
	margin-top: 1em;
	font-style: italic;
}

div.pregunta span {
	cursor: default;
}

input:invalid {
	border: 2px solid red;
	color: red;
}

/* Protección de datos */


.mostrar_aviso {
	padding-left: 0.5em;
	text-decoration: underline;
	cursor: pointer;
}


#aviso_outer {
	position: fixed;
	top: 0;
	bottom: 0;
	left: 0;
	right: 0;
	background-color: rgba(0,0,0,0.7);
	text-align: justify;
	font-size: 120%;
}

#aviso_cerrar {
	position: fixed;
	cursor: pointer;
	color: white;
	right: 5vw;
	top: 2vh;
	font-size: 200%;
	font-weight: bold;
}

#aviso_inner {
	position: fixed;
	top: 5vh;
	left: 10vw;
	right: 10vw;
	max-height: 80vh;
	background: white;
	box-sizing: border-box;
	padding: 5vw 5vw 2vw;
	border-radius: 2vw;
	display: flex;
	flex-direction: column;
}

#aviso_scroll {
	overflow: auto;
}

#boton_cerrar_datos {
	margin: 10px auto;
}

.ppd_aviso_ingles {
	font-style: italic;
	text-align: center;
}

.consent-invalid div.opciones-filas .is-value {
	background: rgb(245, 110, 110);
}

.consent-invalid div.opciones-filas .is-value:hover {
	background: rgb(238, 154, 154);
}

.pregunta[data-required="1"] h2::after {
	content: 'OBLIGATORIA';
	display: inline-block;
	border: 1px solid red;
	font-size: 50%;
	color: red;
	padding: 2px;
	margin-left: 5px;
	border-radius: 5px;
	position: relative;
	top: -3px;
}