@charset "utf-8";

/*font-family: 'Quicksand', sans-serif;
@import url('https://fonts.googleapis.com/css2?family=Quicksand:wght@300;400;500;600;700&display=swap');*/

/*font-family: 'Bitter', serif;*/
@import url('https://fonts.googleapis.com/css2?family=Bitter:wght@300;400;500;600;700&display=swap');

html, body, div, span, applet, object, iframe,
h1, h2, h3, h4, h5, h6, p, blockquote, pre,
a, abbr, acronym, address, big, cite, code,
del, dfn, em, img, ins, kbd, q, s, samp,
small, strike, strong, sub, sup, tt, var,
b, u, i, center,
dl, dt, dd, ol, ul, li,
fieldset, form, label, legend,
table, caption, tbody, tfoot, thead, tr, th, td,
article, aside, canvas, details, embed, 
figure, figcaption, footer, header, hgroup, 
menu, nav, output, ruby, section, summary,
time, mark, audio, video {
	margin: 0;
	padding: 0;
	border: 0;
	font-size: 100%;
	font: inherit;
	vertical-align: baseline;
	outline:0px;
}

article, aside, details, figcaption, figure, 
footer, header, hgroup, menu, nav, section {
	display: block;
}

ol, ul {
	list-style-type:none;
	list-style-position:outside;
	margin: 0px;
	padding: 0px;
}

a   {
    text-decoration:none;
	color:#4444ff;
}

a:hover {
	color:#0000ff;
}

img	{
	width:auto;
	max-width:100%;
}

body {
	line-height:1;
	-webkit-user-select: none;
    -moz-user-select: none;
    -ms-user-select: none;
    user-select: none; 
	cursor:default;
	background-color:#ffffff;	
	display:none;
	overflow:hidden;
}


#precarga {
    position: fixed;
    top:0; left:0;
    right:0; bottom:0;
    background-color: #E8E8E8;
    z-index: 100;
}

#precarga div {
    width: 600px;
    height: 300px;
    position: absolute;
    left:50%; top:50%;
    background: url(precarga.gif) no-repeat ;
	background-size: 100% 100%;
    margin-left: -300px;
	margin-top: -150px;
}

body.fondoModal {
	overflow:hidden;
}

div.fondoModal {
	position:fixed;
	top:0;
	right:0;
	bottom:0;
	left:0;
	background:rgba(0,0,0,0.8);
	z-index:99999;
	-webkit-transition:opacity 200ms ease-in;
	-moz-transition:opacity 200ms ease-in;
	transition:opacity 200ms ease-in;	
	opacity:0;
	pointer-events:none;
}
	
div.fondoModal.visible {
	opacity:1;
	pointer-events:auto;
}


/**************************************************************
Cabecera Página
**************************************************************/

