
* { font-family: "Pretendard"; } 
.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 {position: fixed; z-index:9999; transition: all 0.1s ease; background:transparent; }
 #header.active {background:#fff; box-shadow:0px 0px 10px #00000014}
#header #logo_on { display: none; } 
#header #globalMenu_on { display: none; } 
#header #nav a { font-family: "Pretendard"; } 
#header #nav .elementor-widget-container { padding: 0; } 
#header #nav .elementor-nav-menu > .menu-item > a { padding: 40px 50px; color: #fff; font-size: 1.8rem; font-weight: 400; } 
#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:#aaaaaa; font-size:1.4rem; font-weight:500; padding:0 1rem; position:relative; transition:all 0.3s ease;}
#language .lang-item a::after {content:''; position:absolute; width:1px; height:60%; top:20%; right:0; left:auto; opacity:1; background:#dddddd;;}
#language .lang-item:first-child a:before {content:'\f0ac'; font-weight:900; font-family:'Font Awesome 5 Free'; opacity:1; width:0; height:0; position:Absolute; left:-1rem; top:0;}
#language .lang-item:last-child a:after {display:none;}
#language .lang-item.current-lang a {color:#222222; font-weight:600}
#language .lang-item a:hover {color:#222222;}
/********************************************
 * Header Utility Setting
 * 헤더 유틸리티 셋팅
********************************************/
#util
{display:flex; align-items: center;}
#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:5rem; height:5rem; position: relative;}
#util .sitemap-con .sitemap-icon 
{width:100%; height:100%; position:relative; display:inline-block;}
#util .sitemap-con .sitemap-icon .row 
{width:4rem; height:3px; background:#fff; display:inline-block; position:absolute; top:18px; right:0;}
#util .sitemap-con .sitemap-icon .row2 
{margin-top:15px;}


#header.active #util .util-list li a 
{color:#000;}
#header.active #util .sitemap-con .sitemap-icon .row 
{background:#000;}

/********************************************
 * FULLPAGE SETTING
 * FULLPAGE 플러그인 사용시에만 사용하도록 !!
 * 풀페이지 네비게이션 세팅
 ********************************************/
#fp-nav.right { right: 70px !important; } 
#fp-nav.right > ul > li { width: 10px; height: 10px; margin: 2rem 0; display: flex; flex-direction: row-reverse; align-items: center; } 
#fp-nav.right > ul > li > a > span { background: transparent; border: 2px solid #cccccc; width: 10px; height: 10px; margin: 0; left: 0; top: 0; } 
#fp-nav.right > ul > li > a.active > span,
#fp-nav.right > ul > li:hover > a > span,
#fp-nav.right > ul > li:hover > a.active > span { background: var(--main-color); border-color: var(--main-color); width: 10px; height: 10px; margin: 0; left: 0; top: 0; } 
#fp-nav.right > ul > li > .fp-tooltip { font-size: 1.5rem; color: #fff; font-weight: 600; font-family: "Pretendard"; position: relative; overflow: visible; width: auto; } 
#fp-nav.right.active > ul > li > a > span { border-color: #9d9d9d !important; } 
#fp-nav.right.active > ul > li > .fp-tooltip { color: #000 !important; } 
#fp-nav.right > ul > li > a.active > span { background: var(--main-color) !important; border: 1px solid var(--main-color) !important; } 

#fp-nav.right>ul>li>.fp-tooltip.active  {color: #333;}
#fp-nav.right>ul>li:nth-last-of-type(1) {display: none;}

/********************************************
 * FULLPAGE SETTING
 * FULLPAGE 플러그인 사용시에만 사용하도록 !!
 * 풀페이지 메인페이지 세팅
 ********************************************/
.section .fp-tableCell .elementor-element,
.section .fp-tableCell .elementor-element .elementor-widget-container { height: 100%; } 

/**************************************************
* MAIN VISUAL
* 메인 비주얼 공통 세팅
****************************************************/
#mainVisualCon { width:100%; height:70rem;} 
/* 풀페이지에만 사용 */
/*
.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-item .container { height: 100%; } 
.main-visual-img { position:absolute; width:100%; height:100%; } 

#mainVisualCon .main-visual-txt-con {height:100%;}
#mainVisualCon .visual-txt-con { position:relative; height:100%; display:flex; flex-direction:column; justify-content: center; align-items: start; } 
#mainVisualCon .visual-txt-con h4 {font-size:2.6rem; color:#fff; font-weight:400;}
#mainVisualCon .visual-txt-con .slogan {font-size:7.6rem; color:#fff; font-weight:700; margin:2rem 0 5rem;}
#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 { width: 100%; bottom: 10rem; z-index:999;} 
.main-visual-controls .visual-controls-wrap { width: 100%; display: flex; flex-direction: column;} 
.main-visual-controls .paging-controls {display: flex; align-items: center;}
.main-visual-controls .paging-controls span.bar { margin: 0 1rem; display: inline-block; width: 1px; height: 1rem; background-color: #fff;} 
.main-visual-controls .paging-controls span.cur { font-size: 1.8rem; color: #fff; font-family: 'Poppins'; line-height: 1;} 
.main-visual-controls .paging-controls span.total { font-size: 1.5rem; color: #ffffff50; font-weight: 400; font-family: 'Poppins'; line-height: 1;} 
.main-visual-controls .progress-bar-con {} 
.main-visual-controls .progress-bar { position: relative;  width: 20rem; height: 2px;} 
.main-visual-controls .progress-bar .total-bar {position: absolute; left: 0; width: 100%; height: 100%; background: rgba(255, 255, 255, 0.5); } 
.main-visual-controls .progress-bar .ing-bar {position: absolute; left: 0; top: 0; width: 0; height: 100%; background: #fff; } 
.main-visual-controls .progress-bar.active .ing-bar { width: 100%; transition: all 3s ease-in-out; } 
.mouse-scroll { position: absolute; bottom: 7rem; right: 10rem; display:flex; align-items:center; animation: scrollDown 2.5s infinite ease-in-out; } 
/**************************************************
* SUB COMMON
* 서브 공통
****************************************************/
.hide-menu 
{display:none;}

.cm-sub-con 
{margin:10rem 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:1400px) {
  #subVisual > .e-con-inner {padding:0 10px;}
}
@media screen and (max-width:1024px) {
  #sitemapBtn 
  {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-table-style-01,
  .cm-table-style-02 
  {overflow-x:scroll;}
}

/* common design, sub design */
.hide-menu 
{display: none !important;}
.text-ellipsis 
{-webkit-line-clamp: 2; text-overflow: ellipsis; overflow: hidden; word-break: break-word; display: -webkit-box; -webkit-box-orient: vertical;}
.main-title
{font-size: 3.8rem; font-weight: 700; font-family: 'Paperozi'; letter-spacing: -0.12rem;}
.more
{transition: all 0.3s ease;}
.more:hover
{transform: rotate(90deg);}

/* sub visual */
#subVisual {position: relative; overflow: hidden;}
#subNav .elementor-item:after {display:none;}
#subVisual #subNav ul.elementor-nav-menu li:last-child a:after { display: none; } 
#subVisual #subNav ul.elementor-nav-menu li.current-menu-item a, #subVisual #subNav ul.elementor-nav-menu li.current-page-ancestor a {color: var(--main-color);} 
#subNav .elementor-item {border-bottom: 3px solid transparent;}
#subNav .elementor-item:hover {border-bottom:3px solid var(--main-color); border-radius:0;} 
#subVisual .sub-vis-title h2 {font-family: 'Paperozi';}
#subVisual .sub-vis-detail p {font-family: 'Paperozi'; font-weight: 600; opacity: 0.8;}

#subBg {background-position: top center; background-size: contain; background-repeat: no-repeat; background-attachment: fixed;}
#subBg.intro {background-image: url(/wp-content/uploads/2025/12/체육회소개.jpg);}
#subBg.event {background-image: url(/wp-content/uploads/2025/12/종목단체.jpg);}
#subBg.reserve {background-image: url(/wp-content/uploads/2025/12/정보마당.jpg);}
#subBg.data {background-image: url(/wp-content/uploads/2025/12/정보마당.jpg);}
#subBg.gallery {background-image: url(/wp-content/uploads/2025/12/사진갤러리.jpg);}
#subBg.coalition {background-image: url(/wp-content/uploads/2025/12/제휴.jpg);} 

/* sub common */
.sub-content
{margin: 12rem 0;}
.sub-con 
{margin: 12rem 0 0;}
.sub-sec 
{margin: 8rem 0;}
.sub-title-con
{position: relative; text-align: center;}
.sub-title-con h2
{position: relative; display: inline-block; text-align: center; font-size: 4.6rem; color: #111; letter-spacing: -0.16rem; font-weight: 900; font-family: "NanumSquareNeo", sans-serif; z-index: 3; z-index: 3;}
.sub-title-con h2::before
{content: ""; position: absolute; left: -1.5rem; top: -1.2rem; width: 1.5rem; height: 1.5rem; background-color: var(--main-color); border-radius: 1rem; z-index: 2;}
.sub-title-con h2::after
{content: ""; position: absolute; right: -1.5rem; top: 1.4rem; width: 5rem; height: 5rem; background-color: #ededed; border-radius: 5rem; z-index: -1;}
.sub-title
{position: relative; text-align: center; display: inline-block;}
.sub-title h2
{position: relative; display: inline-block; text-align: center; font-size: 4.6rem; color: #111; letter-spacing: -0.16rem; font-weight: 900; font-family: "NanumSquareNeo", sans-serif; z-index: 3;}
.sub-title p
{font-size: 2.2rem; padding-bottom: 2rem; font-weight: 700; color: #505050; text-transform: lowercase; font-family: "NanumSquareNeo", sans-serif;}

/* sub-menu02 */
.sub-menu02 .sub-menu-list 
{margin: 8rem 0;}
.sub-menu02 .sub-menu-list ul
{display: flex; flex-flow: row wrap; gap: 1rem; padding: 1rem; background-color: #daeaf5; border-radius: 1rem;}
.sub-menu02 .sub-menu-list ul *
{transition: all 0.3s ease;}
.sub-menu02 .sub-menu-list ul li
{width: 10.5%; background-color: #fff; border-radius: 0.5rem;}
.sub-menu02 .sub-menu-list ul li a 
{display: inline-block; padding: 1.5rem; width: 100%; height: 100%; font-size: 1.7rem; color: #383838; font-weight: 500; text-align: center;}
.sub-menu02 .sub-menu-list ul li:hover
{background-color: #383838;}
.sub-menu02 .sub-menu-list ul li.current-menu-item
{background-color: var(--main-color);}
.sub-menu02 .sub-menu-list ul li:hover a,.sub-menu02 .sub-menu-list ul li.current-menu-item a
{color: #fff; font-weight: 600;}

/* 종목단체 탭 */
.sub-menu03 .sub-menu-list 
{margin: 8rem 0;}
.sub-menu03 .sub-menu-list ul
{display: flex; flex-flow: row wrap; justify-content: center; gap: 1rem;}
.sub-menu03 .sub-menu-list ul *
{transition: all 0.3s ease;}
.sub-menu03 .sub-menu-list ul li
{width: 16%; background-color: #daeaf5; border-radius: 1rem;}
.sub-menu03 .sub-menu-list ul li a 
{display: inline-block; padding: 2rem; width: 100%; font-size: 2rem; color: #383838; font-weight: 600; text-align: center;}
.sub-menu03 .sub-menu-list ul li:hover
{background-color: #383838;}
.sub-menu03 .sub-menu-list ul li.active
{background-color: var(--main-color);}
.sub-menu03 .sub-menu-list ul li:hover a,.sub-menu03 .sub-menu-list ul li.active a
{color: #fff; font-weight: 600;}

/* sitemap */
#sitemap 
{opacity: 1; min-width: 3rem; transition: all 0.2s ease; cursor: pointer;}
#sitemap:hover 
{opacity: 0.6;}
.sitemap-wrap 
{position: relative; background-color: #00000030; backdrop-filter: blur(10px);}
svg.e-font-icon-svg 
{width: 3.5rem !important; height: 3.5rem !important; z-index: 5;}
.elementor-popup-modal .dialog-close-button
{top: 2rem; right: 2rem; margin: 0;}
#elementor-popup-modal-454 .dialog-close-button svg
{fill: #000 !important;}

.accordion-con svg.e-font-icon-svg 
{width: 2.5rem !important; height: 1.5rem !important; z-index: 5;}
.accordion-con .e-n-accordion-item-title 
{padding: 3rem 2rem !important; border-bottom: 1px solid #ddd; cursor: pointer;}
.accordion-con .e-n-accordion-item-title-text 
{font-size: 1.8rem !important; font-weight: 700;}
.accordion-con .accordion-wrap 
{background-color: #F1F1F1; padding: 0;}
.accordion-con .accordion-wrap .acc-sub 
{padding: 0;}
.accordion-con .accordion-wrap .acc-sub .elementor-nav-menu 
{flex-direction: column; width: 100%;}
.accordion-con .accordion-wrap .acc-sub .elementor-nav-menu a
{padding: 2rem;}
.accordion-con .accordion-wrap .acc-sub .elementor-nav-menu a:hover
{background-color: #ddd;}

/* header */
#header
{border-bottom: 1px solid #ffffff30;}
#header .h-logo-wrap 
{width: auto;}
#header .h-logo-wrap .h-logo 
{display: none;}
#header.active .h-logo-wrap .h-logo
{display: block;}
#header.active .h-logo-wrap .h-logo-w
{display: none;}

#header.active .elementor-nav-menu--main .elementor-item
{color: #000;}
#header .search-icon, #header .sitemap
{filter: brightness(0) invert(1);}
#header.active .search-icon, #header.active .sitemap
{filter: none;}

#top {position: fixed; bottom: 6rem; right: 6rem; cursor: pointer; z-index: 20; border-radius: 1.5rem; overflow: hidden;}

/* footer */
#footer 
{box-shadow: 0 -3px 3px rgba(0 0 0 / 3%); background-color: #333333;}
.footer-menu-wrap
{border-bottom: 1px solid #fff; border-top: 1px solid #fff;}
.footer-menu-wrap .site-con
{display: flex;}
.footer-menu-wrap .site-con .site-wrap 
{position: relative; width: 25%; background-color: #333333; outline: 1px solid #fff;}
.footer-menu-wrap .site-con .site-wrap select 
{position: relative; padding: 1.5rem 2rem; text-indent: 7rem; font-size: 1.7rem; font-weight: 500; color: #efefef; background-color: transparent; appearance: none; border: none; cursor: pointer;}
.footer-menu-wrap .site-con .site-wrap option
{font-size: 1.7rem; color: #282828;}
.footer-menu-wrap .site-con .site-wrap::before
{content: "\f106"; position: absolute; font-size: 1.8rem; color: #fff; right: 5rem; top: 50%; transform: translateY(-50%);  font-family: "Font Awesome 7 Free"; font-weight: 600; }

.footer-wrap
{padding: 3.5rem 0 4.5rem;}
.footer-wrap .footer-top
{display: flex; align-items: center; gap: 10rem; padding-bottom: 2.5rem; margin-bottom: 3rem; border-bottom: 1px solid #ffffff10;}
.footer-wrap .footer-top .policy-wrap
{display: flex; gap: 3rem;}
.footer-wrap .footer-top .policy-wrap a
{font-size: 1.6rem; color: #fff; font-weight: 500; transition: all 0.3s ease;}
.footer-wrap .footer-top .policy-wrap a:hover
{color: var(--main-color);}

.footer-wrap .footer-bottom
{display: flex; justify-content: space-between;}
.footer-wrap .footer-bottom .adress-wrap
{display: flex; gap: 3.5rem;}
.footer-wrap .footer-bottom .adress-wrap li
{font-size: 1.6rem; color: #aaaaaa; letter-spacing: -0.04rem; font-weight: 500;}
.footer-wrap .footer-bottom .copyright
{padding-right: 3rem; font-size: 1.5rem; color: #666666; font-weight: 400;}