


.text-link-light{
	color:#666;
}

.form-floating > .form-control, .form-floating > .form-control-plaintext, .form-floating > .form-select{
	height:unset;	
}

.btn-primary-new{
	background-color: #377eb5;
}

::placeholder{font-size: .9rem;}

.custom-placeholder::placeholder {}
.custom-input {font-size: 1rem;}


.fs-7{
	font-size: 0.875rem;
}


/* ===================================================
  list style 리스트 스타일
=================================================== */
/* 기본 숫자 리스트 */
.list-decimal {
  list-style-type: decimal; /* 1, 2, 3... */
  /* padding-left: 1.5rem; */
}

/* 소문자 알파벳 */
.list-lower-alpha {
  list-style-type: lower-alpha; /* a, b, c... */
  /* padding-left: 1.5rem; */
}

/* 대문자 알파벳 */
.list-upper-alpha {
  list-style-type: upper-alpha; /* A, B, C... */
  /* padding-left: 1.5rem; */
}

/* 소문자 로마자 */
.list-lower-roman {
  list-style-type: lower-roman; /* i, ii, iii... */
  /* padding-left: 1.5rem; */
}

/* 대문자 로마자 */
.list-upper-roman {
  list-style-type: upper-roman; /* I, II, III... */
  /* padding-left: 1.5rem; */
}

/* 기본 점(dot) */
.list-disc {
  list-style-type: disc; /* ● */
  /* padding-left: 1.5rem; */
}

/* 원(circle) */
.list-circle {
  list-style-type: circle; /* ○ */
  /* padding-left: 1.5rem; */
}

/* 네모(square) */
.list-square {
  list-style-type: square; /* ■ */
  /* padding-left: 1.5rem; */
}

/* 스타일 제거 */
.list-none {
  list-style-type: none; /* 점, 숫자 없음 */
  /* padding-left: 0; */
}


/* ===================================================
  sub header 서브 헤더
=================================================== */
.sub-header {
  width: 100%;
  height: 360px;
  background-color: #00543c;
  color: var(--bs-white);
  background-image: url('../images/sub/subHeder01.png');
  background-repeat: no-repeat;
  background-position: center;
  background-size: cover;
}
.sub-header .container-xxl {
  padding: 60px 5rem;
}
.sub-header p {
  margin: 0;
}
.sub-header .display-6 {
  margin-bottom: 40px;
}
.sub-header .h4 {
  margin-bottom: 36px;
  font-weight: 600;
}

/* ===================================================
responsive 미디어쿼리
=================================================== */
@media (max-width: 767.98px) {
  .sub-header {
    height: 300px;
  }
  .sub-header .container-xxl {
	padding: 60px 3rem;
   }
  .sub-header .display-6 {
    /* font-size:1.5rem !important; */
    margin-bottom: 2rem;
  }
  .sub-header .h4{
    display: none;
  }
}

@media (max-width: 575.98px) {
  .sub-header .display-6 {
    margin-bottom: 0;
  }
  .sub-header-text{
    display: none;
  }
}



/* ======= form-wrapper ======= */
.form-wrapper{
	width:60vw;
	min-width:678px;
	max-width:687px;
}

/* ===================================================
responsive 미디어쿼리
=================================================== */
@media (max-width: 767.98px) {
	.form-wrapper{
		width:100%;
		min-width:auto;
		max-width:auto;
		background-color:#fff;
	}
}


/* ======= sign in 로그인 ======= */
.login-page .text-link-light{
	display:block;
	text-align:right;
}




/* ======= sign up 회원가입 ======= */

/* ===================================================
  step indicator 스탭
=================================================== */
.step-indicator {
  --step-active: #54a3ff;  
  --step-previous: #54a3ff;
  --step-default: #f3f3f3;
  
  width: 80%;
  justify-content: center;
  padding-bottom: 32px;
}

.step-indicator > .col {
  flex: 1;
  display: flex;
  flex-direction: column;
  justify-content: flex-start;
  align-items: center;
  gap: 8px;
  position: relative;
  padding: 0;
}

.step-indicator .step-num {
  width: 48px;
  height: 48px;
  border-radius: 6px;
  background-color: var(--step-default);
  display: flex;
  justify-content: center;
  align-items: center;
}

.step-indicator > .col:not(:last-child)::after {
  content: "";
  position: absolute;
  top: 24px;
  left: 100%;
  width: 56%;
  border: 2px dashed var(--step-default);
  transform: translateX(-50%);
}

.step-indicator > .col.previous .step-num {
  background-color: var(--step-active);
  color: #fff;
  opacity: .6;
}

