/**********************************************************
                             nav                           
***********************************************************/
#nav {
   z-index: 999;
   position: fixed;
   top: 0;
   left: 0;
   right: 0;
   background: rgba(10, 0, 0, 0.1);
   transition: all 0.2s ease-in-out;
}
#nav.active {
   background: rgba(10, 0, 0, 0.5);
}
.nav_pc {
   display: flex;
   justify-content: space-between;
   align-items: center;
   height: 100px;
}
.nav_pc .nav_wrap {
   display: flex;
   width: 100%;
   justify-content: space-between;
   align-items: center;
   max-width: 570px;
   height: 100%;
}
.nav_pc .nav_wrap .nav_list {
   display: table;
   position: relative;
   width: auto;
   margin-right: 10px;
   height: 100%;
}
.nav_pc .nav_wrap .nav_list > a {
   display: table-cell;
   font-size: 20px;
   color: #fff;
   vertical-align: middle;
}
.nav_pc .nav_cs > a.nav_csnum {
   display: inline-block;
}
.nav_pc .nav_cs span.nav_csicon {
   content: "";
   display: inline-block;
   width: 40px;
   height: 40px;
   margin-right: 10px;
   background: url(../images/nav_cs.png) no-repeat center center;
   vertical-align: top;
}
.nav_pc .nav_cs span.nav_cstext {
   font-size: 30px;
   font-weight: bold;
   color: #fff;
}
.nav_pc .nav_innerwrap {
   overflow: hidden;
   position: absolute;
   top: 100%;
   left: 50%;
   transform: translateX(-50%);
   width: 130%;
   height: 0;
   padding-top: 13px;
   transition: all 0.2s ease-in-out;
}
.nav_pc .nav_innerwrap .nav_innerlist {
   margin-bottom: 10px;
}
.nav_pc .nav_innerwrap .nav_innerlist > a {
   word-break: keep-all;
   text-align: left;
   font-size: 16px;
   line-height: 20px;
   color: #000;
   transition: 0.3s;
}
.nav_pc .nav_innerwrap .nav_innerlist > a:hover{
   color: #b61c02;
}
#nav .nav_bg {
   position: absolute;
   top: 100%;
   left: 0;
   right: 0;
   width: 100%;
   height: 0;
   background: #fff;
   transition: all 0.2s ease-in-out;
}
#nav.on .nav_bg,
#nav.on .nav_pc .nav_innerwrap {
   height: 150px;
}
#nav.on .nav_bg {
   box-shadow: -3px 5px 20px 0 rgba(0, 0, 0, 0.1);
}

/**********************************************************
                          quick_nav                           
***********************************************************/
.nav_quick {
   position: fixed;
   z-index: 999;
   right: calc((100% - 1140px) / 2 - 100px);
   top: 50%;
   width: auto;
}
.navq_list {
   display: table;
   width: 80px;
   height: 80px;
   margin-bottom: 10px;
   border-radius: 50%;
   background: #eeeeee;
}
.navq_list > a {
   display: table-cell;
   vertical-align: middle;
}
.navq_list .nav_qicon {
   display: inline-block;
}
.navq_list .nav_qicon01 {
   width: 25px;
   height: 27px;
   background: url(../images/quick_ask.png) no-repeat center center;
}
.navq_list .nav_qicon02 {
   width: 32px;
   height: 29px;
   background: url(../images/quick_kakao.png) no-repeat center center;
}
.navq_list .nav_qicon03 {
   width: 24px;
   height: 14px;
   background: url(../images/quick_top.png) no-repeat center center;
}
.navq_list > a > p {
   line-height: 22px;
   font-size: 15px;
}
.cs_quick {
   position: fixed;
   right: calc((100% - 1140px) / 2 - 100px);
   bottom: 0;
}
.cs_quick > a {
   display: block;
   width: 200px;
   background: #b61c02;
   border-radius: 30px 30px 0 0;
   line-height: 60px;
   font-size: 20px;
   font-weight: bold;
   color: #fff;
   text-align: center;
}
/* 퀵네비 추가 */

