/* CSS Document 
Theme Name: cheongna
Theme URI: 
Description: cheongna theme
Author: PLAN-G
Author URI: http://plang.co.kr/
*/

/*--------------------------------------------------------------------------------*/
/*--------------------------------- FONT STYLES ----------------------------------*/
/*--------------------------------------------------------------------------------*/

/* Paperlogy */
@font-face {
    font-family: 'Paperozi';
    src: url('https://cdn.jsdelivr.net/gh/projectnoonnu/2408-3@1.0/Paperlogy-1Thin.woff2') format('woff2');
    font-weight: 100;
    font-display: swap;
}

@font-face {
    font-family: 'Paperozi';
    src: url('https://cdn.jsdelivr.net/gh/projectnoonnu/2408-3@1.0/Paperlogy-2ExtraLight.woff2') format('woff2');
    font-weight: 200;
    font-display: swap;
}

@font-face {
    font-family: 'Paperozi';
    src: url('https://cdn.jsdelivr.net/gh/projectnoonnu/2408-3@1.0/Paperlogy-3Light.woff2') format('woff2');
    font-weight: 300;
    font-display: swap;
}

@font-face {
    font-family: 'Paperozi';
    src: url('https://cdn.jsdelivr.net/gh/projectnoonnu/2408-3@1.0/Paperlogy-4Regular.woff2') format('woff2');
    font-weight: 400;
    font-display: swap;
}

@font-face {
    font-family: 'Paperozi';
    src: url('https://cdn.jsdelivr.net/gh/projectnoonnu/2408-3@1.0/Paperlogy-5Medium.woff2') format('woff2');
    font-weight: 500;
    font-display: swap;
}

@font-face {
    font-family: 'Paperozi';
    src: url('https://cdn.jsdelivr.net/gh/projectnoonnu/2408-3@1.0/Paperlogy-6SemiBold.woff2') format('woff2');
    font-weight: 600;
    font-display: swap;
}

@font-face {
    font-family: 'Paperozi';
    src: url('https://cdn.jsdelivr.net/gh/projectnoonnu/2408-3@1.0/Paperlogy-7Bold.woff2') format('woff2');
    font-weight: 700;
    font-display: swap;
}

@font-face {
    font-family: 'Paperozi';
    src: url('https://cdn.jsdelivr.net/gh/projectnoonnu/2408-3@1.0/Paperlogy-8ExtraBold.woff2') format('woff2');
    font-weight: 800;
    font-display: swap;
}

@font-face {
    font-family: 'Paperozi';
    src: url('https://cdn.jsdelivr.net/gh/projectnoonnu/2408-3@1.0/Paperlogy-9Black.woff2') format('woff2');
    font-weight: 900;
    font-display: swap;
}

/* Serif */




/*--------------------------------------------------------------------------------*/
/*------------------------------------ Basic -------------------------------------*/
/*--------------------------------------------------------------------------------*/

:root {
	--golf-blue: #1663A6;
	--golf-vividblue: #00ccff;
	--golf-lightblue: #E2EDF5;
	--golf-darkblue: #0b2d4f;
	--golf-red: #E74C3C;
	--golf-bg: #f8f9fa;
}
.container, .container-fluid, .container-xxl, .container-xl, .container-lg, .container-md, .container-sm {
	--bs-gutter-x: 3rem;
}

