@charset "utf-8";

#header {
  position: fixed !important;
  top: 0 !important;
  left: 0 !important;
  width: 100% !important;
  z-index: 99999 !important;
  background: #fff;
  border-bottom: 1px solid #eee;
}

.header_spacer {
  height: 88px;
  width: 100%;
  display: block;
}

@media screen and (max-width: 1040px) {
  .header_spacer {
    height: 70px;
  }
}

#header .max_1920 {
  max-width: 1920px;
  width: 100%;
  margin: 0 auto;
  position: relative;
}

#header .header_cont {
  display: flex;
  align-items: center;
  margin: 0 auto;
}

/* 메인일때 */
#header.main {
  position: fixed;
  top: 0;
  left: 0;
  z-index: 99999;
  background: transparent;
  border-bottom: 1px solid transparent;
}

#header.on {
  background: #fff;
}

#header.main .logo a span {
  /* background: url(../img/common/logo_hw.png) no-repeat center / 200px auto; */
  background-position: center;
  background-repeat: no-repeat;
}

#header.main #gnb>ul>li>a .label {
  color: #fff;
}

#header.main .right_menu .inquiry_menu span {
  color: #fff;
}

#header.main .right_menu .num_menu h4 {
  color: #fff;
}

#header.main .right_menu .num_menu h5 {
  color: #fff;
}

/*  // 메인일때 //  */

#header .logo {
  margin-right: auto;
  padding-left: 70px;
}

#header.on .logo a span,
#header .logo a span {
  display: block;
  width: 200px;
  height: 31px;
  background-repeat: no-repeat;
  background-position: center;
  background-size: 200px auto;
}

#header.main:not(.on) .logo a span,
#header.main:not(.on) .logo .logo_img {
  background-image: url('/assets/img/common/logo_hw.png');
}

#header.on .logo a span,
#header:not(.main) .logo a span,
#header.on .logo .logo_img,
#header:not(.main) .logo .logo_img {
  background-image: url('/assets/img/common/logo_hw1.png');
}

#header #gnb {
  margin-right: auto;
  transform: translateX(10%);
}

#header #gnb .gnb_open_top {
  display: none;
}

#header #gnb ul {
  display: flex;
}

#header #gnb ul li {
  position: relative;
}

#header #gnb ul li a {
  display: block;
  line-height: 88px;
  padding: 0 20px;
  text-decoration: none;
}

#header #gnb ul li a span {
  font-weight: 500;
}

#header.main:not(.on) #gnb>ul>li>a,
#header.main:not(.on) #gnb>ul>li>a span,
#header.main:not(.on) #gnb>ul>li>a .label {
  color: #fff !important;
  opacity: 1 !important;
}

#header.main:not(.on) #gnb ul li a span {
  color: inherit;
}

#header.main:not(.on) #gnb>ul>li:not(:hover)>a,
#header.main:not(.on) #gnb>ul>li:not(:hover)>a span,
#header.main:not(.on) #gnb>ul>li:not(:hover)>a .label {
  color: #fff !important;
  border-bottom: 2px solid transparent !important;
}

#header.main:not(.on) #gnb>ul>li:hover>a,
#header.main:not(.on) #gnb>ul>li:hover>a span,
#header.main:not(.on) #gnb>ul>li:hover>a .label {
  color: #22b24c !important;
  border-bottom: 2px solid #22b24c !important;
}

#header.on #gnb>ul>li>a .label,
#header:not(.main) #gnb>ul>li>a .label {
  color: rgba(37, 37, 37, 0.9);
  font-size: 16px;
  font-weight: 500;
  transition: 0.2s all;
  -moz-transition: 0.2s all;
  -webkit-transition: 0.2s all;
  border-bottom: 2px solid transparent;
  line-height: 1.2;
  padding-bottom: 3px;
  display: inline-block;
}

