@charset "UTF-8";
#works {
 padding: 5vw;
 height: auto;
 background: #181818;
 color: #fff;
 overflow: hidden;
}
#works:before {
 content: "";
 display: block;
 background: url(../images/dotted_w.svg) repeat;
 background-size: 3px auto;
 width: 100%;
 height: 100%;
 position: absolute;
 top: 0;
 left: 0;
 opacity: 0.07;
 pointer-events: none;
}
.carousel {
 text-align: left;
 position: relative;
 max-width: 1200px;
 margin: 0 auto;
 z-index: 5;
}
.carousel > input {
 clip: rect(1px, 1px, 1px, 1px);
 clip-path: inset(50%);
 height: 1px;
 width: 1px;
 margin: -1px;
 overflow: hidden;
 padding: 0;
 position: absolute;
}
.carousel > input:nth-of-type(4):checked ~ .carousel_slides .carousel_slide:first-of-type {
 margin-left: -300%;
}
.carousel > input:nth-of-type(3):checked ~ .carousel_slides .carousel_slide:first-of-type {
 margin-left: -200%;
}
.carousel > input:nth-of-type(2):checked ~ .carousel_slides .carousel_slide:first-of-type {
 margin-left: -100%;
}
.carousel > input:nth-of-type(1):checked ~ .carousel_slides .carousel_slide:first-of-type {
 margin-left: 0%;
}
.carousel > input:nth-of-type(1):checked ~ .carousel_thumbnails li:nth-of-type(1) label, .carousel > input:nth-of-type(2):checked ~ .carousel_thumbnails li:nth-of-type(2) label, .carousel > input:nth-of-type(3):checked ~ .carousel_thumbnails li:nth-of-type(3) label, .carousel > input:nth-of-type(4):checked ~ .carousel_thumbnails li:nth-of-type(4) label, .carousel > input:nth-of-type(5):checked ~ .carousel_thumbnails li:nth-of-type(5) label, .carousel > input:nth-of-type(6):checked ~ .carousel_thumbnails li:nth-of-type(6) label, .carousel > input:nth-of-type(7):checked ~ .carousel_thumbnails li:nth-of-type(7) label, .carousel > input:nth-of-type(8):checked ~ .carousel_thumbnails li:nth-of-type(8) label, .carousel > input:nth-of-type(9):checked ~ .carousel_thumbnails li:nth-of-type(9) label, .carousel > input:nth-of-type(10):checked ~ .carousel_thumbnails li:nth-of-type(10) label {
 color: #131313;
 border: solid 1px #F67E17;
 background: #F67E17;
}
.carousel_thumbnails {
 list-style: none;
 padding: 0;
 margin: 0 auto 2em;
 display: flex;
 flex-wrap: wrap;
 justify-content: center;
}
.carousel_thumbnails li {
 transition: all .2s ease-in-out;
}
.carousel_thumbnails label {
 line-height: 1.2;
 padding: 0.75em 3em;
 border: solid 1px rgba(255, 255, 255, 0.5);
 color: #ececec;
 font-size: 1.4rem;
 position: relative;
 font-weight: 600;
 margin: 0 0.5em;
 cursor: pointer;
 display: block;
 transition: .2s;
}
.carousel_thumbnails label span {
 display: block;
 font-size: 85%;
 letter-spacing: 0.05em;
}
.carousel_thumbnails label em {
 display: inline-block;
 font-size: 70%;
 font-weight: bold;
 padding-left: 0.25em;
 line-height: 1;
 letter-spacing: 0.05em;
}
.carousel_thumbnails label:hover, .carousel_thumbnails label:focus {
 cursor: pointer;
}
.carousel_slides {
 position: relative;
 z-index: 1;
 padding: 0;
 margin: 0;
 overflow: hidden;
 white-space: nowrap;
 box-sizing: border-box;
 display: flex;
}
.carousel_slide {
 position: relative;
 display: block;
 flex: 1 0 100%;
 width: 100%;
 height: 100%;
 overflow: hidden;
 transition: all 300ms ease-out;
 vertical-align: top;
 box-sizing: border-box;
 white-space: normal;
}
.worksList {
 display: flex;
 flex-wrap: wrap;
 align-items: stretch;
}
.worksList.horizontal li {
 flex: 1 0 calc(20% - 1.5rem);
 max-width: calc(20% - 1.5rem);
 margin: 0 calc(7.5rem/4) 3rem 0;
}
.worksList.horizontal li:nth-child(5n) {
 margin: 0 0 3rem 0;
}
.worksList.vertical li {
 flex: 1 0 calc(25% - 1.5rem);
 max-width: calc(25% - 1.5rem);
 margin: 0 calc(6rem/3) 3rem 0;
}
.worksList.vertical li:nth-child(4n) {
 margin: 0 0 3rem 0;
}
.worksList.square li {
 flex: 1 0 calc(20% - 1.5rem);
 max-width: calc(20% - 1.5rem);
 margin: 0 calc(7.5rem/4) 3rem 0;
}
.worksList.square li:nth-child(5n) {
 margin: 0 0 3rem 0;
}
.worksList li .thumb {
 position: relative;
 overflow: hidden;
 background: #fff;
}
.worksList li .thumb:before {
 content: "";
 display: block;
 padding-top: 100%;
}
.worksList li .thumb:after {
 content: "";
 display: block;
 width: calc(100% - 2px);
 height:  calc(100% - 2px);
 position: absolute;
 top: 0;
 left: 0;
 border: solid 1px rgba(255, 255, 255, 0.15);
 pointer-events: none;
}
.worksList.horizontal li .thumb:before {
 content: "";
 display: block;
 padding-top: 141.25%;
}
.worksList.vertical li .thumb:before {
 content: "";
 display: block;
 padding-top: 56.25%;
}
.worksList.square li .thumb:before {
 content: "";
 display: block;
 padding-top: 100%;
}
.worksList li .thumb img {
 height: 100%;
 width: auto;
 display: block;
 position: absolute;
 top: 50%;
 transform: translateY(-50%);
 left: -50%;
 right: -50%;
 margin: 0 auto;
}
.worksList.square li .thumb img {
 height: auto;
 width: 100%;
}
.worksList li .wInfo {
 position: relative;
 padding: 1em 0 0;
 z-index: 5;
}
.worksList li .wInfo .tag {
 display: flex;
 flex-wrap: wrap;
}
.worksList li .wInfo .tag span {
 display: inline-block;
 white-space: nowrap;
 font-size: 1.2rem;
 line-height: 1.2;
 background: rgba(0, 0, 0, 0.2);
 color: #cecece;
 border: solid 1px rgba(255, 255, 255, 0.2);
 padding: 0.35em 0.5em 0.25em;
 border-radius: 0.3em;
 margin: 0 0.75em 0.75em 0;
 letter-spacing: 0.01em;
}
.worksList li .wInfo .title {
 color: #fcfcfc;
 line-height: 1.4;
}
.worksList li .wInfo .title em {
 font-size: 80%;
 opacity: 0.88;
}
@media screen and (max-width: 999px) {
 #works {
  padding: 4rem 2rem;
 }
 .carousel_thumbnails label {
  padding: 0.75em 1em;
  font-size: 1.4rem;
  margin: 0 0.2em;
 }
 .worksList.horizontal li {
  flex: 1 0 calc(50% - 1rem);
  max-width: calc(50% - 1rem);
  margin: 0 2rem 2rem 0;
 }
 .worksList.horizontal li:nth-child(5n) {
  margin: 0 2rem 2rem 0;
 }
 .worksList.horizontal li:nth-child(even) {
  margin: 0 0 2rem 0;
 }
 .worksList.vertical li {
  flex: 1 0 calc(50% - 1rem);
  max-width: calc(50% - 1rem);
  margin: 0 2rem 2rem 0;
 }
 .worksList.vertical li:nth-child(4n) {
  margin: 0 2rem 2rem 0;
 }
 .worksList.vertical li:nth-child(even) {
  margin: 0 0 2rem 0;
 }
 .worksList.square li {
  flex: 1 0 calc(50% - 1rem);
  max-width: calc(50% - 1rem);
  margin: 0 2rem 2rem 0;
 }
 .worksList.square li:nth-child(5n) {
  margin: 0 2rem 2rem 0;
 }
 .worksList.square li:nth-child(even) {
  margin: 0 0 2rem 0;
 }
}