/*
* Updated : 2025.06.20
* Author: wsground.com
*/

.borderrd30 {border-radius:30px;}
@media (max-width:720px){
	.borderrd30 {border-radius:10px;}
}

.weater-card{
	position: absolute;
	bottom:50px;
	left:50%;
	margin-left:-100px;
	max-width:240px;
	padding:25px;
	border-radius:50%;
	background:rgba(0,0,0,0.5);
	box-shadow:0 4px 28px rgba(0,0,0,.08);
}
.weater-row{display:flex;align-items:center;gap:14px;flex-wrap:wrap}
.weater-icon{font-size:3rem}
.weater-temp{font-size:1.8rem;font-weight:700;color:#fff;}
.weater-desc{font-size:1rem;color:#fff}
.weater-meta{display:grid;grid-template-columns:repeat(2,minmax(70px,1fr));gap:10px;margin-top:7px}
.weater-cell{background:rgba(255, 216, 0, 0.35);border-radius:50%;padding:12px;text-align:center}
.weater-label{display:block;color:#fff;font-size:.85rem;margin-bottom:0;}
.weater-value{font-size:0.75rem;font-weight:normal;color:#fff;}
.weater-msg{margin-top:14px;padding:12px;border-radius:8px;background:#f7f7fb;color:#666;text-align:center}
@media (max-width:520px){
	.weater-card{
		position: absolute;
		bottom:40px;
		left:10px;
		right:10px;
		margin-left:0;
		max-width:100%;
		padding:10px;
		border-radius:15px;
		background:rgba(0,0,0,0.5);
		box-shadow:0 4px 28px rgba(0,0,0,.08);
		display:flex;
		flex-direction: row;
		justify-content: space-around;
	}
	.weater-row{display:flex;align-items:center;gap:14px;flex-wrap:wrap}
	.weater-icon{font-size:2.2rem}
	.weater-temp{font-size:1.6rem;font-weight:700;color:#fff;}
	.weater-desc{font-size:1rem;color:#fff}
	.weater-meta{display:grid;grid-template-columns:repeat(2,minmax(70px,1fr));gap:10px;margin-top:7px}
	.weater-cell{background:rgba(255, 216, 0, 0.35);border-radius:50%;padding:12px;text-align:center}
	.weater-label{display:block;color:#fff;font-size:.85rem;margin-bottom:0;}
	.weater-value{font-size:0.75rem;font-weight:normal;color:#fff;}
	.weater-msg{margin-top:14px;padding:12px;border-radius:8px;background:#f7f7fb;color:#666;text-align:center}
}

.daily-reco-wrap img {
   width: 100%;
   height: auto;
   display: block;
   border-radius: 8px;
}
.daily-reco-wrap img:hover {
   opacity:0.75;
}
.daily-reco-title {
   margin-top:15px;
   font-size: 2rem;
   font-weight: 600;
   color: #333;
   padding-bottom:15px; 
   text-align: end;
}
.chund-bg01 {
	background-image: url('../../assets/img/chundack/cd01.png');
	background-position: left bottom;
	background-size: 200px;
	background-repeat: no-repeat;
}

@media (max-width:520px){
	.daily-reco-title {
	   margin-top:15px;
	   font-size: 1.2rem;
	   font-weight: 600;
	   color: #333;
	   padding-bottom:15px; 
	   text-align: end;
	}
	.chund-bg01 {
		background-image: url('../../assets/img/chundack/cd01.png');
		background-position: 15px bottom;
		background-size: 90px;
		background-repeat: no-repeat;
	}
	.chund-bg01 ul {
		padding-top:10px !important;
		padding-left:100px !important;
		margin-bottom:0 !important;
	}
	.chund-bg01 ul li span {
		font-size:0.75rem;
	}
}

.nav-tabs .nav-link {
	color:#000;
}
.nav-tabs .active {
	color:#fff !important;
	background-color: #0c82e9 !important;
	border-color: #0c82e9 !important;
}

.badge {
	display: inline-block;
	padding: 10px 15px;
	font-weight: normal;
	line-height: 1;
	color: var(--bs-badge-color);
	text-align: center;
	white-space: nowrap;
	vertical-align: baseline;
	border-radius: 20px;
	margin-bottom:20px;
}

/* all menu 강제 표시 시작 ##################################### */
/* 트리거 플로팅 버튼 */
.btn-quick {
	/* position: fixed;
	right: 20px;
	bottom: 20px;
	z-index: 1050; */
}
.btn-quick .btn-getstarted {
	display: inline-flex; align-items: center; justify-content: center;
	color: #000; text-decoration: none;
}
.btn-quick .btn-getstarted i { font-size: 36px; }

/* 전체화면 오버레이 */
.menu-overlay {
	position: fixed; inset: 0; z-index: 1100;
	background: rgba(0,0,0,.75);
	backdrop-filter: blur(6px);
	-webkit-backdrop-filter: blur(6px);
	display: grid; grid-template-rows: auto 1fr;
	opacity: 0; pointer-events: none; transition: opacity .2s ease;
}
.menu-overlay.open { opacity: 1; pointer-events: auto; }

.overlay-header {
	display: flex; justify-content: space-between; align-items: center;
	padding: clamp(12px, 2vw, 20px) clamp(14px, 3vw, 28px);
}
.overlay-title { color: #fff; font-weight: 700; font-size: clamp(18px, 2.2vw, 24px); }
.overlay-close { background: transparent; border: 0; color: #fff; font-size: 1.8rem; line-height: 1; padding: 6px; cursor: pointer; }

.overlay-body {
	padding: clamp(12px, 2.5vw, 28px);
	overflow: auto;
}

/* 메뉴 카드 컨테이너 */
.menu-grid {
	display: grid;
	grid-template-columns: 1fr;
	gap: clamp(12px, 2vw, 20px);
	max-width: 1200px;
	margin: 0 auto;
}
@media (min-width: 576px){ .menu-grid { grid-template-columns: repeat(2, 1fr); } }
@media (min-width: 992px){ .menu-grid { grid-template-columns: repeat(3, 1fr); } }
@media (min-width: 1200px){ .menu-grid { grid-template-columns: repeat(4, 1fr); } }

.menu-card {
	background: rgba(255,255,255,.07);
	border: 1px solid rgba(255,255,255,.15);
	border-radius: 16px;
	overflow: hidden;
}

/* 섹션 헤더(모바일은 버튼으로 토글) */
.menu-card-header {
	display: flex; align-items: center; justify-content: space-between;
	padding: 14px 16px; color: #fff; cursor: pointer; user-select: none;
	background-color:transparent;
	border:0;
	border-bottom:1px solid #fff;
}
.menu-card-header .title {
	display: inline-flex; align-items: center; gap: 8px;
	font-weight: 700; font-size: 1rem;
	margin-right:10px;
}
.menu-card-header .chevron { font-size: 1rem; transition: transform .2s ease; }

/* 링크 리스트 */
.menu-card-body {
	padding: 6px 12px 14px 12px;
	display: none; /* 모바일 기본 접힘 */
}
.menu-list { list-style: none; margin: 0; padding: 0; }
.menu-list li { margin: 0; }
.menu-list a {
	display: flex; align-items: center; gap: 8px;
	padding: 10px 10px; border-radius: 10px;
	color: #fff; text-decoration: none;
	border: 1px solid transparent;
	transition: background .15s ease, transform .15s ease, border-color .15s ease;
}
.menu-list a:hover {
	background: rgba(255,255,255,.12);
	transform: translateY(-1px);
	border-color: rgba(255,255,255,.25);
}

/* 데스크톱 이상에서는 항상 펼침 */
@media (min-width: 992px) {
	.menu-card-body { display: block !important; }
	.menu-card-header .chevron { display: none; }
	.menu-card-header { cursor: default; }
}

/* 열림 상태(모바일) */
.menu-card.open .menu-card-body { display: block; }
.menu-card.open .menu-card-header .chevron { transform: rotate(180deg); }

/* 스크롤 잠금 */
body.menu-open { overflow: hidden; touch-action: none; }

/* 모바일에서 오버레이가 열려 있을 때, 모두 펼침 */
@media (max-width: 991.98px) {
  .menu-overlay.open .menu-card-body { display: block !important; }
  .menu-overlay.open .menu-card-header .chevron { transform: rotate(180deg); }
  .menu-overlay.open .menu-card { /* 표시용 open 클래스 없어도 열린 모양 유지 */ }
}
/* all menu 강제 표시 끝 ##################################### */

/* 공통: 히어로 크기/애니메이션 */
.main-hero-wrap .carousel,
.main-hero-wrap .carousel-item {
  height: 70vh;
  min-height: 420px;
}
.main-hero-wrap .carousel-item img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transform: scale(1.2);
  transition: transform 5s ease;
  will-change: transform;
}
.main-hero-wrap .carousel-item.active img {
  transform: scale(1);
}

/* 캡션: 항상 가운데에 오도록 (모바일 포함) */
.main-hero-wrap .carousel-caption {
  position: absolute;
  top: 40%;
  left: 50%;
  transform: translate(-50%,-50%);
  margin: 0;
  text-align: center;
  width: min(92vw, 980px);
  text-shadow: 0 2px 10px rgba(0,0,0,.4);
  /* 모바일 가독성 향상을 위한 반투명 배경 */
  border-radius: 12px;
  padding: .75rem 1rem;
}

/* 텍스트 크기 기본(데스크톱 기준) */
.main-hero-wrap .carousel-caption h1 {
  font-size: clamp(28px, 3.8vw, 48px);
  font-weight: 800;
  line-height: 1.15;
  color: #fff;
  margin-bottom: .4rem;
}
.main-hero-wrap .carousel-caption p {
  font-size: clamp(14px, 1.6vw, 18px);
  color: #fff;
  margin: 0;
}

/* --- 반응형 튜닝 --- */

/* 태블릿 이하: 높이/속도/가독성 조정 */
@media (max-width: 991.98px) {
  .main-hero-wrap .carousel,
  .main-hero-wrap .carousel-item {
	height: 62vh;     /* 더 낮게 */
	min-height: 360px;
  }
  .main-hero-wrap .carousel-item img {
	transition-duration: 4.2s; /* 간격이 짧으면 이 값도 줄여도 OK */
  }
  .main-hero-wrap .carousel-caption {
	padding: .6rem .9rem;
  }
}

/* 모바일: 더 컴팩트, 항상 보이도록 강제 표시 */
@media (max-width: 575.98px) {
  .main-hero-wrap .carousel,
  .main-hero-wrap .carousel-item {
	height: 55vh;
	min-height: 300px;
  }
  .main-hero-wrap .carousel-item img {
	transition-duration: 3.5s;
  }
  .main-hero-wrap .carousel-caption {
	width: 92vw;
	padding: .55rem .8rem;
  }
  .main-hero-wrap .carousel-caption h1 {
	font-size: clamp(20px, 6.2vw, 26px);
  }
  .main-hero-wrap .carousel-caption p {
	font-size: clamp(12px, 3.6vw, 14px);
  }

  /* 부트스트랩의 d-none d-md-block이 있어도 보이게 강제 */
  .main-hero-wrap .carousel-caption.d-none.d-md-block {
	display: block !important;
  }

  /* iOS 노치 영역 대응(선택) */
  .main-hero-wrap .carousel-caption {
	padding-bottom: calc(.55rem + env(safe-area-inset-bottom));
  }
}



.container-1680 {
	--bs-gutter-x: 1.5rem;
	--bs-gutter-y: 0;
	width: 100%;
	padding-right: calc(var(--bs-gutter-x) * 0.5);
	padding-left: calc(var(--bs-gutter-x) * 0.5);
	margin-right: auto;
	margin-left: auto;
}
.container-1680 {
	max-width: 1480px;
}
.tag-area {
	padding-top:1.5rem;
}
.tag-area span {
	margin-bottom:5px;
}
.portfolio h5 {
	text-align:center;
	font-size:16px;
	padding-top:15px; 
}
.portfolio .glightbox > img {
	border-radius:0;
}
.section .more-btn {
	color: var(--contrast-color);
	background: var(--accent-color);
	font-family: var(--heading-font);
	font-weight: 500;
	font-size: 15px;
	letter-spacing: 1px;
	display: inline-block;
	padding: 10px 28px;
	border-radius: 50px;
	transition: 0.5s;
}
.hero h1 .typed-cursor {
	font-size:14px;
	margin-left:10px;
}
.badge {
	display: inline-block;
	padding: 10px 15px;
	font-size: 14px;
	font-weight: normal;
	line-height: 1;
	color: var(--bs-badge-color);
	text-align: center;
	white-space: nowrap;
	vertical-align: baseline;
	border-radius: 20px;
}
@media (min-width: 769px) {
	.goverlay {
		background: rgba(0, 0, 0, .85);
	}
}
.glightbox-container .gslide-title,
.glightbox-container .gslide-desc {
	color: #ffffff;
}
.glightbox-container .gslide-description {
	background:#000000;
}
.gslide-description p {
	color: #ffffff !important;
	font-weight:300 !important;
	display: flex;
	flex-direction: row;
	flex-wrap: wrap;
}
.gslide-description p:last-child {
	margin-bottom: 12px;
}
.gslide-description p strong {
	font-weight:700 !important;
	margin-right:10px;
}
.gslide-description p span {
	display: flex;
	justify-content: center;
	align-items: center;
	background-color:rgba(255,255,255,0.6);
	border-radius:20px;
	padding:2px 10px 2px 10px;
	font-size:12px;
	font-weight:normal !important;
	margin-right:10px;
	line-height:14px;
	color:#000000;
	margin-bottom:5px;
}
.glightbox-mobile .glightbox-container .gslide-desc p span {
	color:#000000;
}

.glightbox-clean .gslide-desc {
	font-family: "Gmarket Sans", sans-serif;
}
.portfolio-item > a {
	display: block;
	overflow: hidden;
	position: relative;
	border-radius: 0;
	border:1px solid #ccc;
}
.portfolio-item > a .cover {
	position: absolute;
	top:0;
	left:0;
	right:0;
	bottom:0;
	background-color: rgba(0,0,0,0.02);
	transition: all 0.2s;
}
.portfolio-item > a:hover .cover {
	background-color: rgba(0,0,0,0.35);
	transition: all 0.2s;
}

/* update 07.18 */

.top-header {
	width:100%;
	background-color: #0c82e9;
	color:#ffffff;
	height:30px;
	margin-bottom:10px;
	font-size:14px;
}
.top-header a {
	color:#ffffff;
	padding:0 5px;
}
@media (max-width: 576px) {
	.top-header a {
		padding:0 2px;
		font-size:12px;
	}
}
.main-hero-wrap {
	padding-top:110px;
	padding-bottom:0px;
}
.carousel-control-next-icon, .carousel-control-prev-icon {
	display: inline-block;
	width: 5rem;
	height: 5rem;
	background-repeat: no-repeat;
	background-position: 50%;
	background-size: 100% 100%;
}
.carousel-caption {
	position: absolute;
	right: 15%;
	bottom: 41%;
	left: 15%;
	padding-top: 1.25rem;
	padding-bottom: 1.25rem;
	color: var(--bs-carousel-caption-color);
	text-align: center;
}
.carousel-caption h1, .carousel-caption p {
	color:#ffffff;
}
.carousel-caption p {
	font-size:1.2rem;
}

@media (max-width: 769px) {
	.main-hero-wrap {
		padding-top:86px;
	}
	.carousel-control-next-icon, .carousel-control-prev-icon {
		display: inline-block;
		width: 2rem;
		height: 2rem;
	}
}

.grid-box {
	border:1px solid #e5e5e5;
	border-radius:10px;
	min-height:161px;
	background-size: cover;
	background-repeat: no-repeat;
	background-position: center center;
	position: relative;
	overflow: hidden;
	display: flex;
	justify-content: flex-end;
	align-items: flex-end;
}
.grid-box:hover {
	opacity:0.75;
}


.box-bg01 {
	background-image: url('../../assets/img/1.jpg');
}
.box-bg02 {
	background-image: url('../../assets/img/2.jpg');
}
.box-bg02-1 {
	background-image: url('../../assets/img/content/2-1/1.jpeg');
}
.box-bg03 {
	background-image: url('../../assets/img/3.jpg');
}
.box-bg04 {
	background-image: url('../../assets/img/4.jpg');
}
.box-bg04-1 {
	background-image: url('../../assets/img/content/4-1/2.jpeg');
}
.box-bg05 {
	background-image: url('../../assets/img/7.jpg');
}
.box-bg06 {
	background-image: url('../../assets/img/8.jpg');
}

.bg01 {
	background-size: cover;
	background-repeat: no-repeat;
	background-position: center center;
	background-image: url('../../assets/img/bg1.png');
}
.bg02 {
	background-size: cover;
	background-repeat: no-repeat;
	background-position: center center;
	background-image: url('../../assets/img/bg2.jpg');
}


.grid-box:before {
	position: absolute;
	top:0;
	left:0;
	right:0;
	bottom:0;
	background: #000000;
	background: linear-gradient(0deg, rgba(0, 0, 0, 0.75) 1%, rgba(255, 255, 255, 0) 88%);
	clear: both;
	content: '';
}
.grid-box span {
	position:absolute;
	left:0;
	right:0;
	bottom:15px;
	color:#fff;
	font-size:14px;
	z-index:10;
	text-align:center;
}

@media (max-width: 576px){
	.grid-box span {
		bottom:10px;
		font-size:11px;
	}
}

.notice-latest-area > li {
	border:1px solid #e5e5e5;
	border-radius:10px;
	background-color: #f2f2f2;
	margin-bottom:7px;
	padding:15px 20px;
	display: flex;
	justify-content: space-between;
	align-items: center;
	height:52px;
}
.notice-latest-area > li > p {
	margin-bottom:0px;
}
.notice-latest-area > li > p > span {
	margin-right:15px;
	padding:7px 15px;
	border-radius:20px;
	background-color: #0c82e9;
	color:#ffffff;
	font-size:14px;
}
.photo-gallery-p p {
	display: flex;
	justify-content: space-between;
	align-items: center;
	padding-top:10px;
}
.photo-gallery-p p span:last-child {
	color:#999999;
	font-size:14px;
}
.grid-boxs {
	border:1px solid #e5e5e5;
	border-radius:10px;
	min-height:310px;
	position: relative;
	overflow: hidden;
	display: flex;
	flex-direction: column;
	justify-content:center;
	align-items:center;
	background-color:#f2f2f2;
	padding:25px;
	font-size:18px;
}
.grid-boxs:hover {
	opacity:0.75;
}

.grid-boxs p {
	color:#000;
	width:100%;
}
.grid-boxs img {
	width:94px;
}


@media (max-width: 576px){
	.grid-boxs {
		border:1px solid #e5e5e5;
		border-radius:10px;
		min-height:100px;
		position: relative;
		overflow: hidden;
		display: flex;
		flex-direction: row;
		justify-content:center;
		align-items:center;
		background-color:#f2f2f2;
		padding:15px;
		font-size:18px;
	}
}


.po-ap {
	position: absolute;
	top:5px;
	left:20px;
	width:38px;
}


.sub-section-wrap {
	padding-top:110px;
	padding-bottom:0px;
}
.sub-section-content {
	padding-top:60px;
	padding-bottom:60px;
}
@media (max-width: 769px) {
	.sub-section-wrap {
		padding-top:86px;
	}
	.sub-section-content {
		padding-top:60px;
	}
}

.sub-section-content .btn-success {
	opacity:1;
	font-size:16px;
	padding:15px 0;
}
.sub-section-content .btn-outline-secondary {
	opacity:0.5;
	font-size:16px;
	padding:15px 0;
}

.map-select-btn-area a.btn {
	opacity:1;
	font-size:16px;
	padding:10px 15px;
}

.sub-content-title {
	padding-top:60px;
	padding-bottom:40px;
	border-bottom:1px solid #efefef;
}
.sub-content-title h1 {
	font-size:32px;
	font-weight:900;
}

.box-bg01-blur {
	background-image: url('../../assets/img/content/1-blur.jpeg');
}
.box-bg02-blur {
	background-image: url('../../assets/img/content/2-blur.jpeg');
}
.box-bg02-1-blur {
	background-image: url('../../assets/img/content/2-1-blur.jpeg');
}
.box-bg03-blur {
	background-image: url('../../assets/img/content/3-blur.jpeg');
}
.box-bg04-blur {
	background-image: url('../../assets/img/content/4-blur.jpeg');
}
.box-bg04-1-blur {
	background-image: url('../../assets/img/content/4-1-blur.jpeg');
}
.box-bg07-blur {
	background-image: url('../../assets/img/content/7-blur.jpeg');
}
.box-bg08-blur {
	background-image: url('../../assets/img/content/8-blur.jpeg');
}

.content-bg-box {
	border-radius:30px;
	min-height:480px;
	background-size: cover;
	background-repeat: no-repeat;
	background-position: center center;
	position: relative;
	overflow: hidden;
	display: flex;
	justify-content: flex-center;
	align-items: flex-center;
	
}
.content-bg-box:after {
	position: absolute;
	top:0;
	left:0;
	right:0;
	bottom:0;
	background: #3f485e;
	background: linear-gradient(0deg, rgba(58, 59, 81, 0.75) 1%, rgba(45, 56, 79, 0.5) 88%);
	clear: both;
	content: '';
	z-index:0;
}
.content-bg-main-img {
	padding:15px;
	margin-top:-240px;
	margin-right:30px;
	position: relative;
	z-index:100;
	border:10px dotted rgba(222, 176, 176, 0.3);
}
@media (max-width: 769px) {
	.content-bg-main-img {
		margin-top:-30%;
		margin-left:10px;
		margin-right:10px;
		padding:5px;
		border:5px dotted rgba(222, 176, 176, 0.3);
	}
}
.content-bg-main-img img {
	border-radius:10px;
	overflow: hidden;
}

 ul.timeline {
	 position: relative;
	 list-style-type: none;
	 padding-left: 180px;
}
 ul.timeline:before {
	 position: absolute;
	 display: block;
	 left: 136px;
	 width: 8px;
	 height: 100%;
	 border-radius: 4px;
	 background-color: #07b;
	 content: ' ';
}
 ul.timeline .event {
	 position: relative;
	 padding: 16px;
	 background: white;
	 border-radius: 10px;
	 padding: 16px;
	 margin-bottom: 30px;
	 border:1px solid #ddd;
}
 ul.timeline .event:before {
	 display: block;
	 position: absolute;
	 top: 30px;
	 left: -55px;
	 width: 30px;
	 height: 30px;
	 border: 6px solid #07b;
	 border-radius: 50%;
	 background-color: white;
	 content: ' ';
}
 ul.timeline h3 {
	 font-size: 1.5em;
	 margin-top: 0;
	 margin-bottom: 10px;
}
 ul.timeline .time {
	 position: absolute;
	 display: block;
	 width: 120px;
	 top: 35px;
	 left: -179px;
	 font-size: 0.9em;
	 text-align: right;
	 font-weight: 600;
	 text-transform: uppercase;
}
 ul.timeline .time > .glyphicon-time {
	 top: 2px;
}
 ul.timeline .left-arrow:before {
	 position: absolute;
	 top: 30px;
	 left: -15px;
	 display: inline-block;
	 border-top: 15px solid transparent;
	 border-right: 15px solid #ddd;
	 border-left: 0 solid #ddd;
	 border-bottom: 15px solid transparent;
	 content: ' ';
}
 ul.timeline .left-arrow:after {
	 position: absolute;
	 top: 30px;
	 left: -14px;
	 display: inline-block;
	 border-top: 15px solid transparent;
	 border-right: 15px solid #fff;
	 border-left: 0 solid #fff;
	 border-bottom: 15px solid transparent;
	 content: ' ';
}

.tb-001 {
	border-top:2px solid #000;
}
.tb-001 tbody th {
	background-color: #F3F6FB;
}

.tb-002 {
}
.tb-002 tbody th {
	background-color: #F3F6FB;
}

.tb-003 {
	border-top:2px solid #00833b;
}
.tb-003 thead th {
	background-color: #F3F6FB;
}
.tb-003 thead th, .tb-003 tbody td {
	text-align: center;
}

.map-area {
	
}

.page-link {
	color:#777;
}
.notice-bbs-area {
	border-top:1px solid #dddddd;
}
.notice-bbs-area > li {
	display: flex;
	justify-content: space-between;
	align-items: flex-center;
	border-bottom:1px solid #dddddd;
	padding:15px 0;
}
.notice-bbs-area > li > p {
	margin:0px;
	padding:0;
}
.notice-bbs-area > li > p > span {
	margin-right:15px;
	padding:7px 15px;
	border-radius:20px;
	font-size:14px;
}



.h-tag-area {
	padding:20px 0;
}
.h-tag-area span {
	border:1px solid #dddddd;
	font-size:14px; 
	padding:10px 20px;
	display: inline-block;
	margin-right:5px;
	border-radius:20px;
}


/* page style add 20250814 */
.sub-hero-bg01 {
	background: radial-gradient(80% 60% at 50% 40%, rgba(0,0,0,.25), rgba(0,0,0,.55)), url('../../assets/img/park_1.jpg') center/cover no-repeat; color:#fff;
}
.sub-hero-bg02 {
	background: radial-gradient(80% 60% at 50% 40%, rgba(0,0,0,.25), rgba(0,0,0,.55)), url('../../assets/img/park_2.jpg') center/cover no-repeat; color:#fff;
}
.sub-hero-bg03 {
	background: radial-gradient(80% 60% at 50% 40%, rgba(0,0,0,.25), rgba(0,0,0,.55)), url('../../assets/img/park_3.jpg') center/cover no-repeat; color:#fff;
}
.sub-hero-bg04 {
	background: radial-gradient(80% 60% at 50% 40%, rgba(0,0,0,.25), rgba(0,0,0,.55)), url('../../assets/img/park_4.jpg') center/cover no-repeat; color:#fff;
}
.sub-hero-wrap {
	position:relative;
	border-radius:20px;
	overflow: hidden;
}
.sub-hero-wrap::after{
	content:""; position:absolute; inset:0;
	background: radial-gradient(ellipse at center, rgba(0,0,0,.1), rgba(0,0,0,.55));
}
.sub-hero-wrap .inner{ position:relative; z-index:1; padding:3rem;}
.sub-hero-wrap h1 {font-size:32px;margin-bottom:3rem;}
.sub-hero-wrap p.lead {font-size:16px;margin-bottom:0;} 
.sub-hero-wrap h1, .sub-hero-wrap p.lead {
	color:#fff;
}
.content-inner-md-4 {
	border-radius:1rem;
	border:1px solid rgba(0,0,0,.06);
	box-shadow:0 6px 24px rgba(0,0,0,.06);
	overflow: hidden;
	padding:15px;
	height:100%;
	margin-bottom:3rem;
}
.content-inner-md-4 span {
	flex-shrink: 0;
	display: grid;
	place-items: center;
	margin-bottom: auto;
	width: 80px;
	height: 80px;
	padding-top: 6px;
	border-radius: 100%;
	background: #007d7d;
	font-size: 2rem;
	font-weight: 400;
	color: #fff;
	transform: translateY(30px) ;
}
.content-inner-md-4 img {
	border-radius:1rem;
	overflow: hidden;
}
.content-inner-md-4 h3 {
	font-size:22px;
	padding:30px 0 20px 0;
	margin:0;
	font-weight: 500;
}
.content-inner-md-4 p {
	margin:0;
	line-height:180%;
}
.auto-sing > div {
	min-height:200px;
}
.card-soft {border:1px solid rgba(0,0,0,.06);box-shadow:0 6px 24px rgba(0,0,0,.06);border-radius:1rem}
.callout-119{background:linear-gradient(135deg,#dc3545, #ff6b6b);color:#fff;border-radius:1rem;min-height:200px;}
.list-dash li{margin:.35rem 0}


/* kakao map css */
.kakaomap { width: 100%; height:450px; border-radius:15px; overflow: hidden; border: 10px dotted rgba(222, 176, 176, 0.3);}
.category-btns { display: flex; gap: 10px; margin:20px 0 5px 0;justify-content: center;}
.category-btn { padding:7px 18px; background:#3388ff; color:#fff; border:none; border-radius:20px; font-size:16px; cursor:pointer;}
.category-btn.active { background:#009d0a; }
.result-list-box { width:100%; margin:10px auto 0; padding:25px 12px; min-height:100px; border:1px solid #eee; border-radius:16px; font-size:16px; background:#fafbfc;}
.result-item { padding:12px 2px; border-bottom:1px solid #e0e0e0; cursor:pointer;}
.result-item:last-child { border-bottom: none;}
.result-item.selected { background: #ffe1f0 !important; border-left: 4px solid #009d0a;}
.place-name { font-weight:700; font-size:18px; color:#2a2a2a;}
.place-info { margin: 4px 0 0 0; font-size:15px; color:#444;}
.place-extra { margin:2px 0 0 0; font-size:14px; color:#888;}
.map-link-btn { margin-left:8px; padding:3px 9px; border-radius:12px; font-size:13px; background:#f9e000; color:#544; text-decoration:none;}


@media (max-width: 576px) {
	.kakaomap { width: 100%; height:300px; }
	.sub-hero-wrap h1 {font-size:22px;margin-bottom:2rem;}
	.content-inner-md-4 h3 {font-size:16px;font-weight:700;}
	.content-inner-md-4 p {font-size:14px;}
	.sub-hero-wrap p.lead {font-size:14px;margin-bottom:0;} 
}


/* ===========================
   Course Intro (scoped to .present)
=========================== */
:root {
  --course-bg: #ffffff;          /* 완전 밝은 배경 */
  --course-fg: #222;             /* 본문 글자색 */
  --course-muted: #555;          /* 본문 회색 */
  --course-accent: #4bbf73;      /* 포인트 그린 */
  --course-accent-weak: #eaf8f0; /* 옅은 민트 */
  --course-border: #dfeee6;      /* 연한 경계색 */
}

/* 카드 컨테이너 */
.present {
  background: var(--course-bg);
  color: var(--course-fg);
  border: 1px solid var(--course-border);
  border-radius: 10px;
  padding: clamp(16px, 2.5vw, 26px);
}

/* 메인 타이틀 */
.present .mb-0 {
  font-weight: 700;
  margin-bottom: 1rem;
}

/* 섹션 간격 */
.present .mb-30 { margin-bottom: 1.2rem; }
.present .mb-30 + .mb-30 {
  border-top: 1px solid var(--course-border);
  padding-top: 1rem;
}

/* 소제목 */
.present h4 {
  font-size: 1.15rem;
  font-weight: 700;
  margin-bottom: .75rem;
  color: var(--course-accent);
}

/* 리스트 */
.present ul {
  margin: 0;
  padding-left: 1rem;
  color: var(--course-muted);
}
.present ul > li {
  margin-bottom: .4rem;
}

/* 태그 버튼 */
.present .tags-wrap { margin-top: .25rem; }
.present a[tagname] {
  display: inline-block;
  font-weight: 500;
  text-decoration: none !important;
  border: 1px solid var(--course-accent);
  background: var(--course-accent-weak);
  color: var(--course-accent);
  padding: .3rem .6rem;
  margin: .2rem .3rem .2rem 0;
  border-radius: 999px;
  font-size: .9rem;
}
.present a[tagname]::before {
  content: "#";
  margin-right: 2px;
}
.present a[tagname]:hover {
  background: #d8f3e4;
}




/* 이용약관 영역 */
.terms-wrap {
  background-color: #fff;
  color: #222;
  line-height: 1.6;
}

.terms-wrap h1,
.terms-wrap h2 {
  color: #000; /* Bootstrap 기본 primary 색상 */
}

.terms-wrap p,
.terms-wrap ul,
.terms-wrap li {
  font-size: 1rem;
}

.terms-wrap ul {
  padding-left: 1.2rem;
  list-style-type: disc;
}

.terms-wrap table {
  font-size: 0.95rem;
}

.terms-wrap table th {
  white-space: nowrap;
}

.terms-wrap table td,
.terms-wrap table th {
  vertical-align: middle;
}

@media (max-width: 576px) {
  .terms-wrap h1 {
	font-size: 1.5rem;
  }
  .terms-wrap h2 {
	font-size: 1.125rem;
  }
  .terms-wrap table {
	font-size: 0.9rem;
  }
}

/* 개인정보 처리방침 영역 */
.privacy-wrap {
  background-color: #fff;
  color: #222;
  line-height: 1.6;
}

.privacy-wrap h1,
.privacy-wrap h2 {
  color: #000; /* Bootstrap 기본 primary 색상 */
}

.privacy-wrap p,
.privacy-wrap ul,
.privacy-wrap li {
  font-size: 1rem;
}

.privacy-wrap ul {
  padding-left: 1.2rem;
  list-style-type: disc;
}

.privacy-wrap table {
  font-size: 0.95rem;
}

.privacy-wrap table th {
  white-space: nowrap;
}

.privacy-wrap table td,
.privacy-wrap table th {
  vertical-align: middle;
}

@media (max-width: 576px) {
  .privacy-wrap h1 {
	font-size: 1.5rem;
  }
  .privacy-wrap h2 {
	font-size: 1.125rem;
  }
  .privacy-wrap table {
	font-size: 0.9rem;
  }
  section, .section {
	  padding: 60px 0;
	  scroll-margin-top: 50px;
  }
  .about {
	  padding-bottom: 40px;
  }
}

@media (max-width: 576px){
	.category-btn {
		padding: 7px 10px;
		font-size: 12px;
	}
	.map-select-btn-area a.btn {
		opacity:1;
		font-size:12px;
		padding:7px 10px;
	}
}


@media (max-width: 576px){
	.gall_row .col-gn-4 {width:100% !important;}
	#bo_gall .bo_tit {display:block;line-height:30px;font-weight:bold;color:#000;font-size:0.85em !important;}
	#bo_cate ul {
		gap:5px !important;
	}
	#bo_cate a {
		display:block;
		line-height:22px !important;
		padding:5px !important;
		border-radius:30px !important;
		font-size:11px !important;
	}
	.sv_member, .gall_date {
		font-size:0.85em !important;
	}
	.bo_cate_link {
		padding:5px 10px !important;
		font-size:0.75em !important;
	}
	.bo_tit {
		display:inline-block !important;
		color: #000;
		font-weight: bold;
		padding:0 !important;
	}
	#bo_list a {
		font-size:0.85em !important;
		display: inline-block;
		font-size:0.85rem;
		max-width:160px;
		overflow: hidden;
		text-overflow: ellipsis;
		white-space: nowrap;
	}
	#bo_list .td_datetime {
		width: 80px !important;
		text-align: center;
		font-size:0.75em !important;
	}
	.sub-content-title {
		padding-bottom: 10px !important;
		border-bottom: 1px solid #efefef;
	}
	.sub-content-title h1 {
		font-size: 20px !important;
	}
	.breadcrumb-item {
		font-size:0.75em !important;
	}
	
	.sub-section-wrap {
		padding: 60px 0 10px;
	}
	.sub-section-content {
		padding: 10px 0;
	}
	.sub-section-content .btn-success {
		opacity: 1;
		font-size: 11px;
		padding: 7px 0;
	}
	.sub-section-content .btn-outline-secondary {
		opacity: 0.5;
		font-size: 11px;
		padding: 7px 0;
	}
	.btn {font-size:12px !important;}
	.content-inner-md-4 span {
		flex-shrink: 0;
		display: grid;
		place-items: center;
		margin-bottom: auto;
		width: 40px;
		height: 40px;
		padding-top: 0px;
		border-radius: 100%;
		background: #007d7d;
		font-size: 1rem;
		font-weight: 400;
		color: #fff;
		transform: translateY(10px) ;
	}
}
@media (min-width: 577px){
	.img-dt {display:block;}
	.img-mo {display:none;}
}
@media (max-width: 576px){
	.img-dt {display:none;}
	.img-mo {display:block;}
	.hd_pops_con {max-width:320px !important;max-height:320px !important;}
	.hd_pops_footer .hd_pops_reject {font-size:12px !important;}
	.hd_pops_footer .hd_pops_close {font-size:12px !important;}
}

.bg-ch {
	line-height:160%;border:3px solid #eee5aa;border-radius:20px;
	background-image: url('../../assets/img/bg0001.jpg');
	background-repeat: no-repeat;
	background-size: cover;
	background-position: right bottom;
}

.about .content ul li {
	padding:0.7rem !important;
}
.list-group-item.active {
	z-index: 2;
	color:#000;
	background-color:#efefef;
	border-color:#efefef;
}