/*
Template Name: Pillarix - Multipurpose Website Template
Author: Pillarix
Author URI: https://wrapbootstrap.com/user/pillarix
Version: 1.0
*/
/*
-- Body
-- Custom Classes 
-- Navbar
-- Sidebar Nav 
-- Homepage
-- About Us
-- Mobile Media
*/

@import url('https://fonts.googleapis.com/css2?family=Figtree:wght@300;400;500;600;700&display=swap');

@import url('https://fonts.googleapis.com/css2?family=Noto+Sans+KR:wght@100;300;400;500;700;900&display=swap');

 
/* Body */
body {
	font-family: 'Noto Sans KR','Figtree',  NanumGothic, 'Nanum Gothic', sans-serif;	
	font-size:14px;
	color:#000;
	font-weight:400;
	letter-spacing:-0.7px;
	-webkit-text-size-adjust:none;
	word-break:keep-all;	
}
a {
	text-decoration: none;
	color: #1b1b1b;
}
.display-1 {
	font-size: 45px !important;
}

@media (max-width: 1200px) {
  .display-1 {
    font-size: 33px !important;
  }
  #aboout {
	margin-top:30px !important; 
  }
}

.tag-link {
	display: inline-block;
	padding: 8px 16px;
	font-size: 0.95rem;
	color: #4a5568; /* 짙은 회색 */
	background-color: #ffffff;
	border: 1px solid #e2e8f0; /* 연한 테두리 */
	border-radius: 6px; /* 살짝 각진 둥근 모서리 */
	text-decoration: none;
	font-weight: 500;
	transition: all 0.2s ease;
}

.tag-link:hover {
	background-color: #f7fafc;
	border-color: #cbd5e0;
	color: #2b6cb0; /* 마우스 올리면 파란색 강조 */
}

/* 태그 영역 간격 조절 */
.post-tags-wrapper {
	margin-bottom: 3rem;
}
/* 이미지와 동일한 느낌의 스타일링 */

.post-hero-section {
    /* 1. 높이를 반드시 지정해야 합니다 */
    height: 450px; 
    
    /* 2. 이미지가 영역을 꽉 채우도록 설정 */
    background-size: cover;
    
    /* 3. 이미지의 중심이 오도록 설정 */
    background-position: center;
    
    /* 4. 반복 방지 */
    background-repeat: no-repeat;
    
    /* 5. 가로 너비 꽉 채움 */
    width: 100%;
    display: block;
}

/* 이미지와 동일한 느낌의 스타일링 */
.custom-pagination .page-link {
    width: 45px;
    height: 45px;
    display: flex;
    align-items: center;
    justify-content: center;
    color: #000;
    border: none;
    font-size: 1.1rem;
    font-weight: 600;
    background: transparent;
}

.custom-pagination .page-item.active .page-link {
    background-color: #2b6cb0 !important; /* 이미지와 유사한 파란색 */
    color: #fff !important;
    border-radius: 8px !important; /* 약간 각진 라운드 */
}

.custom-pagination .page-item.disabled .page-link {
    color: #ccc;
}

/* 제목 두 줄까지만 보여주고 말줄임 처리 (...) */
.text-truncate-2 {
	display: -webkit-box;
	-webkit-line-clamp: 2;
	-webkit-box-orient: vertical;
	overflow: hidden;
	text-overflow: ellipsis;
}

/* 마우스 올렸을 때 이미지 줌 효과 */
.group:hover img {
	transform: scale(1.08);
}

.group:hover .card-title {
	color: #007bff !important; /* 마우스 올리면 제목 색상 변경 */
	text-decoration: underline;
}

/* 관련글 영역 간격 */
.img-wrapper {
	border: 1px solid #eee;
}


#toc-list li {
	transition: transform 0.2s ease;
}
#toc-list li a:hover {
	transform: translateX(8px);
}
#toc-list li a:hover .toc-item-text {
	color: #007bff !important;
	text-decoration: underline;
}
.toc-item-text {
	font-size: 1rem;
	line-height: 1.6;
}
/* 부드러운 스크롤 */
html {
	scroll-behavior: smooth; 
	font-family: 'Noto Sans KR','Figtree',  NanumGothic, 'Nanum Gothic', sans-serif;	
}
/* 이동 시 상단 헤더 공간 확보 */
h2[id], h3[id], h4[id] {
	scroll-margin-top: 80px;
}
.post-body p{  color: #000; 
	font-size: 1.3rem;
	font-weight:300;
	letter-spacing:-0.7px;	
}	

