* {
  margin: 0;
  padding: 0;
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  box-sizing: border-box;
  touch-action: manipulation;
  text-rendering: optimizeLegibility;
  -ms-touch-action: manipulation;
  -webkit-tap-highlight-color: rgba(0,0,0,0);
}
html,
body {
  height: 100%;
}
body {
  -webkit-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none;
  background: #000;
  color: #fff;
}
canvas {
  display: block;
}
input {
  cursor: text;
  -webkit-user-select: default;
  -moz-user-select: default;
  -ms-user-select: default;
  user-select: default;
}
.nowrap {
  display: inline-block;
}
#background-video {
  position: fixed;
  opacity: 0.65;
  -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=65)";
  filter: alpha(opacity=65);
  top: 50%;
  left: 50%;
  min-width: 100%;
  min-height: 100%;
  width: auto;
  height: auto;
  z-index: -100;
  -ms-transform: translateX(-50%) translateY(-50%);
  -moz-transform: translateX(-50%) translateY(-50%);
  -webkit-transform: translateX(-50%) translateY(-50%);
  -webkit-transform: translateX(-50%) translateY(-50%);
  -moz-transform: translateX(-50%) translateY(-50%);
  -o-transform: translateX(-50%) translateY(-50%);
  -ms-transform: translateX(-50%) translateY(-50%);
  transform: translateX(-50%) translateY(-50%);
  -webkit-background-size: cover;
  -moz-background-size: cover;
  background-size: cover;
}
#background-shade {
  z-index: -99;
  background: url("assets/image/checker.png");
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
}
body {
  color: #fff;
  font: 11px/18px Menlo, sans-serif;
}
a {
  color: #fff;
}
ul {
  list-style: none;
}
dl dt {
  float: left;
  clear: left;
  margin-right: 10px;
}
p,
ul,
dl {
  margin: 24px;
}
#container {
  display: -webkit-box;
  display: -moz-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: box;
  display: flex;
  -webkit-box-orient: vertical;
  -moz-box-orient: vertical;
  -o-box-orient: vertical;
  -webkit-flex-direction: column;
  -ms-flex-direction: column;
  flex-direction: column;
  -webkit-box-pack: distribute;
  -moz-box-pack: distribute;
  -o-box-pack: distribute;
  -ms-flex-pack: distribute;
  -webkit-justify-content: space-around;
  justify-content: space-around;
  min-height: 100%;
}
#projects {
  display: -webkit-box;
  display: -moz-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: box;
  display: flex;
  -webkit-box-orient: horizontal;
  -moz-box-orient: horizontal;
  -o-box-orient: horizontal;
  -webkit-box-lines: multiple;
  -moz-box-lines: multiple;
  -o-box-lines: multiple;
  -webkit-flex-flow: row wrap;
  -ms-flex-flow: row wrap;
  flex-flow: row wrap;
  padding: 24px;
  margin-bottom: auto;
  margin-top: auto;
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  box-sizing: border-box;
  -webkit-box-align: stretch;
  -moz-box-align: stretch;
  -o-box-align: stretch;
  -ms-flex-align: stretch;
  -webkit-align-items: stretch;
  align-items: stretch;
  -ms-flex-line-pack: distribute;
  -webkit-align-content: space-around;
  align-content: space-around;
}
#projects > * {
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  box-sizing: border-box;
}
@media (min-width: 740px) {
  #projects > * {
    width: 30%;
    margin: 1.15vw;
  }
  .project {
    min-height: 18vw;
  }
}
@media (max-width: 740px) {
  #projects > * {
    width: 100%;
    margin: 2vw 1.5vw;
  }
  .project .title {
    margin-top: 0.8vw !important;
    margin-bottom: 2vw !important;
    font-size: 8vw !important;
    border: none !important;
  }
  .project .prefix {
    padding-top: 2.5vw !important;
  }
  #meta {
    -webkit-box-orient: vertical;
    -moz-box-orient: vertical;
    -o-box-orient: vertical;
    -webkit-flex-direction: column;
    -ms-flex-direction: column;
    flex-direction: column;
  }
  .about {
    padding-left: 15% !important;
  }
}
.about {
  padding: 24px;
  background: url("assets/image/trans.gif") center center no-repeat;
  -webkit-background-size: contain;
  -moz-background-size: contain;
  background-size: contain;
}
#logotype {
  position: relative;
  width: 80%;
  top: 6.8vw;
  left: 2.7vw;
}
.project:hover,
a:hover,
.project:hover *,
a:hover * {
  -webkit-animation: AnimationName 1s linear alternate infinite;
  -moz-animation: AnimationName 1s linear alternate infinite;
  -o-animation: AnimationName 1s linear alternate infinite;
  -ms-animation: AnimationName 1s linear alternate infinite;
  animation: AnimationName 1s linear alternate infinite;
}
.project {
  cursor: pointer;
  text-decoration: none;
  display: block;
  text-shadow: 0 1px 0 rgba(0,0,0,0.1);
  display: -webkit-box;
  display: -moz-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: box;
  display: flex;
  -webkit-box-orient: vertical;
  -moz-box-orient: vertical;
  -o-box-orient: vertical;
  -webkit-flex-direction: column;
  -ms-flex-direction: column;
  flex-direction: column;
  color: #fff;
}
.project .title {
  padding-top: 2vw;
  font: bold 5.25vw Times New Roman, serif;
  border-top: 3px solid #fff;
  letter-spacing: -0.15vw;
  margin-bottom: 3vw;
  display: inline;
}
.project .prefix {
  width: auto;
  padding-top: 1vw;
  border-top: 1px solid #fff;
  margin-top: auto;
}
.project .prefix em,
.project .prefix strong {
  font-style: normal;
  font-weight: normal;
}
.project strong {
  float: right;
}
#meta {
  background: #000;
  padding: 12px 24px;
  display: -webkit-box;
  display: -moz-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: box;
  display: flex;
}
#meta,
#meta a {
  color: #ddd;
}
#meta > * {
  margin: 1.15vw;
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  box-sizing: border-box;
  width: 30%;
}
#intro {
  min-width: 285px;
}
#archive {
  -webkit-flex-shrink: 0;
  flex-shrink: 0;
}
@-moz-keyframes AnimationName {
  100% {
    color: #f0c;
    border-color: #f0c;
  }
  50% {
    color: #ff0;
    border-color: #ff0;
  }
  0% {
    color: #0af;
    border-color: #0af;
  }
}
@-webkit-keyframes AnimationName {
  100% {
    color: #f0c;
    border-color: #f0c;
  }
  50% {
    color: #ff0;
    border-color: #ff0;
  }
  0% {
    color: #0af;
    border-color: #0af;
  }
}
@-o-keyframes AnimationName {
  100% {
    color: #f0c;
    border-color: #f0c;
  }
  50% {
    color: #ff0;
    border-color: #ff0;
  }
  0% {
    color: #0af;
    border-color: #0af;
  }
}
@keyframes AnimationName {
  100% {
    color: #f0c;
    border-color: #f0c;
  }
  50% {
    color: #ff0;
    border-color: #ff0;
  }
  0% {
    color: #0af;
    border-color: #0af;
  }
}