.cabeceraPagina {
	position: fixed;
	height:120px;
	top:0;
	left:0;
	z-index: 99;
	width:100%;
	background: linear-gradient(to left,#ffffff,#cccccc,#ffffff);	
}

.cabeceraPagina.sticky {
	height:65px;
}

.cabeceraPagina:after {
	content:"";
	display:block;
	clear:both;
}

.cabeceraPagina .barra {
	background-color:#000000;
}	

.cabeceraPagina.sticky .barra {
	display:none;
}

.cabeceraPagina .logo {
	float:left;
	display:table;
	padding-top:20px;
	padding-bottom:5px;
	padding-left:60px;
	padding-right:10px;
}

.cabeceraPagina.sticky .logo {
	padding-top:10px;
}

.cabeceraPagina .logo h1 {
	width:230px;
	height:81px;
	background-image:url("logo.png");
	background-size:100%;
	position: relative;
	cursor:pointer;
}

.cabeceraPagina.sticky .logo h1 {
	background-image:url("logo.png");
	width:130px;
	height:46px;
}

.cabeceraPagina .logo object svg {
	position: absolute;
	top: 0;
}

/* Menu Pagina */ 

.cabeceraPagina .menu {
	float:right;
	display:table;
}

.cabeceraPagina .menu ul {
	display:table-cell;
	width:100%;
	vertical-align:middle;
	padding-right:20px;
}

.cabeceraPagina .menu ul li {
	float:left;
	margin-left:10px;
	margin-right:10px;
	padding-top:40px;
}

.cabeceraPagina.sticky .menu ul li {
	padding-top:17px;
}

.cabeceraPagina .menu ul li.activo div {
	border:1px solid #0E2E47;
}

.cabeceraPagina .menu ul li:hover div {
	background-color:#0E2E47;
	color: #ffffff;
	-webkit-transition:all 0.2s;
	transition:all 0.2s;
}

.cabeceraPagina .menu ul li div {
	padding-left:10px;
	padding-right:10px;
	text-align:center;
	line-height:40px;
	font-family: 'Bitter', serif;
	font-size:16px;
	font-weight:500;
	color:#000000;
}

.cabeceraPagina.sticky .menu ul li div {
	line-height:30px;
}

@media only screen and (max-width: 850px) {

	.cabeceraPagina .logo {
		padding-left: 30px;
	}
	
	.cabeceraPagina .boton_menu {
		width:30px;
		height:30px;
		float:right;
		background-image:url(menu.png?2);
		margin-top:42px;
		margin-right:40px;
		cursor:pointer;
	}
	
	.cabeceraPagina .cerrar {
		background-image:url(menu-cerrar.png?2);
	}
	
	.cabeceraPagina.sticky .boton_menu {
		margin-top:18px;
	}
	
	.cabeceraPagina .menu {
		display:none;
		float:none;
		position:absolute;
		top:120px;
		width:calc(100% - 70px);
		width:100%;
		background-color:rgba(14,46,71,0.95);
		padding-top:10px;
		padding-bottom:10px;
	}

	.cabeceraPagina.sticky .menu {
		top:65px;
	}
	
	.cabeceraPagina .menu ul {
		display:block;
		width:100%;
		vertical-align:middle;
		padding-left:0px;
	}

	.cabeceraPagina .menu ul li {
		float:none;
		margin-left:10px;
		margin-right:10px;
		padding-top:5px;
		padding-bottom:5px;
	}

	.cabeceraPagina.sticky .menu ul li {
		padding-top:5px;
	}
	
	.cabeceraPagina .menu ul li.activo div {
		color:#ffffff;
	}

	.cabeceraPagina .menu ul li:hover div {
		background-color:#ffffff;
		color:#0e2e47;
		-webkit-transition:all 0.2s;
		transition:all 0.2s;
	}

	.cabeceraPagina .menu ul li div {
		padding-left:10px;
		padding-right:10px;
		text-align:center;
		line-height:30px;
 		font-size:16px;
		text-transform:uppercase;
		color:#bbbbbb;
	}

	.cabeceraPagina.sticky .menu ul li div {
		line-height:30px;
	}
	
		
}


/**************************************************************
Pagina
**************************************************************/

.seccionPagina {
	padding-top:120px;	
}

.seccionPagina:after {
	content:"";
	display:block;
	clear:both;
}

.tituloPagina {
	padding-top:25px;
	padding-bottom:10px;
	font-family: 'Bitter', serif;
	font-size:40px;
	font-weight:300;
	text-align:center;
	color:#000000;
}

.tituloPagina-fondo img {
	width:100%;
}

.cuerpoPagina {
	padding:20px 10% 40px 10%;
	font-family: 'Bitter', serif;
	font-size:20px;
	font-weight:400;
	color:#000000;
	line-height:30px;
}

.cuerpoPagina:after {
	content:"";
	display:block;
	clear:both;
}

.cuerpoPagina .columna {
	width:100%;
	float:left;
	padding-bottom:20px;
}

.cuerpoPagina .columna.izquierda {
	width:23%;
	padding-right:2%;
}

.cuerpoPagina .columna.derecha {
	float:right;
	width:70%;
	padding-left:5%;
}
	
.cuerpoPagina p {
	padding-bottom:20px;
}

.cuerpoPagina p.finlinea:after {
	content:"";
	display:block;
	clear:both;
}

.cuerpoPagina p b {
	font-weight:600;
}

.cuerpoPagina p + ul {
	margin-top:-20px;
	padding-left:40px;
}

.cuerpoPagina p + ul.lista li:before {
	content:"▪ ";
}

.cuerpoPagina p.medio {
	font-size: 18px;
	padding-bottom:10px;
}

.cuerpoPagina p.centrado {
	text-align:center;
}

.cuerpoPagina p.izquierda,
.cuerpoPagina span.izquierda {
	float:left;
}

.cuerpoPagina p.derecha,
.cuerpoPagina span.derecha {
	float:right;
}

.cuerpoPagina p.titulo {
	font-size:32px;
	font-weight:300;
	padding-top:10px;
}

.cuerpoPagina p.subtitulo {
	font-weight:700;
	padding-top:10px;
}

.cuerpoPagina p.subtitulo:first-child {
	padding-top:0px;
}

.cuerpoPagina img.izquierda {
	float:left;
	padding-right:30px;
	padding-bottom:20px;
}

.cuerpoPagina img.derecha {
	float:right;
	padding-left:30px;
	padding-bottom:20px;
}

.cuerpoPagina img.medio {
	width:50%;
}

.cuerpoPagina input[type=button],
.cuerpoPagina button {
	border:0px;
	background-color:#84b315;
	color:#ffffff;
	cursor:pointer;
	padding:10px 20px 10px 20px;
	margin-top:10px;
	margin-bottom:10px;	
}


@media only screen and (max-width: 850px) {

	.cuerpoPagina {
		padding:15px 8% 10px 8%;
	}
	
	.cuerpoPagina p.titulo {
		margin-top:15px;
		text-align:center;
	}
	
	.cuerpoPagina p.descripcion {
		text-align:center;
	}
		
	.cuerpoPagina .columna.izquierda {
		float:none;
		width:100%;
		padding-right:0%;
	}

	.cuerpoPagina .columna.derecha {
		float:none;
		width:100%;
		padding-right:0%;
		padding-left:0%;
	}
	
	.cuerpoPagina img.izquierda {
		float:left;
		padding-right:0px;
		width:100%;
	}

	.cuerpoPagina img.derecha {
		float:right;
		padding-left:0px;
		width:100%;
	}
	
	.cuerpoPagina table th {
		padding:20px 10px 20px 10px;	
	}

	.cuerpoPagina table td {
		padding:20px 10px 20px 10px;	
	}

	
	.cuerpoPagina table td img {
		display:none;
	}

}


/**************************************************************
Pie
**************************************************************/

.piePagina {
	width:100%;
	padding-top:28px;
	padding-bottom:20px;
	background-color:#0E2E47;
	font-family: 'Bitter', serif;
	font-size:16px;
	color:#ffffff;
}

.piePagina:after {
	content:"";
	display:block;
	clear:both;
}

.piePagina ul li {
	float:left;
}

.piePagina ul li a {
	color:#dddddd;
	line-height:25px;
	background-repeat:no-repeat;
}

.piePagina ul li a:hover {
	color:#ffffff;
}

.piePagina .pie-logo {
	padding-left:5%;
}

.piePagina .pie-datos {
	float:right;
	text-align:right;
	padding-right: 5%;
}

.piePagina .pie-logo .logo {
	width:150px;
	height:53px;
	background-image:url("logo-pie.png");
	background-size:100%;
	margin:auto;
}

@media only screen and (max-width: 850px) {
	
	.piePagina .pie-logo {
		width:100%;
		text-align:center;
		padding-left:0px;
		padding-top:10px;
		padding-bottom:20px;
	}

	.piePagina ul li {
		width:100%;
		text-align:center;
	}	
		
	.piePagina .pie-datos {
		width: 100%;
		text-align:center;
		padding:0px;
	}

	
}

/**************************************************************
Slider
**************************************************************/

.slider_container { 
	width:100%; 
	margin:auto; 
	clear:both; 
	background:url(shadow_top.png) no-repeat top center; 
	padding:0 0 0 0;
}

.flex-caption { 
	position: absolute; 
	right:0px; 
	bottom:0px;
	background-color: rgba(0,0,0,0.7);
}

.flex-caption .caption_title_line { 
	font-family: 'Bitter', serif;
	font-size:30px; 
	color: #ffffff;
//	text-transform:uppercase;
//	text-shadow: 3px 3px 2px #000;
	padding:20px;
}

.flex-caption .caption_text_line { 
	font-family: 'Bitter', serif;
	font-size:22px; 
	line-height:30px;
	color: #ffffff;
//	text-transform:uppercase;
//	text-shadow: 3px 3px 2px #000;
	padding:0px 20px 20px 20px;
}

.flex-container a:active, .flexslider a:active {
	outline: none;
}

.slides, .flex-control-nav, .flex-direction-nav {
	margin: 0; 
	padding: 0; 
	list-style: none;
} 

.flexslider {
	width: 100%; 
	margin: 0; 
	padding: 0 0 0 0;
	background:url(shadow_bottom.png) no-repeat center bottom;
		margin-bottom:20px;

}

.flexslider .slides > li {
	display: none;
}

.flexslider .slides img {
	width: 100%; 
	display: block; 
	border:0px #ededed solid;
}

.flex-pauseplay span {
	text-transform: capitalize;
}

.slides:after {
	content: "."; 
	display: block; 
	clear: both; 
	visibility: hidden; 
	line-height: 0; 
	height: 0;
}
 
html[xmlns] .slides {
	display: block;
}
 
* html .slides {
	height: 1%;
}

.no-js .slides > li:first-child {
	display: block;
}

.flexslider {
	position: relative; 
	zoom: 1;
}

.flexslider .slides {
	zoom: 1;
}

.flexslider .slides > li {
	position: relative;
}

.flex-container {
	zoom: 1; 
	position: relative;
}

.flex-direction-nav li a {
	width:50px; 
	height:50px; 
	margin:0; 
	display: block; 
	position: absolute; 
	cursor: pointer; 
	text-indent: -9999px;
}

.flex-direction-nav li a.next {
	background:url(next.png) no-repeat center; 
	right:11px; 
	bottom:180px;
}

.flex-direction-nav li a.prev {
	background:url(prev.png) no-repeat center;
	left:11px; 
	bottom:180px;
}

.flex-direction-nav li a.next:hover {
	background:url(next_a.png) no-repeat center;
}

.flex-direction-nav li a.prev:hover {
	background:url(prev_a.png) no-repeat center;
}

.flex-direction-nav li a.disabled {
	opacity: .3; 
	filter:alpha(opacity=30); 
	cursor: default;
}

.flex-control-nav {
	position: absolute; 
	bottom: 5px; 
	left:50%;
	text-align: center;
	z-index:10;
}

.flex-control-nav:after {
	content: ""; 
	display:block;
	clear: both; 
}

.flex-control-nav li {
	float:left;
	padding-left:10px;
	width: 20px; 
	height: 20px; 
}

.flex-control-nav li:first-child {
	padding-left:0px;
}

.flex-control-nav li a {
	width: 20px; 
	height: 20px; 
	text-align:center;
	display: block; 
	cursor: pointer; 
	font-family: 'Bitter', serif;
	line-height:20px;
	color: #cccccc;
	font-size:11px;
	background:url(slider_control.png) no-repeat; 
}

.flex-control-nav li a:hover {
	background-position: 0 -20px;
}

.flex-control-nav li a.active {
	background-position: 0 -40px;
	cursor: default;
}


@media only screen and (max-width: 850px) {

	.flex-caption .caption_title_line { 
		font-size:18px; 
		padding:15px;
	}

	.flex-caption .caption_text_line { 
		font-size:16px; 
		line-height:20px;
		padding:0px 15px 15px 15px;
	}

}


/**************************************************************
Banner Servicios
**************************************************************/

.banner_servicios {
	width:100%;
	font-family: 'Bitter', serif;
	background-color:#eeeeee;
	text-align:center;
	padding:20px 0 20px 0;
}

.banner_servicios .titulo {
	font-size:32px;
	font-weight:500;
	color:#0E2E47;
	line-height:60px;
	padding-top:10px;
}

.banner_servicios ul:after {
	content: ""; 
	display:block;
	clear: both; 
}

.banner_servicios ul {
	width:90%;
	padding: 5px 5% 0 5%;
}

.banner_servicios ul li {
	float:left;
	width: calc(33% - 50px);
	padding: 25px;
	text-align:center;
}

.banner_servicios ul li:hover {
	background-color: #cccccc;
}

.banner_servicios ul li img {
	width:100%;
	margin-bottom:15px;
}
	
.banner_servicios ul li img:hover {
	filter: grayscale(100%) contrast(120%);
}

.banner_servicios .subtitulo {
	font-size:24px;
	font-weight:500;
	color:#0E2E47;
	line-height:30px;
}

.banner_servicios .texto {
	font-size:16;
	font-weight:400;
	color:#000000;
	line-height:20px;
	padding-top:15px;
}

.banner_servicios input[type=button],
.banner_servicios button {
	margin-top:20px; 
	-webkit-box-sizing: border-box;
    -moz-box-sizing: border-box;
    box-sizing: border-box;
	border:1px solid #0E2E47;
	padding:5px 20px 5px 20px;
	font-family: 'Bitter', serif;
	font-size:14px;
	font-weight:600;
	background-color:transparent;
	text-align:center;
	color:#0E2E47;
	cursor:pointer;
}

@media only screen and (max-width: 850px) {

	.banner_servicios {
		padding-top: 5px;
	}

	.banner_servicios .titulo {
		font-size:28px;
		line-height:60px;
		padding-top:10px;
	}	

	.banner_servicios ul {
		padding-top: 0px;
	}

	.banner_servicios ul li {
		float:left;
		width: 100%;
		padding: 0px;
		padding-top: 20px;
		padding-bottom:20px;
	}
	
	.banner_servicios .subtitulo {
		font-size:22px;
	}
	
}


/**************************************************************
Banner Contacto
**************************************************************/

.banner_contacto {
	width:calc(100% - 40px);
	font-family: 'Bitter', serif;
	background-image:url("fondo-banner_contacto.jpg");
	background-size:cover;
	background-repeat:no-repeat;
	text-align:center;
	padding:40px 20px 50px 20px;
}

.banner_contacto p {
	font-size:32px;
	font-weight:500;
	color:#ffffff;
	line-height:40px;
}

.banner_contacto p.medio {
	font-size:28px;
	font-weight:400;
	line-height:50px;
}

.banner_contacto p.chico {
	font-size:20px;
	font-weight:300;
	line-height:40px;
}

.banner_contacto input[type=button],
.banner_contacto button {
	margin-top:20px; 
	-webkit-box-sizing: border-box;
    -moz-box-sizing: border-box;
    box-sizing: border-box;
	border:2px solid #ffffff;
	padding:15px 40px 15px 40px;
	font-family: 'Bitter', serif;
	font-size:16px;
	text-transform:uppercase;
	background-color:transparent;
	text-align:center;
	color:#ffffff;
	cursor:pointer;
}

@media only screen and (max-width: 850px) {
	
	.banner_contacto {
		padding:20px 20px 30px 20px;
		background-position:-150px;
	}

	.banner_contacto p {
		font-size:28px;
	}
		
	.banner_contacto p.medio {
		font-size:24px;
		line-height:40px;
	}

	.banner_contacto p.chico {
		font-size:16px;
		line-height:25px;
	}

}


/**************************************************************
Banner Mensaje
**************************************************************/

.banner_mensaje {
	width:calc(100% - 60px);
	font-family: 'Bitter', serif;
	text-align:center;
	padding:40px 20px 50px 20px;
	margin-top:-20px;
}

.banner_mensaje p {
	font-size:32px;
	font-weight:500;
	color:#0E2E47;
	line-height:60px;
}

.banner_mensaje p.medio {
	font-size:28px;
	font-weight:400;
	line-height:50px;
}

.banner_mensaje p.chico {
	font-size:20px;
	font-weight:300;
	line-height:40px;
}

.banner_mensaje input[type=button],
.banner_mensaje button {
	margin-top:20px; 
	-webkit-box-sizing: border-box;
    -moz-box-sizing: border-box;
    box-sizing: border-box;
	border:2px solid #0E2E47;
	padding:15px 40px 15px 40px;
	font-family: 'Bitter', serif;
	font-size:16px;
	text-transform:uppercase;
	background-color:transparent;
	text-align:center;
	color:#0E2E47;
	cursor:pointer;
}

@media only screen and (max-width: 850px) {
	
	.banner_mensaje {
		width:calc(100% - 80px);
		padding:20px 40px 30px 40px;
	}

	.banner_mensaje p {
		font-size:28px;
		line-height:45px;
	}
		
	.banner_mensaje p.medio {
		font-size:24px;
		line-height:40px;
	}

	.banner_mensaje p.chico {
		font-size:16px;
		line-height:25px;
	}

}

/**************************************************************
Formulario
**************************************************************/
	
.formulario:after {
	content:"";
	display:block;
	clear:both;
}

.formulario ul {
	margin-left:-20px;
}

.formulario ul li {
	float:left;
	padding-top:15px;
	width:100%;
}

.formulario ul li.mitad {
	width:50%;
}

.formulario li input {
	float:left;
	margin-left:20px;
	width:calc(100% - 20px);
	-webkit-box-sizing: border-box;
    -moz-box-sizing: border-box;
    box-sizing: border-box;
	border:1px solid #0E2E47;
	padding:9px;
	font-family: 'Bitter', serif;
	font-size:16px;
	line-height:30px;	
	color:#000000;
}

.formulario li input:disabled {
	background-color:#EBEBE4;
	color:#000000;
}

.formulario li textarea {
	float:left;
	margin-left:20px;
	width:calc(100% - 20px);
	height:150px;
	-webkit-box-sizing: border-box;
    -moz-box-sizing: border-box;
    box-sizing: border-box;
	border:1px solid #0E2E47;
	padding:9px;
	font-family: 'Bitter', serif;
	font-size:16px;
	line-height:24px;	
	color:#000000;
}

.formulario li input[type=button],
.formulario li button {
	width:calc(100% - 20px);
	float:right;
	-webkit-box-sizing: border-box;
    -moz-box-sizing: border-box;
    box-sizing: border-box;
	border:0px;
	padding:15px 40px 15px 40px;
	font-family: 'Bitter', serif;
	font-size:16px;
	text-transform:uppercase;
	background-color:#0E2E47;
	text-align:center;
	color:#ffffff;
	cursor:pointer;
}

.formulario .mensaje {
	float:left;
	width:calc(100% - 20px);
	padding:10px;
	font-family: 'Bitter', serif;
	font-size:16px;
	background-color:rgba(220,220,220,0.8);
	color:#ffffff;
	display:none;
}

.formulario .mensaje.ok {
	background-color:rgba(0,180,0,0.8);
}

.formulario .mensaje.error {
	background-color:rgba(180,0,0,0.8);
}

@media only screen and (max-width: 850px) {
	
	.formulario ul li.mitad {
		width:100%;
	}
	
	.formulario ul li label {
		width:100%;
	}

	.formulario li input {
//		width:100%;
	}

	.formulario li textarea {
//		width:100%;
	}
	
	.formulario li input[type=button],
	.formulario li button {
		margin-top:10px;
		margin-bottom:20px;
	}		
	
}


/**************************************************************
Mapa de contacto
**************************************************************/

#contacto-mapa {
	width:100%;
	height:300px;
}




