/* general */

* {
  margin: 0;
  padding: 0;
}

a:active { color: #aaaaaa; }
a:hover { color: #cccccc; }
a:link { color: #ffffff; }
a:visited { color: #ffffff; }

@font-face {
  font-family: "Lato";
  src: url("Lato-Light.ttf");
}

body {
  font-family: "Lato", sans-serif;
  height: 100vh;
  position: relative;
  text-align: center;
  width: 100%;
}

h3 {
  font-size: 125%;
  font-weight: normal;
  letter-spacing: 3px;
  text-transform: uppercase;
}

hr {
  background-image: linear-gradient(90deg, rgba(0,0,0,0), rgba(255,255,255,0.5), rgba(0,0,0,0));
  border: 0;
  height: 1px;
  margin: 10px auto;
  width: 80%;
}

.bg-mountains {
  background: url("bg-mountains.png");
  background-attachment: fixed;
  background-position: 100% 20%;
  background-repeat: no-repeat;
  background-size: cover;
}

.bg-mountains-lite {
  background: linear-gradient(rgba(255,255,255,0.3), rgba(255,255,255,0.9)), url("bg-mountains.png");
  background-attachment: fixed;
  background-position: 100% 20%;
  background-repeat: no-repeat;
  background-size: cover;
}

/* footer */

.footer {
  background-color: rgba(0,0,0,0.95);
  bottom: 0;
  color: #ffffff;
  font-size: 80%;
  letter-spacing: 4px;
  padding: 10px 0 10px 4px;  /* +4px for letter-spacing */
  position: fixed;
  text-transform: uppercase;
  width: 100%;
  z-index: 100;
}

.footer a { text-decoration: none; }

#siteseal {
  bottom: 2px;
  opacity: 0.5;
  position: absolute;
  right: 1px;
  z-index: -100;
}

#siteseal > img {
  height: 26px;
}

/* nav bar */

.nav-bar {
  background-color: rgba(0,0,0,0.95);
  color: #ffffff;
  font-size: 100%;
  position: fixed;
  top: 0;
  text-transform: uppercase;
  width: 100%;
  z-index: 100;
}

.nav-bar a { text-decoration: none; }

.nav-bar ul {
  list-style-type: none;
  margin: 0 0 -1px;
}

.nav-bar li {
  display: inline-block;
  letter-spacing: 4px;
  margin-top: -1px;
  padding: 10px 20px 10px 24px;  /* +4px for letter-spacing */
}

.nav-bar li:hover {
  background-color: rgba(100,100,100,0.4);
}

.nav-bar .nav-selected {
  border-bottom: 2px solid rgba(255,255,255,0.6);
  font-weight: bold;
  margin-bottom: -2px;
  padding-bottom: 8px;
}

/* button fade */

.fade { background-color: rgba(0,0,0,0); }

.fade:hover {
  background-color: rgba(50,80,150,0.5);
  border-color: rgba(255,255,255,0.2);
}

/* container for buttons in a text section */

.link-container {
  letter-spacing: 20px;
  margin-top: 10px;
}

.link-button {
  border: 1px solid #ffffff;
  border-radius: 100px;
  font-size: 16px;
  letter-spacing: 2px;
  text-decoration: none;
  transition: 0.5s;
}

/* main layout - common */

.main-top { padding-top: 38px; }
.main-bottom { padding-bottom: 37px; }
.table {
  background-color: #222222;
  border-spacing: 0;
  color: #ffffff;
  width: 100%;
}

/* main layout - large */

@media only screen and (min-width: 768px) {
  .row {
    align-items: center;
    display: flex;
    width: 100%;
  }
  .width-50 { flex: 50%; }
  .width-25 { flex: 25%;}
  .section-inner {
    line-height: 180%;
    margin: auto;
    max-width: 600px;
    padding: 20px;
  }
  .img-container { align-self: stretch; }
  .big-img {
    height: 100%;
    margin-bottom: -3px; /* extra white space below the image??? */
    object-fit: cover;
    width: 100%;
  }
  .link-button {
    padding: 8px 30px 11px 32px;  /* +2px for letter-spacing */
  }
}

/* main layout - small */

@media only screen and (max-width: 768px) {
  .row {
    align-items: center;
    display: flex;
    flex-direction: column;
    width: 100%;
  }
  .section-inner {
    line-height: 180%;
    margin: auto;
    max-width: 600px;
    padding: 50px;
  }
  .img-container { align-self: stretch; }
  .text-container { order: 2; }
  .big-img {
    margin-bottom: -3px; /* extra white space below the image??? */
    object-fit: cover;
    width: 100%;
  }
  .m-hidden { display: none; }
  .link-button {
    display: block;
    margin: 0 auto 10px;
    max-width: 300px;
    padding: 10px 0;
  }
}