* {
    box-sizing: border-box;
    -moz-box-sizing: border-box;
}

body {
    margin: 0;
    background-color: #eeeeee;
    font-family: "Trebuchet MS";
    min-width: 960px;
}

input { font-family: inherit; }

main { display: block; }

table { font: inherit; }

body > header,
body > footer {
    padding: .5em 0;
    background-color: #0065a4; /*#3f3f3f;*/
    font-family: Verdana, sans-serif;
    color: #fff;
}

body > header .selector-idioma {
    position: absolute;
    top: 0;
    right: 0;
}

body > header a:link,
body > header a:visited,
body > header a:focus,
body > header a:hover,
body > header a:active { color: inherit; }

body > header a {
    text-transform: uppercase;
    text-decoration: none;
    display: inline-block;
    padding-left: .5em;
    padding-right: .5em;
}

body > header a:focus,
body > header a:hover,
body > header a:active {
    background-color: #bbb;
    background-color: rgba(255,255,255,.5);
}

body > header a:not(:link) { outline: 1px solid #fff; }

body > header > div,
body > footer > div,
#main {
    width: 960px;
    margin-left: auto;
    margin-right: auto;
    position: relative;
}

#main {
    margin: .5em auto;
    padding: .625em;
    font-size: .9em;
}

/* clearfix */
#main:after,
.login .content:after,
.instalacion .reservar-link:after,
.index .content .intro:after,
.reservar-form form:after,
.ficha-reserva form:after {
    content: '';
    display: block;
    clear: both;
}

.saldo_insuficiente { background-color: red; }

.logo {
    padding: 0;
    width: 24%;
    margin-right: 1%;
    display: inline-block;
}

.logo:focus,
.logo:hover,
.logo:active { background-color: transparent; }

.logo img {
    background-color: transparent;
    /*width: 128px;*/
    margin-left: auto;
    margin-right: auto;
    display: block;
    border: none;
}

.content {
/*    display: inline-block;
    width: 74.5%;
    float: right;*/
}

.sidebar {
/*    width: 24%;
    float: left;
    margin-right: 1%;*/
}

.index .h-entry,
.noticias .h-entry {
    padding-bottom: 1em;
    margin-bottom: 1em;
    border-bottom: 1px solid black;
}

.index .h-entry .p-name,
.noticias .h-entry .p-name { font-size: 1em; }

.leer-mas:after {
    content: ' >>';
}