.nav_quick_02{
   position: fixed;
   left: 0;
   bottom: 0;
   display: flex;
   align-items: flex-end;
}
.nav_quick_02.active{
   width: 100%;
   max-width: 1074px;
   z-index: 999;
}
.nav_quick_02_open{
   cursor: pointer;
   padding:15px;
   width: 50px;
   height: 300px;
   background-color: #b61c02;
   display: flex;
   flex-direction: column;
   align-items: center;
   justify-content: space-between;
   font-size: 20px;
   font-weight: bold;
}
.nav_quick_02_open>a>span,
.nav_quick_02_open>i{
   
   color: #fff;
   width: 18px;
   display: block;
   transform: rotate(90deg);
}

.nav_quick_02_pop{
   overflow: hidden;
   border-radius: 0 20px 0 0;
   display: inline-block;
   max-width: 1024px;
   height: 448px;
   width:0;
   box-shadow: 0 3px 6px 0 rgba(0, 0, 0, 0.16);
   background-color: rgba(0, 0, 0, 0.8);
   transition:  0.3s;
   position: relative;
}

.nav_quick_02_pop.active{
  
   width:calc(100% - 50px) ;

}

.nav_quick_02_pop .swiper-container{
   opacity: 0;
   transition: 0.3s;
   transition-delay: 0.3s;
}

.nav_quick_02_pop.active  .swiper-container{
   opacity: 1;
}


.nav_quick_02_pop img{
   width: 100%;
   height: 213px;
   object-fit: cover;
}
.nav_quick_02_pop .swiper-wrapper{
   background-color: rgba(0, 0, 0, 0.8);

}
.nav_quick_02_pop .swiper-slide{
   position: relative;
   background-color: #404040;
   display: flex;
   justify-content: space-between;
   flex-direction: column;
}
.nav_quick_02_pop .swiper-slide .sub_txt{
   padding:20px;
}
.nav_quick_02_pop .swiper-slide .sub_txt p{
   padding-bottom: 10px;
   word-break: keep-all;
   font-size: 20px;
   font-weight: bold;
   line-height: 1.3;
   color: #fff;
   text-align: left;
   border-bottom: 1px solid rgba(255, 255, 255, 0.1);
}
.nav_quick_02_pop .swiper-slide .sub_txt>span{
   color: #fff;
   display: block;
   text-align: left;
   font-size: 18px;

}
.nav_quick_02_pop .swiper-slide .sub_txt>span:nth-of-type(1){
   padding-top: 10px;
   margin-bottom: 30px;
}
.nav_quick_02_pop .swiper-slide .sub_txt p span{
   color: #de2727;
}
.nav_quick_02_pop .swiper-slide .sub_txt>a{
   margin-top: 10px;
   width: 100%;
   height: 40px;
   display: flex;
   justify-content: center;
   align-items: center;
   color: #fff;
   border-radius: 10px;
   border: solid 1px #fff;
   transition: 0.3s;
}
.nav_quick_02_pop .swiper-slide .sub_txt>a:hover{
   background-color: #fff;
   color: #404040;
}
.nav_quick_02_pop .pin_up,
.mainportfolio-container .pin_up{
   border-radius: 0 0 10px 0;
   position: absolute;
   top: 0;
   left: 0;
   width: 106px;
   height: 48px;
   background-color: #b61c02;
   display: flex;
   align-items: center;
   justify-content: center;
   color: #fff;
   font-size: 20px;
   font-weight: bold;
}



