/*****************************/
/** Main                    **/
/*****************************/


/** Main Top Video Ver **/

.main-top.video-bg {
   position: relative;
   padding-top: 90vh;
   max-width: 1920px;
   margin: 0 auto;
   overflow: hidden;
}

.video-wrapper {
   position: absolute;
   top: 0;
   left: 0;
   width: 100%;
   height: 100%;
   z-index: -1;
   pointer-events: none;
   overflow: hidden;
}

.video-wrapper iframe {
   width: 100vw;
   height: 56.25vw; /* Given a 16:9 aspect ratio, 9/16*100 = 56.25 */
   min-height: 100vh;
   min-width: 177.77vh; /* Given a 16:9 aspect ratio, 16/9*100 = 177.77 */
   position: absolute;
   top: 50%;
   left: 50%;
   transform: translate(-50%, -50%);
}

.video-wrapper:after {
   content: '';
   position: absolute;
   display: block;
   width: 100%;
   height: 100%;
   left: 0;
   top: 0;
   background-color: rgba(0,0,0,.55);
}

.hero-item-container {
   position: absolute;
   top: 50%;
   left: 50%;
   -ms-transform: translate(-50%, -50%);
   -webkit-transform: translate(-50%, -50%);
   -moz-transform: translate(-50%, -50%);
   transform: translate(-50%, -50%);
}

.hero-item-container .hero-headline {
   font-size: 3.2em;
   color: #fff;
   text-align: left;
   font-family: 'Montserrat', 'Noto Sans KR';
   letter-spacing: .08em;
   text-transform: uppercase;
   max-width: 640px;
   line-height: 1.2em;
}

.hero-item-container .hero-subline {
   font-size: 1.3em;
   color: #fff;
   text-align: left;
}
/** **** **/


/** Main Top Slide Ver **/

.main-top.slider {
  position: relative;
}

.slick-slider.main-hero-section {
  width: 100%;
  max-width: 1920px;
  margin:0 auto;
}

.slick-slider.main-hero-section .slick-track .hero-item {
  padding-bottom: 46vw;
}

.slick-slider.main-hero-section .slick-prev,
.slick-slider.main-hero-section .slick-next {
  position: absolute;
  top: 50%;
  -ms-transform: translateY(-50%);
  -webkit-transform: translateY(-50%);
  -moz-transform: translateY(-50%);
  transform: translateY(-50%);
}

.slick-slider.main-hero-section .slick-prev {
  left: 5%;
  width: 16px;
}

.slick-slider.main-hero-section .slick-next {
  right: 5%;
  width: 16px;
}

.slick-slider.main-hero-section .slider-arrow i.fa {
  font-size: 400%;
  color: #fff;
}

.main-hero-section .hero-item {
  position: relative;
}

.main-hero-section .hero-item:before {
  content: '';
  display: block;
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-color: rgba(0,0,0,.55);
}

.main-hero-section .hero-item a.btn-loco {
   margin-top: 25px;
   text-transform: uppercase;
   min-width: 160px;
}

.main-hero-section .hero-item a.btn-loco:after {
   content: '\f178';
   margin-left: 5px;
   font-family: 'FontAwesome';
   speak: none;
   font-weight: normal;
   font-variant: normal;
   text-transform: none;
   line-height: 1;
   -webkit-font-smoothing: antialiased;
   transition:margin 0.2s ease; 
   -webkit-transition:margin 0.2s ease; 
   -ms-transition:margin 0.2s ease;
}

.main-hero-section .hero-item a.btn-loco:hover:after {
   margin-left: 8px;
}





.main-overview.et_pb_section_first:before {
  display: none!important;
}

.overview-wrap {
   position: relative;
}

.deco-line-wrap {
   display: inline-block;
   position: absolute;
   left: 0;
   height: 1px;
}

.overview-wrap .deco-line-wrap {
   top: 12px;
   width: 228px;
}

