/*******************************

Maquetación "Holy Grail" gracias a Matthew James Taylor.

Triples columnas en:
http://matthewjamestaylor.com/blog/perfect-3-column.htm

Dobles columnas en:
http://matthewjamestaylor.com/blog/perfect-2-column-right-menu.htm

*******************************/


/* Estilos generales */
body {
     margin: 0;
     padding: 0;
     border: 0;
     width: 100%;
     background: #fff;
     font-family: Arial, Helvetica, sans-serif;
     color: #555;
}

.wrapper {
     width: 100%;
     margin: 0 auto;
}




/* Estilos del menú*/
#menu {
     clear: both;
     float: left;
     width: 100%;
     background: #000;
     padding: 0;
     height: 45px;
     overflow: hidden;
}

#menu h1#logo {
     margin: 9px 0;
     padding: 0;
}

#menu h1#logo a {
     display: block;
     float: left;
     color: #e8112d;
     text-transform: uppercase;
     font: bold 14pt Arial, Helvetica, sans-serif;
}

#menu ul {
     display: none
}

#menu a {
     border: 0;
}


/* Estilos del encabezado */
#encabezado {
     clear: both;
     float: left;
     width: 100%;
     padding: 2% 0;
     font-size: 13pt;
     line-height: 19.5pt;
     font-weight: bold;
     page-break-after: avoid;
}

#encabezado img {
     display: none;
}

#encabezado img.imagenPresentacion {
     display: block;
     float: right;
     width: 35%;
     margin-left: 5%;
}

body#inicio #encabezado img.imagenPresentacion {
     display: none;
}

/* Contenedor */
.contenedor {
     clear: both;
     float: left;
     width: 100%;                            /* Ancho de toda la página */
     overflow: hidden;
     margin: 0;
     padding: 2% 0;
     page-break-before: avoid;
}




/* Estilos generales de Columnas */
.columnaDerecha,
.columnaCentro,
.columnaIzquierda {
     float: left;
     width: 100%;
     position: relative;
     padding: 0;
}

.columna1,
.columna2,
.columna3 {
     float: left;
     position: relative;
     overflow: hidden;
     font-size: 11pt;
     line-height: 16.5pt;
}




/* Dobles columnas */
.doble {
     background: transparent;                            /* Color de fondo de la columna derecha */
}

.doble .columnaIzquierda {
     right: 40%;                             /* Ancho de la columna derecha */
     background: transparent;                             /* Color de fondo de la columna izquierda */
}

.doble .columna1 {
     width: 60%;                              /* Ancho del contenido de la columna izquierda (ancho de la columna menos el padding lateral) */
     left: 40%;                              /* Ancho de la columna derecha más el padding izquierdo de la columna izquierda */
}

.doble .columna2 {
     width: 35%;                             /* Ancho del contenido de la columna derecha (ancho de la columna menos el padding lateral) */
     left: 45%;                              /* Ancho de la columna derecha más el padding lateral de la columna izquierda más el padding izquierdo de la columna derecha) */
}




/* Triples columnas */
.triple {
     background: transparent;                             /* Color de fondo de la columna derecha */
}

.triple .columnaCentro {
     right: 33.3%;                             /* Ancho de la columna derecha */
     background: transparent;                            /* Color de fondo de la columna central */
}

.triple .columnaIzquierda {
     right: 33.3%;                             /* Ancho de la columna central */
     background: transparent;                            /* Color de fondo de la columna izquierda */
}

.triple .columna1 {
     width: 31.3%;                             /* Ancho del contenido de la columna central (ancho total menos padding lateral) */
     left: 101%;                             /* 100% más padding izquierdo de la columna central */
}

.triple .columna2 {
     width: 31.3%;                        /* Ancho del contenido de la columna izquierda (ancho total menos padding lateral) */
     left: 35.3%;                              /* Ancho de la columna derecha más padding lateral de la columna central más padding izquierdo de la columna izquierda) */
}

.triple .columna3 {
     width: 31.3%;                             /* Ancho del contenido de la columna derecha (ancho total menos padding lateral) */
     left: 72.7%;                              /* (100% - ancho de la columna izquierda) más padding lateral de la columna central más padding lateral de la columna izquierda más padding izquierdo de la columna derecha */
}




/* Estilos del pie de página */
#pie {
     clear: both;
     float: left;
     width: 100%;
     padding: 2% 0;
     border-top: dotted 1px #000;
}

.titularidad {
     width: 60%;
     float: left;
}

.actualidad {
     display: none;
}

.nubeTags {
     display: none;
}

.submenu {
     display: none
}

address {
     font-style: normal;
     font-size: 10pt;
     line-height: 15pt;
}

address strong {
     letter-spacing: 1pt;
     text-transform: uppercase;
}

address em {
     font-style: normal;
     font-weight: bold;
     width: 120px;
     display: block;
     float: left
}

address span {
     display: block;
     margin-left: 120px
}


/* Resto de estilos *****************************************************************************************/

/* Títulos */
h1, h2, h3, h4, h5, h6 {
     font-family: "Book Antiqua", Palatino, serif;
     font-weight: normal;
     margin: 25pt 0 0 0;
}

h2.primero,
h3.primero {
     margin-top: 0;
}

#encabezado h2 {
     margin: 0;
     font-size: 22pt;
     line-height: 30pt;
     color: #fff;
}

h2 {
     color: #000;
}

