@charset "UTF-8";
/*****************************************************************

Copyright C 그누위즈 테마 All rights reserved.
gnuwiz@naver.com & master@gnuwiz.com
본 페이지는 유료콘텐츠 그누위즈 테마 CSS입니다. 불법복제시 법적인 제제를 받으실 수 있습니다.
라이센스를 삭제하지 마세요. 라이센스 삭제시 불법 사용으로 간주될 수 있습니다.

******************************************************************/

#ft {width:100vw;position:relative;}
#ft_wr {padding:75px 0 50px;margin:0 auto;position:relative;width:1720px;}
#ft_link {place-content: center;gap:0;}
#ft_link a {position:relative;display:block;color:#a5a5a5;font-weight: 500;transition: all .3s;}
#ft_link a:not(:first-child){padding-left:1.75rem;}
#ft_link a:not(:last-child):after {content:"";position:absolute; top:50%; right:-0.875rem; width:4px; height:4px; background-color:#fff; border-radius:50%; }
#ft_link a:hover{color: var(--main-color);}
#ft .gw-sns-container > li > a {display: flex;width: 2rem;height: 2rem;justify-content:center;align-items:center;color:#000;text-align:center;transition: all .3s;}
#ft .gw-sns-container > li > a:hover{color:var(--main-color);}
#ft .gw-sns-container > li > a > i {font-size: var(--main-title04);}
#ft .ft-top .ft-bottom-box{margin-bottom: 30px;}
/* 회색 띠를 두르지 않고 본문 여백 위에 그대로 얹는다 */
#ft .ft-bottom {padding:10px 0; display: flex; align-items:center; justify-content:space-between; background:transparent; box-sizing:border-box;}
/* 로고 + 회사명을 한 줄로 나란히 (로고 왼쪽 · 회사명 오른쪽) */
#ft .ft-brand{display:flex;align-items:center;gap:16px;margin-bottom:18px;}
#ft-logo {width: auto;line-height:0;flex:0 0 auto;}
#ft-logo > img {width: auto;height: 70px;object-fit: contain;}
#ft .ft-company-name{color:rgba(255,255,255,.58);font-weight:600;font-size:18px;letter-spacing:-0.01em;line-height:1.3;}
#ft_company h2 {margin-bottom: 12px;font-size: 16px;}
#ft_company .ft_info{font-size: 14px;}
#ft_company .ft_info > p > span{position: relative;display: inline-block;margin-right: 10px;}
#ft_company .ft_info > p > span:not(:last-child):after {content: '';display: block;width: 1px;height: 12px;position: absolute;right: -6px;top: 50%;margin-top: -6px;background: rgba(255,255,255,0.25);}
#ft_company .gw-right-box{width: 210px;}
#ft .gw-btn03 {padding: 6px 9px;display: inline-block;border-radius:5px;font-size: 12px;background: rgba(0,0,0,0.1);border: none;margin-bottom: 5px;margin-left: 5px;}
#ft_copy {font-size: 15px;letter-spacing: -0.02em;font-weight: 600;color: #000;}

/* family site */
#ft .family-site-container{position:relative; text-align:left;letter-spacing: -0.03em;width: 180px;}
#ft .family-site-container > button{width:100%;height: 40px;line-height: 40px;padding: 0 15px;font-size: 15px;background:#fff;color:#000;box-sizing:border-box;border-radius: 5px;}
#ft .family-site-list{position:absolute; bottom:100%; left:0px; width:100%;  padding:10px 0;  z-index:11;border:2px solid #fff;background: var(--main-color);border-radius:5px;display:none;}
#ft .family-site-list > li > a{display:inline-block; padding:10px; color:#fff; font-size:14px;font-family: "Outfit","Noto Sans KR", sans-serif; font-weight: 700;transition: all .3s;}
#ft .family-site-list:hover > li > a {color: rgba(255,255,255,0.5);}
#ft .family-site-list > li:hover > a {color: rgba(255,255,255,1);}
#ft .gw-arrow{transition:all 0.3s;}
#ft .gw-arrow.on{transform: rotate(180deg);}

