/* reset */
* {
  margin: 0;
  padding: 0;
  word-break: keep-all;
  box-sizing: border-box;
}

*,
*:after,
*:before {
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  box-sizing: border-box;
}

a {
  display: block;
  text-decoration: none;
  color: inherit;
  /* width: 100%;
  height: 100%; */
}

ul,
ol {
  list-style: none;
}

h1,
h2,
h3,
h4,
h5,
h6 {
  font-size: inherit;
  font-weight: inherit;
}

b,
strong {
  font-weight: inherit;
}

i,
em,
address {
  font-style: inherit;
}

img {
  max-width: 100%;
  display: block;
  object-fit: cover;
}

span {
  display: block;
}

/* common */
html {
  font-family: 'Paperlogy';
  font-weight: 400;
  font-size: 10px;
  background: #fff;
  color:#282828;
  line-height: 1.5;
  letter-spacing: -0.002em;
}

html *.Paperlogy {
  font-family: 'Paperlogy';
}

.page {
  overflow: hidden;
  width: 100%;
}

.innertop {
  padding-top: 17rem;
}

.innerbottom {
  padding-bottom: 17rem;
}

.container12 {
  max-width: 1280px;
  width: 95%;
  margin: 0 auto;
}

.container17 {
  max-width: 1700px;
  width: 95%;
  margin: 0 auto;
}

.screen_out {
  position: absolute;
  top: -9999em;
}

.ir_pm {
  text-indent: -9999em;
  white-space: nowrap;
  overflow: hidden;
  font-size: 0;
}

p {
  font-size: 20px;
  line-height: 1.5;
}

*.m200 {
  margin-bottom: 20rem;
}

*.m170 {
  margin-bottom: 17rem;
}

*.m120 {
  margin-bottom: 12rem;
}

*.m100 {
  margin-bottom: 10rem;
}

*.m80 {
  margin-bottom: 8rem;
}

*.m70 {
  margin-bottom: 7rem;
}

*.m60 {
  margin-bottom: 6rem;
}

*.m50 {
  margin-bottom: 5rem;
}

*.m40 {
  margin-bottom: 4rem;
}

*.m30 {
  margin-bottom: 3rem;
}

*.m20 {
  margin-bottom: 2rem;
}

*.m15 {
  margin-bottom: 1.5rem;
}

*.m10 {
  margin-bottom: 1rem;
}

*.m5 {
  margin-bottom: 0.5rem;
}

*.c {
  text-align: center;
}

* b {
  font-weight: 700;
}

/* popup — 스택: 헤더(11000) > 팝업(10000) > 퀵메뉴(9000) */
.popups {
  position: relative;
  z-index: 10000;
  pointer-events: none; /* 빈 영역 클릭은 아래로 통과 */
}
.popup_wrap {
  width: 100%;
  max-width: 450px;
  position: absolute;
  top: 0;
  left: 0;
  background-color: #fff;
  box-shadow: 0 2px 5px rgba(0, 0, 0, 0.3);
  z-index: 10000;
  pointer-events: auto;
}
.popup_wrap.popup_list_item { width: auto; max-width: min(450px, calc(100vw - 20px)); }
.popup_wrap img { display: block; width: 100%; height: auto; }
.popup_wrap.popup_list_item img { width: auto; max-width: min(450px, calc(100vw - 20px)); height: auto; }
.popup_foot { padding: 10px; font-size: 1.5rem; }
.popup_foot>div{ display: flex; justify-content: space-between; }
.popup_foot label span{ cursor: pointer; display: flex; align-items: center; gap: 1rem; }
.popup_close{ cursor: pointer; }
.popup_wrap.introani{ animation: introanimation .8s forwards ease; }