.post-body h3{  color: #000; 
	font-weight:400;
	letter-spacing:-0.7px;
}

.post-body ul{  color: #000; 
	font-weight:300;
	letter-spacing:-0.7px;
}
.post-body ol{  color: #000; 
	font-weight:300;
	letter-spacing:-0.7px;
}

/* 수정된 CSS */
.post-body img:not(.root_daum_roughmap img) {
    width: 100% !important; /* 모바일: 항상 꽉 차게 */
    height: auto;
    display: block;
    margin: 20px auto; 
}

/* PC 버전 (화면 너비 768px 이상) */
@media (min-width: 768px) {
    .post-body img:not(.root_daum_roughmap img) {
        width: 50% !important; /* PC: 50%로 축소 */
    }
}
/* 본문 내 h2 태그 커스텀 스타일 */
.post-body h2 {
	display: flex;
	align-items: center;
	font-size: 1.9rem; /* 크기는 적절히 조절하세요 */
	font-weight: 600;
	color: #000;
	margin-top: 5rem;   /* 위쪽 간격 */
	margin-bottom: 2.6rem; /* 아래쪽 간격 */
	line-height: 1.5;
}

/* 이미지 [참조: image_515156.png] 스타일 재현: 왼쪽 주황색 바 */
.post-body h2::before {
	content: "";
	display: inline-block;
	width: 6px;          /* 바의 두께 */
	height: 1.2em;       /* 바의 높이 (글자 크기에 맞춤) */
	background-color: #FF6B00; /* 주황색 포인트 컬러 */
	border-radius: 10px; /* 바 끝을 둥글게 */
	margin-right: 12px;  /* 글자와의 간격 */
	flex-shrink: 0;      /* 바 모양 고정 */
}	

/* 모바일에서는 높이를 조금 줄여주는 것이 예쁩니다 */
@media (max-width: 768px) {
    .post-hero-section {
        height: 250px;
    }
}


table { font-size:16px !important;}
/* Custom Classes */
.bg-dark-subtle {
	background-color: #f0f2f3 !important;
}
.btn-lg {
	padding: 14px 26px;
	font-size: 18px;
}
.mt-n5 {
	margin-top: -5rem;
}
.mt-n8 {
	margin-top: -8rem;
}

/* Navbar */
.osahan-nav  a.nav-link {
	padding-top: 35px !important;
	padding-bottom: 35px !important;
}

/* Sidebar Nav */
.sidebar-nav .navbar-nav .nav-link.active,
.sidebar-nav .navbar-nav .nav-link:hover {
	color: #dc3545;
}

/* Homepage */
.zoom-img img {
	transition: transform .4s;
}
.zoom-img:hover img {
	-ms-transform: scale(1.1);
	-webkit-transform: scale(1.1);
	transform: scale(1.1);
}

/* About Us */
.profile-img {
	width: 50px;
	height: 50px;
	object-fit: cover;
}


.list-unstyled {
	text-align: center;
	padding: 8px;
	margin: 0 auto;
}

.list-unstyled a {
	display: inline-block;
	color: #ffffff;
	text-decoration: none;
	font-size: 12px;
	margin-bottom: 4px;
}

.list-unstyled a:not(:last-child):after {
	content: '|';
	text-decoration: none;
	padding-left: 4px;
	padding-right: 4px;
}

.list-unstyled a:hover {
	text-decoration: underline;
}
	
/* Mobile Media  */
@media (max-width:992px) {
	.m-none {
		display: none;
	}
	.w-35 {
		width: 35% !important;
	}
	.news-letter-image {
    height: 440px;
    object-fit: cover;
	}
	footer.bg-light.py-5 {
    display: none;
	}
}
@media (min-width: 1200px) {
	.position-lg-absolute {
		position: absolute !important;
	}
	.position-lg-relative {
		position: relative !important;
	}
	.w-lg-50 {
		width: 50%;
	}
}