/**************************************************************
Encuesta
**************************************************************/

div.encuesta {
	width:calc(100% - 20px);
	margin:auto;
	margin-top:10px;
	margin-bottom:10px;
	max-width:800px;
	border:1px solid #666666;	
	border-radius:15px;	
}

form.encuesta {
	padding:40px;
}

form.encuesta ul.seccion {
	display:none;
}

form.encuesta ul.seccion > li {
	margin-bottom:20px;
}

form.encuesta ul.seccion > li:first-child {
	margin-bottom:20px;
}

form.encuesta label.campo {
	line-height:25px;
	font-size:16px;
}

/* campos encuesta */

form.encuesta ul.check, 
form.encuesta ul.radio {
	padding-left:20px;
}

form.encuesta ul.check.col2, 
form.encuesta ul.radio.col2 {
	columns:2;
    -webkit-columns:2;
    -moz-columns:2;
}

form.encuesta ul.check.col3, 
form.encuesta ul.radio.col3 {
	columns:3;
    -webkit-columns:3;
    -moz-columns:3;
}

form.encuesta ul.check.col5, 
form.encuesta ul.radio.col5 {
	columns:5;
    -webkit-columns:5;
    -moz-columns:5;
}

form.encuesta ul.check:after, 
form.encuesta ul.radio:after {
	content:"";
	clear:both;
}