h3.destacado {
     color: #2d9be1;
     font-weight: bold;
}

.columna1 h2,
.columna2 h2,
.columna3 h2 {
     font-size: 20pt;
     line-height: 25pt;
}

.triple .columna1 h2,
.triple .columna2 h2,
.triple .columna3 h2 {
     font-size: 14pt;
     line-height: 17.5pt;
}

.triple .columna1 h2 a,
.triple .columna2 h2 a,
.triple .columna3 h2 a {
     color: #000;
     border: 0;
} 

.columna1 h3 {
     font-size: 18pt;
     line-height: 22.5pt;
}

.columna1 h4 {
     font-size: 14pt;
     line-height: 17.5pt;
}

.columna1 h5 {
     font-size: 12pt;
     line-height: 15pt
}

.columna2 h3 {
     font-size: 14pt;
     line-height: 17.5pt;
}



/* Textos de párrafo */
p {
     margin: 15pt 0
}

p.intro {
     font-style: italic;
}

p.vinculos {
     margin-top: -10pt;
     margin-bottom: 30pt;
     text-align: right;
}

p.destacado {
     font-size: 12pt;
     font-weight: bold;
     width: 80%;
}

img {
     border: 0
}

img.principal {
     float: left;
     width: 75px;
     height: 75px;
     margin: 0 20px 0 0 
}

img.secundaria {
     float: left;
     width: 50px;
     height: 50px;
     margin: 0 10px 0 0 
}

img.verLink {
     vertical-align: middle;
}

abbr, acronym {
     border: 0;
     text-decoration: none;
     cursor: help;
}




/* Testimonios de clientes */
blockquote {
     margin: 15pt 0 0 0;
     padding: 0;
     font-family: "Book Antiqua", Palatino, serif;
     font-style: italic;
}

p.firma {
     margin-bottom: 30pt;
     font-size: 9pt;
     line-height: 12pt;
}

p.firma:first-line {
     font-weight: bold;
     text-transform: uppercase;
}

img.logoFirma {
     width: 30px;
     height: 30px;
     float: left;
     margin-right: 10px;
}



/* Lista en columna derecha */
.columna2 ul {
     margin: 15pt 0;
     padding: 0 11pt;
     list-style-type: square;
     list-style-position: outside;
}

.columna2 ol {
     margin: 15pt 0;
     padding: 0 20pt;
     list-style-type: lower-roman;
     list-style-position: outside;
}

.columna2 ul ul {
     margin: 0;
}

.columna2 ol.aceptacionCondiciones {
     list-style: decimal;
}

.columna2 ul li,
.columna2 ol li {
     padding: 5px 0;
     border-bottom: dotted 1px #aaa;
}

.columna2 ul ul li {
     border: 0;
}

.columna2 ol.aceptacionCondiciones li {
     padding: 0;
     border: 0;
}





/* Vínculos */
a {
     color: #2d9be1;
     border-bottom: dotted 1px #2d9be1;
     text-decoration: none;
}

a.boton {
     display: none;
}



/* Formulario de contacto */
fieldset {
     border: dotted #ccc;
     border-width: 1px 0 0 0;
     margin-bottom: 20pt;
     padding: 0;
}

legend {
     color: #91e114;
     background: #fff;
     font-weight: bold;
     padding: 0 5pt;
     font-size: 14pt;
}

label {
     display: block;
     margin: 0 4% 0 0;
     float: left;
     text-align: right;
     width: 30%;
}

label[htmlFor="acepto"],
label[for="acepto"] {
     display: block;
     margin: 0 4% 20pt 0;
     float: left;
     width: 88%;
     text-align: right;
}

input,
select,
textarea {
     display: block;
     margin-bottom: 10pt;
     font: 12pt Arial, Helvetica, sans-serif;
     border: solid 1px #ccc;
}

input[type="checkbox"] {
     display: inline;
     margin-bottom: 0;
     clear: right;
}

textarea {
     width: 60%;
     height: 120px;
     overflow: auto;
}

p.ok {
     border: dotted 1px #91e114;
     background: #e1f9bd url(../imagenes/mensaje_ok.png) 12pt 12pt no-repeat;
     padding: 12pt 12pt 12pt 60pt;
}

p.ko {
     border: dotted 1px #a00;
     background: #fcdade url(../imagenes/mensaje_ko.png) 12pt 12pt no-repeat;
     padding: 12pt 12pt 12pt 60pt;
}

input.required,
select.required,
textarea.required {
     border: solid 1px #ccc;
     background: #fff url(../imagenes/requerido.png) center right no-repeat;
     padding-right: 20px;
}

textarea.required {
     background: #fff url(../imagenes/requerido.png) top right no-repeat;
}

input[type="checkbox"].required {
     border: solid 1px #e8112d;
     background: transparent;
}


input[type="image"] {
     border: 0;
}

input.validation-failed,
select.validation-failed,
textarea.validation-failed {
     border: solid 1px #e8112d;
     color : #e8112d;
}

input.validation-passed,
select.validation-passed,
textarea.validation-passed {
     border: solid 1px #0c0;
}

.validation-advice {
     margin: 5pt 0 20pt 34%;
     padding: 0;
     color : #e8112d;
     font-size: 10pt;
}

.custom-advice {
     margin: 5pt 0 20pt 34%;
     padding: 0;
     color : #e8112d;
     font-size: 10pt;
}