:root {
  --white: #ffffff;
  --black: #000000;
  --transparent-black: rgba(0, 0, 0, 0.2);
  --transparent-white: rgba(255, 255, 255, 0.4);
  --foreground-lgray: #e2dfda;
  --foreground-mgray: #b3b1a4;
  --background-dblue: #112434;
  --accent-color-lblue: #2caae2;
  --accent-color-mblue: #3888ac;
  --accent-color-dblue: #1b3056;
  --accent-color-lyellow: #e2d7c0;
  --accent-color-myellow: #e3c765;
  --accent-color-dyellow: #f3bc58;

  --header-foreground: var(--white);
  --header-background: var(--black);
  --body-background: var(--transparent-black);
  --body-foreground: var(--foreground-lgray);
  --separator-color: var(--transparent-white);

  --content-width: 90em;
  --content-max-width: 100%;

  --gradient-height: 469px;
  --gradient-height-inverse: -469px;
}

@media(min-width:60em) {
  :root {
    --content-max-width: 90%;
  }
}

html, body {
  height: 100%;
  margin: 0;
}
body {
  font-size: 1em;
  font-family: 'Roboto', verdana, sans-serif;
  color: var(--foreground-lgray);
  border: 0;
  background:url('background.jpg') var(--background-dblue) repeat;
}

.titleText {
  font-family: 'Cinzel', serif;
  font-size: 200%;
  line-height: 1;
  margin: 0;
  color: var(--header-foreground);
  background: transparent;
}
.supportText {
  font-size: 120%;
  color: var(--accent-color-dyellow);
}

/* Classes */

.fillWidth {
  width: 100% !important;
}
.rounded {
  border-radius: 50em !important;
}
.center {
  text-align: center !important;
}

.separator {
  border-color: var(--separator-color);
  border-width: 0.1em;
  border-style: solid;
}
.spacer {
  height: 1.5em;
}
.vertical-gradient {
  background: url('bgGradient.png');
  height: var(--gradient-height);
  width: 100%;
}

.backgroundLight {
  background: var(--header-foreground);
  color: var(--header-background);
}
.textColor {
  color: var(--foreground-lgray);
}
.accentColor {
  color: var(--accent-color-lblue);
}

.icon {
  display: inline-block;
  margin: 0.5em;
}

.focusBorder {
  border-color: transparent;
  border-style: solid;
  border-width: 0.2em;
  background-clip: padding-box;
}
.focusBorder:focus,
.focusBorder:focus-within {
  border-color: var(--accent-color-dyellow);
  outline: none
}

.button {
  background: var(--accent-color-lblue);
  color: var(--header-foreground);
  border: 0.2em solid var(--accent-color-lblue);
  padding: 0.1em 0.5em;
}
.button:hover {
  border-color: var(--accent-color-dyellow);
  background: var(--accent-color-dyellow);
}
.button:active {
  border-color: var(--accent-color-dblue);
  background: var(--accent-color-dblue);
}
.button:focus {
  outline: none;
  border-color: var(--accent-color-dblue);
}

.borderless {
  border: 0;
  padding: 0.5em;
}
.borderless:focus {
  outline: none;
}

.textBlock {
  text-align: justify;
  line-height: 1.5;
  padding: 0.5em 2em;
  background-color: var(--transparent-black);
  box-shadow: 0 0 3em var(--transparent-black);
}

a,
.textLink {
  color: var(--accent-color-lblue);
  background: transparent;
  border: 0;
  text-decoration: none;
}
a:focus,
.textLink:focus {
  outline: none;
  text-decoration: underline;
}
a:hover,
.textLink:hover {
  color: var(--accent-color-dyellow);
}
a:active,
.textLink:active {
  color: var(--accent-color-mblue);
}

/* Ids */

#main {
  min-height:100%;
  margin-bottom: -3em;
}
#title {
  background: var(--black);
  position: relative;
  width: 100%;
  text-align: center;
  padding-top: 3em;
}
#title h1 {
  font-size: 350%;
  margin: 0;
  line-height: 0.8;
}
#title img {
  max-width: 90%;
}
#title .separator {
  width: var(--content-width);
  max-width: var(--content-max-width);
  margin-left: auto;
  margin-right: auto;
  border-left: 0;
  border-right: 0;
  border-top: 0;
}
#content {
  margin-top: var(--gradient-height-inverse);
  width: var(--content-width);
  max-width: var(--content-max-width);
  text-align: center;
  margin-left: auto;
  margin-right: auto;
}
#social {
  margin-top: 0.4em;
  margin-bottom: 1em;
}

#subscribe {
  color: var(--header-foreground);
  width: 24em;
  max-width: var(--content-max-width);
  margin-left: auto;
  margin-right: auto;
}
#subscribe p {
  font-size: 120%;
  margin: 0 0 0.6em 0;
}
#subscribe .button {
  font-size: 130%;
  text-transform: lowercase;
  font-weight:400;
}
#subscribe table {
  width: 100%;
  padding: 0;
  padding-left: 1em;
  margin-bottom: 0.5em;
}

#footer,
#footer-placeholder {
  height: 3em;
}
#footer {
  color: var(--header-foreground);
  background-color: var(--header-background);
  text-align: center;
  position: relative;
}
#footer .separator {
  position: absolute;
  height:100%;
  width:100%;
  margin-top: -0.1em;
  border-left: 0;
  border-right: 0;
  border-bottom: 0;
}
#footer p {
  width:100%;
  text-align:center;
  margin:0;
  position: absolute;
  top: 50%;
  -ms-transform: translateY(-50%);
  transform: translateY(-50%);
}