body,td,form,input, select, textarea {
	font-family: 'Paperozi';
	color:#333;
}
.font-serif { font-family: 'georgia', 'Times New Roman', serif; }
a { text-decoration: none; color: #333; }
ul { padding-left: 0; list-style: none; }
img { max-width: 100%; }
.mc-only { display: none !important; }
.pc-only { display: block !important; }
span.pc-only { display: inline-block !important; }
.text-center, .text-center th, .text-center td, th.text-center, td.text-center { text-align: center; }
.font-sm, .font-sm th, .font-sm td  { font-size: 14px; font-size: 0.875rem; line-height: 1.5rem; }
.font-xm, .font-xm th, .font-xm td { font-size: 12px; font-size: 0.75rem; line-height: 1.25rem; }
.fw-sb { font-weight: 500; }
th { font-weight: 500; }
::placeholder { color: #aaa !important; font-weight: 300; font-size: 1rem; }
input:focus, button:focus, select:focus, textarea:focus { box-shadow: none !important; }
input:focus { border-color: var(--golf-blue) !important; }

.text-primary { color: var(--golf-blue) !important; }
.text-secondary { color: var(--golf-vividblue) !important; }
.text-orange { color: #F47932 !important; }
.text-gray { color: #ddd !important; }
.text-darkgray { color: #999 !important; }
.text-blue { color: #0d6efd !important; }
.text-darkblue { color: var(--golf-darkblue) !important; }
.bg-primary { background-color: var(--golf-blue) !important; }
.bg-secondary { background-color: var(--golf-vividblue) !important; }
.bg-orange { background-color: #F47932 !important; }
.bg-gray { background-color: #ddd !important; }
.bg-blue { background-color: #0d6efd !important; }
.bg-lightblue { background-color: var(--golf-lightblue) !important; }
.bg-darkblue { background-color: var(--golf-darkblue) !important; }
.border-primary { border-color: var(--golf-blue) !important; }
.border-secondary { border-color: var(--golf-vividblue) !important; }
.border-blue { border-color: #0d6efd !important; }
.border-lightblue { border-color: var(--golf-lightblue) !important; }
.border-darkblue { border-color: var(--golf-darkblue) !important; }
.filter-white { -webkit-filter: brightness(0) invert(1); filter: brightness(0) invert(1); }

.scroll { overflow-x: auto; -webkit-overflow-scrolling: touch; white-space: nowrap; }
.scroll .nav, .scroll ul { position: relative; min-width: max-content; flex-wrap: nowrap; }
.scroll { -ms-overflow-style: none;  /* IE and Edge */ scrollbar-width: none;  /* Firefox */ }
.scroll::-webkit-scrollbar{ display: none;	width: 0;  /* Remove scrollbar space */	height: 0; background: transparent;  /* Optional: just make scrollbar invisible */ -webkit-appearance: none; }
.scroll-width { scrollbar-width: thin; scrollbar-color: #ddd #f8f9fa; }
.scroll-width::-webkit-scrollbar-button { display: none; height: 0; width: 0; }
.match-height>[class*=col] { display: -webkit-box; display: -ms-flexbox; display: flex; -webkit-box-orient: vertical; -webkit-box-direction: normal; -ms-flex-flow: column; flex-flow: column; }
.bg-img { background-position: center; background-size: cover; background-repeat: no-repeat; }
.bg-contain { background-position: center; background-size: contain; background-repeat: no-repeat; }


/*--------------------------------------------------------------------------------*/
/*------------------------------------ Header ------------------------------------*/
/*--------------------------------------------------------------------------------*/

.site-header { position: fixed; top: 0; width: 100%; text-align: center;  margin: 0 auto; z-index: 999; }
.home .site-header { background: rgba(255, 255, 255, 0); }

#menu-area .mainlogo-mc { display: none; }
#menu-area .mainlogo-mc img { max-height: 80%; }
#main-menu a { webkit-transition: all .3s ease-out; transition: all .3s ease-out; }
.header-bg { position: relative; width: 100%; padding: 0 2%; height: 80px; overflow: hidden; webkit-transition: all .3s ease-out; transition: all .3s ease-out; }
.header-bg:hover { background: #fff; }
.header-bg:hover #menu-area a { color: #000; }
.home .header-bg { background: transparent; }
.home .header-bg:hover { background: #fff; }
#menu-area { position: relative; display: flex; height: 80px; webkit-transition: all .3s ease-out; transition: all .3s ease-out; }
#menu-area .mainlogo { display: block; webkit-transition: all .3s ease-out; transition: all .3s ease-out; }
#menu-area .mainlogo img { width: 240px; height: auto; max-height: 70px; }

/* min-width를 줄이고 남는 폭은 #main-menu(space-around)가 분배한다 —
   고정 폭이 크면 넓지 않은 화면에서 메뉴가 줄바꿈되어 드롭다운과 겹친다. */
#menu-area li { padding: 0px 24px; min-width: 110px; }
/* 메뉴 줄바꿈 금지 — 폭이 모자라면 아래 미디어쿼리에서 메뉴를 숨기고 햄버거만 쓴다. */
#main-menu .nav { flex-wrap: nowrap; }
#main-menu .menu-item > a { white-space: nowrap; }
#menu-area a { display: flex; line-height: 80px; font-size: 1rem; color: #000; z-index: 3; }
.home #menu-area a { color: #fff; }
.home #menu-area:hover a { color: #000; }
#main-menu { position: relative; display: flex; justify-content: space-around; width: -webkit-fill-available; }
#main-menu a:hover { color: #49adff; font-weight: bold; }
#main-menu .current a { color: #49adff; font-weight: bold; }
#main-menu .sub-menu li { padding:0px; margin:0px; text-align: left; width: 186px; }	
#main-menu .sub-menu a { border-bottom: none; font-size: 0.875rem; font-weight: normal; line-height: 2rem !important; color: #fff; padding-bottom: 0; }
#main-menu .sub-menu a:hover, #main-menu .sub-menu a.active { color: #49adff; font-weight: bold; }
#main-menu .menu-item .sub-menu { display: none; height: 0; }
#main-menu .menu-item:hover .sub-menu { display: block; height: auto; animation: slipdown .5s; }
.site-header:hover #main-menu .menu-item .sub-menu { display: block; height: auto; animation: slipdown .5s; }
.sub-menu { position: absolute; visibility: hidden; min-height: 130px; }
.sub-menu li { display: block; float: none; padding: 6px; padding-bottom: 0; }	
.sub-menu a { width: 100%; }
#menu-area .login-menu li { padding: 0px 18px; min-width: auto; }
#menu-area .login-menu a { font-size: 0.875rem; font-weight: 300; }
.login-menu { position: relative; margin-left: 80px; }

.navi-close { position: absolute; right: 0; z-index: 99; }
#navi-icon.opened { display: block; visibility: visible; z-index: 9999; }
#navi-icon.opened .navi-icon-line:nth-child(3) { width: 30px; right: 0; }
#navi-icon { float:right; margin: 28px 0; position: relative; width: 30px; height: 23px; font-size: 0; color: transparent; cursor: pointer; background-color: transparent; -webkit-transition: -webkit-transform .3s ease-out; transition: -webkit-transform .3s ease-out; transition: transform .3s ease-out; transition: transform .3s ease-out,-webkit-transform .3s ease-out; }
.navi-icon-line { left: 0; display: block; position: absolute; width: 30px; height: 2px; background-color: #000; -webkit-transform-origin: 50% 50%; transform-origin: 50% 50%; -webkit-transition: all .3s ease-out; transition: all .3s ease-out; z-index: 991; }
#menu-area:hover .navi-icon-line { background-color: #000; }
.home .navi-icon-line { background-color: #fff; }
.navi-icon-line:first-child { top:0; }
.navi-icon-line:nth-child(2) { top:10px; width: 12px; }
.navi-icon-line:nth-child(3) { top:20px; }
#navi-icon.opened .navi-icon-line { background-color: #FFF; -webkit-transform: rotate(-90deg); transform: rotate(-90deg);}
#navi-icon.opened .navi-icon-line:first-child { -webkit-transform: translateY(9px) rotate(-45deg); transform: translateY(9px) rotate(-45deg); }
#navi-icon.opened .navi-icon-line:nth-child(2) { -webkit-transform: scaleX(0); transform: scaleX(0); }
#navi-icon.opened .navi-icon-line:nth-child(3) { -webkit-transform: translateY(-11px) rotate(45deg); transform: translateY(-11px) rotate(45deg); }

.site-header.expand #menu-area { height: 296px; }
.site-header.expand .sub-menu { visibility: visible; }
.site-header.expand .header-bg { height: auto; }
.site-header.expand.cambio_header .header-bg:before { webkit-transition: all .3s ease-out; transition: all .3s ease-out; }
.expand .header-bg:after { position: absolute; top: 0px; left: 0; display: block; content: " "; background: #707070; width: 100%; height: 1px; z-index: 9; }
.cambio_header #gnb-menu .nav-link { min-width: 100px; padding: 0.125rem 0.25rem; font-size: 0.875rem; }
.home .cambio_header #menu-area a  { color: #000; }
.cambio_header .btn-lang { padding: 0.5rem; }
.cambio_header .header-bg { background: #fff; height: 70px; box-shadow: 0px 10px 20px 0px rgba(38, 31, 31, 0.1); }
.cambio_header #menu-area { height: 70px; }
.cambio_header #menu-area a { line-height: 70px; }
.cambio_header .mainlogo img, .cambio_header .mainlogo-mc img  { max-height: 50px; webkit-transition: all .3s ease-out; transition: all .3s ease-out; }
.cambio_header #navi-icon { margin: 20px 0; webkit-transition: all .3s ease-out; transition: all .3s ease-out; }
.cambio_header .navi-icon-line { background-color: #000; webkit-transition: all .3s ease-out; transition: all .3s ease-out; }

/*-- fullwidth_menu --*/
#fullwidth_menu { position: fixed; width: 100%; height: 100svh; top: 0px; left: 0; z-index: 990; text-align: left; padding-top: 0px; padding-bottom: 0px; background: #000; display: none; overflow: hidden; }
#fullwidth_menu li { line-height: 1.5rem; webkit-transition: all .3s ease-out; transition: all .3s ease-out; }
#fullwidth_menu a { display: block; padding: 10px 0px; color: #fff; }
#fullwidth_menu li.menu-item { position: relative; float: left; display: inline-block; width: 25%; margin: 80px 0; padding-left: 8px; }
#fullwidth_menu li.menu-item h4 { font-size: 1.125rem; color: #fff; font-weight: normal; padding-right: 40px; height: 50px; }
#fullwidth_menu li.menu-sub-title { padding: 0.5rem 0 0.25rem; color: var(--golf-blue); margin-top: 1.25rem !important; }
#fullwidth_menu li.menu-item:after { position: absolute; top: 0; right: 30px; content: ""; height: 100%; width: 1px; background: rgba(255, 255, 255, 0.125); }
#fullwidth_menu li:nth-child(4).menu-item:after, #fullwidth_menu li:last-child.menu-item:after { display: none; } 
#fullwidth_menu a:hover, #fullwidth_menu li a.active { color: #fff; }
#fullwidth_menu ul.nav { display: flex; justify-content: center; padding-top: 80px; margin: auto; width: 90%; }
#fullwidth_menu ul.sub-menu { position: relative;  width: 100%; opacity: 1; visibility: visible; }
#fullwidth_menu ul.sub-menu li { float: none; padding-left: 0; width: 100%; margin: 0; }
#fullwidth_menu ul.sub-menu li:last-child { margin-bottom: 2rem; }
#fullwidth_menu ul.sub-menu a { font-size: 0.875rem; font-weight: normal; color: #bbb !important; padding: 0px; line-height: 2rem; }
#fullwidth_menu ul.sub-menu a.active, #fullwidth_menu ul.sub-menu a:hover { color: #49adff; border-bottom: none; }
#fullwidth_menu li:hover ul { opacity: 1 !important; visibility: visible; }
#fullwidth_menu li.current ul { opacity: 1 !important; visibility: visible; }
#fullwidth_menu .menu-item > a:hover, #fullwidth_menu .menu-item > a.active { border-bottom: none !important; }
#fullwidth_menu li.menu-item.last a { margin-top: 10px; padding: 0 !important; width: 100px; }
#fullwidth_menu .login-menu { display: none; }

.sticky-header { position: fixed; width: 100%; height: auto; left: 0; top: 70px; z-index: 2; display: none; transition: all .5s ease-in-out; height: 0; }
.sticky-header.active { display: block; height: auto; webkit-transition: all .3s ease-out; transition: all .3s ease-out; }

/*--------------------------------------------------------------------------------*/
/*------------------------------------ main area ---------------------------------*/
/*--------------------------------------------------------------------------------*/

.mainslider { background-color: #828282; }
.swiper, .swiper-container { overflow: hidden; }
.swiper-slide { background-size: cover; background-position: center center; background-repeat: no-repeat; }
.mainslider, .mainslider .swiper-slide { position: relative; width: 100%; height: 90vh; overflow: hidden; }
.slide-img { display: block; width: 100%; height: 100%; background-size: cover; background-position: center center; overflow: hidden; }
.mainslider .swiper-slide .slide-img { -webkit-transform: scale(1); transform: scale(1); -webkit-transition: -webkit-transform 3s; transition: -webkit-transform 3s; transition: transform 3s; transition: transform 3s, -webkit-transform 3s; }
.mainslider .swiper-slide.swiper-slide-active .slide-img { -webkit-transform: scale(1.04); transform: scale(1.04); }
.mainslider .swiper-slide::after { position: absolute; content: ""; top: 0; left: 0; width: 100%; height: 100%; background: linear-gradient(180deg, rgba(0, 0, 0, 0.125) 0%, rgba(0, 0, 0, 0) 15%); }
.slide-text { position: absolute; width: 100%; display: block; text-align: center;  top: 50%; left: 50%; transform: translate(-50%, -50%); z-index: 991; animation: slipup 1s .2s both; color: #FFF; padding-left: 4%; }	
.slide-text h1 { font-size: 3rem; font-weight: bold; text-transform: uppercase; }
.slide-text p { font-size: 1.25rem; }
.swiper-scrollbar { width: 100% !important; left: 0 !important; height: 3px !important; margin-top: 3rem; }
.swiper-pagination { position: relative !important; margin-top: 2rem; }

/* video */
.slide-video { position: relative; width: 100%; height: 100vh; overflow: hidden; display: flex; align-items: center; justify-content: center; }
.video-container { position: absolute; top: 0; left: 0; width: 100%; height: 100%; z-index: -1; }
.video-container iframe { width: 100vw; height: 75vw; /* 16:9 56.25 */ min-height: 100vh; min-width: 177.77vh; /* 16:9 비율 유지 (16 / 9 * 100) */ position: absolute; top: 50%; left: 50%; transform: translate(-50%, -50%); object-fit: cover; }

/* reserve */
.section-reserve { position: relative; }
.section-reserve .btn-area { position: absolute; bottom: 90px; z-index: 9; width: 100%; margin: auto; text-align: center; }
.btn-reserve { background-color: #dc3545; color: #fff; border-radius: 0.5rem 0.5rem 0 0 !important; --bs-btn-padding-y: 0.5rem; --bs-btn-padding-x: 1.5rem; --bs-btn-font-size: 1.25rem; }
.btn-reserve:hover { background-color: #b02a37; color: #fff; }
.reserve-wrapper { bottom: 0; width: 100%; background: var(--golf-blue); }
.reserve-box { position: relative; display: flex; padding: 0; }
.reserve-box-header { position: absolute; top: 50%; transform: translateY(-50%); left: 0; width: 100%; min-height: 60px; z-index: 0; }
.reserve-box-header .button-next { display: flex; justify-content: center; align-items: center; position: absolute; width: 60px; height: 100%; background-size: contain; filter: brightness(0) invert(1); right: 0; top: 0; }
.reserve-box-header .button-prev { display: flex; justify-content: center; align-items: center; position: absolute; width: 60px; height: 100%; background-size: contain; filter: brightness(0) invert(1); left: 0; top: 0; }
.reserve-box-body { position: relative; width: calc(100% - 120px); margin: 0 60px; }
.reserve-box .btn-date { width: 100%; height: 90px; line-height: 2rem; color: #fff; font-size: 0.875rem; font-weight: 500; }
.reserve-box .btn-date:hover { background-color: #0a5c9b; }
.reserve-box .btn-date.active { background-color: #fff; color: var(--golf-blue); border-color: transparent; }
.reserve-box .btn-date label { width: 100%; display: block; font-size: 0.75rem; }
.btn-date.sat {	color: #7FC3FF; }
.btn-date.sun {	color: #FF7B7F; }
/* 예약 불가일(휴장·미오픈) — 흐리게 표시하고 테두리·호버 효과 제거 */
.reserve-box .btn-date.date-disabled,
.reserve-box .btn-date:disabled { opacity: 0.35; border-color: transparent; }
.reserve-box .btn-date.date-disabled:hover { background-color: transparent; }

.section-padding { padding: 3rem 0 5rem; }
.section-padding-lg { padding: 5rem 0 7rem; }
.section-padding-sm { padding: 2rem 0 2rem; }
.section-title { font-size: 2.5rem; margin-bottom: 1rem; font-weight: bold; }
.section-subtitle { font-size: 1.5rem; margin-bottom: 1rem; font-weight: 500; }
.section-description { margin-bottom: 3rem; font-size: 1.25rem; }

.section-event { position: relative; background-color: #fff; }
.card-event { background: transparent; border: 0; }
.card-event .card-header { position: absolute; top: 0; left: 0; border: 0; }
.card-event .card-body { padding: 0; }
.card-event .event-thumb { margin-bottom: 1rem; }
.card-event .event-thumb, .card-event .event-thumb img { width: 100%; }

.section-news { position: relative; background-color: #D9D9D9; }
.card-news { background: #fff; padding: 2rem; margin-top: 0.5rem; border: 0; }
.card-news .card-body { padding: 0; }
.card-news .card-footer { display: flex; justify-content: space-between; padding: 0; background: transparent; border: 0; }
.card-news:hover { box-shadow: 0px 6px 10px 0px rgba(0, 0, 0, 0.125); margin-top: 0; webkit-transition: all .3s ease-out; transition: all .3s ease-out; }

.section-video { position: relative; }
.sectionvideo-container { padding:56.25% 0 0 0; position:relative; }
.sectionvideo-container iframe { position:absolute; top:0; left:0; width:100%; height:100%; }

.section-course { position: relative; }
.section-course .slide-img { min-height: 400px; overflow: hidden; }
.card-courseinfo { position: absolute; top: 3rem; z-index: 2; background: transparent; border: 0; min-width: 25%; }
.card-courseinfo .card-body { background-color: rgba(16, 104, 172, 0.5); color: #fff; padding: 2rem; }
.card-courseinfo .card-title { font-size: 2.5rem; margin-bottom: 1rem; font-weight: bold; }
.card-courseinfo label { font-size: 1.25rem;  margin-bottom: 1rem; }

.section-facility { position: relative; background-size: cover; }
.section-facility::before { position: absolute; bottom: 0; content: ""; display: block; width: 100%; height: 36%; background: #FFF; }

.section-location { position: relative; }
.address-wrapper { position: absolute; top: 0.5rem; left: 0.5rem; min-width: 310px; }


/*--------------------------------------------------------------------------------*/
/*--------------------------------- Form & Button --------------------------------*/
/*--------------------------------------------------------------------------------*/

.btn { border-radius: 0; }
.btn-primary { color: #fff; background-color: var(--golf-blue); border-color: var(--golf-blue); }
.btn-primary:hover { color: #fff; background-color: var(--golf-darkblue); border-color: var(--golf-darkblue); }
.btn-lightblue { color: var(--golf-darkblue); background-color: var(--golf-lightblue); border-color: var(--golf-lightblue); }
.btn-lightblue:hover { color: #fff; background-color: var(--golf-blue); border-color: var(--golf-blue); }
.btn-darkblue { color: #fff; background-color: var(--golf-darkblue); border-color: var(--golf-darkblue); }
.btn-darkblue:hover { color: #fff; background-color: #000; border-color: #000; }
.btn-outline-primary { color: var(--golf-blue); border-color: var(--golf-blue); }
.btn-outline-primary:hover { color: #fff; background-color: #00251b; border-color: #00251b; }
.btn-secondary { color: #000; background-color: var(--golf-vividblue); border-color: var(--golf-vividblue); }
.btn-secondary:hover { color: #fff; background-color: var(--golf-darkblue);; border-color: var(--golf-darkblue);; }
.btn-outline-secondary { color: var(--golf-vividblue); border-color: var(--golf-vividblue); }
.btn-outline-secondary:hover { color: #FFF; background-color: var(--golf-darkblue); border-color: var(--golf-darkblue); }
.btn-outline-gray { color: #666; border-color: var(--bs-border-color-translucent); }
.btn-outline-gray:hover, .btn-outline-gray.active { background-color: #fff; border-color: #333; color: #000; }
.btn-dark:hover { color: #fff; background-color: #000; border-color: #000; }
.form-check .form-check-input { border-color: #ddd; cursor: pointer; }
.form-check-input:checked { background-color: var(--golf-blue); border-color: var(--golf-blue); }
.form-check-lg .form-check-input[type=checkbox] { width: 24px; height: 24px; cursor: pointer; }
.form-check-lg .form-check-input[type=radio] { width: 24px; height: 24px; border-radius: 50%; cursor: pointer; }
.form-check-lg .form-check-input:checked[type=radio] { background-color: var(--golf-vividblue); border-color: var(--golf-vividblue); }
.form-check-lg .form-check-label, .form-label-lg { font-size: 1.25rem; }
.member-form .form-control { border-radius: 0; background-color: #F5F5F5; border-color: transparent; }
.member-form .form-control, .member-form .form-select, .member-form .form-check, .member-form .input-group-text, .member-form .form-check-input { border-radius: 0; }
.member-form .form-control:focus { background-color: #FFF; }
.member-form .form-label-lg { margin: 0.5rem 0; }
.member-form .input-group-text { border-color: transparent; }
.member-form .btn-lg, .member-form .btn-group-lg > .btn, .member-form .form-select-lg { font-size: 1rem; min-height: calc(1.5em + 1rem + calc(var(--bs-border-width) * 2)); padding: 0.625rem 1rem;}
.btn-xl, .member-form .btn-group-xl > .btn, .member-form .form-select-xl { font-size: 1.25rem;  padding-top: 1rem; padding-bottom: 1rem; }



/*--------------------------------------------------------------------------------*/
/*------------------------------------ Member ------------------------------------*/
/*--------------------------------------------------------------------------------*/

/* login */
.section-login { background: linear-gradient(to right, #eae2cf, var(--golf-lightblue), #eae7cf); padding-bottom: 12rem; }
.login-form { margin: auto; max-width: 430px; }
.login-form ul li { padding-left: 10px; }

/* mypage */
.card-charge { display: flex; flex-direction: row; border-radius: 1rem; overflow: hidden; background-color: transparent; border-color: transparent; max-width: 960px; margin: auto; }
.card-charge .card-header { display: flex; align-items: center; justify-content: center; background-color: #fff; color: var(--golf-blue); border-radius: 1rem; padding: 1.5rem 2rem; min-width: 16%; }
.card-charge .card-body { background-color: var(--golf-blue); border-radius: 1rem 0 0 1rem; padding: 1.5rem 2rem; } 
.card-charge .card-footer { display: flex; align-items: center; justify-content: center; background-color: var(--golf-blue); border-color: transparent; border-radius: 0 1rem 1rem 0; padding: 1.5rem 2rem; min-width: 16%; }
.card-charge:hover .card-header { background-color: #258b58; color: #fff; }
.card-charge:hover .card-body, .card-charge:hover .card-footer { background-color: #34a86e; }
.card-gold .card-body, .card-gold .card-footer { background-color: #b39f33; }
.card-gold:hover .card-header { background-color: #887820; }
.card-gold:hover .card-body, .card-gold:hover .card-footer { background-color: #978627; }
.card-blue .card-body, .card-blue .card-footer { background-color: #27a7c9; }
.card-blue:hover .card-header { background-color: #2a89a1; }
.card-blue:hover .card-body, .card-blue:hover .card-footer { background-color: #2098b9; }
.bg-card-gold { background-color: #b39f33 !important; }
.bg-card-blue { background-color: #27a7c9 !important; }
.datepicker table tr td, .datepicker table tr th { font-size: 0.75rem; }


/*--------------------------------------------------------------------------------*/
/*------------------------------------ reserve -----------------------------------*/
/*--------------------------------------------------------------------------------*/

/* Top Info Bar */
.info-bar {	background: #fff; border-radius: 16px; padding: 15px 30px; height: auto; box-shadow: 0 4px 6px rgba(0,0,0,0.1); margin-bottom: 30px; }
.info-label { font-size: 0.8rem; color: #888; margin-bottom: 0; }
.info-value { font-size: 1rem; font-weight: 700; margin-bottom: 0; }
.res-badge { background-color: #EBF4FA; color: var(--golf-blue); border-radius: 20px; padding: 8px 20px; font-weight: 700; }

/* Step Headers */
.step-header { color: #fff; font-weight: 700; font-size: 1.1rem; margin-bottom: 15px; display: flex; align-items: center; }
.step-num { position: relative; color: #fff; background-color: var(--golf-red); width: 20px; height: 24px; margin: 0 24px 0 8px; display: inline-flex; justify-content: center; align-items: center; font-size: 0.9rem; }
.step-num::before { position: absolute; top: 0px; left: -8px; content: ""; width: 0; height: 0; border-left: 8px solid transparent; border-bottom: 24px solid var(--golf-red); }
.step-num::after { position: absolute; bottom: 0px; right: -8px; content: ""; width: 0; height: 0; border-right: 8px solid transparent; border-top: 24px solid var(--golf-red); }
/* 소제목(content-title) 안의 번호 배지 — 시안: 파란색, 조금 크게 */
.content-title .step-num { font-size: 1.2rem; width: 24px; height: 26px; background-color: var(--golf-blue); }
.content-title .step-num::before { border-bottom: 26px solid var(--golf-blue); }
.content-title .step-num::after { border-top: 26px solid var(--golf-blue); }

/* Common Card Style */
.content-card { background: #fff; border-radius: 16px; padding: 30px; margin-bottom: 40px;	box-shadow: 0 4px 10px rgba(0,0,0,0.1); }

/* Calendar Grid */
.calendar-header { font-weight: 700; font-size: 1.2rem; text-align: center; margin-bottom: 20px; }
.day-cell { text-align: center; padding: 10px 0; font-size: 0.9rem; font-weight: 500; cursor: pointer; }
.day-cell.text-danger { color: var(--golf-red) !important; }
.day-cell.text-primary { color: var(--golf-blue) !important; }
.day-cell.disabled { color: #ccc; cursor: default; }
.day-cell.active-day { background-color: var(--golf-blue); color: #fff !important; border-radius: 50%; width: 35px; height: 35px; display: inline-flex; justify-content: center; align-items: center; margin: 0 auto; }

/* Time Part Selection */
.time-part-box { border: 1px solid #dee2e6; border-radius: 12px; padding: 20px 10px; text-align: center; cursor: pointer; transition: all 0.2s; }
.time-part-box.active { background-color: var(--golf-blue); color: #fff; border-color: var(--golf-blue); }
.time-part-box.active .text-muted { color: rgba(255,255,255,0.7) !important; }
.time-part-title { font-size: 1.2rem; font-weight: 700; margin-bottom: 5px; }

/* Time Slots */
.row-cols-7 > * { flex: 0 0 auto; width: 14.28571429%; /* 100% divided by 7 */ }
.legend-dot { width: 10px; height: 10px; border-radius: 50%; display: inline-block; margin-right: 5px; }
.bg-available { background-color: var(--golf-blue); }
.bg-disabled { background-color: #E2EDF5; }
.bg-mine { background-color: var(--golf-red); }

.selected-part-header { position: relative;	background-color: #0b2d4f;	color: #fff; border-radius: 20px 20px 20px 0; padding: 15px 25px; display: inline-block; margin-bottom: 30px; font-weight: 500; }
.selected-part-header::after { position: absolute; bottom: -20px; left: 0; content: ""; width: 0; height: 0; border-right: 20px solid transparent; border-top: 20px solid #0b2d4f; /* 삼각형 색상 */ }

.course-title { font-size: 1.1rem; font-weight: 700; color: #333; margin-bottom: 20px; border-bottom: 2px solid var(--golf-blue); padding-bottom: 10px; }
.course-title span { float: right; font-size: 0.85rem; color: var(--golf-blue); font-weight: 500; margin-top: 5px; }

.slot-btn {	width: 100%; padding: 12px 5px; border-radius: 8px; border: none; margin-bottom: 15px; display: flex; flex-direction: column; align-items: center; justify-content: center;	font-weight: 700; font-size: 1.1rem; line-height: 1.2; }
.slot-btn small { font-size: 0.7rem; font-weight: 400; margin-top: 3px; }

.slot-available { background-color: var(--golf-blue); color: #fff; }
.slot-disabled { background-color: #E2EDF5; color: #a0b8cc; cursor: not-allowed; }
.slot-selected { background-color: var(--golf-red); color: #fff; }

/*--------------------------------------------------------------------------------*/
/*------------------------------------ content -----------------------------------*/
/*--------------------------------------------------------------------------------*/

.container-xm { max-width: 960px; }
.content-area { position: relative; padding-top: 80px; overflow: hidden; }
.content-header { position: relative; padding-top: 3.5rem;  padding-bottom: 3.5rem; }
.content-body { position: relative; padding-top: 4rem;  padding-bottom: 6rem; }
.icon-title { display: flex; align-items: center; justify-content: center; width: 80px; height: 80px; border-radius: 50%; background: var(--golf-lightblue); margin: 2rem auto; }
.icon-title-lg { width: 140px; height: 140px; }
.entry-box { position: relative; padding: 1.5rem 1rem; border: 1px solid #ddd; border-radius: 0.5rem; }
.entry-box-lg { padding: 2rem; }
.entry-box.active { border-color: var(--golf-blue); background-color: #F8FFF0; }
.entry-box.active label { font-weight: 600; }
.hover-green:hover { border-color: var(--golf-blue); background-color: #F8FFF0; }
.hover-green:hover label { font-weight: 600; }
.hover-shadow:hover { border-color: #CECEBB; box-shadow: 0px 6px 10px 0px rgba(0, 0, 0, 0.125); }
.card-primary { background-color: var(--golf-blue); border-color: transparent; padding: 1rem; margin-bottom: 1rem; }
.card-primary .card-header { background-color: transparent; border-color: transparent; color: #fff; }
.card-primary .card-body { padding-bottom: 0; color: #fff; }
.card-secondary { background-color: var(--golf-lightblue); border-color: transparent; padding: 1rem; margin-bottom: 1rem; }
.card-secondary .card-header { background-color: transparent; border-color: transparent; }
.card-secondary .card-body { padding-bottom: 0; }

/* page Top */
.hero-wrapper { position: relative; width: 100%; height: calc(100vh - 160px); overflow: hidden; }
.hero-wrapper .slide-img { width: 100%; height: 100%; background-position: center; background-size: cover; }
.hero-wrapper .slide-img:after { position: absolute; top: 0; left: 0; display: block; content: " "; width: 100%; height: 100%; background: linear-gradient(to bottom, rgba(0,0,0,0.25), rgba(0,0,0,0)); z-index: 9; }
.page-title { font-size: 3rem; margin-bottom: 0; padding-bottom: 1rem; font-weight: bold; text-transform: uppercase; }
.page-description { margin-bottom: 0; font-size: 1.25rem; }
.content-title { display: flex; align-items: center; font-size: 1.75rem; margin-bottom: 1.5rem; font-weight: 600; }
.sub-title { font-size: 1.5rem; margin-bottom: 1.5rem; font-weight: bold; }
.content-description { margin-bottom: 0; }
.fullwidth-wrapper { position: relative; width: 100%; height: calc(100vh - 160px); overflow: hidden; }
.fullwidth-wrapper .fullwidth-img { width: 100%; height: 100%; background-position: center; background-size: cover; }
.fullwidth-wrapper .fullwidth-text { position: absolute; width: 100%; display: block; text-align: center;  top: 25%; z-index: 991; color: #FFF; padding: 1rem; }	

/* breadcrumb */
.breadcrumb-wrapper { display: flex; justify-content: center; padding-bottom: 1rem; }
.breadcrumb li { position: relative; padding-right: 1.75rem; }
.breadcrumb li:first-child { padding-right: 0.75rem; }
.breadcrumb li:nth-child(2)::after { content: ""; position: absolute; top: 50%; right: 0; transform: translateY(-50%); pointer-events: none; }
.breadcrumb li:nth-child(2)::after { width: 28px; height: 28px; background-position: center; background-repeat: no-repeat; background-image: url("data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' width='16' height='16' fill='rgba(0, 0, 0, 0.5)' stroke-width='3' viewBox='0 0 16 16'><path d='M4.646 1.646a.5.5 0 0 1 .708 0l6 6a.5.5 0 0 1 0 .708l-6 6a.5.5 0 0 1-.708-.708L10.293 8 4.646 2.354a.5.5 0 0 1 0-.708'/></svg>");}

.blockquote { margin-bottom: 3rem; }
.blockquote p { font-size: 2rem; }

/* ul */
.page-ul { list-style: none; }
.page-ul li { position: relative; padding-left: 20px; font-size: 1rem; line-height: 1.68rem; }
.page-ul li:before { position: absolute; top: 9px; left: 0px; display: inline-block; content: ""; width: 18px; height: 18px; background-position: center; background-image: url("data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'><circle fill='rgba(11, 45, 79 1)' cx='12' cy='5' r='2'></circle></svg>"); }
.ul-legend { display: flex; justify-content: center; }
.ul-legend li { margin-right: 1rem; font-size: 0.875rem; }
.ul-roundstep { position: relative; display: flex; justify-content: space-around; gap: 60px; }
.ul-roundstep li { position: relative; flex: 1; text-align: center; }
.ul-roundstep li .round-step { position: relative; display: flex; align-items: center; justify-content: center; width: 100%; min-height: 130px; padding: 2rem 0.5rem; margin-bottom: 1rem; border-radius: 6rem; border: 1px solid var(--golf-blue); color: var(--golf-blue); background-color: #fff; }
.ul-roundstep li .round-step::after { position: absolute; top: calc(50% - 24px); right: -55px; content: ""; width: 48px; height: 48px; background: url("../images/arrow.svg") no-repeat center; z-index: 1; }
.ul-roundstep li:last-child .round-step::after { display: none; }

/* faq */
.faq-wrapper { border-top: 2px solid var(--golf-blue); margin-bottom: 4rem; }
.details-faq { border-bottom: 1px solid #ddd; }
.details-faq summary { list-style: none;  padding: 1.5rem; display: flex; }
details.details-faq[open] summary { color: var(--golf-blue); font-weight: 600; }
.details-faq summary::before { content: "Q"; margin-right: 1rem; color: var(--golf-blue); font-weight: bold; }
.details-faq .details-content { padding: 1.5rem 3rem; background-color: #F8F8F8; border-top: 1px solid #ddd; }



/*--------------------------------------------------------------------------------*/
/*------------------------------------ table -------------------------------------*/
/*--------------------------------------------------------------------------------*/

.table.text-start th, .table.text-start td { text-align: start; }

/* table board */
.table-board table { background: none; border-top: 1px solid var(--golf-blue); }
.table-board tr td, .table-board th { border: none; border-bottom: 1px solid var(--golf-lightblue); padding: 20px 30px; }
.table-board tr td, .table-board th { border-left: none; border-bottom: 1px solid var(--golf-lightblue); border-right:none; padding: 16px 30px; }
.table-board th  { background: var(--golf-lightblue); font-weight: normal; }
.table-board tr:hover { background: #F8F8F8; }
.table-board tr td:first-child { width: 100px; }
.table-board tr td a:hover { color: var(--golf-blue); border-bottom: 1px solid var(--golf-blue); }
.table-board tr:last-child td { border-bottom: 1px solid var(--golf-lightblue); }
.table-boardview table { background: none; border-top: 1px solid var(--golf-blue); }
.table-boardview tr td, .table-boardview tr th { border: none; border-bottom: 1px solid #ddd; padding: 20px 10px; font-weight: normal; }
.table-boardview tr td:first-child { width: 120px; }
.table-boardview tr th:first-child { text-align: left; padding-left: 70px; }
.table-boardview tr td:nth-child(2) { text-align: left; }
.table-boardview tr td:last-child, .table-boardview tr th:last-child { width: 120px; }
.table-boardview tr:last-child td { border-bottom: 1px solid #ddd; }
.table-boardview tr td a:hover { color: var(--golf-blue); border-bottom: 1px solid var(--golf-blue); }
.table-boardview-meta:after { visibility: hidden; display: block; font-size: 0; content: " "; clear: both; height: 0; }
.table-boardview-meta li { position: relative; float: left; padding-left: 20px; padding-right: 20px; padding-bottom: 0; }
.table-boardview-meta li:first-child { padding-left: 0; }
.table-boardview-meta li:after { position: absolute; content: " | "; right: 0; color: #ddd; }
.table-boardview-meta li:last-child:after { display: none; }
.table-boardview-meta li span { color: #535B5D; margin-right: 0.5rem; }
.boardview-title { font-size: 1.2rem; }
.viewbox { min-height: 300px; padding-bottom: 75px !important; }
.boardview-join tr th:first-child { padding-left: 46px; }
.boardview-join .viewbox { padding-left: 46px; }
.btn-prev, .btn-next { padding: 0; width: 60px; height: 24px; color: #747E81; font-size: 1rem; }
.btn-download { padding: 0; width: 60px; height: 24px; color: var(--golf-blue); font-size: 1rem; }
.board-comment { margin-bottom: 10px; padding: 0.75rem 1.5rem; background-color: #F8F8F8; font-size: 0.938rem; }
.board-comment ul.list li { float: left; padding-left: 0; padding-right: 20px; padding-bottom: 0; }
.board-comment-inner { padding: 0.75rem 0; }
.board-comment-footer { background-color: #FFF; padding: 0rem; box-shadow: 0 0 0 1px var(--golf-blue) inset; }
.board-comment-footer textarea { margin-left: 1.5rem; padding: 0; width: calc(100% - 3rem); }
.board-comment-footer ul.list { padding-left: 1.5rem; border-top: 1px solid #ddd; }
.board-comment-footer ul.list li { float: left; padding-left: 0; padding-right: 20px; padding-bottom: 0; }
.btn-comment { display: block; width: 100%; height: 100%; border-radius: 0 !important; }
.board-comment-btn { margin: 1rem 0;}

.table-lg tr td, .table-lg th { padding: 1rem !important; }
.table-sm tr td, .table-sm th { padding: 0.25rem !important; font-size: 0.75rem; }
.table-primary { border-top: 2px solid var(--golf-blue); }
.table-primary tr td, .table-primary th { padding: 1rem 1.5rem; vertical-align: middle; }
.table-primary tr th { background-color: #F8F8F8; color: #333; text-align: center; border-color: #ccc; font-weight: 500; }
.table-primary tr td { background-color: #FFF; color: #333; text-align: center; border-color: #ccc; }
.table-primary>:not(caption)>*>* { border-width: 1px; }
.table-primary th:first-child, .table-primary td:first-child { border-left: 0;}
.table-primary th:last-child, .table-primary td:last-child { border-right: 0;}
.table-secondary tr td, .table-primary th { padding: 1rem; vertical-align: middle; }
.table-secondary tr th { background-color: #e6e6d5; color: var(--golf-blue); text-align: center; border-color: var(--golf-lightblue); }
.table-secondary tr td { background-color: #FFF; color: #666666; text-align: center; border-color: var(--golf-lightblue); }
.table-secondary>:not(caption)>*>* { border-width: 1px; }
.table-secondary th:first-child, .table-secondary td:first-child { border-left: 0;}
.table-secondary th:last-child, .table-secondary td:last-child { border-right: 0;}

.table-green th { padding: 1.25rem; vertical-align: middle; }
.table-green tr td { padding: 1.5rem 1rem; vertical-align: middle; }
.table-green tr th { background-color: var(--golf-blue); color: #fff; text-align: center; border-color: transparent; border-left: 0; border-right: 0; }
.table-green tr th:first-child { border-radius: 3rem 0 0 3rem; }
.table-green tr th:last-child { border-radius: 0 3rem 3rem 0; }
.table-green tr td { background-color: transparent; color: #fff; text-align: center; border-color: var(--golf-blue); border-left: 0; border-right: 0; }
.table-green>:not(caption)>*>* { border-width: 1px; }


/*--------------------------------------------------------------------------------*/
/*----------------------------------- Gallery -------------------------------------*/
/*--------------------------------------------------------------------------------*/

/* CSS Masonry 설정 */
.css-masonry { column-count: 1; /* 모바일 기본 1단 */ column-gap: 1.5rem; }
    
/* 화면 크기에 따른 단수 조절 (Bootstrap 브레이크포인트와 동일) */
@media (min-width: 576px) { .css-masonry { column-count: 2; } }
@media (min-width: 992px) { .css-masonry { column-count: 3; } }
@media (min-width: 1200px) { .css-masonry { column-count: 4; } }

.css-masonry .card {
	break-inside: avoid; /* 카드가 단 사이에서 쪼개지는 것 방지 */
	margin-bottom: 1.5rem;
	display: inline-block; /* 버그 방지용 */
	width: 100%;
}

#modalImage {
	border-top-left-radius: var(--bs-modal-border-radius);
	border-top-right-radius: var(--bs-modal-border-radius);
	width: 100%;
	max-height: 70vh; /* 화면 높이에 맞게 조절 */
	object-fit: contain;
	background-color: #f8f9fa;
}

/*--------------------------------------------------------------------------------*/
/*------------------------------------ Navi --------------------------------------*/
/*--------------------------------------------------------------------------------*/

.nav-pagetab { margin-bottom: 2rem; }
.nav-pagetab .nav-item:not(:last-child) { border-right: 1px solid #fff; }
.nav-pagetab .nav-link { text-align: center; color: #333; background-color: var(--golf-lightblue); padding: 1rem 0; }
.nav-pagetab .nav-link:hover { color: #000; }
.nav-pagetab .nav-link.active { color: #fff; background-color: var(--golf-blue); }

.section-tabmenu { position: relative; }
.nav-subtab { padding: 0; }
.nav-subtab .nav-link { text-align: center; color: #7F7F7F; border-color: transparent; padding: 1rem 2rem; border-bottom: 1px solid transparent; border-radius: 0.25rem 0.25rem 0 0; }
.nav-subtab .nav-link:hover { color: #000; }
.nav-subtab .nav-link.active { color: #000; border-bottom: 1px solid var(--golf-blue); font-weight: bold; }
.nav-subtab-lg { padding: 0; }
.nav-subtab-lg .nav-link { position: relative; font-size: 1.5rem; padding: 1.5rem 2rem; }
.nav-subtab-lg .nav-link.active::after { position: absolute; left: 0; bottom: 0; content: ""; width: 100%; border-bottom: 2px solid var(--golf-blue); }

.nav-contenttab { margin: 1rem 0; }
.nav-contenttab .nav-link { text-align: center; color: #333; background-color: #FFF; border: 1px solid var(--golf-lightblue); padding: 0.25rem 0.75rem; border-radius: 0.25rem 0.25rem 0 0; }
.nav-contenttab .nav-link:hover { color: #000; }
.nav-contenttab .nav-link.active { color: #fff; background-color: var(--golf-blue); border-color: var(--golf-blue); }

.nav-slashtab { margin: 0 0 2rem; justify-content: center; }
.nav-slashtab .nav-item { position: relative; }
.nav-slashtab .nav-link { position: relative; text-align: center; color: #000; padding: 0 3rem; font-size: 1.75rem; }
.nav-slashtab .nav-link:hover { color: #ED4041; }
.nav-slashtab .nav-link.active { color: #ED4041; font-weight: bold; }
.nav-slashtab .nav-link::after { position: absolute; top: 50%; right: -2px; transform: translateY(-50%);; content: "/"; display: inline-block; font-size: 1.25rem; font-weight: bold; color: #000; }
.nav-slashtab .nav-item:last-child .nav-link::after { display: none; }

.nav-roundtab { margin: 1rem 0; }
.nav-roundtab .nav-link { text-align: center; color: var(--golf-blue); background-color: #FFF; border: 1px solid var(--golf-blue); padding: 0.5rem 2rem; border-radius: 5rem; }
.nav-roundtab .nav-link:hover { color: #000; }
.nav-roundtab .nav-link.active { color: #fff; background-color: var(--golf-blue); border-color: var(--golf-blue); }

.pagination { -webkit-box-pack: center!important; -ms-flex-pack: center!important; justify-content: center!important; }
.page-link { font-size: 1.125rem; border: 0; padding: 0.375rem 0.75rem; color: #666; }
.page-link:hover, .page-item.active .page-link { background: none; color: #000; font-weight: 500; }
.page-link:first-child:hover, .page-link:last-child:hover { border-bottom: none; }
.page-prev img, .page-next img { filter: grayscale(100%); }
.page-prev:hover img, .page-next:hover img { filter: grayscale(0%); }


/*--------------------------------------------------------------------------------*/
/*------------------------------------ Popup -------------------------------------*/
/*--------------------------------------------------------------------------------*/

.modal-title { color: #333; }
.modal-buttonn-area { display: flex; width: 100%; margin: 0; border-radius: 0 0 0.3rem 0.3rem; overflow: hidden; padding-top: 1rem; border: 14px solid #fff; }
.modal-buttonn-area .btn { border-radius: 0; padding: 0.75rem 1rem; }
.modal-content { border-radius: 0.5rem; }



/*--------------------------------------------------------------------------------*/
/*------------------------------------ footer ------------------------------------*/
/*--------------------------------------------------------------------------------*/

#footer { width:100%; padding: 2%; background: #000; color: #c8c8c8; font-size: 0.875rem; }
#footer ul { display: flex; margin-bottom: 15px; }
#footer ul li { padding-right: 12px; }
#footer a { color: #C8C8C8; }
#footer a:hover { color: #FFF; }
.footer-menu ul li:after { display: inline-block; content: ""; width: 1px; height: 14px; background: #999; margin-left: 12px; }
.footer-menu ul li:last-child:after { display: none; }
.footer-description { font-weight: 300; margin-bottom: 10px; }
.footer-description a:hover { color: #FFF; }
.footer-sns ul { display: flex; justify-content: end; margin: 1rem 0; }
.footer-sns li { width: 60px; height: 60px; border: 1px solid #666; border-radius: 50%; margin: 0.25rem; }
.footer-sns li:hover { background-color: #333; }
.footer-sns a { display: flex; width: 100%; height: 100%; padding: 1.2rem; }
.footer-sns img { max-width: 24px; -webkit-filter: brightness(0) invert(1); filter: brightness(0) invert(1); }
.footer-description span { padding-left: 2px; padding-right: 2px; }
.footer-copyright { margin: 1rem 0; font-size: 0.75rem; }	


/*--------------------------------------------------------------------------------*/
/*----------------------------------- response -----------------------------------*/
/*--------------------------------------------------------------------------------*/

@media (min-width: 1600px) {
    .container-xxl, .container-xl, .container-lg, .container {
        max-width: 1520px;
    }
}

@media (min-width: 1400px) {
    .container-md {
        max-width: 1320px;
    }
    .container-sm {
        max-width: 1140px;
    }
}

@media only screen and (max-width: 1600px) {
	.mainlogo img { height: 50px; }
	#main-menu { margin-left: 4%; margin-right: 0; }
	#menu-area li { padding: 0 18px; min-width: 110px; }
	#menu-area a { font-size: 0.875rem; }
	#menu-area .login-menu a { font-size: 0.75rem; }
}

@media only screen and (max-width: 1280px) {
	#menu-area li { padding: 0 12px; min-width: 100px; }
	#menu-area .mainlogo { display: none; }
	#menu-area .mainlogo-mc { display: block; line-height: 45px !important; }
	.login-menu { margin-left: 60px; }
	/* 이 폭에서는 메뉴 8개가 한 줄에 들어가지 않아 줄바꿈되며 드롭다운과 겹친다.
	   메인 메뉴를 숨기고 햄버거(전체메뉴)만 쓴다. */
	#main-menu .nav { display: none; }
}

@media (min-width: 1025px) and (max-width: 1280px) {
	
}

@media only screen and ( max-width: 1024px ) {	
	.mc-only { display: block !important; }
	span.mc-only { display: inline-block !important; }
	.pc-only, span.pc-only { display: none !important; }
	.mc-small { font-size: 0.875em; }
	.mc-xsmall { font-size: 0.625em; }

	.home .header-bg, .home .header-bg:hover { background: transparent; }
	.cambio_header .header-bg { background: #fff !important; }
	.cambio_header .gnblogo img, .gnblogo img { max-height: 24px; }
	.gnblogo-pc { display: none; }
	.gnblogo-mc { display: block; }
	.cambio_header #gnb-menu .menu-item, #gnb-menu .menu-item { margin-right: 0; }	
	.cambio_header #gnb-menu .nav-link, #gnb-menu .nav-link	{ min-width: auto; padding: 0.25rem 0.75rem; font-size: 0.75rem; }
	.cambio_header .btn-lang, .btn-lang { padding: 0; width: 24px; }
	.cambio_header .header-bg, .cambio_header #menu-area, .header-bg, #menu-area { height: 50px; }
	.cambio_header #navi-icon, #navi-icon { margin: 12px 0; }
	.sticky-header { top: 50px; }
	#menu-area { overflow-x: auto; overflow-y: hidden; }
	.header-bg.opened #menu-area { overflow-x: hidden; }
	.cambio_header #menu-area a, #menu-area a { line-height: 50px; }
	#menu-area li { padding: 0 10px; min-width: 90px; }
	#main-menu .sub-menu a { font-size: 0.75rem; }
	#main-menu { margin-left: 6%; margin-right: 0; }
	#main-menu .nav { flex-wrap: nowrap; min-width: max-content; display: none; }
	#menu-area .login-menu { margin-left: 1rem; }
	#menu-area .login-menu li { padding: 0px 6px; }
	#menu-area .login-menu a { font-size: 0.75rem; }
	#fullwidth_menu { height: 100%; overflow-y: scroll; }
	#fullwidth_menu ul.nav { padding-top: 60px; }
	#fullwidth_menu li.menu-item { width: 50% !important; margin: 0; }
	#fullwidth_menu li.menu-item:after { display: none; }
	#fullwidth_menu li.menu-item h4 { height: 30px; }
	#fullwidth_menu ul.sub-menu, #fullwidth_menu li.current ul.sub-menu { display: block; min-height: auto; }
	#fullwidth_menu ul.sub-menu li { width: auto; margin-right: 1rem; }
	#fullwidth_menu .login-menu { display: flex; justify-content: space-between; width: 90%; margin: auto; gap: 2px; margin-bottom: 2rem; }
	#fullwidth_menu .login-menu li { background-color: rgba(255, 255, 255, 0.12); flex-grow: 1; padding: 0.5rem 0 0; }
	#fullwidth_menu .login-menu a { font-size: 1rem; line-height: 2; color: #fff !important; }
	.navi-icon-line { width: 20px; height: 2px; }
	.navi-icon-line:first-child { top:4px; }
	.navi-icon-line:nth-child(2) { top:10px; width: 12px; }
	.navi-icon-line:nth-child(3) { top:16px; }
	#navi-icon.opened .navi-icon-line:first-child { top: 0; }
	#navi-icon.opened .navi-icon-line:nth-child(3) { width: 20px; top: 20px; }

	/* form & button */
	.form-check-lg .form-check-label, .form-label-lg { font-size: 1rem; }
	.member-form .btn-lg, .member-form .btn-group-lg > .btn, .member-form .form-select-lg { padding: 0.5rem 1rem;}
	.member-form .form-control-lg { font-size: 1rem;}
	.form-check-lg .form-check-input[type=checkbox] { width: 1rem;  height: 1rem; }
	.form-check-lg .form-check-input[type=radio] { width: 1rem;  height: 1rem; }

	/* main */
	.slide-text h1 { font-size: 2rem; }
	.slide-text p { font-size: 1rem; }
	.section-title { font-size: 2rem; }
	.section-description { font-size: 1rem; }
	.mainslider, .mainslider .swiper-slide { height: 78vh; }
	.card-courseinfo { top: 1.5rem; }
	.card-courseinfo .card-body { padding: 1rem; }
	.card-courseinfo .card-title { font-size: 1.25rem; }
	.card-courseinfo label { font-size: 0.75rem; margin-bottom: 0.5rem; }
	.card-courseinfo p { font-size: 0.875rem; }
	.section-facility::before { display: none; }
	.card-facility { flex-direction: row; }
	.card-facility .card-img-top { width: 30%; }
	.card-facility .card-body { width: 65%; margin-left: 5%; }

	/* member */
	.card-charge { flex-direction: column; }
	.card-charge .card-header { padding: 1rem 2rem; }
	.card-charge .card-body { padding: 1rem 2rem; border-radius: 1rem 1rem 0 0; } 
	.card-charge .card-footer { padding: 1rem 2rem; border-radius: 0 0 1rem 1rem; } 

	/* content */
	.section-padding { padding: 2rem 0; }
	.section-padding-lg { padding: 2.5rem 0; }
	.section-padding-sm { padding: 1.5rem 0; }
	.content-area { padding-top: 50px; }
	.content-header { padding-top: 2rem; padding-bottom: 2rem; }
	.content-body { padding-top: 2.5rem; padding-bottom: 5rem; }
	.page-title { font-size: 2rem; }
	.content-title { font-size: 1.5rem; }
	.sub-title { font-size: 1.25rem; }
	.sub-title span img { max-height: 24px; }
	.entry-box { padding: 1.5rem 1rem; }
	.entry-box-lg { padding: 3rem 2rem; }

	.nav-contenttab { margin-bottom: 1rem; }
	.nav-contenttab .nav-link { font-size: 1rem; padding: 0.5rem 1rem; }
	.table-boardview-meta li { display: flex; padding: 0; float: none; }
	.table-boardview-meta li span { display: block; }
	.table-boardview-meta li:after { display: none; }
	.table-board tr td, .table-board th { padding: 6px 4px; font-size: 0.75rem; }
	.table-board tr td:first-child { width: 50px; }
	.table-board tr .count { display: none; }
	.icon-title-lg { width: 100px; height: 100px; }

	.ul-roundstep { display: block; }
	.ul-roundstep li .round-step::after { top: auto; right: auto; bottom: -16px; width: 24px; height: 24px; transform: rotate(90deg); background-color: #fff; }
	.ul-legend li { margin-right: 0.75rem; font-size: 0.75rem; }
	.hero-wrapper { height: 50vh; }

	/* table */
	.table-primary tr td, .table-primary th { padding: 0.5rem 0.75rem; }

	/* page Top & navi */
	.breadcrumb-wrapper { display: none; }
	.blockquote { margin-bottom: 2rem; }
	.blockquote p { font-size: 1.5rem; }
	.nav-subtab-lg .nav-link { font-size: 1.125rem; padding: 0.75rem 1rem; }
	.nav-slashtab .nav-link { padding: 0 1rem; font-size: 1.25rem; }
	.nav-slashtab .nav-link::after { font-size: 1rem; }

	/* reserve */
	.card-hittingbay .card-header { padding: 0.25rem 0.25rem 0; }
	.card-hittingbay .card-body { padding: 0.25rem; }
	.card-hittingbay .card-footer { padding-bottom: 0.25rem; min-height: 33px; }
	.target-bar { height: 1rem !important; }

	/* footer */
	#footer { padding: 3rem 2%; }
	.footer-sns ul { justify-content: start; }
}

@media (min-width: 961px) and (max-width: 1024px) {
}

@media only screen and ( max-width: 960px ) {		
}

@media only screen and ( min-width: 768px ) and ( max-width: 960px ) {
}

@media only screen and ( max-width: 767px ) {
	html {
		font-size: 14px;
	}
	#menu-area li { min-width: 80px; }

	/* table */
	.table-primary tr td, .table-primary th { padding: 0.25rem 0.5rem; font-size: 0.75rem; }

	/* main */
	.reserve-box-header .button-next { width: 30px; }
	.reserve-box-header .button-prev { width: 30px; }
	.reserve-box-body { width: calc(100% - 60px); margin: 0 30px; }
	}


@media only screen and ( max-width: 479px ) {
}