.nav_quick_02_pop .quickbanner-pagination{
   width: max-content !important;
   left: auto !important;
   display: inline-block;
   top: 10px;
   right: 30px;
   height: 50px;
}
.nav_quick_02_pop .swiper-pagination-bullet{
   border:1px solid #fff;
   width: 15px;
   height: 15px;
   opacity: 1;
   background:transparent;
}
.nav_quick_02_pop .swiper-pagination-bullet-active{
   transform: scaleX(1.5);
   margin:0 6px !important;
   border-radius: 6px;
   background:#fff;
}
.nav_quick_02_pop .swiper-button-next, 
.nav_quick_02_pop .swiper-button-prev{
   top:45% !important;
   color: #fff !important;
}

/* mobile */
.nav_mobtn {
   display: none;
   position: relative;
   width: 45px;
   height: 38px;
   cursor: pointer;
}
.nav_mobar {
   position: absolute;
   top: 50%;
   right: 0;
   transform: translateY(-50%);
   width: 35px;
   height: 5px;
   background: #fff;
   border-radius: 5px;
}
.nav_mobar:before,
.nav_mobar:after {
   content: "";
   display: block;
   position: absolute;
   right: 0;
   width: 45px;
   height: 5px;
   background: #fff;
   border-radius: 5px;
}
.nav_mobar:before {
   top: -15px;
}
.nav_mobar:after {
   bottom: -15px;
}
.nav_mobar.active {
   background: transparent;
}
.nav_mobar.active:before {
   top: 0;
   transform: rotate(-45deg);
}
.nav_mobar.active:after {
   bottom: 0;
   transform: rotate(45deg);
}
.nav_mobar,
.nav_mobar:before,
.nav_mobar:after {
   transition: all 0.3s ease-in-out;
}
.nav_pop_close,
.cs_quick > a.nav_quick_02_open_mo{
   display: none;
}