.step-indicator > .col.previous p {
  color: var(--step-active);
  opacity: .6;
}

.step-indicator > .col.previous:not(:last-child)::after {
  border-top-color: var(--step-active);
  opacity: .6;
}

/* .step-indicator > .col.previous::after {
  border: 2px dashed #54a3ff;
  opacity: .6;
} */

.step-indicator > .col.current .step-num {
  background-color: var(--step-active);
  color: #fff;
}

.step-indicator > .col.current p {
  color: var(--step-active);
}

.step{
  display:none;
}
.step.active {
  display: flex;
}

/* ===================================================
  responsive 미디어쿼리
=================================================== */
@media (max-width: 991.98px) {
  .step-indicator {
    width: 100%;
  }
  .step-indicator>div:not(:last-child)::after {
    width: 36%;
  }
  .step-indicator>div p {
    font-size: 0.875rem;
  }
}

@media (max-width: 767.98px) {
  .step-indicator>div:not(:last-child)::after{
  	top:50%;
  }
  .step-indicator>div p {
    display:none;
  }
}

@media (max-width: 575.98px) {
  .step-indicator > .col:not(:last-child)::after{
  	/* content:none; */
  	width:20%;
  }
}



/* ===================================================
  step2 form group 폼
=================================================== */
.step2 .text-box{
	height:320px;
}


/* ===================================================
  step3 form group 폼
=================================================== */

/* .step3 .form-group{
	margin-bottom:30px;
} */

/* ===================================================
  responsive 미디어쿼리
=================================================== */
@media (max-width: 991.98px) {
	.form-px-2{
	  padding:0 2rem;
	}
}

@media (max-width: 575.98px) {
	.form-px-2{
	  padding:0;
	}
	.step .lead{
	  font-size:1rem;
	}
}




/* ======= list 게시판 ======= */
/* ===================================================
  list controls 검색
=================================================== */
/* search */
.list-controls {
  width: 100%;
  /* margin: 32px 0; */
  margin-bottom: 32px;
  padding: 0;
  background-color: #fff;
  border-radius: 8px;
  display: flex;
  justify-content: space-between;
  align-items: center;
}

.list-controls .search-form {
  display: flex;
  gap: 8px;
}

.list-controls .search-input-group {
  background-color: #fff;
  border: 1px solid #d3d3d3;
  border-radius: 8px;
  height: 40px;
  display: flex;
  align-items: center;
  position: relative;
  font-size: 0.875rem;
  min-width: 240px;
}

.list-controls .search-input-group input {
  height: 100%;
  border: none;
  padding-left: 16px;
}

.list-controls-form select {
  min-width: 120px;
  height: 40px;
}

.search-input-group .search-btn {
  height: 100%;
  position: absolute;
  right: 0;
  top: 0;
  padding: 0 16px;
  background-color: #555;
  color: #fff;
  border-radius: 0 8px 8px 0;
}

.board .list-controls .search-input-group {
  justify-content: space-between;
  min-width: 300px;
}

.board .list-controls .search-input-group input {
  flex: 1;
}

.board .search-input-group .search-btn {
  background-color: unset;
  position: relative;
  /* aspect-ratio: 1/1; */
}
@media (max-width: 767.98px) {
  .search-group {
    width: 100%;
  }

  .list-controls-form select {
    min-width: auto;
    width: auto;
  }

  .list-controls .search-input-group {
    min-width: auto;
    width: 100%;
    justify-content: space-between;
  }
}

@media (max-width: 575.98px) {
  .list-controls {
    flex-direction: column;
    align-items: flex-start;
    padding: 5%;
    margin: 16px 0;
    border: 1px solid #d3d3d3;
    border-radius: 8px;
    gap: 8px;
  }

  .list-controls-count{
    padding-left: 8px;
  }

  .list-controls .search-form {
    flex-direction: column;
  }

  .list-controls-form {
    width: 100%;
    display: flex;
    gap: 8px;
  }

  .list-controls-form select {
    min-width: auto;
    flex: 1 1 auto;
  }
}

/* ===================================================
  card table 검색
=================================================== */
.card-table {
  width: 100%;
  border-top: 1px solid #333;
}

.board-table-row {
  display: grid;
  /* grid-template-columns:  1fr 1fr 5fr 1fr 1.5fr; */
  grid-template-columns:  1fr 5fr 1fr 1.5fr;
  align-items: center;
}

.board-table-row.header .board-table-cell {
  height: 56px;
  background-color: #fafafa;
}

