.f {
  display: flex;
  flex-direction: column;
}
.f .row {
  flex-direction: row;
}
.f.wrap {
  flex-wrap: wrap;
}

.jc {
  justify-content: flex-start;
}
.jc-c {
  justify-content: center;
}
.jc-e {
  justify-content: flex-end;
}
.jc-a {
  justify-content: space-around;
}
.jc-b {
  justify-content: space-between;
}
.jc-even {
  justify-content: space-evenly;
}

.js {
  justify-self: flex-start;
}
.js-c {
  justify-self: center;
}
.js-e {
  justify-self: flex-end;
}
.js-a {
  justify-self: space-around;
}
.js-b {
  justify-self: space-between;
}
.js-even {
  justify-self: space-evenly;
}

.ai {
  align-items: stretch;
}
.ai-c {
  align-items: center;
}
.ai-s {
  align-items: flex-start;
}
.ai-e {
  align-items: flex-end;
}

.as {
  align-self: stretch;
}
.as-c {
  align-self: center;
}
.as-s {
  align-self: flex-start;
}
.as-e {
  align-self: flex-end;
}

.Navigation {
  position: relative;
  top: 0;
  left: 0;
}
.Navigation.scroll-up > nav {
  position: relative;
  top: 0;
  right: 0;
  opacity: 0.75;
}
.Navigation.scroll-up > nav:hover {
  opacity: 1;
}
.Navigation.scroll-up > nav:hover > a {
  color: rgb(233, 233, 233);
}
.Navigation.scroll-down > nav {
  position: relative;
  top: 0;
  right: 0;
  opacity: 0.25;
}
.Navigation.scroll-down > nav:hover {
  opacity: 1;
}
.Navigation.scroll-down > nav > a {
  color: rgb(223, 223, 223);
}

nav {
  padding: 0em 0;
  width: 100%;
  background-color: rgb(0, 0, 0);
  box-shadow: 0 0 0.2em 0em rgb(20, 24, 20);
  border-bottom-left-radius: 0.25em;
  border-bottom-right-radius: 0.25em;
  z-index: 999;
  transition: all 0.2s ease-in-out;
}
nav ul {
  padding: 0;
  width: 100%;
  list-style-type: none;
  -webkit-user-select: none;
     -moz-user-select: none;
          user-select: none;
}
nav ul.menu {
  position: absolute;
  height: 0;
  white-space: nowrap;
  overflow: hidden;
}
nav ul > .logo {
  position: relative;
  flex: auto;
  padding: 0;
}
nav ul > .logo > a {
  display: block;
}
nav ul > .logo img {
  padding: 0 0 0.5em 0;
}
nav ul > .logo > h1 {
  font-weight: normal;
}
nav ul > .logo:hover {
  text-decoration: none;
}
nav ul > .logo:hover h1 {
  color: rgb(243, 243, 243);
}
nav ul > .logo:active {
  text-decoration: none;
}
nav ul > .logo:active h1 {
  color: rgb(180, 77, 29);
}
nav ul > li {
  padding: 0 1em;
  cursor: pointer;
}
nav ul > li.selected {
  text-decoration: none;
}
nav ul > li.selected > h1 {
  color: rgb(180, 77, 29);
}
nav ul > li:hover {
  text-decoration: underline;
}
nav ul > li:hover > ul.menu {
  height: auto;
  background-color: rgb(0, 0, 0);
  box-shadow: 0.1em 0.1em 0.25em 0em rgb(20, 24, 20);
  border-bottom-left-radius: 0.25em;
  border-bottom-right-radius: 0.25em;
  z-index: 999;
  transition: all 0.2s ease-in-out;
}
nav ul a {
  color: rgb(233, 233, 233);
  text-decoration: none;
}

