
* { font-family: "paperlogy"; } 
.fta:before,
.fta:after { font-family: "Font Awesome 5 Free" !important; font-weight: 900; } 
/** WORDPRESS MAIN VISUAL SLIDER DEFAULT SETTING **/
#mainVisualCon > .elementor-element,
#mainVisualCon > .elementor-element > .elementor-widget-container > .main-visual { height: 100%; } 
/********************************************
 * Header Menu Setting
 * 헤더
 ********************************************/
 .elementor-location-header[data-elementor-type="header"] .fixed { position: fixed; width: 100%;left: 0; top: 0; z-index: 9999; }  
/********************************************
 * Header Font Setting
 * 메인 메뉴(헤더) 폰트 셋팅
 ********************************************/
 #header {z-index:9999; transition: all 0.3s ease; }
 #header.active {background:#fff; box-shadow:3px 3px 12px #00000014}
#header #logo_on { display: none; } 
#header #globalMenu_on { display: none; } 
#header #nav a { font-family: "paperlogy"; } 
#header #nav .elementor-widget-container { padding: 0; } 
#header #nav .elementor-nav-menu > .menu-item > a { padding: 40px 50px; color: #000; font-size: 1.8rem; font-weight: 600; } 
#header #nav .elementor-nav-menu > .menu-item > a .sub-arrow {display:none;}
#header #nav .elementor-nav-menu > .menu-item > .sub-menu { width: 100% !important; } 
#header #nav .elementor-nav-menu > .menu-item > .sub-menu a { font-size: 16px; color: #4e4e4e; font-weight: 700; white-space:wrap; border:none; } 
#header #nav .elementor-nav-menu > .menu-item > .sub-menu .current-menu-item a { color: #fff; } 
#header #nav .elementor-nav-menu > .menu-item > .sub-menu li:hover a { color: #fff; } 

/********************************************
 * Header Language Setting
 * 헤더 언어 폰트 셋팅
 ********************************************/