.deco-line {
   position: absolute;
   top: 0;
   left: 0;
   display: inline-block;
   height: 1px;
   background-color: #333;
}

.bg-dark .sub-top .deco-line {
  background-color: #fff;
}

.overview-txt {
   font-size: 1.2em;
   line-height: 1.7em;
}

.main-portfolio-section .section-title {
   text-align: center;
}



@media all and (min-width: 1600px) {
  .slick-slider.main-hero-section .slick-track .hero-item {
    padding-bottom: 38vw;
  }
}

@media all and (min-width: 1500px) {
  .main-overview.et_pb_section_first {
    padding-top: 60px!important;
  }
}

@media all and (max-width: 1099px) {
  .slick-slider.main-hero-section .slick-track .hero-item {
    padding-bottom: 65vw;
  }
}

@media all and (min-width: 981px) {
  .main-overview.et_pb_section_first {
    padding-top: 4%!important;
  }

   .overview-wrap {
      margin-left: 15%;
      padding-left: 250px;
   }
}

@media all and (max-width: 980px) {
   .overview-wrap {
      padding-left: 90px;
   }

   .overview-wrap .deco-line-wrap {
      width: 55px;
   }

   .main-portfolio-section.et_pb_section {
      padding-top: 0;
   }
}

@media all and (max-width: 767px) {
   .slick-slider.main-hero-section .slick-track .hero-item {
     padding-bottom: 105vw;
   }

   .main-top.slider .hero-item-container .hero-headline {
      font-size: 2.5em;
   }
}






/*****************************/
/** Portfolio Single        **/
/*****************************/

.portfolio-top {
   position: relative;
   width: 100%;
   height: 0;
   overflow: hidden;
   padding-bottom: 35%;
   background-size: cover;
   background-position: center;
}

.portfolio-info-section {
   position: relative;
}

.portfolio-info-section:after {
   content: '';
   position: absolute;
   width: 80%;
   max-width: 1200px;
   height: 1px;
   background-color: #ddd;
   left: 50%;
   bottom: 0;
   -ms-transform: translateX(-50%);
   -webkit-transform: translateX(-50%);
   -moz-transform: translateX(-50%);
   transform: translateX(-50%);
}

.portfolio-info-wrap {
   position: relative;
   padding-left: 160px;
}

.portfolio-info-wrap .deco-line-wrap {
   top: 20px;
   width: 125px;
} 

.general-info-box .col-left,
.general-info-box .col-right {
   float: left;
   padding: 12px 4px;
}

.general-info-box .col-left {
   width: 35%;
}

.general-info-box .col-right {
   width: 65%;
}






@media all and (min-width: 981px) {
   .portfolio-desc {
      padding-right: 35px;
   }
}

@media all and (max-width: 980px) {
   .portfolio-desc {
      margin-bottom: 25px;
   }

   .general-info-box .col-left, .general-info-box .col-right {
      padding: 6px 4px;
   }
}

@media all and (max-width: 767px) {
   .portfolio-top {
      padding-bottom: 55%;
   }

   .portfolio-info-wrap {
      padding-left: 0;
   }

   .portfolio-info-wrap .deco-line-wrap {
      display: none;
   }
}








/*****************************/
/** Works                   **/
/*****************************/
/* Filter */
/*#filters {
    display: block;
    position: relative;
}*/

ul#filters {
    display: flex;
    padding:25px 0;
    margin-bottom: 30px;
    margin-left: -25px;
    flex-wrap: wrap;
}

ul#filters li {
    display: block;
    padding: 8px 0 8px 25px;
}

ul#filters li a {
   color: #333;
}

ul#filters li a.active {
    font-weight: 600;
}

.portfolio-item {
   width: 100%;
}

.portfolio-item .thumbnail-box a.entry-featured-image-url {
   position: relative;
}

