* {
      box-sizing: border-box;
}

html {
      margin: 0;
      padding: 0;
      width: 100%;
      height: 100vh;
}

@font-face {
      font-family: "Open Sans Condensed";
      src: url(fonts/OpenSans-CondBold.ttf) format('truetype');
      font-weight: bold;
}

@font-face {
      font-family: "Nimbus Roman";
      src: url(fonts/NimbusRoman-Regular.otf);
      font-weight: normal;
}

@font-face {
      font-family: "Nimbus Roman";
      src: url(fonts/NimbusRoman-Bold.otf);
      font-weight: bold;
}

.footnotes {
      font-size:15px;
}

.footnote-ref {
      font-size: 15px;
}

.content-width li {
      margin: 10px 0;
}

code {
      font: monospace;
      display: block;
      font-size: 13px;
      padding-left: 15px;
}

body {
      margin: 0;
      padding: 0;
      width: 100%;
      height: 100vh;
      font-family: "Nimbus Roman";
      font-weight: 400;
      font-size: 18px;
      background-color: #ededed;
      text-align: justify;
      -webkit-hyphens: auto;
      -moz-hyphens: auto;
      -ms-hyphens: auto;
      hyphens: auto;
}

.content-width-404 {
      max-width: 90ch;
      width: calc(100% - 4rem);
      margin: 0 auto;
      margin-top:180px;
      grid-template-rows: 1fr auto;
      align-items: center;
}

.container {
      max-width: 100%;
      margin-right: 20px;
      margin-left: 20px;
}

.column-wrapper {
      display: flex;
      max-width: 100%;
      flex-wrap: wrap;
}

.menu {
      padding-left: 0;
}

/* logo */
.center {
      display: block;
      margin-left: calc(50% - 50px);
      margin-right: auto;
}

.big {
      margin-left: calc(50% - 80px);
}

/* navigation bar */
nav {
      padding: 8px;
}

.logo {
      float: left;
      padding: 8px;
      margin-left: 16px;
      margin-top: 8px;
}

.logo a {
      color: #000;
      font-weight: 700;
      font-size: 18px;
      letter-spacing: 0px;
      text-decoration: none;
}

nav ul {
      float: right;
}

nav ul li {
      display: inline-block;
      float: left;
}

nav ul li:not(:first-child) {
      margin-left: 48px;
}

nav ul li:last-child {
      margin-right: 24px;
}

nav ul li a {
      display: inline-block;
      outline: none;
      color: #000;
      font-family: "Open Sans Condensed";
      font-weight: 600;
      font-size: 14px;
      text-transform: uppercase;
      text-decoration: none;
      letter-spacing: 1.2px;
}

nav ul li a:hover {
  color: #444;
}

@media screen and (max-width: 864px) {
      .logo {
            padding: 0;
      }

      .nav-wrapper {
            position: fixed;
            top: 0;
            left: 0;
            width: 100%;
            height: 100%;
            z-index: -1;
            background: #eee;
            opacity: 0;
            transition: all 0.2s ease;
      }

      .nav-wrapper ul {
            position: absolute;
            top: 50%;
            transform: translateY(-50%);
            width: 100%;
      }

      .nav-wrapper ul li {
            display: block;
            float: none;
            width: 100%;
            text-align: right;
            margin-bottom: 10px;
      }

      .nav-wrapper ul li:nth-child(1) a {
            transition-delay: 0.2s;
      }

      .nav-wrapper ul li:nth-child(2) a {
            transition-delay: 0.3s;
      }

      .nav-wrapper ul li:nth-child(3) a {
            transition-delay: 0.4s;
      }

      .nav-wrapper ul li:nth-child(4) a {
            transition-delay: 0.5s;
      }

      .nav-wrapper ul li:not(:first-child) {
            margin-left: 0;
      }

      .nav-wrapper ul li a {
            padding: 10px 24px;
            opacity: 0;
            color: #000;
            font-family: "Open Sans Condensed";
            font-size: 14px;
            font-weight: 600;
            letter-spacing: 1.2px;
            transform: translateX(-20px);
            transition: all 0.2s ease;
      }

      .nav-btn {
            position: absolute;
            right: 10px;
            top: 4px;
            display: block;
            width: 48px;
            height: 48px;
            cursor: pointer;
            z-index: 9999;
            border-radius: 20%;
            background: #eee;
      }

      .nav-btn i {
            display: block;
            width: 20px;
            height: 2px;
            background: #000;
            border-radius: 2px;
            margin-left: 14px;
      }

      .nav-btn i:nth-child(1) {
            margin-top: 16px;
      }

      .nav-btn i:nth-child(2) {
            margin-top: 4px;
            opacity: 1;
      }

      .nav-btn i:nth-child(3) {
            margin-top: 4px;
      }
}

#nav:checked + .nav-btn {
      transform: rotate(45deg);
      position: fixed;
}

#nav:checked + .nav-btn i {
      background: #000;
      transition: transform 0.2s ease;
}

#nav:checked + .nav-btn i:nth-child(1) {
      transform: translateY(6px) rotate(180deg);
}

#nav:checked + .nav-btn i:nth-child(2) {
      opacity: 0;
}

#nav:checked + .nav-btn i:nth-child(3) {
      transform: translateY(-6px) rotate(90deg);
}

#nav:checked ~ .nav-wrapper {
      z-index: 9990;
      opacity: 1;
}

#nav:checked ~ .nav-wrapper ul li a {
      opacity: 1;
      transform: translateX(0);
}

.hidden {
      display: none;
}

/* body */
.content-width {
      max-width: 90ch;
      width: calc(100% - 4rem);
      margin: 0 auto;
      margin-top:50px;
      grid-template-rows: 1fr auto;
}

.content-width a {
      color: #000;
      text-decoration: none;
}

.content-width a:hover {
      color: #666;
}

.content-width ul {
      list-style-type: none;
}

h1 {
      font-family: "Nimbus Roman";
      font-size: 55px;
      text-align: center;
      margin-top: 20px;
      margin-bottom: 15px;
      hyphens: none;
}

h2 {
      font-family: "Open Sans Condensed";
      font-size: 18px;
}

h3 {
      font-family: "Open Sans Condensed";
      font-size: 15px;
      text-align: right;
}

/* footer */
.fixed_footer {
      left: 0;
      bottom: 0;
      width: 100%;
      margin-top: 50px;
      padding: 15px;
      background-color: #dedede;
      z-index: -100;
      font-family: "Open Sans Condensed";
      font-size: 13px;
}

.links-footer {
      flex-basis: auto;
      flex-grow: 1;
      max-width: 100%;
}

.licencia {
      text-align: right;
      justify-self: end;
}

.column-wrapper ul {
      padding-left: 0;
}

.column-wrapper ul li {
      list-style-type: none;
      text-transform: uppercase;
      color: #888;
}

.column-wrapper ul li a {
      color: #888;
      text-decoration: none;
}

.column-wrapper ul li a:hover {
      color: #666;
}