#language .lang-item a {color:#000; font-size:1.6rem; font-weight:500; padding:0rem; margin:0 1rem; font-family:'Poppins'; position:relative; transition:all 0.3s ease;}
#language .lang-item a::after {content:''; position:absolute; width:1px; height:70%; top:20%; right:-1rem; left:auto; opacity:1; background:#000;;}
#language .lang-item:last-child a:after {display:none;}
#language .lang-item.current-lang a {color:var(--main-color); border-bottom:1px solid var(--main-color);}
#language .lang-item a:hover {color:var(--main-color);;}
/********************************************
 * Header Utility Setting
 * 헤더 유틸리티 셋팅
********************************************/
#util
{display:flex; align-items: center; width:18rem;}
#util .util-list 
{display:flex;}
#util .util-list li a 
{font-size:1.6rem; color:#fff; font-weight:500; margin:0 1rem; padding:0 1rem;}

#util .sitemap-con 
{width:3rem; height:3rem; position: relative; margin:0 -1.5px; cursor:pointer; }
#util .sitemap-con .circle 
{width:0.5rem; height:0.5rem; display:inline-block; background:#000; border-radius:50%; margin:0 1.5px; transition:all 0.3s ease;}
#util .sitemap-con .circle.red
{background:var(--main-color);}


#util .sitemap-con:hover .circle
{background:var(--main-color);}
#util .sitemap-con:hover .circle:nth-child(5)
{background:#000;}


/********************************************
 * FULLPAGE SETTING
 * FULLPAGE 플러그인 사용시에만 사용하도록 !!
 * 풀페이지 네비게이션 세팅
 ********************************************/
#fp-nav.left { left: 70px !important; } 
#fp-nav.left > ul > li { width: 8px; height: 8px; margin: 2rem 0; display: flex; align-items: center; } 
#fp-nav.left > ul > li > a > span { background: transparent; border: 1px solid #fff; width: 8px; height: 8px; margin: 0; left: 0; top: 0; } 
#fp-nav.left > ul > li > a.active > span,
#fp-nav.left > ul > li:hover > a > span,
#fp-nav.left > ul > li:hover > a.active > span { background: #fff; width: 8px; height: 8px; margin: 0; left: 0; top: 0; } 
#fp-nav.left > ul > li > .fp-tooltip { font-size: 1.8rem; color: #fff; font-weight: 400; font-family: "paperlogy"; position: relative; overflow: visible; width: auto; } 
#fp-nav.left.active > ul > li > a > span { border-color: #9d9d9d !important; } 
#fp-nav.left.active > ul > li > .fp-tooltip { color: #000 !important; } 
#fp-nav.left > ul > li > a.active > span { background: var(--main-color) !important; border: 1px solid var(--main-color) !important; } 
/********************************************
 * FULLPAGE SETTING
 * FULLPAGE 플러그인 사용시에만 사용하도록 !!
 * 풀페이지 메인페이지 세팅
 ********************************************/
.section .fp-tableCell .elementor-element,
.section .fp-tableCell .elementor-element .elementor-widget-container { height: 100%; } 

 
#elementor-popup-modal-274 .dialog-widget-content,
#elementor-popup-modal-1572 .dialog-widget-content {background-color:transparent !important; box-shadow:none !important;}
#sitemapCon {background:transparent;}
#sitemapCon .sitemap-item .e-con-inner { border:1px solid #ddd; border-radius:15px 15px 0 0; } 
#sitemapCon .sitemap-item .menu-tit{margin-bottom:10px;}
#sitemapCon .sitemap-item .menu-tit h2 { font-size:4rem; color:#fff; font-weight:600; padding:2rem 0; text-align:left; position:relative;} 
#sitemapCon .sitemap-item .menu-tit h2:before 
{opacity:0; visibility:hidden; content:''; width:1rem; height:1rem; background:var(--main-color); border-radius:50px; display:inline-block; position:absolute; top:0; left:-10px; z-index:-1; transform:translateY(-10px); z-index:9; transition:all 0.3s ease;}
#sitemapCon .sitemap-item nav .elementor-nav-menu .menu-item > a { font-size:2.1rem; font-weight:400; color:#ffffffad; padding:1.5rem 1rem; } 
#sitemapCon .sitemap-item nav .elementor-nav-menu .menu-item.current-menu-item a { background:none; color:#fff; border:none;} 
#sitemapCon .sitemap-item nav .elementor-nav-menu .menu-item > a:hover {  color:#ffffff; border:none; fill:none; } 
#sitemapCon .sitemap-item nav .elementor-nav-menu .menu-item > a::after{display:none}
#sitemapCon .sitemap-item:hover .menu-tit h2:before 
{opacity:1; visibility:visible; transform:translateY(0px);}
#elementor-popup-modal-274 .dialog-close-button svg,
#elementor-popup-modal-1572 .dialog-close-button svg {fill:#fff; font-size:4.2rem;}

/********************************************
 * QUICK BTN
 * 따라다니는 퀵메뉴
********************************************/
#quickBtn 
{position:fixed; right:2%; bottom:15%; width:auto; display:inline-block; z-index:9998; opacity:0;}
#quickBtn .quick-btn 
{display:flex; flex-direction:column}
#quickBtn .quick-btn > a 
{width:7rem; height:7rem; position:relative; text-align:center; display:flex; flex-direction:column; justify-content:center;}
#quickBtn .quick-btn > a.top-btn 
{background:var(--main-color); border-radius:10px;}
#quickBtn .quick-btn > a.top-btn .arrow
{display:flex; flex-direction:column;}
#quickBtn .quick-btn a.top-btn .arrow i 
{line-height:0.4; color:#fff; font-size:2rem;}
#quickBtn .quick-btn a.top-btn .arrow i:nth-child(1) 
{opacity:0.6}
#quickBtn .quick-btn a.top-btn .arrow i:nth-child(2) 
{opacity:0.8}
#quickBtn .quick-btn a.top-btn .arrow i:nth-child(3)
{opacity:1;}
#quickBtn .quick-btn a.top-btn p
{font-family:'Poppins'; font-size:1.6rem; color:#fff; font-weight:700; line-height:1; margin-top:5px;}
#quickBtn .quick-btn a.top-btp:hover
{background:#ff1a00}
#quickBtn.active 
{opacity:1;}

/********************************************
 * SUB VISUAL SETTING
 * 서브 비주얼 셋팅
 ********************************************/
#subVisual { width: 100%; height: 30rem; background-position:center; border-bottom:1px solid #ddd;} 
#subVisual > .e-con-inner { justify-content: end; } 
#subVisual #subTitle {margin-bottom:3rem;}
#subVisual #subTitle h2 { font-family:'paperlogy'; font-size: 6.2rem; color: #000; font-weight: 700; } 
#subVisual #subText
{margin-bottom:5rem;}
#subVisual #subText h4 {font-family:'paperlogy'; font-size:2.4rem; color:#fff; opacity:0.6; font-weight:300}

/********************************************
 * SUB MENU SETTING
 * 서브 메뉴 셋팅
 ********************************************/
#subVisual #subMenu {} 
#subVisual #subMenu .elementor-element { max-width: var(--max-container); width: 100%; } 
#subVisual #subMenu ul.elementor-nav-menu { width: 100%; flex-wrap: nowrap; } 
#subVisual #subMenu ul.elementor-nav-menu li { margin-right:8rem; transition: all 0.3s ease; } 
#subVisual #subMenu ul.elementor-nav-menu li a { font-family: "paperlogy"; padding: 2.5rem 0rem; font-size: 20px; font-weight: 500; color: #000; position: relative; display: inline-block; text-align: center; transition: all 0.3s ease; } 


#subVisual #subMenu ul.elementor-nav-menu li.current-menu-item a:after,
#subVisual #subMenu ul.elementor-nav-menu li.current-page-ancestor a:after { content:''; position:absolute; width:150%; left:-25%; background:var(--main-color); height:3px; bottom:0; opacity:1;} 
#subVisual #subMenu ul.elementor-nav-menu li.current-menu-item a,
#subVisual #subMenu ul.elementor-nav-menu li.current-page-ancestor a { color:var(--main-color) } 

#subVisual #subMenu ul.elementor-nav-menu li:hover { } 
#subVisual #subMenu ul.elementor-nav-menu li:hover a { color: var(--main-color);; } 

/********************************************
 * POLICE COMMON
 * 정책 공통 세팅
********************************************/
.police-content .police-con p { font-size: 17px; color: #000; font-weight: 300; margin-bottom: 20px; line-height: 1.5; } 
.police-content .discl-box { max-width: 800px; margin: 15px auto 15px; background: #f4f4f4; border: 1px solid #ddd; padding: 30px; border-radius: 15px; } 
.police-content .discl-box p { font-size: 17px; color: #000; font-weight: 300; line-height: 1.5; }
.emailinfo .info_box { display: flex; align-items: center; flex-wrap: wrap; background: #f4f4f4; border: 1px solid #ddd; border-radius: 10px; padding: 30px; } 
.emailinfo .info_box .txt-con { width: 100%; } 
.emailinfo .info_box .txt-con h4 { font-size: 19px; margin-bottom: 10px; } 
.emailinfo .info_box .txt-con p { font-size: 17px; color: #4b4b4b; line-height: 1.3; word-break: keep-all; } 
.emailinfo .emailinfo-detail { } 
.emailinfo .emailinfo-detail .detail-sec { margin: 50px 0; } 
.emailinfo .emailinfo-detail .detail-sec h5 { font-size: 21px; 
margin-bottom: 25px; position: relative; color: #222; } 
.emailinfo .emailinfo-detail .detail-sec .detail-txt-con ol > li { font-size: 18px; color: #4e4e4e; margin-bottom: 25px; font-weight: 600; word-break: keep-all; line-height: 1.5; } 
.emailinfo .emailinfo-detail .detail-sec .detail-txt-con ol > li > ul { margin-top: 10px; } 
.emailinfo .emailinfo-detail .detail-sec .detail-txt-con ol > li > ul > li { font-size: 16px; color: #666; margin-bottom: 5px; font-weight: 400; line-height: 1.5; } 
.login-content input[type="submit"] {background-color:var(--main-color) !important}
/**************************************************
* MAIN VISUAL
* 메인 비주얼 공통 세팅
****************************************************/
#mainVisualCon { width:100%; height:86rem; position:relative;} 
/* 풀페이지에만 사용 */
/*
.section .fp-tableCell .elementor-element,
.section .fp-tableCell .elementor-element .elementor-widget-container { height: 100%; } 
*/
.main-visual-slide, .main-visual-slide .slick-list, .main-visual-slide .slick-track, .main-visual-item { height:100%; } 
.main-visual-img { position:absolute; width:100%; height:100%; } 
.main-visual-item .visual-area 
{max-width:var(--max-container); margin:0 auto; height:100%;}
.main-visual-item .main-visual-txt-con
{width:100%; height:100%; position: relative;}
.main-visual-item .main-visual-txt-con .visual-txt-con
{position:absolute; top:34%;;}
.main-visual-item .main-visual-txt-con .visual-txt-con h2
{font-family:'Poppins'; color:#fff; font-weight:700; font-size:6.8rem; letter-spacing:-0.02em; overflow:hidden;}
.main-visual-item .main-visual-txt-con .visual-txt-con span
{letter-spacing:-0.02em; font-family:'Poppins'; font-weight:700;}
.main-visual-item .main-visual-txt-con .visual-txt-con span.red
{color:red; }



.main-visual-item .main-visual-txt-con .visual-txt-con .pluto 
{font-family: 'Poppins'; position: relative; display: inline-flex; overflow: hidden; white-space: nowrap;}
.main-visual-item .main-visual-txt-con .visual-txt-con .pluto .show 
{display: inline-block; position: relative; z-index: 2; }
.main-visual-item .main-visual-txt-con .visual-txt-con .pluto .hidden 
{display: inline-block; width:0px; position: relative; opacity: 0; visibility: hidden; transform: translateX(-10px); transition: transform 1.0s 0.2s ease, opacity 1.0s 0.6s ease, width 1.2s ease;}
.main-visual-item .main-visual-txt-con .visual-txt-con .pluto .space 
{display: inline-block; width: 0; transition: width 3s ease;}

.main-visual-item .main-visual-txt-con .visual-txt-con h2.active .hidden 
{position: relative; opacity: 1; visibility: visible; transform: translateX(0); width:270px; }
.main-visual-item .main-visual-txt-con .visual-txt-con h2.active .hidden.part-ateau
{width:215px;}
.main-visual-item .main-visual-txt-con .visual-txt-con h2.active .space 
{ width: 0.2em;}




.main-visual-item .main-visual-txt-con .visual-txt-con span.align 
{display:flex;}
.main-visual-item .main-visual-txt-con .visual-txt-con span.align .part-gether
{position:relative;}
.main-visual-item .main-visual-txt-con .visual-txt-con span.align .part-gether:after 
{content:''; width:1.2rem; height:1.2rem; position:absolute; border-radius:50%; bottom:25px; right:0; background:var(--main-color); z-index:99; opacity:0;}
.main-visual-item .main-visual-txt-con .visual-txt-con h2.active span.align .part-gether:after
{opacity:1; transition:all 0.5s 1.0s ease}






.main-visual-item .main-visual-txt-con .visual-txt-con h4
{color:#fff; font-size:2.4rem; font-weight:500;}

.main-visual-item .main-visual-txt-con .visual-txt-con h2,
.main-visual-item .main-visual-txt-con .visual-txt-con h4 
{position: relative;}

#mainVisualCon .slick-dots 
{position:absolute; display:flex; justify-content:center; bottom:4rem; width:100%; z-index:9999;}
#mainVisualCon .slick-dots li
{margin:0 0.5rem;}
#mainVisualCon .slick-dots li button
{font-size:0; width:1rem; height:1rem; background:#8d8e90; border-radius:50px; padding:0; border:none;}
#mainVisualCon .slick-dots li.slick-active button
{width:3rem; background:#fff;}

/**************************************************
* MAIN VISUAL PROGRESS BAR

****************************************************/
.main-visual-controls { position: absolute; width: 100%; bottom: 33rem; z-index:9997;} 
.main-visual-controls .main-play-pause-box 
{display:flex; align-items: center; margin-left:3rem;;}
.main-visual-controls .main-play-pause-box .slick-arrow
{font-size:2rem; color:#fff; cursor:pointer;}
.main-visual-controls .main-play-pause-box .slick-arrow:hover 
{color:var(--main-color);}
.main-visual-controls .main-play-pause-box .play-pause-circle 
{position:relative; width:3rem; height:3rem; background:rgba(0,0,0,0.24); border-radius:50%; display:flex; align-items: center; justify-content: center; margin:0 1rem; cursor:pointer; transition:all 0.3s ease;;}
.main-visual-controls .main-play-pause-box .play-pause-circle i
{position:absolute; font-size:1.5rem; color:#fff;}
.main-visual-controls .main-play-pause-box .main-visual-play-btn 
{display:none;}
.main-visual-controls .main-play-pause-box .play-pause-circle:hover 
{background:var(--main-color);}
/**************************************************
* MAIN VISUAL CONTROLS
* 메인 비주얼 프로그레스 바
****************************************************/
.main-visual-controls .controls-area 
{max-width:var(--max-container); margin:0 auto; display:flex;}
.main-visual-controls .main-paging-progress-box 
{display:flex; align-items:center;}
.main-visual-controls .main-paging-progress-box .paging 
{color:#fff; font-size:1.2rem;}
.main-visual-controls .main-paging-progress-box .progress-box 
{position:relative; width:15rem; height:3px; margin:0 2rem;}
.main-visual-controls .main-paging-progress-box .progress-box .ing-bar
{position:absolute; width:0; height:100%; background:#fff; z-index:9;}
.main-visual-controls .main-paging-progress-box .progress-box .full-bar
{position:absolute; width:100%; height:100%; background:#ffffff87; z-index:-1;}
.main-visual-controls .main-paging-progress-box .progress-box.active .ing-bar 
{width:100%; transition:all 3s ease;}
/**************************************************
* MAIN VISUAL SCROLLDOWN
* 메인 비주얼 스크롤 다운
****************************************************/
.main-scroll-down-con 
{position:absolute; width:100%; bottom:20rem; z-index:9998;}
.main-scroll-container
{max-width:var(--max-container); margin:0 auto; text-align:right;}
.main-scroll-down-con .scroll-down-box 
{display:inline-flex; align-items:center; justify-content:center; width:10rem; height:10rem;}
.main-scroll-down-con .scroll-down-box p 
{writing-mode: vertical-lr; font-size:1.5rem; color:#fff; display:inline-block; position:absolute; top:-6rem; animation:scrollDownAni 2s  infinite 3s}
.main-scroll-down-con .scroll-circle 
{width:100%; height:100%; background:var(--main-color); border-radius:50%;}
@keyframes scrollDownAni {
  0% {
    transform:translateY(0px)
  }
  50% {
    transform:translateY(10px)
  }
  100% {
    transform:translateY(0px)
  }
}

/**************************************************
* SUB COMMON
* 서브 공통
****************************************************/
.hide-menu 
{display:none !important;}

.cm-sub-con 
{margin:15rem 0;}
.bg-con
{padding:10rem 0;}

.cm-table-style-01 table tr th 
{background: #f4f4f4 !important; font-size: 2rem; color: #222; border-color: #ddd; } 
.cm-table-style-01 table tr td 
{background:#fff !important; }

.cm-table-style-02 table tr th 
{background: #f4f4f4 !important; font-size: 2rem; color: #222; border-color: #ddd; } 
.cm-table-style-02 table tr td 
{background:#fff !important; }

@media screen and (max-width:1580px){
  #header .e-con-inner {padding:0 20px;}
  #header #nav .elementor-nav-menu > .menu-item > a {padding:40px 30px;}

  #mainVisualCon {height:55rem;}
  .main-visual-item .visual-area {padding:0 20px;}
  .main-visual-item .main-visual-txt-con .visual-txt-con {top: 30%;}
  .main-visual-item .main-visual-txt-con .visual-txt-con h2 {font-size:4.8rem;}
  .main-visual-item .main-visual-txt-con .visual-txt-con h2.active .hidden.part-ateau {width:160px;}
  .main-visual-item .main-visual-txt-con .visual-txt-con h2.active .hidden {width:200px;}
  .main-visual-item .main-visual-txt-con .visual-txt-con span.align .part-gether:after {bottom:18px;}
  .main-visual-controls {bottom:20rem;}
  .main-visual-controls .controls-area {padding:0 20px;}
  .main-scroll-container {padding:0 20px;}
}

@media screen and (max-width:1400px) {
  #subVisual > .e-con-inner {padding:0 10px;}
}
@media screen and (max-width:1024px) {
  #header .e-con-inner {padding:10px 20px;}
  #header #nav {display:none;}
  
  /* 모바일 메뉴 버튼 */
  #header #menu-wrap .elementor-menu-toggle 
  {background:#ffffff3b}
  /* 모바일 토글 메뉴 */
  /* 1차 메뉴 */
  #header #nav .elementor-nav-menu > .menu-item > a
  {color:#000; font-size:1.7rem; padding:20px;}
  /* 1차 메뉴 active */
  #header #nav .elementor-nav-menu > .menu-item.current-menu-ancestor,
  #header #nav .elementor-nav-menu > .menu-item.current-menu-item
  {background:var(--main-color);}
  #header #nav .elementor-nav-menu > .menu-item.current-menu-ancestor > a,
  #header #nav .elementor-nav-menu > .menu-item.current-menu-item > a
  {color:#fff;}
  /* 2차 메뉴 */
  #header #nav .elementor-nav-menu > .menu-item > .sub-menu
  {width:100% !important;}
  #header #nav .elementor-nav-menu > .menu-item > .sub-menu a
  {justify-content: start; text-align:left; font-size:16px; padding:20px;}
  #header #nav .elementor-nav-menu > .menu-item > .sub-menu > li:hover a,
  #header #nav .elementor-nav-menu > .menu-item > .sub-menu > li.current-menu-item a 
  {background:var(--main-color); color:#fff;}
  /* 스크롤 다운 (header active) */
  #header.active #nav .elementor-nav-menu > .menu-item > a.elementor-item-active,
  #header #nav .elementor-nav-menu > .menu-item > a.highlighted
  {background:var(--main-color); color:#fff;}
}
@media screen and (max-width:767px) {
  .cm-sub-con
  {margin:8rem 0;}
  #mainVisualCon
  {height:40rem; }
  .main-visual-item .main-visual-txt-con .visual-txt-con
  {top:25%;}
  .main-visual-item .main-visual-txt-con .visual-txt-con .pluto
  {flex-wrap:wrap;}
  /* .main-visual-item .main-visual-txt-con .visual-txt-con h2
  {font-size:3.2rem;}
  .main-visual-item .main-visual-txt-con .visual-txt-con h2.active .hidden.part-ateau
  {width:auto;}
  .main-visual-item .main-visual-txt-con .visual-txt-con h2.active .hidden
  {width:140px;}
  .main-visual-item .main-visual-txt-con .visual-txt-con span.align .part-gether:after
  {bottom:12px;}
  .main-visual-item .main-visual-txt-con .visual-txt-con h2 .hidden
  {opacity:1; visibility:visible; transform:translateX(0)}
  .main-visual-item .main-visual-txt-con .visual-txt-con .pluto .space
  {width:0.2em;} */
  .main-visual-item .main-visual-txt-con .visual-txt-con .pluto .space
  {width:10px;}
  .main-visual-item .main-visual-txt-con .visual-txt-con .pluto .hidden
  {width:auto; opacity:1; visibility:visible; transform:none;}
  .main-visual-item .main-visual-txt-con .visual-txt-con h4
  {transition:none;}

  .main-visual-controls
  {bottom:5rem;}

  .main-scroll-down-con
  {bottom:10rem;}
  .main-scroll-down-con .scroll-down-box
  {width:7rem; height:7rem;}
  .main-scroll-down-con .scroll-down-box p
  {font-size:1.3rem;}


  .cm-table-style-01,
  .cm-table-style-02 
  {overflow-x:scroll;}


  #sitemapCon .sitemap-item
  {margin-bottom:2rem;}
  #sitemapCon .sitemap-item .menu-tit h2
  {font-size:3rem; padding:0 0 2rem;}
  #sitemapCon .sitemap-item nav .elementor-nav-menu .menu-item > a
  {font-size:1.7rem; padding:1rem;}

  #subVisual 
  {height:25rem;}
  #subVisual #subTitle
  {margin-bottom:3rem;}
  #subVisual #subTitle h2
  {font-size:4.2rem; text-align:center;}
  #subVisual #subMenu ul.elementor-nav-menu 
  {flex-wrap:wrap;}
  #subVisual #subMenu ul.elementor-nav-menu li
  {margin:0 2rem;}
  #subVisual #subMenu ul.elementor-nav-menu li a
  {font-size:16px;}
  #subVisual #subMenu ul.elementor-nav-menu li.current-menu-item a:after, 
  #subVisual #subMenu ul.elementor-nav-menu li.current-page-ancestor a:after
  {width:120%; left:-10%;}
}