.portfolio-item .thumbnail-box a.entry-featured-image-url:after {
   content: '';
   position: absolute;
   top: 0;
   left: 0;
   right: 0;
   bottom: 0;
   transition:all 0.3s ease; 
   -webkit-transition:all 0.3s ease; 
   -ms-transition:all 0.3s ease;
   border-width: 0px;
   border-color: #fff;
   border-style: solid;
   z-index: 2;
   cursor: pointer;
}

.portfolio-item .thumbnail-box a.entry-featured-image-url:hover:after {
   border-width: 20px;
}

.portfolio-grid-container .title-box {
   padding: 24px 0;
}

.portfolio-grid-container .title-box h4 {
   font-size: 1.25em;
}

.portfolio-item .title-box .client {
   position: relative;
   padding-left: 30px;
   margin-bottom: 10px;
}

.client .deco-line-wrap {
    top: 12px;
    width: 25px;
}

.portfolio-item .title-box .client .client-name {
   font-size: .85em;
}



/*.grid-item.portfolio {
   width: 30%;
}
*/

@media all and (min-width: 981px) {
   .portfolio-list .portfolio-grid-container.grid-3 {
   }

   .portfolio-list .portfolio-grid-container.grid-2 {
      margin-left: -5%;
   }

   .portfolio-list .flex-grid.grid-2 .grid-item.portfolio {
      width: 47%;
      padding-left: 5%;
   }

   .portfolio-list .flex-grid.grid-3 .grid-item.portfolio {
      width: 33.333333%;
   }
}










/*****************************/
/** Service                 **/
/*****************************/

.service-item {
   width: 100%;
}

.service-item .thumbnail-box {
   margin-bottom: 1.8em;
}

.service-item .thumbnail-box img {
   border-bottom: 3px solid #666;
}

/**********************************/

.sub-top .page-title-container.service-single-title .page-desc {
   max-width: 90%;
}

.page-title-container.service-single-title .service-name-wrap {
   position: relative;
   padding-left: 30px;
   margin-bottom: 10px;
}

.page-title-container.service-single-title .deco-line-wrap {
    top: 12px;
    width: 25px;
}

.page-title-container.service-single-title .service-name {
   font-size: .85em;
   font-weight: 700;
}

.service-content-section.et_pb_section {
   background-color: #f4f5f7;
}

.related-portfolio.et_pb_row {
   padding-top: 0;
}

.related-portfolio .slick-list {
   margin: 0 -15px;
}

.related-portfolio .slick-slide {
   margin:0 15px;
}

.related-portfolio .slick-next,
.related-portfolio .slick-prev {
   width: 16px;
}

.related-portfolio .slick-prev {
   left: -35px;
}

.related-portfolio .slick-next {
   right: -35px;
}

.related-portfolio .slick-next:before,
.related-portfolio .slick-prev:before {
   color: #333;
}

.related-portfolio .title-box {
   padding: 1.5em 0;
}

.service-content-section .portfolio-item .thumbnail-box a.entry-featured-image-url:after {
   border-color: #f4f5f7;
}



@media (min-width: 981px) {
   .flex-grid.grid-3.service-grid-container {
       margin-left: -6.5%;
   }

   .flex-grid.grid-3 .grid-item.agency_service {
      padding-left: 6.5%;
   }
}

@media (min-width: 768px) {
   .page-title-container.service-single-title {
      display: flex;
      display: -webkit-flex;
      align-items: flex-end;
   }

   .page-title-container.service-single-title .col-left {
      flex: 2;
      -webkit-flex: 2;
   }

   .page-title-container.service-single-title .col-right {
      flex: 1;
      -webkit-flex: 1;
   }
}

@media (max-width: 768px) {
  .page-title-container.service-single-title .col-right {
    display: none;
  }  
}







/*****************************/
/** About                   **/
/*****************************/

.page .et_pb_section_first:before {
   content: '';
   width: 1px;
   height: 115px;
   display: block;
   background-color: #666;
   position: absolute;
   top: 0;
   left: 50%;
   margin-left: -.5px;
}

.clients-list {
   margin: 0 -15px;
}

