html,
body {
  margin: 0;
  padding: 0;

  overflow-x: hidden;

  background-color: #000;

  font-family: "Times New Roman", Times, serif;
}

body {
  background-image:
    url("../img/banner/tile.png");
  background-color: #333;
}

.banner {
  overflow: hidden;

  background-image:
    linear-gradient(to right, #0000 33%, #000f),
    url("../img/banner/0.jpg");
  background-size: cover;
}

.banner-left,
.banner-right {
  display: inline-block;

  padding: 16px;
}

.banner-left { float: left; }
.banner-right { float: right; }

.banner-left h1 {
  margin: 0;
  margin-left: 8px;
  margin-bottom: 8px;

  font-size: 64px;
  font-style: italic;
}

.banner-right-text {
  float: left;

  text-align: right; 
}

.banner-right,
.banner-left h1 {
  color: #fff;
  text-shadow: 2px 2px #000;
}

.banner-right-text { color: #fff; }

.banner-right-text p,
.banner-right-text h4,
.banner-right-text h5 { margin: 0; }

.banner-right-text h4 { font-style: italic; }

.banner-right-image {
  float: right;

  height: 86px;
  margin-left: 16px;
}

.banner-bottom {
  background-image:
    url("../img/banner/tile.png");

  mask-image:
    linear-gradient(to top, #000f, #0000 157px);

  clear: both;

  height: 192px;
}

.buttons {
  scrollbar-width: none;

  overflow-x: auto;
  white-space: nowrap;

  font-size: 0;
  text-align: center;

  margin-top: -192px;
  margin-left: 16px;
  margin-right: 16px;
  margin-bottom: 16px;
}

.buttons-container {
  display: inline-block;

  border: 2px solid #000;
  background-color: #000;
}

.buttons-container a { filter: grayscale(0); }
.buttons-container a:hover { filter: grayscale(0); }
.buttons-container img {
  width: 88px;
  height: 31px;
}

.body { font-size: 0; }

.body-left,
.body-right,
.body-centre {
  vertical-align: top;

  display: inline-block;
}

.body-left,
.body-right { width: 20% }

.body-centre { width: 60% }

.body-left-container,
.body-right-container,
.body-centre-container {
  z-index: 1;
  position: relative;
  overflow-x: auto;

  font-size: 16px;

  border-width: 4px;
  border-style: solid;

  border-top-color: #ccc;
  border-left-color: #999;
  border-right-color: #999;
  border-bottom-color: #666;

  outline: 2px solid #000;

  padding-left: 12px;
  padding-right: 12px;
  margin-bottom: 16px;

  background-color: #fff;
}

.disc-container {
  position: relative;

  overflow: visible;

  min-height: 256px;

  font-size: 16px;

  margin-bottom: 16px;

  filter: drop-shadow(1px 1px 5px #000);
}

.body-centre-container { scrollbar-width: none; }

.body-left-container,
.body-centre-container { margin-left: 16px; }

.disc-container,
.body-right-container,
.body-centre-container { margin-right: 16px; }

.body-centre-container p { text-indent: 24px; }

.disc-container h3,
.disc-container p { font-style: italic; }

.disc-container h3,
.disc-container h4,
.disc-container p {
  z-index: 1;
  position: relative;

  margin: 0;

  color: #fff;
  text-shadow: 2px 2px #000;
}

.body .disc-container h3 {
  margin-top: 0;
}

.disc-container .disc-image {
  position: absolute;

  top: 0;
  right: 0;

  height: 100%;

  mask-image: url("../img/disc.png");
  mask-size: 100%;

  animation: rotate 4s linear infinite;
}

@keyframes rotate {
  100% {
    transform: rotate(360deg);
  }
}

.body h2 { font-size: 28px; }

.body h2,
.body h3 { font-style: italic; }

.body p,
.body h2,
.body h3,
.body ul {
  margin-top: 12px;
  margin-bottom: 12px;
}

.body a {
  color: #000;
  font-style: italic;
}
.body a:hover {
  font-style: normal;
}

.list-web,
.list-folder {
  padding: 0;

  list-style-position: inside;
}

.list-web { list-style-image: url("../img/icon/arrow.png"); }
.list-folder { list-style-image: url("../img/icon/folder.png"); }

.footer {
  font-size: 0;

  overflow-y: hidden;

  color: #fff;
  background-color: #000;
}

.footer-left,
.footer-right {
  display: inline-block;

  font-size: 16px;

  width: 50%;
}

.footer-left,
.footer-right {
  vertical-align: top;
}

.footer-left-container {
  margin-left: 24px;
  margin-right: 12px;
}

.footer-right-container {
  margin-left: 12px;
  margin-right: 24px;
}

.footer a {
  color: #fff;
  font-style: italic;
}
.footer a:hover {
  font-style: normal;
}

.body-centre hr {
  margin: 0;
}

.centre-image-left,
.centre-image-right {
  margin-top: 12px;
  margin-bottom: 12px;

  outline: 1px solid #fff;

  box-shadow: 3px 3px #000;
}

.centre-image-left {
  float: left;
  margin-right: 12px;
}
.centre-image-right {
  float: right;
  margin-left: 12px;
}

.image-width { width: 128px; }
.image-height { height: 128px; }