@media only screen and (max-width: 720px) {
  .Navigation .logo {
    margin: 0;
    padding: 0;
    width: 0;
    overflow: hidden;
  }
}
.Carousel {
  width: 100%;
  height: 100%;
  -webkit-user-select: none;
     -moz-user-select: none;
          user-select: none;
  background-color: rgb(0, 0, 0);
}
.Carousel > ul {
  width: 100%;
  height: 100%;
  list-style-type: none;
}
.Carousel > form {
  position: absolute;
  bottom: 0;
  padding: 1em;
  width: 100%;
}
.Carousel > form > input {
  margin-right: 0.5em;
  cursor: pointer;
}
.Carousel button {
  height: 100%;
  min-width: 2.5em;
  width: 10%;
  opacity: 0;
  font-size: 2.5em;
  font-weight: bold;
  cursor: pointer;
  color: rgb(233, 233, 233);
  background-color: transparent;
  border: none;
}
.Carousel button:hover {
  color: rgb(243, 243, 243);
  opacity: 0.6;
}
.Carousel button:active {
  color: rgb(223, 223, 223);
}

.CarouselItem {
  position: absolute;
  top: 0;
  left: 0;
  width: 0;
  height: 100%;
  overflow: hidden;
  opacity: 0;
  transition: all 0.3s ease-in-out;
}
.CarouselItem.select {
  opacity: 1;
  width: 100%;
}
.CarouselItem h2 {
  position: absolute;
  top: 40%;
  left: 5%;
  font-size: 3em;
  font-weight: normal;
  z-index: 1;
}
.CarouselItem img {
  width: 100%;
  z-index: 0;
}

.CarouselLeft {
  position: absolute;
  top: 0;
  left: 0;
  text-align: left;
  background: linear-gradient(to right, rgb(20, 24, 20) 0%, transparent 100%);
}

.CarouselRight {
  position: absolute;
  top: 0;
  right: 0;
  text-align: right;
  background: linear-gradient(to left, rgb(20, 24, 20) 0%, transparent 100%);
}

.Home {
  color: rgb(180, 77, 29);
  display: flex;
  flex-flow: column;
  height: 100%;
}
.Home > section {
  flex: 1 1 auto;
}
.Home > section:nth-child(even) {
  height: 50vh;
  background-color: rgb(180, 77, 29);
  box-shadow: 0 0 0.3em 0.2em rgb(20, 24, 20);
}
.Home h1 {
  padding-bottom: 0.5em;
}
.Home h1 p {
  font-size: 1.25em;
  display: block;
}

.update {
  padding: 1em;
  overflow-y: auto;
  background-image: url("assets/rc_background.jpg");
}
.update p {
  color: rgb(20, 24, 20);
  display: block;
}

.Contact ul {
  list-style-type: none;
}

* {
  font-family: "Zen Maru Gothic", sans-serif;
  font-weight: 400;
  font-style: normal;
  box-sizing: border-box;
  padding: 0;
  margin: 0;
  font-size: 20px;
  transition: all 0.1s ease-in-out;
}

.wrapper, article, html, body, main {
  width: 100%;
  height: 100%;
}

html, body, main {
  display: flex;
  flex-direction: column;
  width: 100%;
  color: rgb(233, 233, 233);
  min-width: 360px;
  background: rgb(0, 0, 0);
}

header {
  position: relative;
  padding: 0em 0;
  margin-bottom: 0em;
  width: 100%;
}

article {
  display: flex;
  flex-direction: column;
  width: 100%;
  color: rgb(233, 233, 233);
}

section {
  display: flex;
  flex-direction: column;
  width: 100%;
  color: rgb(233, 233, 233);
}

.fullscreen {
  position: relative;
  height: 100vh;
  width: 100%;
}

.font-theme {
  color: rgb(180, 77, 29);
}

.shadow {
  box-shadow: 0 0 0.5em 0.5em rgb(20, 24, 20);
}

.in-shadow {
  box-shadow: inset 0 0 0.75em 0.5em rgb(20, 24, 20);
}

.pad {
  padding: 1em;
}
.pad-t {
  padding-top: 1em;
}
.pad-b {
  padding-bottom: 1em;
}
.pad-l {
  padding-left: 1em;
}
.pad-r {
  padding-right: 1em;
}

.Application {
  padding: 0 0em;
  height: 100%;
}
.Application > .PageContent {
  flex: 1 1 auto;
}
.Application > footer {
  flex: 0 1;
}

.content {
  max-width: 1280px;
}