.board-table-row .board-table-cell {
  height: 64px;
  display: flex;
  align-items: center;
  justify-content: center;
  text-align: center;
  padding: 0 5px;
  border-bottom: 1px solid #d3d3d3;
}

.board-table-row.body .board-table-cell.category .badge {
  color: #fff !important;
  border-radius: 64px;
}

.board-table-row.body .board-table-cell.title {
  text-align: left;
  justify-content: flex-start;
  overflow: hidden;
}

.board-table-row.body .board-table-cell.title a {
  width: 100%;
  min-width: 0;
  display: block;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

.board-table-row.body .board-table-cell.file button {
  display: block;
}

.board-table-row.body .board-table-cell.date {
  font-size: 0.875rem;
  color: #999;
}

/* ===================================================
  responsive 미디어쿼리
=================================================== */
@media (max-width: 991.98px) {
  .board-table-row {
    display: flex;
    flex-wrap: wrap;
    border-bottom: 1px solid #d3d3d3;
    padding: 32px 0;
  }

  .board-table-row.header {
    display: none;
  }

  .board-table-row .board-table-cell {
    height: auto;
    border: none;
    justify-content: flex-start;
  }

  .board-table-row.body .board-table-cell.no {
    order: 1;
    /* min-width: 80px;
    justify-content: center; */
  }

  .board-table-row.body .board-table-cell.category {
    order: 2;
  }
  
  .board-table-row.body .board-table-cell.category .badge {
	padding: 10px 20px;
   }

  .board-table-row.body .board-table-cell.date {
    order: 3;
    padding: 0 !important;
  }
  
   .board-table-row.body .board-table-cell.attachments {
    order: 4;
    margin-left:auto;
  }

  .board-table-row.body .board-table-cell.title {
    width: calc(100% - 80px);
    order: 5;
    margin-top: 10px;
  }

  .board-table-row.body .board-table-cell.title a {
    white-space: normal;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    font-size: 1.125rem;
    line-height: 1.5;
  }

  .board-pagination {
    margin: 32px 0;
  }
}

@media (max-width: 767.98px) {
  .board .list-controls .search-input-group {
    min-width: auto;
  }
}

@media (max-width: 575.98px) {
   .board-table-row.body .board-table-cell.no {
    display:none;
  }

  .board-table-row.body .board-table-cell.title {
    width: 90%;
  }

  .board-card-table .btn-manager {
    margin-top: 32px !important;
  }
  
}




/* ======= list 게시글 ======= */
.notice-view {
  width: 100%;
  border-top: 2px solid #333;
  border-bottom: 1px solid #d3d3d3;
}

.notice-view .notice-header {
  padding: 32px 0;
  border-bottom: 1px solid #d3d3d3;
}

.notice-view .notice-title {
  font-size: 1.5rem;
}

.notice-header .notice-meta {
  display: flex;
  gap: 32px;
  margin-top: 20px;
  color: #555;
}

.notice-header .notice-meta li {
  display: flex;
  align-items: center;
  gap: 8px;
}

.notice-header .notice-meta li img {
  height: 16px;
  object-fit: contain;
}

.notice-view .notice-attachments {
  width: 100%;
  padding: 20px 32px;
  margin: 32px 0;
  border-radius: 16px;
  background-color: #f3f3f3;
  font-size: 0.875rem;
}

.notice-view .notice-attachments ul {
  display: flex;
  flex-direction: column;
  gap: 8px;
}

.notice-view .notice-file-link {
  display: flex;
  align-items: center;
  gap: 8px;
}

.notice-view .notice-file-link img {
  height: 20px;
  object-fit: cover;
}

.notice-view .notice-body {
  padding: 32px 0;
}

.notice-view-navigation {
  width: 100%;
  margin: 32px 0 64px;
}

.notice-view-navigation .notice-nav-list {
  display: flex;
  flex-direction: column;
  gap: 8px;
}

.notice-view-navigation .notice-nav-list li {
  width: 100%;
  height: 64px;
  overflow: hidden;
  background-color: #f3f3f3;
  transition: background-color .3s ease-in;
}

.notice-view-navigation .notice-nav-list li a {
  height: 100%;
  display: flex;
  align-items: center;
  gap: 16px;
}

.notice-view-navigation .notice-nav-list li:hover,
.notice-view-navigation .notice-nav-list li:focus-within {
  background-color: #d3d3d3;
}

.notice-view-navigation .nav-label {
  width: 100px;
  display: flex;
  align-items: center;
  justify-content: center;
  color: #3b5bdb;
  position: relative;
}

.notice-view-navigation .nav-label::after {
  content: '';
  width: 1px;
  height: 100%;
  background-color: #ccc;
  position: absolute;
  top: 50%;
  right: 0;
  transform: translateY(-50%);
}

/* ===================================================
  responsive 미디어쿼리
=================================================== */
@media (max-width: 575.98px) {
  .notice-header .notice-meta {
    gap: 16px;
    font-size: 0.875rem;
    flex-wrap: wrap;
  }
}




/* ======= list 작성 ======= */
.list-write .note-toolbar{
	overflow-x:auto;
	white-space: nowrap;
}
/* ===================================================
  responsive 미디어쿼리
=================================================== */
@media (max-width: 575.98px) {
	.list-write .btn-manager{
		width:100%;
	}
	
	.list-write .btn-manager .btn{
		flex:1;
	}
}




/* ======= user info 회원정보 ======= */
.userInfo .alert{
	font-size:0.875rem;
}

/* ===================================================
  responsive 미디어쿼리
=================================================== */
@media (max-width: 575.98px) {
	.userInfo-tab{
	    white-space: nowrap;
	    flex-wrap:nowrap;
		overflow-x: auto;
	    -webkit-overflow-scrolling: touch;
	    scrollbar-width: none;
	    -ms-overflow-style: none;
	}
	
	.userInfo-tab::-webkit-scrollbar {
	  display: none; 
	}
	
	/* .userInfo-tab::after {
	  content: "";
	  position: absolute;
	  left: 0;
	  right: 0;
	  bottom: 0;
	  height: 1px;
	  background-color: #dee2e6; 구분선 색
	  z-index: 0;
	} */
	
	/* active 탭만 border 하단을 흰색으로 처리해서 끊김 효과 */
	/* .userInfo-tab .nav-link.active {
	  border-color: #dee2e6 #dee2e6 #fff;
	  background-color: #fff;
	  position: relative;
	  z-index: 1; ::after 선 위에 올라오게
	} */
}




/* ======= map 지도 ======= */
.map-box{
	height:380px;
}
.map-iframe{
	width:100%;
	height:100%;
}
.transport-list .h5{
	display:inline-block;
	width:25%;
	min-width: 180px;
	padding:5px 0;
	text-align:center;
}
.transport-list .map-icon{
	width:24px;
	height:24px;
	margin-right:5px;
}

/* ===================================================
  responsive 미디어쿼리
=================================================== */
@media (max-width: 991.98px) {
	.transport-list .h5{
		width:100%;
	}
}




/* ======= Speaker 발표자 ======= */
.speaker .card{
	cursor: pointer;
	box-shadow: 0 2px 10px rgba(0,0,0,.1);
	border: none;
}
.speaker .speaker-img{
	height:240px;
}
.speaker .speaker-img img{
	height:100%;
	object-fit:cover;
	object-position:center top;
} 
.text-truncate-multiline-3 {
  display: -webkit-box;
  -webkit-box-orient: vertical;
  overflow: hidden;
  text-overflow: ellipsis;
  -webkit-line-clamp: 2; 
}




/* ======= message 인사말 ======= */
/* ===================================================
  responsive 미디어쿼리
=================================================== */
@media (max-width: 991.98px) {
	.message-image{
		width:100%;
		aspect-ratio: 4 / 3;
	}
	.message-image img{
		width:100%;
		height:100%;
		object-fit: cover;
		object-position:center;
	}
}




/* ======= committee 조직도 ======= */
	:root {
	  --org-chair: #343f5a;
	  --org-vice: #4a546f;
	  --org-secretary: #99a7ce;
	  --org-committee: #99a7ce;
	  --org-office: #99a7ce;
	  --org-details: #c8cddc;
	}
	
	.org-node, .org-group, .org-level-2 {
	  position: relative;
	}
	
	.org-box {
	  padding: 1rem;
	  font-weight: bold;
	  border-radius: 8px;
	  text-align: center;
	}
	
	.org-node.chair .org-box {
		background-color: var(--org-chair);
		color: #fff; border-radius: 50px;
	}
	.org-node.vice .org-box{
		background-color: var(--org-vice);
		color: #fff;
	}
	.org-node.secretary .org-box {
		position: relative;
		background-color: var(--org-secretary);
	}
	.org-node.committee .org-box {
		position: relative;
		background-color: var(--org-committee);
	}
	.org-node.office .org-box {
		position: relative;
		background-color: var(--org-office);
	}
	.org-node.detail .org-box {
		background-color: var(--org-details);
		height: 60px;
		display: flex;
		align-items: center;
		justify-content: center;
		font-size:0.875rem;
	}
	
	.org-node.vice::before {
	  content: '';
	  position: absolute;
	  width: 2px;
	  height: 3rem;
	  top: -3rem;
	  left: 50%;
	  transform: translateX(-50%);
	  background-color: #ccc;
	}

    .org-level-2::before {
	  content: '';
	  position: absolute;
	  width: 49%;
	  height: 2px;
	  top: -1.5rem;
	  left: 50%;
	  transform: translateX(-50%);
	  background-color: #ccc;
	}
	
	.org-node.secretary>.org-box::before,
	.org-node.office>.org-box::before{
	  content: '';
	  position: absolute;
	  width: 2px;
	  height: 1.5rem;
	  top: -1.5rem;
	  left: 50%;
	  transform: translateX(-50%);
	  background-color: #ccc;
	}
	
	.org-node.committee>.org-box::before{
	  content: '';
	  position: absolute;
	  width: 2px;
	  height: 312px;
	  top: -312px;
	  left: 50%;
	  transform: translateX(-50%);
	  background-color: #ccc;
	}
    
    .org-member {
	  border: 1px solid #ccc;
	  border-radius: 8px;
	  text-align: center;
	  padding: 1rem;
	  margin: 0.5rem 0;
	}
	
    .org-member:last-child,
    .org-level-3 .org-node.detail:last-child {
	  margin-bottom: 0;
	}
	
	.org-level-3 .org-node.detail{
		margin-bottom: 1rem;
	}

/* ===================================================
  responsive 미디어쿼리
=================================================== */
 @media (min-width: 768px) {
}

@media (max-width: 767.98px) {
	.org-level-1{
		position:relative;
		padding-left:3rem;
	}
	.org-node.chair{
		padding:0;
	}
	.org-level-1::before{
		content:'';
		position: absolute;
		width: 2px;
	  	height: 892px;
	  	left: 1.25rem;
		top: -54px;
		background-color: #ccc;
	}
	.org-node.vice::before{
		width:28px;
		height:2px;
		top:28px;
		left:-2px;
	}
	.org-node.secretary::after{
		left: 2rem;
		bottom:unset;
		top:100%;
	}
	.org-level-2::before
	{
		content:none;
	}
	
	.org-node.secretary>.org-box::before,
	.org-node.committee>.org-box::before,
	.org-node.office>.org-box::before {
	    width:60px;
	    height: 2px;
	    top: 50%;
	    left: unset;
	    right: 100%;
	    transform: translateY(-50%);
	    background-color: #ccc;
	}
	.org-node.office{
		margin-top:2rem;
	}
	.org-level-2,
	.org-level-3 {
		margin-left: 2rem;
	}
	
	.org-level-3 .org-node.detail {
	    margin-bottom: 2rem;
	}
}
@media (max-width: 575.98px) { 
}




/* ======= gallery 게시판 ======= */
.galleryBoard .mainImage-wrap{
	width:100%;
	/* max-height:560px; */
}
.galleryBoard .main-image{
	width:100%;
	height:100%;
	object-fit:cover;
	object-position:center;
}
.galleryBoard .swiper{
    width: 100%;
}
.gallerySwiper .row{
	margin-left: 0;
}
.galleryBoard .gallery-item{
	max-height:180px;
	cursor: pointer;
	overflow: hidden;
}
.galleryBoard .gallery-item img {
    width: 100%;
    height:100%;
    object-fit:cover;
	object-position:center;
}
.galleryBoard .gallery-item:hover img {
}




/* ======= submission info 서브미션 테이블 ======= */
.submission-table th, .submission-table td{
	padding-top:1rem;
	padding-bottom:1rem;
	text-align: center;
	vertical-align: middle;
	min-width:65px;
}
.submission-table .collapse-tr td {
  border: none;
  padding: 0;
}
.submission-table .collapse-tr.show-border td {
  border-bottom: 1px solid #dee2e6;
  padding: 1rem 0;
}
.submission-table .collapse .card {
    width: 100%;
    box-sizing: border-box;
}
.submission-table .collapse {
    margin: 0;
}




/* ======= registration 결제 ======= */
.refund-table th, .refund-table td{
	text-align: center;
	vertical-align: middle;
	min-width:65px;
	white-space: nowrap;
}



/* ======= error 오류 ======= */
/* ===================================================
  responsive 미디어쿼리
=================================================== */
@media (max-width: 1199.98px) { 
	.error-page .container-xxl{
	}
}













