@charset "UTF-8";
@import url(https://fonts.googleapis.com/css?family=Roboto:400,700,900);
@import url(https://fonts.googleapis.com/css?family=Roboto+Slab:400,700);

:root {
  --bg-color: white;
  --fg-color: black;
  --hi-color: red;
  --base-font-family: "Roboto", sans-serif;
  --base-font-size: 11pt;
  --heading-font-family: "Roboto", sans-serif;
}

html, body {
  margin: 0;
  padding: 0;
}
body {
  font-family: var(--base-font-family);
  font-size: var(--base-font-size);
  background: var(--bg-color);
  color: var(--fg-color);
}
input, button, select {
  font-size: 100%;
  border: 1px solid black;
  border-radius: 2px;
  background: white;
}
input, button, select {
  padding: 0.3em 0.5em;
}
input[type=button], input[type=submit], button {
  white-space: nowrap;
}
input[type=button] img, input[type=submit] img, button img {
  vertical-align: middle;
}
input[type=button]:hover, input[type=submit]:hover, button:hover {
  color: var(--fg-color);
  background: var(--bg-color);
}
input[type=button]:hover img, input[type=submit]:hover img, button:hover img {
  filter: invert(100%);
}
h1 {
  font-family: var(--heading-font-family);
  font-size: 300%;
  margin: 0;
  padding: 0.5em;
}
dt {
  font-weight: bold;
  margin-top: 1em;
  margin-bottom: 0.5em;
}

/* Clases generales */
.font-black {
  font-weight: 900;
}
.font-normal {
  font-weight: 400;
}

/* Menú de iconos */
.menu {
  font-size: 150%;
}
ul.menu {
  text-align: center;
  margin: 0;
  padding: 0.5em;
}
.menu li {
  display: inline-block;
  text-align: center;
  list-style-type: none;
}
.menu li .text {
  display: block;
}
.menu li img {
  display: block;
}
.menu a {
  display: block;
  color: var(--fg-color);
  text-decoration: none;
  padding: 1em;
  border: 3px solid transparent;
}
.menu a:hover {
  border: 3px solid var(--hi-color);
}

/* Contenido */
.content {
  padding: 1em;
}

/* Pie de página */
.footer {
  clear: both;
  margin: 0;
  padding: 0;
  position: absolute;
  bottom: 0;
  left: 0;
  right: 0;
  font-size: 100%;
}
.footer p {
  margin: 1em 2em;
  padding: 0;
  text-align: right;
}
