#header {
  position: sticky;
  left: 0;
  top: 0;
  right: 0;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-transition: -webkit-transform 0.1s;
  transition: -webkit-transform 0.1s;
  transition: transform 0.1s;
  transition: transform 0.1s, -webkit-transform 0.1s;
  z-index: 9;
}
#header.fixed {
  background: -webkit-gradient(linear, left top, right top, color-stop(50%, rgb(24, 0, 68)), color-stop(50.1%, rgb(39, 0, 117)));
  background: linear-gradient(90deg, rgb(24, 0, 68) 50%, rgb(39, 0, 117) 50.1%);
}
#header.fixed #header-logo-area {
  background: url("/special/election2025/resource/image/mobile/common/top-bg-fix.png") center bottom/auto 48px no-repeat;
  -webkit-box-ordinal-group: 2;
      -ms-flex-order: 1;
          order: 1;
}
#header.fixed #header-logo-area h1,
#header.fixed #header-logo-area .kbs-news,
#header.fixed #header-logo-area .hamburger-button {
  -webkit-transform: translateY(24px);
          transform: translateY(24px);
}
#header.fixed #header-logo-area .top-logo {
  width: 159px;
  height: 24px;
}
#header.fixed #dday {
  -webkit-box-ordinal-group: 1;
      -ms-flex-order: 0;
          order: 0;
}
#header.fixed #header-menu-area {
  -webkit-box-ordinal-group: 3;
      -ms-flex-order: 2;
          order: 2;
}
#header .btn_schedule {
  display: block;
}

#header-logo-area {
  background: url("/special/election2025/resource/image/mobile/common/top-bg.png") center/cover no-repeat;
}
#header-logo-area .inner {
  height: 96px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}
#header-logo-area h1 {
  margin-right: auto;
  -webkit-transition: -webkit-transform 0.3s;
  transition: -webkit-transform 0.3s;
  transition: transform 0.3s;
  transition: transform 0.3s, -webkit-transform 0.3s;
}
#header-logo-area .top-logo {
  display: block;
  width: 214px;
  height: 32px;
  background: var(--logo) center/contain no-repeat;
  -webkit-transition: width 0.3s;
  transition: width 0.3s;
}
#header-logo-area .close-button {
  width: 48px;
  height: 48px;
  background: url("/special/election2025/resource/image/mobile/ico/ico-close.svg") center/24px auto no-repeat;
  margin-right: -12px;
}
#header-logo-area .kbs-news {
  width: 72px;
  height: 10px;
  opacity: 0.6;
  background: var(--kbs-ci-w) center/contain no-repeat;
}

#dday {
  position: relative;
  height: 50px;
  background: var(--primary);
}
#dday .is-dday,
#dday .is-tupyoyul,
#dday .is-gaepyoyul,
#dday .is-magam {
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 8px;
  color: #fff;
  height: 100%;
  padding: 12px 20px;
  display: none;
}
#dday .is-dday.on,
#dday .is-tupyoyul.on,
#dday .is-gaepyoyul.on,
#dday .is-magam.on {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}
#dday .desc {
  font-size: 12px;
  font-weight: 400;
}
#dday .state {
  font-size: 24px;
  font-weight: 700;
  color: var(--secondary-2);
  -webkit-transform: translateY(-2px);
          transform: translateY(-2px);
}
#dday .state[data-js=tupyoyul]::after, #dday .state[data-js=gaepyoyul]::after {
  content: "%";
  font-size: 16px;
  font-weight: 400;
}
#dday .btn_schedule {
  position: absolute;
  right: 20px;
  top: 50%;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
  width: 110px;
  height: 30px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  gap: 3px;
  font-size: 12px;
  color: var(--fc-primary);
  font-weight: 700;
  border-radius: 30px;
  background: linear-gradient(95.64deg, #FFFFFF 6.62%, var(--primary-1) 115.18%);
}
#dday .btn_schedule::before {
  content: "";
  display: block;
  width: 16px;
  height: 16px;
  background: url("/special/election2025/resource/image/mobile/ico/ico-schedule.svg") center/contain no-repeat;
}

#header-menu-area {
  position: relative;
  background: #fff;
}
#header-menu-area::before {
  position: absolute;
  left: 0;
  bottom: 0;
  content: "";
  display: block;
  width: 100%;
  height: 1px;
  background: #ccc;
  z-index: 2;
}
#header-menu-area .header-menu-wrapper {
  width: 100%;
  overflow-x: scroll;
}
#header-menu-area .header-menu-wrapper::-webkit-scrollbar {
  display: none;
}
#header-menu-area .header-menu-wrapper::before, #header-menu-area .header-menu-wrapper::after {
  position: absolute;
  top: 0;
  content: "";
  display: block;
  width: 20px;
  height: 100%;
  pointer-events: none;
  -webkit-user-select: none;
     -moz-user-select: none;
      -ms-user-select: none;
          user-select: none;
  z-index: 1;
}
#header-menu-area .header-menu-wrapper::before {
  left: 0;
  background: -webkit-gradient(linear, right top, left top, from(rgba(255, 255, 255, 0)), to(#FFFFFF));
  background: linear-gradient(-90deg, rgba(255, 255, 255, 0) 0%, #FFFFFF 100%);
}
#header-menu-area .header-menu-wrapper::after {
  right: 0;
  background: -webkit-gradient(linear, left top, right top, from(rgba(255, 255, 255, 0)), to(#FFFFFF));
  background: linear-gradient(90deg, rgba(255, 255, 255, 0) 0%, #FFFFFF 100%);
}
#header-menu-area #header-menu {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  width: -webkit-max-content;
  width: -moz-max-content;
  width: max-content;
  gap: 12px;
  padding: 0 20px;
}
#header-menu-area .menu-link {
  position: relative;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  height: 40px;
  font-size: 14px;
  font-weight: 400;
  line-height: 1.5;
  letter-spacing: -0.4px;
}
#header-menu-area .menu-link[disabled] {
  opacity: 0.5;
}
#header-menu-area .menu-link::after {
  position: absolute;
  left: 0;
  bottom: 0px;
  content: "";
  display: block;
  width: 100%;
  height: 2px;
  background: var(--primary);
  display: none;
  z-index: 2;
}
#header-menu-area .menu-item.on .menu-link {
  font-weight: 700;
}
#header-menu-area .menu-item.on .menu-link::after {
  display: block;
  z-index: 3;
}

@media only screen and (max-width: 340px) {
  #header-logo-area .top-logo {
    width: 190px;
  }
}