/* 퀵버튼 */
/* --gw-quick-size: 퀵버튼 한 변의 크기. gw-top_wrap 접힘 높이도 이 값을 쓴다 */
.ft-quick-container{position:fixed;bottom:15px;right:40px;z-index: 999;--gw-quick-size:48px;}
.ft-quick-container > li {margin-bottom: 10px;display:flex;align-items:center;place-content:center;width: var(--gw-quick-size);height: var(--gw-quick-size);box-shadow: 0px 4px 10px rgba(0,0,0,.12);border-radius: 14px;border:none;background:#fff;font-size: 0;transition: background .3s ease, border-radius .3s ease;}
/* 호버하면 둥근 네모가 원이 되고 초록으로 찬다 */
.ft-quick-container > li:hover {background: var(--main-color);border-radius: 50%;}
/* 글자는 감추고 아이콘만 남긴다 */
.ft-quick-container > li i {font-size: 19px;line-height: 1;color: #333;transition: color .3s ease;}
.ft-quick-container > li:hover i {color: #fff;}
.ft-quick-container > li:last-child{margin-bottom:0;border-left: none;}
.ft-quick-container .tnb_darkmode {flex-direction: column;gap: 5px;color: #666;cursor: pointer;transition: all .3s;}
.ft-quick-container .tnb_darkmode:hover{color: var(--main-color);}
.ft-quick-container .tnb_admin > a {display: flex;align-items: center;place-content:center;width:100%;height:100%;color: #333;}
.ft-quick-container > li:hover .tnb_admin > a{color: #fff;}
#gw-top_btn {display: flex;align-items: center;place-content:center;width:100%;height:100%;border-radius:inherit;background:none;color: #333;font-size:0;z-index:90;transition: color .3s ease;}

/* 최상단에서는 fade out down(아래로 사라짐), 스크롤하면 fade in up(위로 나타남).
   opacity + translateY 만 쓴다. 아래(+Y)에서 시작해 제자리(0)로 올라오며 나타나고,
   반대로 제자리에서 아래로 내려가며 사라진다.
   li 의 transition:all .3s 가 배경색까지 물어 hover 와 섞이므로 속성을 명시한다 */
#gw-top_wrap{opacity:0;visibility:hidden;transform:translateY(14px) scale(.86);transition:opacity .35s ease,transform .45s cubic-bezier(.2,.7,.3,1),visibility .45s ease,background .3s ease,border-radius .3s ease;}
#gw-top_wrap.is-visible{opacity:1;visibility:visible;transform:translateY(0) scale(1);}

/* 관리자 퀵버튼(테마관리/관리자): 최상단에서는 top 버튼이 페이드로 사라지며 그 자리가 비므로,
   버튼 한 칸 높이만큼 아래로 내려와 빈자리를 채운다. top 버튼은 제자리에서 페이드하고
   관리자 버튼만 자기 transform 으로 움직여, 둘이 서로 간섭하지 않는다.
   스크롤하면(is-scrolled) 제자리(0)로 올라가 top 버튼이 들어설 자리를 낸다. */
.ft-quick-container .tnb_admin{transform:translateY(calc(var(--gw-quick-size) + 10px));transition:transform .45s cubic-bezier(.2,.7,.3,1);}
.ft-quick-container.is-scrolled .tnb_admin{transform:translateY(0);}

@media (prefers-reduced-motion: reduce){
    #gw-top_wrap{transition:none;transform:none;}
    #gw-top_wrap:not(.is-visible){transform:none;}
    #gw-top_wrap.is-visible{transform:none;}
    .ft-quick-container .tnb_admin{transition:none;}
}

/* SNS(인스타그램·유튜브) --------------------------------------------------- */
/* 퀵버튼: 흰 라운드 박스. 평상시엔 공식 브랜드색 아이콘,
   호버 시 배경이 메인색으로 차고 아이콘은 흰색으로 바뀐다. */
.ft-quick-container .ft-quick-sns > a{
    display:flex;align-items:center;justify-content:center;
    width:100%;height:100%;
}
.ft-quick-container .ft-quick-sns svg{width:20px;height:20px;display:block;}
/* 호버 흰색은 인스타그램만. 유튜브 로고는 공식색 그대로 둔다. */
.ft-quick-container .ft-quick-sns--ig:hover svg,
.ft-quick-container .ft-quick-sns--ig:hover svg path,
.ft-quick-container .ft-quick-sns--ig:hover svg circle{fill:#fff !important;}

/* Top 버튼 유무에 따라 SNS 버튼 위치 이동:
   최상단(Top 숨김)에서는 Top 칸을 접어(height:0) 아래 버튼들이 맨 밑으로 내려온다.
   기존 admin 버튼 자리 보정 transform 은 SNS 추가로 불필요 → 해제. */
#gw-top_wrap{transition:opacity .35s ease, transform .45s cubic-bezier(.2,.7,.3,1), visibility .45s ease, background .3s ease, border-radius .3s ease, height .35s ease, margin .35s ease;}
#gw-top_wrap:not(.is-visible){
    height:0 !important;
    margin-bottom:0 !important;
    overflow:hidden;
    pointer-events:none;
}
.ft-quick-container:not(.is-scrolled) .ft-quick-sns:last-of-type{margin-bottom:0;}
.ft-quick-container .tnb_admin,
.ft-quick-container.is-scrolled .tnb_admin{transform:none;}

/* 모바일: SNS 퀵버튼은 숨긴다(푸터에 동일 링크가 있으므로) */
@media screen and (max-width:768px){
    .ft-quick-container .ft-quick-sns{display:none;}
}

/* 푸터 SNS: 로고 위에 한 줄로. 아이콘은 배경 없이 흰색 + '공식 계정' 텍스트 라벨 */
#ft .ft-sns{display:flex;flex-direction:row;flex-wrap:wrap;align-items:center;gap:10px 24px;margin-bottom:18px;}
#ft .ft-sns > a{
    display:inline-flex;align-items:center;gap:8px;
    color:rgba(255,255,255,.62);
    font-size:14px;font-weight:500;letter-spacing:-0.01em;
    transition:color .3s ease;
}
#ft .ft-sns > a:hover{color:#fff;}
#ft .ft-sns .ft-sns-ico{
    display:inline-flex;align-items:center;justify-content:center;
    width:20px;height:20px;flex:0 0 auto;
}
#ft .ft-sns .ft-sns-ico svg{width:20px;height:20px;display:block;}
/* 인스타그램만 배경 없이 흰색으로. 유튜브 로고는 공식색(빨강+흰 삼각형) 그대로 둔다. */
#ft .ft-sns .ft-sns--ig .ft-sns-ico svg,
#ft .ft-sns .ft-sns--ig .ft-sns-ico svg path,
#ft .ft-sns .ft-sns--ig .ft-sns-ico svg circle{fill:#fff !important;}
