#initialpage-bg-color {
  background: #191919;
  /*
  background: linear-gradient(#191919, #333333);
  background: -webkit-linear-gradient(#191919, #333333);
  background: -o-linear-gradient(#191919, #333333);
  background: -moz-linear-gradient(#191919, #333333);
  */
  width: 100%; }
  #initialpage-bg-color #initialpage {
    display: table;
    height: 100vh;
    min-height: 300px;
    width: 100%; }
    #initialpage-bg-color #initialpage #initialpage-content {
      color: white;
      height: inherit;
      display: flex;
      justify-content: center;
      align-items: center;
      -webkit-animation: fadein 2s;
      /* Safari, Chrome and Opera > 12.1 */
      -moz-animation: fadein 2s;
      /* Firefox < 16 */
      -ms-animation: fadein 2s;
      /* Internet Explorer */
      -o-animation: fadein 2s;
      /* Opera < 12.1 */
      animation: fadein 2s; }
      #initialpage-bg-color #initialpage #initialpage-content a {
        outline: none; }
      #initialpage-bg-color #initialpage #initialpage-content h1 {
        font-family: 'Lekton', sans-serif;
        font-weight: bold;
        font-size: 3.5vw;
        margin: 25px; }
      #initialpage-bg-color #initialpage #initialpage-content h2 {
        font-family: 'Lekton', sans-serif;
        font-size: 2.5vw;
        margin: 25px; }
      #initialpage-bg-color #initialpage #initialpage-content .logo #logo-img {
        margin-top: 15px;
        width: 40%;
        position: relative;
        z-index: 1; }
      #initialpage-bg-color #initialpage #initialpage-content .logo .graphic {
        margin-left: -15vh;
        position: relative;
        z-index: 1;
        width: 90%; }
      #initialpage-bg-color #initialpage #initialpage-content .left, #initialpage-bg-color #initialpage #initialpage-content .right {
        vertical-align: top;
        display: inline-block; }
      #initialpage-bg-color #initialpage #initialpage-content .left {
        width: 45%; }
      #initialpage-bg-color #initialpage #initialpage-content .right {
        width: 40%; }
      #initialpage-bg-color #initialpage #initialpage-content .row {
        margin: 35px 0 60px 0; }

@keyframes fadein {
  from {
    opacity: 0; }
  to {
    opacity: 1; } }

/* Firefox < 16 */
@-moz-keyframes fadein {
  from {
    opacity: 0; }
  to {
    opacity: 1; } }

/* Safari, Chrome and Opera > 12.1 */
@-webkit-keyframes fadein {
  from {
    opacity: 0; }
  to {
    opacity: 1; } }

/* Internet Explorer */
@-ms-keyframes fadein {
  from {
    opacity: 0; }
  to {
    opacity: 1; } }

/* Opera < 12.1 */
@-o-keyframes fadein {
  from {
    opacity: 0; }
  to {
    opacity: 1; } }