.csq_btn{
   position: absolute;
   bottom: 80px;
   display: flex;
   justify-content: center;
   align-items: center;
   width: 200px;
   height: 45px;
  border-radius: 30px;
  background-color: #5f1315;
}
.csq_btn a{
   color: #fff;
   font-size: 18px;
}
.csq_btn a img{
   margin-right: 5px;
   width: 22px;
   height: 25px;
}
/**********************************************************
                        responsive                           
***********************************************************/
@media screen and (min-width: 1920px) {
   .nav_quick {
      max-width: 1920px;
      margin: 0 auto;
      right: calc((100% - 1920px) / 2 + 270px);
   }
   .cs_quick {
      max-width: 1920px;
      margin: 0 auto;
      right: calc((100% - 1920px) / 2 + 360px);
   }
}
@media screen and (max-width: 1280px) {
   .nav_quick,
   .cs_quick {
      right: 50px;
   }

   .nav_pc .nav_cs span.nav_csicon{
      width: 30px;
      height: 30px;
      background-size: contain;
   }
   .nav_pc .nav_cs span.nav_cstext{
      font-size: 26px;
   }
}
@media screen and (max-width: 1024px) {
   #nav .nav_bg {
      display: none;
   }
   .nav_pc {
      height: 60px;
   }
   .nav_pc .nav_logo {
      text-align: left;
   }
   .nav_pc .nav_logo > a > img {
      width: 122px;
   }
   .nav_pc .nav_wrap {
      display: block;
      position: fixed;
      top: 0;
      right: -100%;
      width: 300px;
      max-width: none;
      height: 100%;
      padding: 90px 15px 0;
      background: #ccc;
      text-align: left;
      transition: all 0.3s ease-in-out;
   }
   .nav_pc .nav_wrap .nav_list {
      display: block;
      width: auto;
      height: auto;
      padding: 10px 0;
      border-bottom: 1px solid #dddddd;
   }
   .nav_pc .nav_wrap .nav_list > a {
      display: block;
      line-height: 35px;
      font-size: 20px;
      color: #000;
   }
   .nav_pc .nav_innerwrap {
      display: none;
      overflow: auto;
      position: static;
      transform: translateX(0);
      width: auto;
      height: auto;
      padding: 15px;
      transition: none;
   }
   .nav_pc .nav_innerwrap .nav_innerlist {
      margin-bottom: 0;
      padding: 10px 0;
   }
   .nav_pc .nav_innerwrap .nav_innerlist > a > br {
      display: none;
   }
   .nav_pc .nav_cs span.nav_cstext {
      display: none;
   }
   .nav_cs {
      position: relative;
      z-index: 9;
      margin-right: 0;
      margin-left: auto;
   }
   .nav_mobtn {
      display: block;
   }
   .nav_quick,
   .cs_quick {
      right: 30px;
   }
   #nav.on .nav_bg,
   #nav.on .nav_pc .nav_innerwrap {
      height: auto;
   }
}
@media screen and (max-width: 800px) {
   .nav_quick {
      display: none;
   }
   .cs_quick {
      display: flex;
      right: 0;
      width: auto;
   }
   .cs_quick > a {
      width: 200px;
      margin-right: -25px;
      background: #fff;
      border: 1px solid #bbbbbb;
      border-right: none;
      border-radius: 30px 0 0 0;
      font-size: 20px;
      color: #000;
   }
   .cs_quick .csq_wrap {
      display: flex;
      padding: 0 ;
      background: #b61c02;
      border-radius: 30px 0 0 30px;
      line-height: 60px;
   }
   .cs_quick .csq_list {
      width: 60px;
   }
   .cs_quick .csq_list > a {
      display: block;
   }
   .cs_quick .csq_icon01 {
      display: inline-block;
      width: 25px;
      height: 25px;
      background: url(../images/csquick_phone.png) no-repeat center center;
      vertical-align: middle;
   }
   .cs_quick .csq_icon02 {
      display: inline-block;
      width: 33px;
      height: 31px;
      background: url(../images/csquick_kakao.png) no-repeat center center;
      vertical-align: middle;
   }

   .nav_quick_02_open{
      display: none;
   }

   .nav_quick_02_pop{
      border-radius: 0;
      overflow: visible;
      top: 50%;
      left: 50%;
      transform:translate(-50% , -50%);
      position: fixed;
   }
   .nav_quick_02_pop.active {
      width: calc(100% - 20px);
   }
   .nav_pop_close{
      color: #fff !important;
      font-size: 24px;
      display: none;
      position: absolute;
      top: -40px;
      right:10px;
   }

   .nav_quick_02_pop.active .nav_pop_close {
      display: block;
   }
   .cs_quick > a{
      color: #888;
      text-align: left;
      padding-left: 20px;
      width: 115px;
      font-size: 16px;
   }
   .cs_quick > a.nav_quick_02_open_mo{
      display: block;
   }
   .cs_quick > a:nth-of-type(2){
      border:0px;
      color: #fff;
      background-color: #de2727;
      border-radius: 50px 0 0 50px;
   }
   .cs_quick .csq_wrap{
      background-color: #b61c02

      ;
   }

   .pop_bg.active{
      width: 100%;
      height: 100%;
      position: fixed;
      top: 0;
      left: 0;
      z-index: 99;
      background-color: rgba(0, 0, 0, 0.8);
   }

   .nav_quick_02_pop.active .swiper-pagination{
      display: inline-block;
   }
   .nav_quick_02_pop .swiper-pagination-bullet-active{
      margin: 0 10px;
   }
   .nav_quick_02_pop .quickbanner-pagination span{
      margin:0 5px;
   }
   .nav_quick_02_pop .quickbanner-pagination{
      display: none;
      top: auto;
      right: auto;
      bottom: -80px;
      left: 50%;
      transform:translateX(-50%);
   }
   .csq_btn{
      position: relative;
      bottom: 0;
      right: -10px;
      width: 62px;
      border-radius: 32px 0 0 32px;
      height: 62px;
   }
   .csq_btn a img{
      width: 25px;
      height: 30px;
   }
   .csq_btn a span{
      display: none;
   }
}