#header.on #gnb ul li:hover a .label,
#header.on #gnb ul li.active a .label,
#header.on #gnb ul li.active .label,
#header:not(.main) #gnb ul li:hover a .label,
#header:not(.main) #gnb ul li.active a .label,
#header:not(.main) #gnb ul li.active .label,
#header #gnb ul li.active a .label,
#header #gnb ul li.active .label {
  color: #22b24c !important;
  border-bottom: 2px solid #22b24c !important;
}

#header.on #gnb ul li.active>a,
#header.on #gnb ul li.active>a span,
#header:not(.main) #gnb ul li.active>a,
#header:not(.main) #gnb ul li.active>a span,
#header #gnb ul li.active>a,
#header #gnb ul li.active>a span {
  color: #22b24c !important;
}

/* Submenu Dropdown */
#header #gnb>ul>li .sub_menu {
  display: none;
  position: absolute;
  top: 82px;
  left: 50%;
  transform: translateX(-50%);
  min-width: 175px;
  background: #ffffff;
  box-shadow: 0 10px 30px rgba(0, 0, 0, 0.12);
  border-radius: 12px;
  padding: 16px 0;
  z-index: 100000;
  border: 1px solid rgba(0, 0, 0, 0.04);
}

#header #gnb>ul>li:hover .sub_menu {
  display: block;
}

#header #gnb>ul>li .sub_menu a {
  display: block;
  padding: 9px 18px;
  line-height: 1.4;
  font-size: 15px;
  font-weight: 500;
  color: #333333;
  text-align: center;
  text-decoration: none;
  transition: background 0.15s, color 0.15s;
}

#header #gnb>ul>li .sub_menu a:hover,
#header #gnb>ul>li .sub_menu a.active,
#header #gnb>ul>li .sub_menu a:hover span,
#header #gnb>ul>li .sub_menu a.active span {
  background: #f7faf8 !important;
  color: #22b24c !important;
  font-weight: 700 !important;
}

#header .right_menu {
  display: flex;
  align-items: center;
  /* transform: translateX(60px); */
}

#header .right_menu .inquiry_menu {
  margin-right: 28px;
}

#header .right_menu .inquiry_menu a {
  display: flex;
  align-items: center;
}

#header .right_menu .inquiry_menu i {
  width: 45px;
  height: 45px;
  display: block;
  background: url(../img/ico/inquiry_ico.png) no-repeat center;
  margin-right: 10px;
}

#header.on .right_menu .inquiry_menu span,
#header .right_menu .inquiry_menu span {
  color: rgba(37, 37, 37, 0.9);
  line-height: 43px;
  font-weight: 700;
  font-size: 18px;
  letter-spacing: 1px;
}

#header .right_menu .num_menu {
  margin-right: 20px;
}

#header.on .right_menu .num_menu h4,
#header .right_menu .num_menu h4 {
  font-size: 22px;
  color: rgba(37, 37, 37, 0.9);
}

#header.on .right_menu .num_menu h5,
#header .right_menu .num_menu h5 {
  font-size: 14px;
  font-weight: 300;
  color: rgba(37, 37, 37, 0.9);
}

#header .good_img img {
  display: block;
}

#header .btn_all_menu {
  display: none;
}

@media screen and (max-width: 1920px) {
  #header .logo {
    padding-left: 38px;
  }
}

@media screen and (max-width: 1780px) {
  #header .logo {
    padding-left: 15px;
  }
}

@media screen and (max-width: 1680px) {
  #header #gnb {
    transform: translateX(0);
  }
}

@media screen and (max-width: 1540px) {
  #header #gnb ul li a {
    padding: 0 15px;
  }
}

@media screen and (max-width: 1480px) {
  #header #gnb ul li a {
    padding: 0 10px;
  }

  #gnb>ul>li>a .label {
    font-size: 16px;
  }

  #header .right_menu .inquiry_menu i {
    display: none;
  }

  #header .right_menu .num_menu {
    margin-right: 15px;
  }

  #header .right_menu .inquiry_menu {
    margin-right: 15px;
  }
}