.clients-list li {
   width: 25%;
   /*flex-basis: 25%;*/
   padding: 0 15px;
   margin-bottom: 8px;
}

.member-item {
  position: relative;
  flex-direction: column;
  margin-bottom: 6.5%;
}

.member-thumb {
  margin-bottom: 2.0em;
}

.member-info {
  text-align: center;
}

.member-name {
  position: relative;
  text-transform: uppercase;
}

.member-name:after {
  content: '';
  position: absolute;
  display: block;
  width: 16px;
  left: 50%;
  margin-left: -8px;
  bottom: 0;
  height: 1px;
  background-color: #333;
}

.member-job {
  font-size: 1.0em;
  padding-bottom: 0;
  margin-bottom: 1px;
}

.member-desc {
  padding-bottom: 0;
  margin-bottom: 0;
}



@media (max-width: 980px) {
   .page .et_pb_section_first:before {
      height: 68px;
   }
}

@media (max-width: 767px) {
   .page .et_pb_section_first:before {
      display: none;
   }

   .clients-list {
      display: flex;
      display: -webkit-flex;
      flex-wrap: wrap;
   }

   .clients-list li {
      width: 50%;
   }

  .member-list.flex-grid {
    display: flex;
    flex-wrap: wrap;
    margin-left: -1.5%;
  }

  .member-list.flex-grid .member-item.grid-item {
    width: 50%;
    padding-left: 1.5%;
  }
}





/*****************************/
/** News                    **/
/*****************************/



.news-grid-container .title-box .news-excerpt {
  margin-bottom: 1.2em;
}

.news-grid-container .title-box .btn-loco.btn-news-view {
  padding: 8px 36px;
  display: inline-block;
}

.news-grid-container .title-box .post-meta {
  padding-bottom: 0;
}

.sub-top.news-top {
  padding-bottom: 26%;
}

.sub-top.news-top p.post-meta {
  margin-bottom: 10px;
}

.sub-top .page-title-container.news-single-title .page-desc {
   max-width: 90%;
}

.page-title-container.news-single-title .news-name-wrap {
   position: relative;
   padding-left: 30px;
   margin-bottom: 10px;
}

.page-title-container.news-single-title .deco-line-wrap {
    top: 12px;
    width: 25px;
}

.page-title-container.news-single-title .news-name {
   font-size: .85em;
   font-weight: 700;
}

.news-content-section.et_pb_section {
   background-color: #f4f5f7;
}

.news-content-section a {
  font-weight: 700;
  text-decoration: underline;
}


@media (min-width: 981px) {
  .news-grid-container .news-item {
    display: flex;
    display: -webkit-flex;
  }

  .news-grid-container .news-item .thumbnail-box {
    flex: 2;
    -webkit-flex: 2;
  }

  .news-grid-container .news-item .title-box {
    flex: 1;
    -webkit-flex: 1;
  }

  .news-grid-container .title-box {
    padding: 35px 0;
    margin-left: 5%;
    border-top: 1px solid #666;
    border-bottom: 1px solid #666;
  }
}

@media (max-width: 980px) {
  .news-grid-container .title-box {
    padding: 24px 0;
  }

  .news-grid-container .title-box .btn-loco.btn-news-view {
    display: none;
  }
}


@media (min-width: 768px) {
   .page-title-container.news-single-title {
      display: flex;
      display: -webkit-flex;
      align-items: flex-end;
   }

   .page-title-container.news-single-title .col-left {
      flex: 2;
      -webkit-flex: 2;
   }

   .page-title-container.news-single-title .col-right {
      flex: 1;
      -webkit-flex: 1;
   }
}

@media (max-width: 767px) {
  .sub-top.news-top {
    padding-bottom: 46%;
    overflow: inherit;
  }

  .sub-top.news-top .page-title-container {
    bottom: -40px;
    padding: 0;
    z-index: 9;
  }

  .page-title-container.news-single-title .col-right {
    display: none;
  }  

}