/* topbar */
.topbar { height: 51px; }
.topbar .container { max-width: 1680px; }

/* gnb */
#gnb { display: flex; flex-direction: column; /*visibility: hidden;*/ position: fixed; z-index: 21; top: 0; width: 100%; height: auto; background: rgb(255 255 255 / 20%); backdrop-filter: blur(10px); transition: all 0.5s ease-in-out; }
#gnb.none { animation: fadeInDown .5s; position: absolute; transition: all 0.5s; top: 0px; }
#gnb .container { max-width: 1680px; }
#gnb .gnb-wrap { display: flex; flex-direction: row; justify-content: space-between; align-items: center; height: 80px; }

.gnb-cate { display: none; }
.gnb-right { display: none; }
.gnb-m { display: flex; flex-wrap: nowrap; align-items: center; }
.gnb-m button.navbar-toggler { display: flex; justify-content: center; align-items: center; width: 40px; height: 40px; border: none !important; border-radius: 50%;  }
.gnb-m button.navbar-toggler:nth-child(1) { background-color: #DDD; }
/*.gnb-m button.navbar-toggler:nth-child(2) { background-color: #2b4d8a; }*/
.gnb-m button.navbar-toggler:focus,
.gnb-m button.navbar-toggler:hover { border: none !important; }
.gnb-m button.navbar-toggler a,
.gnb-m button.navbar-toggler span { display: flex; flex-direction: column; align-items: center; }
.gnb-m button.navbar-toggler a i { font-size: 1.25rem; }
.gnb-m button.navbar-toggler span i { font-size: 1.5rem; color: #fff; }

/* gnb-mobile */
#TopNavbar { position: fixed; z-index: 16; opacity: 0; left: unset; margin-top: 80px; top: 0; right: 0; bottom: 0; width: 0; max-width: 600px; background: #fff; transition: all 0.3s; }
#TopNavbar.show { opacity: 1; width: 100%; min-width: 320px; }
#TopNavbar .navbar-nav { display: flex; flex-direction: column; justify-content: flex-start; align-items: flex-start; align-content: space-around; position: unset; overflow-y: auto; width: 40%; height: 100vh; background: #ebedf0; }
#TopNavbar .navbar-nav .nav-item { position: unset; width: 100%; border-top: none; }
#TopNavbar .navbar-nav .nav-item .nav-link { color: #fff !important; }
#TopNavbar .navbar-nav .nav-item.show .nav-link {}
#TopNavbar .navbar-nav .nav-item .dropdown-menu { /* border-top: 1px solid #3a5dc7; */ width: 100%; display: none; position: absolute; top: 0; right: 0 !important; left: auto !important; z-index: 11; transform: translate3d(0px, 0px, 0px) !important; }
#TopNavbar .navbar-nav .nav-item .dropdown-menu:before { display: none; }
#TopNavbar .navbar-nav .nav-item .dropdown-menu.show { display: block; right: 0; margin-top: 0; padding: 0; width: 60%; background: #fff; }
#TopNavbar .navbar-nav .nav-item .dropdown-menu .dropdown-item { padding: 1rem; border-bottom: 1px solid #ebedf0; }
#TopNavbar .navbar-nav .nav-item .dropdown-menu .dropdown-item.active {}
#TopNavbar .navbar-nav .nav-item .dropdown-menu .dropdown-item.active:after { display: none; }
#TopNavbar .navbar-nav .nav-item .dropdown-menu .dropdown-item.active span {}

#navbar-bg { z-index: 15; top: 80px; }


/* Main */
main { padding-top: 80px; background: #f9f9f9; }


/* Main - main-slider */
#main-slider { display: flex; flex-direction: column; align-items: center; gap: 3rem 0; position: relative; margin: auto; width: 100%; height: 100%; border-bottom: 0px solid #222222; }
#main-slider .carousel { position: relative; overflow: hidden; width: 100%; }
#main-slider .carousel .carousel-item { position: relative; overflow: hidden; width: 100%; /*height: 100%;*/ height: 400px; background-position: 50% 50%; background-repeat: no-repeat; background-size: cover; -webkit-backface-visibility: hidden; backface-visibility: hidden; }
#main-slider .carousel .carousel-item .container { position: absolute; top: 0; right: 0; bottom: 0; left: 0; width: 100%; }
#main-slider .carousel .carousel-item img.main-vis-img { margin: 0 -10%; width: 120%; height: 100%; object-fit: cover; object-position: center; }

#main-slider .carousel-indicators li { width: 10px; height: 10px; border: 1px solid #FFF !important; border-radius: 50%; background: #FFF; opacity: 1 !important; }
#main-slider .carousel-indicators li.active { position: relative; }
#main-slider .carousel-indicators li.active:after { position: absolute; display: block; content: ""; top: -1px; left: -1px; bottom: -1px; right: -1px; border: 3px solid #FFF !important; border-radius: 50%; background: #343a40 !important; }

#main-slider .carousel .carousel-item .carousel-caption .main-vis-tit {}
#main-slider .carousel .carousel-item .carousel-caption .main-vis-tit img { height: 85%; }


/* Main - main-link */
.main-link { display: flex; flex-wrap: wrap; flex-direction: row; justify-content: space-between; gap: 1.5rem 0; padding: 0 15px; width: 100%; max-width: unset; height: 100%; max-height: unset; }

.main-link-cnt { padding: 1rem; width: 100%; border-radius: 1.25rem; background: #fff; box-shadow: 0px 0px 10px #00000015; }
.main-link-cnt h2 { margin-bottom: 1rem; text-align: center; }
.main-link-cnt h2 span { display: block; font-size: 1.175rem; font-weight: 400; line-height: 1.75rem; }
.main-link-cnt ul { display: flex; flex-wrap: wrap; justify-content: center; margin: 0; padding: 0; width: 100%; list-style: none; }
.main-link-cnt ul li { display: flex; justify-content: center; width: 33.33%; text-align: center; }
.main-link-cnt ul li a.link-cnt-btn { position: relative; display: block; }
.main-link-cnt ul li a.link-cnt-btn img { display: block; width: 100%; max-width: 138px; height: auto; transition: all .5s; }
.main-link-cnt ul li a.link-cnt-btn img.link-img-on { position: absolute; top: 0; opacity: 0; }
.main-link-cnt ul li a.link-cnt-btn:hover img.link-img { opacity: 0; }
.main-link-cnt ul li a.link-cnt-btn:hover img.link-img-on { opacity: 1; }

.main-link-sns { display: flex; flex-direction: column; align-items: center; gap: 0 1rem; padding: 1rem; width: 100%; border-radius: 1.25rem; background: #fff; box-shadow: 0px 0px 10px #00000015; }
.main-link-sns h2 { margin-bottom: 1rem; font-weight: 600; }
.main-link-sns ul { display: flex; flex-wrap: nowrap; justify-content: space-around; gap: 0 0.5rem;  margin: 0; padding: 0; width: 100%; list-style: none; }
.main-link-sns ul li { display: flex; flex-direction: row; text-align: center; }
.main-link-sns ul li a.link-sns-btn { display: block; position: relative; }
.main-link-sns ul li a.link-sns-btn img { display: block; width: 100%; height: auto; }


/* sub-vis */
#sub-vis { margin-top: -80px; padding-top: 80px; }

/* sub-menu */
#sub-menu .container { width: 100%; max-width: 1520px; margin: 0 auto; padding: 0 3%; }
#sub-menu .container .row .col .sub-menu-home { background: transparent; }
#sub-menu .container .row .col .sub-menu-home a { overflow: hidden; padding-left: 1.25rem !important; border-radius: 2rem 0 0 2rem; background: #FFF; }
#sub-menu .container .row .col .sub-menu-on,
#sub-menu .container .row .col .sub-menu-off { background: transparent; }
#sub-menu .container .row .col .sub-menu-on a,
#sub-menu .container .row .col .sub-menu-off a { overflow: hidden; padding-right: 1.25rem !important; border-radius: 0 2rem 2rem 0; background: #FFF; }


/* sub-cnt */
#sub-cnt {}
#sub-cnt .container { width: 100%; max-width: 1520px; margin: 0 auto; padding: 0 3%; }


/* sub-board */
#sub-board {}
#sub-board .container { width: 100%; max-width: 1520px; margin: 0 auto; padding: 0 3%; }
#board-list #fboardlist, #board-view, #board-write { padding: 1rem; border-radius: 2rem; background: #fff; }

#board-list .table thead { position: relative }
#board-list .table thead:before { content: ''; display: block; position: absolute; z-index: 1; top: 0; left: 0; right: 0; bottom: 0; border-radius: .5rem; background-color: #f0f6f9; }
#board-list .table thead th { /*border-top: 2px solid #333; border-bottom: 1px solid #dee2e6;*/ position: relative; z-index: 2; background: transparent; }
#board-list .table thead th,
#board-list .table tbody td { padding: 1.25rem 1rem; border: none; font-weight: 400; text-align: center; }
#board-list .table tbody td { border-bottom: 1px solid #dee2e6; }

/* quick-scroll */
#quick-scroll { width: 100%; top: auto; bottom: 1rem; }
#quick-scroll .container { width: 100%; max-width: 100%; margin: 0 auto; }
#quick-scroll .qs-right { margin-left: 100%; left: auto; right: 1rem; bottom: 0; }
#quick-scroll .qs-cnt.qs-common { width: auto; }





/* Responsive - Min */
@media (min-width: 320px) {
}

@media (min-width: 360px) {
}

@media (min-width: 576px) {
	.main-link-cnt { padding: 1rem 3rem; }
	.main-link-sns {  }
	#board-list #fboardlist, #board-view, #board-write { padding: 2rem; }
}

@media (min-width: 768px) {
	.gnb-cate ul.navbar-nav li.nav-item .dropdown-menu { display: none; }

	.main-link-cnt { width: 75%; }
	.main-link-sns { width: 22%; }
	.main-link-sns ul { flex-direction: column; justify-content: space-evenly; align-items: center; height: 100%; }

	#sub-menu .container .row .col .sub-menu-home a { padding-left: 1.5rem !important; }
	#sub-menu .container .row .col .sub-menu-wrap ul li { background: transparent; }
	#sub-menu .container .row .col .sub-menu-wrap ul li a { background: #FFF; }
	#sub-menu .container .row .col .sub-menu-wrap ul li:last-child a { overflow: hidden; border-radius: 0 2rem 2rem 0; background: #FFF; }

	#board-list .table thead th,
	#board-list .table tbody td { padding: 1.25rem 0rem; }
}

@media (min-width: 992px) {
	main { padding-top: 131px; }
	#gnb { top: 51px; }
	.gnb-m { display: none; }

	.gnb-cate { display: flex; width: auto; justify-content: center; align-items: center; }
	.gnb-cate ul.navbar-nav { display: flex; flex-direction: row; justify-content: space-between; align-items: center; padding: 0 .75rem; width: 100%; height: 60px; border-radius: 120px; background-color: #fff; gap: 0 0.5rem; font-family: var(--font-point); box-shadow: var(--boxshadow); }
	.gnb-cate ul.navbar-nav li { display: flex; flex-direction: column; justify-content: center; align-items: center; position: relative; padding: 0 !important; width: auto; /*min-width: 130px;*/ height: 100%; border: none; /*box-shadow: 3px 3px 3px #ddd;*/ transition: all 0.5s; }
	.gnb-cate ul.navbar-nav li.nav-item a.nav-link { padding: 0.5rem 0.75rem; width: 100%; border-radius: 2rem; font-size: 0.825rem; text-align: center; }
	.gnb-cate ul.navbar-nav li.nav-item a.nav-link:hover {}
	.gnb-cate ul.navbar-nav li.nav-item .dropdown-menu { opacity: 0; top: 80px !important; left: 50% !important; margin-left: -90px !important; padding: 0; width: auto; min-width: 180px; border: 0px solid #2b4d8a; box-shadow: 0 0 15px rgba(0,0,0,.1); transition: all .35s ease-in-out; /*transform: translate3d(-15px, 50px, 0px) !important;*/transform: translate3d(0px, 0px, 0px) !important; }
	.gnb-cate ul.navbar-nav li.nav-item .dropdown-menu.show { display: block; margin-top: 0; padding: .5rem 0; opacity: 1; height: auto; background: #fff; }
	.gnb-cate ul.navbar-nav li.nav-item .dropdown-menu.show:before { content: ""; position: absolute; display: block; top: -7px; left: 50%; margin-left: -7px; width: 0; height: 0; border-right: 7px solid transparent; border-left: 7px solid transparent; border-bottom: 7px solid #FFF;}
	.gnb-cate ul.navbar-nav li.nav-item .dropdown-menu:before { display: none; }
	.gnb-cate ul.navbar-nav li.nav-item .dropdown-item { padding: 0.5rem; text-align: center; }
	.gnb-cate ul.navbar-nav li.nav-item .dropdown-item:hover {  }

	.gnb-right { display: flex; justify-content: center; align-items: center; }
	.gnb-right ul.navbar-nav { display: flex; flex-direction: row; justify-content: space-between; align-items: center; margin: 0 !important; width: 150px; }
	.gnb-right ul.navbar-nav li.nav-item { display: flex; flex-direction: column; justify-content: center; align-items: center; border: none; }
	.gnb-right ul.navbar-nav li.nav-item a.nav-link { padding: 0; font-size: 0.825rem; color: #606060 !important; white-space: nowrap; }
	.gnb-right .btn-wrap { width: auto; height: auto; position: relative; }
	.gnb-right .btn-wrap button { width: 50px; height: 50px; border: none !important; border-radius: 50%; background-color: #2b4d8a; }
	.gnb-right .btn-wrap button:focus,
	.gnb-right .btn-wrap button:hover { border: none !important; }
	.gnb-right .btn-wrap button i { display: flex; justify-content: center; align-items: center; font-size: 1.25rem; color: #fff; }

	#TopNavbar { display: none; }
	#navbar-bg { display: none !important; }
		
	#main-slider { display: flex; flex-direction: row; flex-wrap: wrap; justify-content: flex-start; gap: 0 2%; /*max-width: 1920px;*/ }
	#main-slider .carousel { position: relative; overflow: hidden; /*width: 61.745%; border-radius: 0 1.25rem 1.25rem 0;*/ }
	#main-slider .carousel .carousel-item { height: 460px; background-position: 50% 50%; }
		
	.main-link { align-content: stretch; gap: 1.5rem 0; padding: 0; width: 35%; max-width: 500px; height: 460px; }
	.main-link-cnt { display: flex; flex-direction: column; justify-content: center; width: 100%; }
	.main-link-cnt ul {	padding: 0; }
	.main-link-sns { display: flex; flex-direction: row; align-items: center; gap: 0 1rem; padding: 1rem; width: 100%; height: auto; }
	.main-link-sns h2 { margin-bottom: 0; font-weight: 600; }
	.main-link-sns ul {	flex-direction: row; justify-content: center; gap: 0 0.5rem; padding: 0; }
	.main-link-sns ul li { width: 25%; text-align: center; }
}

@media (min-width: 1140px) {
	.gnb-cate ul.navbar-nav { padding: 0 1rem; }
	/*.gnb-cate ul.navbar-nav li { padding: 0 0.5rem !important; }*/
	.gnb-cate ul.navbar-nav li.nav-item a.nav-link { padding: 0.5rem 1rem; font-size: 1rem; }
}

@media (min-width: 1200px) {
	#sub-menu .container { max-width: 1520px; padding: 0 40px; }
	#sub-cnt .container { max-width: 1520px; padding: 0 40px; }
	#sub-board .container { max-width: 1520px; padding: 0 40px; }
	#board-list #fboardlist, #board-view, #board-write { padding: 3rem; }
}

@media (min-width: 1440px) {
	/*.gnb-cate ul.navbar-nav li { padding: 0 1rem !important; }*/
	.gnb-cate ul.navbar-nav li.nav-item a.nav-link { padding: 0.5rem 2rem; }
	#main-slider .carousel .carousel-item { height: 500px; }
	.main-link { height: 620px; }	
}


/* Responsive - Max */
@media (max-width: 319.999999px) {
}