@media screen and (max-width: 1300px) {
  #header .good_img {
    display: none;
  }
}

@media screen and (max-width: 1200px) {
  #header #gnb {
    margin-right: 15px;
  }

  #header .right_menu {
    display: none;
  }
}

@media screen and (max-width: 1024px) {

  /* 메인일때 */
  #header.main .btn_all_menu span.top {
    background-color: #fff;
  }

  #header.main .btn_all_menu span.middle {
    background-color: #fff;
  }

  #header.main .btn_all_menu span.bottom {
    background-color: #fff;
  }

  #header.main .logo a span {
    background: url(../img/common/logo_hw.png) no-repeat center / 180px auto;
  }

  #header.on .logo a span,
  #header .logo a span {
    background: url(../img/common/logo_hw1.png) no-repeat center / 180px auto;
  }

  #header.on .btn_all_menu span.top {
    background-color: rgba(0, 0, 0, 0.7);
  }

  #header.on .btn_all_menu span.middle {
    background-color: rgba(0, 0, 0, 0.7);
  }

  #header.on .btn_all_menu span.bottom {
    background-color: rgba(0, 0, 0, 0.7);
  }

  #header.main #gnb>ul>li>a .label {
    color: rgba(0, 0, 0, 0.7);
  }

  /*  // 메인일때 //  */

  #header .logo a span {
    display: block;
    /* width: 180px; */
    height: 31px;
    background: url(../img/common/logo_hw1.png) no-repeat center / 180px auto;
  }

  #header .header_cont {
    width: calc(100% - 30px);
    margin: 0 auto;
    padding: 10px 0;
  }

  #header .logo {
    padding-left: 0 !important;
  }

  #header .btn_all_menu {
    display: block;
    position: relative;
    display: block;
    width: 50px;
    height: 50px;
  }

  #header .btn_all_menu span {
    position: absolute;
    display: block;
    width: 50%;
    height: 2px;
    background-color: #333;
  }

  #header .btn_all_menu span.top {
    top: 30%;
    left: 15px;
    background-color: rgba(0, 0, 0, 0.7);
  }

  #header .btn_all_menu span.middle {
    top: 50%;
    margin-top: -1px;
    width: 30%;
    right: 10px;
    background-color: rgba(0, 0, 0, 0.7);
  }

  #header .btn_all_menu span.bottom {
    bottom: 30%;
    left: 15px;
    background-color: rgba(0, 0, 0, 0.7);
  }

  #header #gnb {
    position: fixed;
    width: 100%;
    height: 100%;
    left: -100%;
    right: 0;
    top: 0;
    bottom: 0;
    z-index: 9999;
    background: #fff;
    margin: 0;
    overflow: scroll;
    transition: all 0.35s cubic-bezier(0.215, 0.61, 0.355, 1);
    -webkit-transition: all 0.35s cubic-bezier(0.215, 0.61, 0.355, 1);
    -moz-transition: all 0.35s cubic-bezier(0.215, 0.61, 0.355, 1);
    -o-transition: all 0.35s cubic-bezier(0.215, 0.61, 0.355, 1);
  }

  #header #gnb.on {
    left: 0;
  }

  #header #gnb .gnb_open_top {
    display: flex;
    align-items: center;
    justify-content: space-between;
    width: calc(100% - 30px);
    margin: 0 auto;
    padding: 20px 0;
  }

  #header #gnb .gnb_open_top .gnb_logo a {
    width: 150px;
  }

  #header #gnb .gnb_open_top .gnb_logo a img {
    display: block;
    width: 180px;
  }

  #header #gnb ul {
    padding-top: 20px;
    flex-direction: column;
    justify-content: center;
    align-items: center;
  }

  #header #gnb ul li {
    text-align: center;
  }

  #header #gnb ul li a {
    display: block;
    line-height: 60px;
    padding: 0 0;
  }

  #gnb>ul>li>a .label {
    font-size: 24px;
  }
}