form.encuesta li.check, 
form.encuesta li.radio {
	line-height:40px;
}

form.encuesta li.check:first-child, 
form.encuesta li.radio:first-child {
	margin-top:10px;	
}

form.encuesta label.check.interno, 
form.encuesta label.radio.interno {
	float:none;
	display:inline;
	color:#000000;
	font-size:14px;
	font-weight:normal;
	caret-color:transparent;
	cursor: pointer;
}

form.encuesta input.check, 
form.encuesta input.radio {
	-webkit-appearance: none;
	appearance: none;
	margin: 0;
	width: 25px;
	height: 25px; 
	border-radius: 15px;
	border: 1px solid #000000;
	vertical-align: -7px;
	margin-right:10px;
	background-color:#ffffff;
	outline: none;  
	cursor: pointer;
	caret-color:transparent;
}

form.encuesta input.check {
	border-radius: 4px;
}

form.encuesta input.check:focus, 
form.encuesta input.radio:focus {
	outline:0;
	border-color:#000000;
	box-shadow:0 0 10px 0 #000000;
}

form.encuesta input.check::before, 
form.encuesta input.radio::before {
	display: block;
	content: "";
	width: 16px;
	height: 16px;
	background:#000000;
	border-radius: 8px;
	transform: translate(3.5px, 3.5px) scale(0);
	transform-origin: center;
	transition: all 0.2s;
}

