*, :after, :before {
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  box-sizing: border-box; }

html {
  height: 100%; }

body {
  margin: 0;
  padding: 0;
  height: 100%;
  font-family: "Ubuntu", sans-serif;
  font-weight: 100;
  font-size: 15px;
  background-color: #191716;
  color: #e2dad8; }
  body > footer {
    display: block;
    padding: 20px 5%;
    text-align: center;
    background-color: black; }
    body > footer a {
      display: inline-block;
      margin: 0 10px; }

h1, h2, h3, h4, h5 {
  font-weight: 100; }

h1 {
  font-size: 1.6em; }

a {
  color: #e2dad8;
  cursor: pointer; }
  a:hover {
    color: #ffffff; }
  a:focus {
    outline: dashed 1px #cfcfcf; }

button {
  background-color: #bd1001;
  color: #fcfcfc;
  padding: 10px 25px;
  font-family: "Ubuntu", sans-serif;
  border: 1px solid #bf0600;
  border-radius: 1px;
  outline: none;
  text-transform: uppercase;
  cursor: pointer;
  transition: all ease-out 200ms; }
  button:hover {
    color: white;
    background-color: #d81403; }
  button:active {
    transform: translate(0, 1px) scale(0.96, 0.96); }
  button:focus {
    outline: dashed 1px #cfcfcf; }

button.n-normal {
  padding: 8px 20px;
  background-color: #000;
  border: 1px solid #a5a5a5; }
  button.n-normal:hover {
    border: 1px solid #ccc;
    background-color: #222; }

.n-hidden {
  display: none !important; }

input {
  font-family: "Ubuntu", sans-serif;
  border: none;
  border-bottom: solid 1px #bf0600;
  padding: 6px 0 6px 0;
  background-color: transparent;
  color: white;
  font-size: 15px;
  outline: none; }
  input:hover {
    border-bottom: solid 1px #d81403; }
  input:active {
    border-bottom: solid 3px #e43232; }
  input:focus {
    padding-bottom: 5px;
    border-bottom: solid 2px #e43232; }

input:-webkit-autofill, textarea:-webkit-autofill, select:-webkit-autofill {
  background-color: transparent !important; }

.n-checkbox {
  display: none; }
  .n-checkbox + label {
    position: relative;
    display: inline-block; }
    .n-checkbox + label:focus {
      outline: dashed 1px #cfcfcf; }
    .n-checkbox + label::before {
      content: "";
      display: inline-block;
      width: 18px;
      height: 18px;
      border: solid 2px #bd1001;
      border-radius: 2px;
      margin-right: 5px;
      position: relative;
      top: 4px;
      cursor: pointer; }
  .n-checkbox:active + label {
    outline: dashed 1px #cfcfcf; }
  .n-checkbox:checked + label::after {
    position: absolute;
    left: 5px;
    top: 9px;
    content: "";
    display: inline-block;
    width: 8px;
    height: 8px;
    background-color: #d81403; }

.n-icon {
  text-decoration: none; }

.btn-icon {
  display: inline-block;
  color: white;
  text-decoration: none;
  cursor: pointer;
  background-color: #bd1001;
  padding: 4px;
  border: 1px solid #bf0600;
  border-radius: 2px;
  font-size: 20px; }
  .btn-icon:hover {
    background-color: #d81403; }

.n-msg {
  color: #ea3a3a;
  margin-bottom: 5px; }

.icon {
  text-decoration: none; }
  .icon:focus {
    outline: none;
    text-shadow: 1px 1px 2px red; }

.n-form {
  background-color: #000;
  padding: 10px 20px; }
  .n-form > div {
    margin: 15px 0; }
    .n-form > div input {
      width: 100%; }
  .n-form footer {
    display: block;
    margin: 30px 0 10px 0; }
  .n-form .n-msg {
    display: inline-block;
    color: #fd1919;
    padding: 1px 10px; }

li {
  margin: 5px 0; }

header {
  display: block;
  height: 90px;
  background-color: black;
  padding: 5px 10%; }
  header h1 {
    display: inline-block;
    margin-top: 25px;
    vertical-align: middle; }
    header h1 a {
      text-decoration: none; }
  header .sep {
    vertical-align: middle;
    display: inline-block;
    margin-top: 8px;
    padding: 0 8px;
    font-size: 1.4em; }
  header h2 {
    vertical-align: middle;
    display: inline-block;
    font-size: 1.2em;
    margin-top: 25px; }

main {
  display: block;
  min-height: calc(100% - 147px);
  padding: 20px 10% 40px 10%; }

a {
  color: #ededed; }

a:hover {
  color: #fcfcfc; }

p {
  margin: 4px 0;
}