/* ============================================================
   Fixed potfolio_top (SubNav) for subpages (Desktop only)
   ============================================================ */
@media screen and (min-width: 1041px) {
  .potfolio_box .potfolio_top:not(.is_fixed) {
    margin-top: 30px !important;
    margin-bottom: 25px !important;
  }

  .potfolio_top.is_fixed {
    position: fixed !important;
    top: 88px !important;
    left: 0 !important;
    width: 100% !important;
    z-index: 99990 !important;
    background: #ffffff !important;
    border-bottom: 1px solid #eeeeee !important;
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.04) !important;
    margin-top: 0 !important;
    padding: 18px max(48px, calc((100vw - 1740px) / 2)) !important;
    box-sizing: border-box !important;
    display: flex !important;
    justify-content: space-between !important;
    align-items: center !important;
    overflow: visible !important;
  }

  .potfolio_top.is_fixed .title.type_2.top,
  .potfolio_top.is_fixed h2.title,
  .potfolio_top.is_fixed h3.title,
  .potfolio_top.is_fixed .potfolio_favorite {
    display: none !important;
  }

  .potfolio_top.is_fixed #potfolio_gnb {
    margin: 0 auto !important;
    float: none !important;
    display: flex !important;
    justify-content: center !important;
    align-items: center !important;
    width: auto !important;
  }

  .potfolio_top.is_fixed #potfolio_gnb ul {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    margin: 0 auto !important;
    padding: 0 !important;
    list-style: none !important;
    flex-wrap: wrap !important;
    gap: 8px !important;
  }

  .potfolio_top.is_fixed #potfolio_gnb ul li {
    float: none !important;
    margin: 0 !important;
    display: inline-block !important;
  }

  .potfolio_top.is_fixed #potfolio_gnb ul li a {
    margin-left: 0 !important;
    padding: 10px 22px !important;
    font-size: 15px !important;
    color: #333333 !important;
    border-radius: 999px !important;
    transition: all 0.2s ease !important;
    display: inline-block !important;
    text-decoration: none !important;
    font-weight: 500 !important;
    line-height: normal !important;
  }

  .potfolio_top.is_fixed #potfolio_gnb ul li a:hover {
    color: #191919 !important;
    background: #f5f5f5 !important;
  }

  .potfolio_top.is_fixed #potfolio_gnb ul li.active a {
    color: #ffffff !important;
    background: #191919 !important;
    font-weight: 700 !important;
  }
}

/* Mobile (<= 1040px): potfolio_top is NEVER fixed */
@media screen and (max-width: 1040px) {
  .potfolio_top,
  .potfolio_top.is_fixed {
    position: static !important;
    top: auto !important;
    left: auto !important;
    width: 100% !important;
    box-shadow: none !important;
    border-bottom: none !important;
    background: transparent !important;
    padding: 0 !important;
    display: block !important;
    z-index: auto !important;
  }
}

/* Portfolio view: potfolio_top is NEVER fixed */
.potfolio_box:has(.potfolio_list_view) .potfolio_top,
.potfolio_box:has(.link_back) .potfolio_top,
.potfolio_top:has(.link_back) {
  position: static !important;
  top: auto !important;
  left: auto !important;
  width: 100% !important;
  box-shadow: none !important;
  border-bottom: none !important;
  background: transparent !important;
  padding: 0 !important;
  display: block !important;
  z-index: auto !important;
}

.potfolio_top:has(.link_back) #potfolio_gnb ul li.active a,
.potfolio_box:has(.link_back) #potfolio_gnb ul li.active a,
.potfolio_top:has(.link_back) #potfolio_gnb ul li a.link_back {
  background: transparent !important;
  border-radius: 0 !important;
  color: #333333 !important;
  padding: 0 !important;
  display: flex !important;
  align-items: center !important;
  gap: 10px !important;
}