form.encuesta input.check::before {
	content:"";
	border-radius: 2px;
	background-image:var(--formulario-icono-campo-checkbox);
	background-size:22px 22px;
	background-repeat:no-repeat;
	background-position:center center;
}

form.encuesta input.check:checked, 
form.encuesta input.radio:checked {
}

form.encuesta input.check:checked::before, 
form.encuesta input.radio:checked::before {
	transform: translate(3.5px, 3.5px) scale(1);
	transition: all 0.2s;
}
	
form.encuesta input.check:disabled, 
form.encuesta input.radio:disabled {
	cursor:default;
}

form.encuesta input.check:disabled + label.check.interno, 
form.encuesta input.radio:disabled + label.radio.interno {
	cursor:default;
}

form.encuesta input.check + label .on, 
form.encuesta input.check:checked + label .off {
	display:none;
}

form.encuesta input.check + label .off, 
form.encuesta input.check:checked + label .on {
	display:inline;
}

form.encuesta ul.radio.invalid {
	background-image: url(form-invalido.png);
	background-position: calc(100% - 6px) calc(50% - 0px);
	background-repeat: no-repeat;
}

form.encuesta ul.radio.invalid li label.radio.interno {
	color:var(--formulario-color_texto_campo_error);
}

form.encuesta input.radio.invalid:focus {
	border-color:var(--formulario-color_borde_campo_error);
	box-shadow: 0 0 8px 0 var(--formulario-color_sombra_campo_error_focus);
}

form.encuesta div.check.error,
form.encuesta div.radio.error {
	display: none;
	font-family: var(--pagina-fuente);
	font-size: var(--pagina-tamaño_fuente_chica);
	color: var(--formulario-color_texto_campo_error);
	margin-top:14px;
}

form.encuesta ul.radio.valid {
	background-image: url(form-valido.png);
	background-position: calc(100% - 6px) calc(50% - 0px);
	background-repeat: no-repeat;
}

form.encuesta ul.radio.valid li label.radio.interno {
	color:#000000;
}

form.encuesta input.radio.valid:focus {
	border-color:var(--formulario-color_borde_campo_valido);
	box-shadow: 0 0 8px 0 var(--formulario-color_sombra_campo_valido_focus);
}