.draw-border {
  box-shadow: inset 0 0 0 3px white;
  color: white;
  transition: color 0.125s 0.04167s;
  position: relative; }
  .draw-border::before, .draw-border::after {
    border: 0 solid transparent;
    box-sizing: border-box;
    content: '';
    pointer-events: none;
    position: absolute;
    width: 0;
    height: 0;
    bottom: 0;
    right: 0; }
  .draw-border::before {
    border-bottom-width: 3px;
    border-left-width: 3px; }
  .draw-border::after {
    border-top-width: 3px;
    border-right-width: 3px; }
  .draw-border:hover {
    color: #3d8ced; }
    .draw-border:hover::before, .draw-border:hover::after {
      border-color: #3d8ced;
      transition: border-color 0s, width 0.125s, height 0.125s;
      width: 100%;
      height: 100%; }
    .draw-border:hover::before {
      transition-delay: 0s, 0s, 0.125s; }
    .draw-border:hover::after {
      transition-delay: 0s, 0.125s, 0s; }

.btn {
  font-family: 'Lekton', sans-serif;
  background: none;
  color: white;
  border: none;
  cursor: pointer;
  line-height: 1.5;
  font-size: 1.5rem;
  font-weight: 700;
  padding: 0.5em 1em;
  letter-spacing: 0.05rem;
  margin: 0 15px; }
  .btn:focus {
    outline: 2px dotted #55d7dc; }

#sponsor-container {
  padding: 0 10%; }
  #sponsor-container #wreaths {
    margin-top: -50px; }
    #sponsor-container #wreaths img {
      width: 20%;
      margin: 0 5%; }
  #sponsor-container .sponsor {
    display: inline-block;
    opacity: 1; }
    #sponsor-container .sponsor img {
      width: 100%;
      vertical-align: middle; }
    #sponsor-container .sponsor #uphold-img {
      width: 50%; }
    #sponsor-container .sponsor #yc-img {
      width: 50%; }
    #sponsor-container .sponsor #high_brew_coffee-img {
      width: 50%; }
    #sponsor-container .sponsor #jetbrains-img {
      width: 50%; }
    #sponsor-container .sponsor:hover {
      opacity: 0.7;
      cursor: pointer; }
  #sponsor-container .tier-container {
    text-align: center;
    padding: 10px 0; }
  #sponsor-container #plat-sponsor-container .sponsor {
    width: 35%;
    margin: 1.5% 7.5%; }
  #sponsor-container #gold-sponsor-container .sponsor {
    width: 30%;
    margin: 1.5%; }
  #sponsor-container #silver-sponsor-container .sponsor {
    width: 20%;
    margin: 2%; }
  #sponsor-container #bronze-sponsor-container .sponsor {
    width: 14%;
    margin: 1.5%; }
  #sponsor-container #sponsor-contact-txt {
    margin: 15px 0 40px 0; }

#faq {
  padding: 200px 25px; }

.faq-item {
  vertical-align: top;
  display: inline-block;
  width: 38%;
  padding: 2%;
  text-align: left;
  padding: 2em 2%;
  height: 7em;
  border: 1px white dashed;
  margin: 10px; }
  .faq-item h1, .faq-item p {
    margin: 0; }
  .faq-item h1 {
    font-size: 1.5em;
    margin-bottom: 0.3em; }
  .faq-item p {
    font-size: 0.9em; }

#intro {
  text-align: left; }
  #intro h1 {
    font-size: 5vw; }
  #intro h4 {
    color: white;
    font-family: 'Ubuntu Mono', monospace;
    text-transform: uppercase;
    margin: 5px 0;
    font-size: 1.2vw; }
  #intro #values {
    margin-bottom: 30px; }
    #intro #values .value {
      display: inline-grid;
      width: 20%;
      margin-right: 15%;
      text-align: center; }
      #intro #values .value img {
        width: 100%; }
      #intro #values .value.no-margin {
        margin: 0; }
  #intro .video {
    border: 1px white dashed;
    padding: 15px;
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%; }
  #intro #summary p {
    line-height: 200%;
    font-weight: 500; }
  #intro #memory {
    text-align: center;
    position: relative;
    padding-bottom: 56.25%;
    padding-top: 30px;
    height: 0; }
    #intro #memory img {
      width: 100%; }
  #intro #left, #intro #right {
    vertical-align: middle;
    display: inline-block; }
  #intro #left {
    width: 40%;
    margin: 5%; }
  #intro #right {
    width: 45%; }

#social {
  display: block;
  padding: 10px; }
  #social img {
    width: 25px;
    margin: 0 10px; }
    #social img:hover {
      opacity: 0.7;
      cursor: pointer; }

html, body {
  margin: 0;
  color: white;
  text-align: center;
  font-family: 'Didact Gothic', sans-serif;
  font-weight: 400;
  min-width: 250px;
  font-size: 1.15vw; }

h1 {
  font-family: 'Lekton', sans-serif;
  font-size: 2vw; }

h1.header {
  margin: 0;
  font-size: 5vw; }

a {
  display: inline-block; }

#content-container {
  background: #191919;
  /*
  background: linear-gradient(#191919, #333333);
  background: -webkit-linear-gradient(#191919, #333333);
  background: -o-linear-gradient(#191919, #333333);
  background: -moz-linear-gradient(#191919, #333333);
  */
  padding-top: 10%; }
  #content-container a {
    color: white;
    text-decoration: underline; }
    #content-container a:hover {
      opacity: 0.5; }