/* popup slider */
.popup_slider { overflow: hidden; }
.popup_slider .popup { position: relative; }
.popup_slider_overlay { position: fixed; inset: 0; background: rgba(0, 0, 0, 0.4); z-index: 9990; }
.popup_slider_centered {
  position: fixed !important; right: auto !important; bottom: auto !important; margin: 0 !important;
  transform: none !important; max-height: 90vh; overflow-y: auto; z-index: 10000 !important;
}
.popup_slider_viewport { position: relative; overflow: hidden; width: 100%; }
.popup_slider_track { display: flex; transition: transform 0.5s ease; will-change: transform; }
.popup_slider_track.no-transition { transition: none !important; }
.popup_slider_horizontal .popup_slider_track { flex-direction: row; }
.popup_slider_vertical .popup_slider_track { flex-direction: column; }
.popup_slide { flex: 0 0 100%; width: 100%; min-width: 100%; }
.popup_slide a, .popup_slide img { display: block; width: 100%; }
.popup_slider_dots { display: flex; justify-content: center; gap: 6px; padding: 8px 0 0; }
.popup_slider_dots:empty { display: none; }
.popup_slider_arrow {
  position: absolute; top: 50%; transform: translateY(-50%); width: 36px; height: 36px;
  border: 0; border-radius: 50%; padding: 0; background: rgba(0, 0, 0, 0.3); color: #fff;
  cursor: pointer; z-index: 2; display: flex; align-items: center; justify-content: center; transition: background 0.2s ease;
}
.popup_slider_arrow:hover { background: rgba(0, 0, 0, 0.5); }
.popup_slider_arrow svg { display: block; pointer-events: none; }
.popup_slider_prev { left: 8px; }
.popup_slider_next { right: 8px; }
.popup_slider_vertical .popup_slider_arrow { left: 50%; right: auto; transform: translateX(-50%); }
.popup_slider_vertical .popup_slider_prev { top: 8px; transform: translateX(-50%); }
.popup_slider_vertical .popup_slider_next { top: auto; bottom: 8px; transform: translateX(-50%); }
.popup_slider_dot { width: 8px; height: 8px; border-radius: 50%; border: 0; padding: 0; background: #c8c8c8; cursor: pointer; }
.popup_slider_dot.is-active { background: #030043; }

.screen_out{
  position: absolute;
  top: -9999em;
}

.ir_pm{
  text-indent: -9999em;
  white-space: nowrap;
  overflow: hidden;
  font-size: 0;
}

button {
  all: unset;
  display: inline-flex;
  align-items: center;
  cursor: pointer;
}

/* quick menu */
.quick {
  position: fixed;
  bottom: 30px;
  right: 2vw;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  z-index: 9000; /* 팝업(10000)보다 아래 · 헤더(11000)보다 아래 */
}
.gooey-menu ul{
  display: flex;
  gap: 10px;
  flex-direction: column;
}
.img_wrap {
  position: absolute;
  right: 0;
  width: 60px;
  height: 60px;
  background: rgba(217, 217, 217, 0.90);
  border-radius: 50px;
  display: flex;
  align-items: center;
  flex-direction: row-reverse;
  justify-content: center;
  transition: all 0.3s ease;
  overflow: hidden;
}
.gooey-menu ul li:last-of-type{
  margin-bottom: 10px;
}
.gooey-menu ul li:hover .icon{
  color: var(--color-logo-navy); 
  position: absolute;
  right: 15%;
}
.img_wrap svg {
  width: auto;
  height: 22px;
  color: #fff;
  object-fit: contain;
  transition: all 0.3s ease;
}
.gooey-menu ul li{
  width: 60px;
  height: 60px;
  position: relative;
}
/* hover */
.gooey-menu ul li:hover .img_wrap{
  width: 150px;
  background: #fff;
  justify-content: space-between;
  padding-left: 20px;
  filter: drop-shadow(2px 2px 8px rgba(0, 0, 0, 0.15));
  border-radius: 15px;
}
/* 텍스트 */
.quick_text{
  position: absolute;
  left: 30px;
  white-space: nowrap;
  font-size: 18px;
  font-weight: 600;
  color:#1A1A1A;
  opacity:0;
  transform: translateX(-10px);
  transition: all .3s ease;
}

/* hover 텍스트 나타남 */
.gooey-menu ul li:hover .quick_text{
  opacity:1;
}
.quick_logo {
  position: relative;
  width: 60px;
  height: 60px;
  border-radius: 50%;
  background: rgba(217, 217, 217, 0.90);
  color: #fff;
  display: flex;
  align-items: center;
  justify-content: center;
  /* filter: drop-shadow(2px 2px 8px rgba(0, 0, 0, 0.25)); */
  cursor: pointer;
  z-index: 2;
}
.quick_logo img{
  width: 23px;
  height: 19px;
  object-fit: contain;
}

.quick_logo img{
  width: 100%;
  margin: 0 auto;
}

.quick_logo span {
  position: relative;
  z-index: 1;
}
.quick_logo:hover span{
  animation: bounceImage 0.4s ease-in-out;
}

@keyframes bounceImage {
  0%{
    transform: translateY(0);
  }
  30%{
    transform: translateY(-5px);
  }
  60%{
    transform: translateY(2px);
  }
  100%{
    transform: translateY(0);
  }
}

/* common style component */
:root {
  --font-family-main: 'paperlogy';
  
  /* color */
  --color-logo-navy: #0F3768;
  --color-logo-deepBlue : #1D509A;
  --color-logo-skyBlue : #009DE1;
  --color-logo-darkGrey : #959C9F;
  --color-logo-blueGrey : #BDC5CA;
  --color-main-black : #161616;
  --color-dark-grey : #6B6B6B;
  --color-desc-black : #222222;
  --color-grey-content: #4B4B4B;
  --color-dark-bk03: #282828;
  --BK-Logo: #222;
}


@media (min-width:0px) and (max-width:1280px) {
  
  .innertop {
    padding-top: 10rem;
  }
  
  .innerbottom {
    padding-bottom: 10rem;
  }
  
  *.m200 {
    margin-bottom: 18rem;
  }
  
  *.m170 {
    margin-bottom: 15rem;
  }
  
  *.m120 {
    margin-bottom: 10rem;
  }
  
  *.m100 {
    margin-bottom: 8rem;
  }
  
  *.m80 {
    margin-bottom: 5rem;
  }
  
  *.m70 {
    margin-bottom: 4.5rem;
  }
  
  *.m60 {
    margin-bottom: 4rem;
  }
  
  *.m50 {
    margin-bottom: 3.5rem;
  }
  
  *.m40 {
    margin-bottom: 2.5rem;
  }
  
  *.m30 {
    margin-bottom: 2rem;
  }
  
  p {
    font-size: 1.8rem;
  }
}

@media (min-width:0px) and (max-width:900px) {
   
  .innertop {
    padding-top: 8rem;
  }
  .innerbottom {
    padding-bottom: 8rem;
  }
  *.m200 {
    margin-bottom: 16rem;
  }
  
  *.m120 {
    margin-bottom: 8rem;
  }
  
  *.m170 {
    margin-bottom: 11rem;
  }
  
  *.m100 {
    margin-bottom: 6rem;
  }
  
  *.m80 {
    margin-bottom: 4rem;
  }
  
  *.m70 {
    margin-bottom: 4rem;
  }
  
  *.m60 {
    margin-bottom: 4.5rem;
  }
  
  *.m50 {
    margin-bottom: 3rem;
  }
  
  *.m20 {
    margin-bottom: 1.5rem;
  }
  
  p {
    font-size: 18px;
  }
  
  /* popup — 나열(.popup_list_item)·슬라이더는 JS가 위치 제어 */
  
}

@media (min-width:0px) and (max-width:500px) {

  .innertop {
    padding-top: 6rem;
  }
  
  .innerbottom {
    padding-bottom: 6rem;
  }
  *.m200 {
    margin-bottom: 10rem;
  }
  
  *.m170 {
    margin-bottom: 7rem;
  }
  
  *.m120 {
    margin-bottom: 6rem;
  }
  
  *.m100 {
    margin-bottom: 4rem;
  }
  
  *.m60 {
    margin-bottom: 2.5rem;
  }
  
  *.m50 {
    margin-bottom: 1.5rem;
  }
  
  *.m20 {
    margin-bottom: 1rem;
  }
  
  *.m15 {
    margin-bottom: 1rem;
  }
  .quick.on .gooey-menu li {
    transform: translateY(calc(var(--i) * -50px));
  }
  .quick {
    bottom: 5vw;
    right: 3vw;
    gap: 5px;
  }
  .gooey-menu ul{
    gap: 5px;
  }
  .gooey-menu ul li{
    width: 46px;
    height: 46px;
  }
  .img_wrap{
    width: 46px;
    height: 46px;
  }
  .gooey-menu ul li:hover .img_wrap{
    width: 120px;
    padding-left: 14px;
  }
  .img_wrap svg{
    height: 18px;
  }
  .quick_text{
    left: 24px;
    font-size: 13px;
  }
  .quick_logo{
    width: 42px;
    height: 42px;
  }
  .quick_logo svg{
    width: 14px;
    height: 14px;
  }
  .img_wrap img{
    height: 18px;
  }
  .gooey-menu ul li:last-of-type{
    margin-bottom: 0px;
  }

  .popup_wrap.popup_list_item img{
    width: 100%;
    max-width: 100%;
    height: auto;
  }
}