.login .content h1 {
    background-color: #20354B;
    background: linear-gradient(to right, #20354B 0px, #305071 41%, #305071 62%, #20354B 100%) repeat scroll 0 0 rgba(0, 0, 0, 0);
    color: #fff;
    margin-top: 0;
    text-indent: 2em;
}

.login label,
.login label input {
    display: block;
    text-indent: .5em;
}

.login label {
    margin-left: 3em;
    margin-top: 1em;
}

.login input[type=submit] {
    display: block;
/*    float: right;
    margin-top: -2em;*/
margin-left: 3em;
margin-bottom: 1em;
    margin-right: 1em;
    background-color: #7CA622;
    background: linear-gradient(to bottom, #9FCD3F 0px, #7CA622 100%) repeat scroll 0 0 rgba(0, 0, 0, 0);
    border: 3px solid #FFFFFF;
    box-shadow: 0 0 20px 0 rgba(0, 0, 0, 0.2);
    color: #fff;
    text-align: center;
    text-shadow: 1px 1px 1px rgba(0, 0, 0, 0.3);
    text-transform: uppercase;
    min-height: 41px;
    cursor: pointer;
}

.login input[type=submit]:hover {
    background-color: #9FCD3F;
    background: linear-gradient(to bottom, #7CA622 0px, #9FCD3F 100%) repeat scroll 0 0 rgba(0, 0, 0, 0);
}

.login .content { margin-top: 5px; }

.login .form-login {
    width: 80%;
    margin: 4.5em auto;
    background: none repeat scroll 0 0 #F5F5F5;
    border: 7px solid #FFFFFF;
    box-shadow: 0 0 7px 0 #282828;
    padding-bottom: 1.5em;
}

.instalacion {
    display: inline-block;
    width: 47.37%;
    background-color: #C8C8C8;
    background: linear-gradient(to bottom, #FFFFFF 0px, #C8C8C8 100%) repeat scroll 0 0 rgba(0, 0, 0, 0);
    color: #335E86;
    position: relative;
    margin: .5em;
    vertical-align: top;
}

.instalacion .descripcion {
    min-height: 11em;
    padding: .5em;
}

.instalacion a { color: inherit; }

.instalacion .reservar-link {
    position: absolute;
    bottom: 0;
    left: 0;
    right: 0;
    min-height: 2em;
    /*background-color: #000;*/
}

.instalacion .reservar-link a {
    display: block;
    margin: .5em;
    background-color: #7CA622;
    background: linear-gradient(to bottom, #9FCD3F 0px, #7CA622 100%) repeat scroll 0 0 rgba(0, 0, 0, 0);
    border: 3px solid #FFFFFF;
    box-shadow: 0 0 20px 0 rgba(0, 0, 0, 0.2);
    color: #fff;
    text-align: center;
    text-shadow: 1px 1px 1px rgba(0, 0, 0, 0.3);
    text-transform: uppercase;
    line-height: 1.4em;
    text-align: center;
    padding: 0 1em;
    text-decoration: none;
    font-weight: bold;
    font-style: italic;
}

.instalacion .reservar-link a:hover {
    background-color: #9FCD3F;
    background: linear-gradient(to bottom, #7CA622 0px, #9FCD3F 100%) repeat scroll 0 0 rgba(0, 0, 0, 0);
}

.instalacion h2 { margin-top: 0; }

.content header,
.sidebar {
    box-shadow: 0 4px 5px 0 #A8A8A8;
    padding: .3em;
    margin-top: .5em;
    margin-bottom: .5em;
    background-color: #fff;
}

.content header {
    background-color: #4F4F4F;
    color: #fff;
}

.content header h1,
.content header p {
    margin-top: 0;
    margin-bottom: .2em;
}

.content header h1 {
    font-weight: normal;
    font-size: 1.5em;
}

.instalaciones,
.lista_noticias,
.reservar-form .content form,
.reserva-confirmacion .ficha-reserva,
.pagina-body,
.login .content,
.index .content {
    box-shadow: 0px 1px 5px 0px #a8a8a8;
    padding: .5em;
    background-color: #fff;
}

.index .content { margin-top: .5em; }

.index .h-feed  { background-color: #f1f1f1; }

.index .h-entry { padding: 0 .5em 1em; }

.index .h-feed header {
    background-color: #4f4f4f;
    color: #fff;
    padding: .25em;
}

.index .h-feed header .p-name {
    margin: 0;
    font-weight: normal;
}

.p-author { display: none; }

.index .intro {
/*    background-image: url(/imagenes/Cabecero_intro.jpg);*/
background-color: #294964;
background: url(/imagenes/Cabecero_intro.jpg) no-repeat scroll 0 0;
    background: url(/imagenes/Cabecero_intro.jpg) no-repeat scroll 0 0, linear-gradient(to bottom, #6A869D 0px, #294964 100%), rgba(0, 0, 0, 0);
    height: 295px;
    position: relative;
    margin-bottom: 1em;
}

.index .intro p {
    color: #fff;
    background-color: rgba(0,0,0,.4);
    padding: .3em;
}

.index .intro .intro-text {
    position: absolute;
    bottom: 0;
/*    right: 0;*/
    left: 0;
    padding: 1.5em;
}

.index .intro a {
    display: block;
    float: right;
    background-color: #7CA622;
    background: linear-gradient(to bottom, #9FCD3F 0px, #7CA622 100%) repeat scroll 0 0 rgba(0, 0, 0, 0);
    border: 3px solid #FFFFFF;
    box-shadow: 0 0 20px 0 rgba(0, 0, 0, 0.2);
    color: #fff;
    text-align: center;
    text-shadow: 1px 1px 1px rgba(0, 0, 0, 0.3);
    text-transform: uppercase;
    line-height: 1.4em;
    text-align: center;
    padding: 0 1em;
    text-decoration: none;
    font-weight: bold;
    font-style: italic;
}

.index .intro a:hover {
    background-color: #9FCD3F;
    background: linear-gradient(to bottom, #7CA622 0px, #9FCD3F 100%) repeat scroll 0 0 rgba(0, 0, 0, 0);
}

.calendario_disponibilidad,
.ficha-reserva table {
    border-collapse: collapse;
    width: 100%;
    box-shadow: 3px 3px 4px 0 rgba(0, 0, 0, 0.2);
    background-color: #fff;
}

.calendario_disponibilidad th,
.ficha-reserva th { color: #335E86; }

.calendario_disponibilidad tbody th { font-weight: normal; }

.calendario_disponibilidad td,
.calendario_disponibilidad a:link,
.calendario_disponibilidad a:visited,
.calendario_disponibilidad a:focus,
.calendario_disponibilidad a:hover,
.calendario_disponibilidad a:active,
.ficha-reserva td { color: #7c7c7c; }

.calendario_disponibilidad th,
.calendario_disponibilidad td,
.ficha-reserva th,
.ficha-reserva td {
    padding: .5em .2em;
    text-align: center;
    border: 1px solid #dfdfdf;
}

.calendario_disponibilidad td b { font-size: 120%; }

.calendario_disponibilidad tbody th,
.calendario_disponibilidad thead th,
.ficha-reserva thead th { background-color: #f5f5f5; }

.calendario_disponibilidad tbody tr:nth-child(2n) th,
.calendario_disponibilidad thead *:nth-child(2n+1),
.ficha-reserva thead th:nth-child(2n+1) { background-color: #ebebeb; }

.calendario_disponibilidad tbody tr:nth-child(2n),
.ficha-reserva tbody tr { background-color: #efefef; }

.calendario_disponibilidad tbody tr td.no_disponible { color: red; }

.calendario_disponibilidad tbody td.no-reservable { background-color: #6A869D; }

.calendario_disponibilidad tfoot a { display: inline-block; }

.calendario_disponibilidad tfoot a[rel=next],
.calendario_disponibilidad tfoot a[rel=prev] { float: right; }

.content header.intro { margin-top: 0; }

.reservar-form input[type=submit],
.ficha-reserva input[type=submit] {
    display: block;
    float: right;
    background-color: #7CA622;
    background: linear-gradient(to bottom, #9FCD3F 0px, #7CA622 100%) repeat scroll 0 0 rgba(0, 0, 0, 0);
    border: 3px solid #FFFFFF;
    box-shadow: 0 0 20px 0 rgba(0, 0, 0, 0.2);
    color: #fff;
    text-align: center;
    text-shadow: 1px 1px 1px rgba(0, 0, 0, 0.3);
    text-transform: uppercase;
    line-height: 1.4em;
    text-align: center;
    padding: 0 1em;
    text-decoration: none;
    font-weight: bold;
    font-style: italic;
    min-height: 41px;
    cursor: pointer;
}

.reservar-form input[type=submit] { margin-top: -2em; }

.reservar-form input[type=submit]:hover,
.ficha-reserva input[type=submit]:hover {
    background-color: #9FCD3F;
    background: linear-gradient(to bottom, #7CA622 0px, #9FCD3F 100%) repeat scroll 0 0 rgba(0, 0, 0, 0);
}

.modulo {
    background-color: #EFEFEF;
    margin-bottom: 0.5em;
    margin-top: 0.5em;
    padding: 0.3em;
}

.sidebar .modulo:first-child { margin-top: 0; }

.sidebar .modulo:last-child { margin-bottom: 0; }

.modulo-contacto {
    background-color: #294964;
    background: linear-gradient(to bottom, #6A869D 0px, #294964 100%) repeat scroll 0 0 rgba(0, 0, 0, 0);
    color: #fff;
}

.modulo-contacto a:link,
.modulo-contacto a:visited,
.modulo-contacto a:focus,
.modulo-contacto a:hover,
.modulo-contacto a:visited { color: inherit; }

.modulo-contacto header h1 { margin: 0; }

.modulo-contacto p { margin: .5em 0; }

.mis-datos form label { display: block; }

.registrarse form label { display: block; }

form label {
    margin-bottom: .75em;
    display: block;
}

form fieldset { margin-bottom: .75em; }

form fieldset legend { font-weight: bold; }

.reserva-confirmacion form label { display: inline-block; }

.lista-reservas-admin th,
.lista-reservas-admin td,
.lista-reservas th,
.lista-reservas td {
    padding-right: 1.5em;
    text-align: left;
}

.lista-reservas,
.lista-reservas-admin { color: #294964; }

table.lista-reservas,
table.lista-reservas-admin {
    border-collapse: collapse;
    margin-bottom: 3em;
}

table.lista-reservas-admin {
    border-collapse: collapse;
    border: 1px solid black;
}

.lista-reservas-admin th,
.lista-reservas-admin td {
    padding: 0 .5em;
    border: 1px solid black;
}

.lista-reservas th,
.lista-reservas-admin th { border-bottom: 1px solid; }

.mensaje-error {
    font-size: 2em;
    color: #ff0000;
}

.boton_borrar {
    display: inline-block;
}

.bonificacion {
    margin-bottom: 1.6em;
}

.bonificacion .label_fichero {
    font-size: 75%;
}

.bonificacion input[type=file] {
    font-size: inherit;
}

table thead.izquierda th {
    text-align: left;
    border-bottom: 5px solid transparent;
}

.pagina-body.contacto, .pagina-body.normas {
    font-size: 120%;
}

.form-login .aviso, .form-registro .aviso {
    color: red;
    max-width: 20em;
}