@media only screen and (max-width: 860px) {
  #intro .video {
    width: 70%;
    height: 70%;
    margin: 10%; } }

@media only screen and (max-width: 860px) and (orientation: portrait) {
  #sponsor-container {
    padding: 0 5%; }
    #sponsor-container #wreaths {
      margin-top: -30px; }
      #sponsor-container #wreaths img {
        width: 25%; }
  #content-container #intro #left {
    width: 100%;
    margin: 0px 0px; }
  #content-container #intro #right {
    width: 100%; }
    #content-container #intro #right #memory img {
      width: 60%;
      float: right; }
  .btn {
    font-size: 14px;
    margin-bottom: 1px; }
  h1 {
    font-size: 1.6em; } }

@media only screen and (max-width: 660px) and (orientation: portrait) {
  #intro h4 {
    font-size: 0.7em; }
  h1.header {
    font-size: 5em;
    margin: 40px 0px 15px 0px; }
  #faq {
    padding: 0; }
    #faq .faq-item {
      width: inherit;
      height: auto;
      margin: 0px;
      display: block; }
      #faq .faq-item h1 {
        font-size: 3.2em; }
      #faq .faq-item p {
        font-size: 2em; }
  #sponsor-container {
    padding: 0; }
    #sponsor-container #wreaths {
      margin-top: 0; }
      #sponsor-container #wreaths img {
        width: 30%; }
    #sponsor-container p {
      font-size: 2.5em; }
    #sponsor-container #plat-sponsor-container .sponsor {
      display: block;
      width: 60%;
      margin: 0 auto; }
    #sponsor-container #gold-sponsor-container .sponsor {
      display: block;
      width: 50%;
      padding: 0 20%;
      margin: 0 auto; }
    #sponsor-container #silver-sponsor-container .sponsor {
      width: 40%;
      margin: 2%; }
    #sponsor-container #bronze-sponsor-container .sponsor {
      width: 25%;
      margin: 1.5%; } }

@media all and (max-width: 530px) {
  #intro h1 {
    font-size: 5em; }
  #intro h4 {
    font-size: 2em; }
  #intro #values .value {
    width: 20%;
    margin-right: 15%; } }

@media all and (max-width: 350px) {
  #intro h4 {
    font-size: 0.5em; } }

@media only screen and (max-width: 860px) and (orientation: landscape) {
  p {
    font-size: 1.5em; }
  #content-container {
    padding: 10% 4%; }
  #intro h1 {
    font-size: 5vw; }
  #intro h4 {
    font-size: 2vw; }
  #intro #left {
    width: 100%;
    margin: 0px 0px; }
  #intro #right {
    width: 100%; }
    #intro #right #memory img {
      width: 60%;
      float: right; }
  #faq {
    padding: 50px 0px; }
    #faq .faq-item {
      width: 42%;
      height: 10em;
      display: inline-block;
      margin: 10px; }
      #faq .faq-item h1 {
        font-size: 1.8em; }
      #faq .faq-item p {
        font-size: 1.2em; } }

@media screen and (orientation: portrait) {
  #initialpage-bg-color #initialpage #initialpage-content .logo #logo-img {
    width: 50%; }
  #initialpage-bg-color #initialpage #initialpage-content {
    flex-direction: column; }
    #initialpage-bg-color #initialpage #initialpage-content h1 {
      font-size: 5.5vw;
      margin: 10px; }
    #initialpage-bg-color #initialpage #initialpage-content h2 {
      font-size: 4vw;
      margin: 10px; }
    #initialpage-bg-color #initialpage #initialpage-content .left {
      width: 65%; }
    #initialpage-bg-color #initialpage #initialpage-content .right {
      width: 70%; }
    #initialpage-bg-color #initialpage #initialpage-content .logo .graphic {
      margin-left: 0px; }
  #content-container {
    padding: 10% 25px; }
    #content-container #faq .faq-item {
      margin: 15px 0px; }
    #content-container #intro .video {
      width: 70%;
      height: 70%;
      margin: 10%; }
    #content-container #intro #summary p {
      font-size: 2.2em; } }
