@charset "utf-8";
/* CSS Document */

@import url('https://fonts.googleapis.com/css2?family=Noto+Sans+KR:wght@100;300;400;500;700;900&display=swap');
@import url('https://fonts.googleapis.com/css2?family=Montserrat:ital,wght@0,100;0,200;0,300;0,400;0,500;0,600;0,700;0,800;0,900;1,100;1,200;1,300;1,400;1,500;1,600;1,700;1,800;1,900&display=swap');

:root {
    --bs-body-font-family: 'Montserrat', 'Noto Sans KR', Sans-serif;
    --bs-body-font-size: 16px;
    --bs-body-font-weight: 400;
    --bs-body-line-height: 1.5;
    --bs-body-color: var(--bs-gray);

    --bs-primary:#285f74;
    --bs-secondary: #003876;
    --bs-success: #22755f;
    --bs-info: #00b6f0;
    --bs-warning: #ffc107;
    --bs-danger: #ff5938;
    --bs-light: #f5f5f5;
    --bs-dark: #222222;
    --bs-lightblue: #eef2fa;
    --bs-lightgreen: #03ab91;

    --bs-white: #ffffff;
    --bs-gray: #666666;
    --bs-gray-100: #f8f9fa;
    --bs-gray-200: #e9ecef;
    --bs-gray-300: #dddddd; /* 회색 선 */
    --bs-gray-400: #dfdfdf; /* 버튼 선 (btn-white) */
    --bs-gray-500: #edf5f5; /* 회색 배경 */
    --bs-gray-600: #c2c2c2;
    --bs-gray-700: #495057;
    --bs-gray-800: #343a40;
    --bs-gray-900: #212529;

    --snb-bg: #f8f8f8;

    --footer-bg: #021033;
    --footer-color: #979daa;

    --admin-bg-color:#28344e;
    --admin-login-color:#535d71;
    --header-all-menu-bg: #e0f0f0;
}

body {color:var(--bs-body-color); font-family:var(--bs-body-font-family); font-weight:var(--bs-body-font-weight); font-size:var(--bs-body-font-size); line-height:var(--bs-body-line-height); -webkit-font-smoothing: antialiased;}

a {text-decoration: none; color: inherit;}
a:hover {color: var(--bs-primary);}

.h1, .h2, .h3, .h4, .h5, .h6, h1, h2, h3, h4, h5, h6 {
    color:var(--bs-dark);
    font-weight: 700;
}

h6, .h6 {font-size: 1.125rem !important;}
.fs-6 {font-size: 1.125rem !important;}

p {font-size: inherit;}

@media screen and (min-width: 1200px) {
    p {font-size: 1.125rem;}
}

label {cursor:pointer;}

ul, ol {list-style: none; margin-bottom: 0; padding-left: 0;}

strong {font-weight: 700; color: var(--bs-dark);}

section {padding-top: 80px; padding-bottom: 80px; word-break: keep-all;}

@media screen and (min-width: 1200px) {
    section {padding-top: 100px; padding-bottom: 100px;}
}


/* ********************* */
/* ******* layout ****** */
/* ********************* */
.container {max-width: 1360px; padding-left: 4%; padding-right: 4%;}
.container-fluid {padding-left: 4%; padding-right: 4%;}


@media screen and (min-width: 1200px) {
    .container {padding-left: 20px; padding-right: 20px;}
    .container-fluid {padding-left: 20px; padding-right: 20px;}
}



/* ********************* */
/* ******* badge ******* */
/* ********************* */
.badge.bg-outline-primary {border: 1px solid var(--bs-primary); color: var(--bs-primary);}
.badge.bg-outline-danger {background-color: var(--bs-white); color: var(--bs-danger); border: 1px solid var(--bs-danger);}



/* ********************* */
/* ******* banner ****** */
/* ********************* */
.foot-banner .swiper-wrapper {transition-timing-function: linear;}
.foot-banner .banner-link {height: 85px; border: 1px solid var(--bs-gray-200); display: block; padding:0.5rem; -webkit-border-radius: 0.5rem; border-radius: 0.5rem; text-align: center;}
.foot-banner-logo {height: 100%;}


/* 20240412 사이즈 다시 잡음 */
.foot-banner .banner-link {height: auto;}
.foot-banner-logo {max-width: 100%; height: auto;}


/* ********************* */
/* *** border-radius *** */
/* ********************* */
.border-r {border-radius: 0.5rem !important; border-top-right-radius: 1.25rem !important; overflow: hidden;}

.border-dark {color: var(--bs-dark);}




/* ********************* */
/* ******* button ****** */
/* ********************* */
.btn {
    --bs-btn-color: var(--bs-dark);
    --bs-btn-padding-x: 1.25rem;
    --bs-btn-padding-y: 0.625rem;
    --bs-btn-border-radius: 0.5rem;
}
.btn-sm {height: 45px;}
.btn-lg {--bs-btn-padding-x: 2rem; height: 65px;}
.btn-sm .bi-arrow-right {margin-left: 8px;}
.btn-lg .bi-arrow-right {margin-left: 24px;}
.btn-xl {min-width: 100%; height: 60px; font-size: 1.25rem; font-weight: 500;}


.btn-primary {
    --bs-btn-color: var(--bs-white);
    --bs-btn-bg: var(--bs-primary);
    --bs-btn-border-color:  var(--bs-primary);
    --bs-btn-hover-color: var(--bs-white);
    --bs-btn-hover-bg: var(--bs-primary);
    --bs-btn-hover-border-color: var(--bs-primary);
    --bs-btn-active-bg: var(--bs-primary);
}

.btn-secondary {
    --bs-btn-color: var(--bs-white);
    --bs-btn-bg: var(--bs-secondary);
    --bs-btn-border-color:  var(--bs-secondary);
    --bs-btn-hover-color: var(--bs-white);
    --bs-btn-hover-bg: var(--bs-secondary);
    --bs-btn-hover-border-color: var(--bs-secondary);
    --bs-btn-active-bg: var(--bs-secondary);
}

.btn-success {
    --bs-btn-color: var(--bs-white);
    --bs-btn-bg: var(--bs-success);
    --bs-btn-border-color:  var(--bs-success);
    --bs-btn-hover-color: var(--bs-white);
    --bs-btn-hover-bg: var(--bs-success);
    --bs-btn-hover-border-color: var(--bs-success);
    --bs-btn-active-bg: var(--bs-success);
}

.btn-danger {
    --bs-btn-color: var(--bs-white);
    --bs-btn-bg: var(--bs-danger);
    --bs-btn-border-color:  var(--bs-danger);
    --bs-btn-hover-color: var(--bs-white);
    --bs-btn-hover-bg: var(--bs-danger);
    --bs-btn-hover-border-color: var(--bs-danger);
    --bs-btn-active-bg: var(--bs-danger);
}

.btn-warning {
    --bs-btn-color: var(--bs-white);
    --bs-btn-bg: var(--bs-warning);
    --bs-btn-border-color:  var(--bs-warning);
    --bs-btn-hover-color: var(--bs-dark);
    --bs-btn-hover-bg: var(--bs-warning);
    --bs-btn-hover-border-color: var(--bs-warning);
    --bs-btn-active-bg: var(--bs-warning);
}

.btn-info {
    --bs-btn-color: var(--bs-white);
    --bs-btn-bg: var(--bs-info);
    --bs-btn-border-color:  var(--bs-info);
    --bs-btn-hover-color: var(--bs-dark);
    --bs-btn-hover-bg: var(--bs-info);
    --bs-btn-hover-border-color: var(--bs-info);
    --bs-btn-active-bg: var(--bs-info);
}

.btn-light {
    --bs-btn-color: var(--bs-dark);
    --bs-btn-bg: var(--bs-light);
    --bs-btn-border-color:  var(--bs-light);
    --bs-btn-hover-color: var(--bs-dark);
    --bs-btn-hover-bg: var(--bs-light);
    --bs-btn-hover-border-color: var(--bs-light);
    --bs-btn-active-bg: var(--bs-light);
}

.btn-lightgreen {
    --bs-btn-color: var(--bs-white);
    --bs-btn-bg: var(--bs-lightgreen);
    --bs-btn-border-color:  var(--bs-lightgreen);
    --bs-btn-hover-color: var(--bs-white);
    --bs-btn-hover-bg: var(--bs-lightgreen);
    --bs-btn-hover-border-color: var(--bs-lightgreen);
    --bs-btn-active-bg: var(--bs-lightgreen);
    --bs-btn-active-color: var(--bs-white);
}

.btn-dark {
    --bs-btn-color: var(--bs-white);
    --bs-btn-bg: var(--bs-dark);
    --bs-btn-border-color:  var(--bs-dark);
    --bs-btn-hover-color: var(--bs-white);
    --bs-btn-hover-bg: var(--bs-dark);
    --bs-btn-hover-border-color: var(--bs-dark);
    --bs-btn-active-bg: var(--bs-dark);
}

.btn-gray {
    --bs-btn-color: var(--bs-white);
    --bs-btn-bg: var(--bs-gray-600);
    --bs-btn-border-color:  var(--bs-gray-600);
    --bs-btn-hover-color: var(--bs-white);
    --bs-btn-hover-bg: var(--bs-gray-600);
    --bs-btn-hover-border-color: var(--bs-gray-600);
    --bs-btn-active-bg: var(--bs-gray-600);
}


.btn-white {
    --bs-btn-color: var(--bs-dark);
    --bs-btn-bg: var(--bs-white);
    --bs-btn-border-color:  var(--bs-gray-400);
    --bs-btn-hover-color: var(--bs-dark);
    --bs-btn-hover-bg: var(--bs-white);
    --bs-btn-hover-border-color: var(--bs-gray-400);
    --bs-btn-active-bg: var(--bs-white);
}

.btn-white:hover {box-shadow: 0px 0px 30px 0px rgba(0, 0, 0, 0.15);}

.btn-link {
    --bs-btn-hover-color: var(--bs-primary);
    --bs-btn-hover-border-color: var(--bs-primary);
}


/* buttons - outline */
.btn-outline-primary {
    --bs-btn-color: var(--bs-primary);
    --bs-btn-border-color: var(--bs-primary);
    --bs-btn-hover-bg: var(--bs-primary);
    --bs-btn-hover-border-color: var(--bs-primary);
    --bs-btn-active-bg: var(--bs-primary);
}

.btn-outline-secondary {
    --bs-btn-color: var(--bs-secondary);
    --bs-btn-border-color: var(--bs-secondary);
    --bs-btn-hover-bg: var(--bs-secondary);
    --bs-btn-hover-border-color: var(--bs-secondary);
    --bs-btn-active-bg: var(--bs-secondary);
}

.btn-outline-success {
    --bs-btn-color: var(--bs-success);
    --bs-btn-border-color: var(--bs-success);
    --bs-btn-hover-bg: var(--bs-success);
    --bs-btn-hover-border-color: var(--bs-success);
    --bs-btn-active-bg: var(--bs-success);
}

.btn-outline-danger {
    --bs-btn-color: var(--bs-danger);
    --bs-btn-border-color: var(--bs-danger);
    --bs-btn-hover-bg: var(--bs-danger);
    --bs-btn-hover-border-color: var(--bs-danger);
    --bs-btn-active-bg: var(--bs-danger);
}

.btn-outline-warning {
    --bs-btn-color: var(--bs-warning);
    --bs-btn-border-color: var(--bs-warning);
    --bs-btn-hover-bg: var(--bs-warning);
    --bs-btn-hover-border-color: var(--bs-warning);
    --bs-btn-active-bg: var(--bs-danger);
}

.btn-outline-info {
    --bs-btn-color: var(--bs-info);
    --bs-btn-border-color: var(--bs-info);
    --bs-btn-hover-bg: var(--bs-info);
    --bs-btn-hover-border-color: var(--bs-info);
    --bs-btn-active-bg: var(--bs-info);
}

.btn-outline-light {
    --bs-btn-color: var(--bs-body-color);
    --bs-btn-border-color: var(--bs-gray-300);
    --bs-btn-hover-bg: var(--bs-gray-300);
    --bs-btn-hover-border-color: var(--bs-gray-300);
    --bs-btn-active-bg: var(--bs-gray-300);
}

.btn-outline-dark {
    --bs-btn-color: var(--bs-dark);
    --bs-btn-border-color: var(--bs-dark);
    --bs-btn-hover-bg: var(--bs-dark);
    --bs-btn-hover-border-color: var(--bs-dark);
    --bs-btn-active-bg: var(--bs-dark);
}


/* ********************* */
/* **** color & bg ***** */
/* ********************* */
.text-primary {color: var(--bs-primary) !important;}
.text-secondary {color: var(--bs-secondary) !important;}
.text-success {color: var(--bs-success) !important;}
.text-info {color: var(--bs-info) !important;}
.text-warning {color: var(--bs-warning) !important;}
.text-danger {color: var(--bs-danger) !important;}
.text-light {color: var(--bs-light) !important;}
.text-dark {color: var(--bs-dark) !important;}

/* Background color */
.bg-primary {background-color: var(--bs-primary) !important;}
.bg-secondary {background-color: var(--bs-secondary) !important;}
.bg-success {background-color: var(--bs-success) !important;}
.bg-info {background-color: var(--bs-info) !important;}
.bg-warning {background-color: var(--bs-warning) !important;}
.bg-danger {background-color: var(--bs-danger) !important;}
.bg-light {background-color: var(--bs-light) !important;}
.bg-dark {background-color: var(--bs-dark) !important;}
.bg-white {background-color: var(--bs-white) !important;}

.bg-admin {background-color: var(--admin-bg-color);}



/* ********************* */
/* ******** form ******* */
/* ********************* */
.input-group>.form-select{width: 100%;}
.input-group-text {background-color: var(--bs-white); border-width: 0;}

.form-label {color: var(--bs-dark); font-weight: 400; }
.form-control {padding: 0.875rem 1.25rem; height: 50px; background-color: var(--snb-bg); border-width: 0;}
.form-control[type="file"] {height: auto;}
textarea.form-control {height: 250px;}

.form-select {height: 50px;}

.form-check-inline {padding-left: 1.875rem;}
.form-check-inline .form-check-input {margin-left: -1.875rem; margin-top: 0.2rem;}



.form-check-input {width: 20px; height: 20px; margin-top: 0.15rem; border: 2px solid var(--bs-gray-300);}
.form-check-input:checked {background-color: var(--bs-primary); border-color: var(--bs-primary);}


@media screen and (min-width: 575px) {
    .input-group>.form-select{width: auto;}
}


/* ********************* */
/* ******** list ******* */
/* ********************* */
.list li {position: relative;}
.list li b {margin-right: 0.5rem; font-weight: 500; display: inline-block;}


.list-style-1 li {padding-right: 1rem; margin-right: 1rem;}
.list-style-1 li:last-child::after {display: none;}
.list-style-1 li::after {content: ''; width: 1px; height: 10px; background-color: rgba(255, 255, 255, 0.2); position: absolute; top: 50%; right: 0; -webkit-transform: translateY(-50%); transform: translateY(-50%);}

.list-style-2 li {padding-left: 1rem;}
.list-style-2 li::before {content: ''; width: 4px; height: 4px; background-color: var(--bs-white); position: absolute; top: 10px; left: 0;}




/* ********************* */
/* ******* table ****** */
/* ********************* */
.table>:not(caption)>*>* {padding: 1rem 1rem; font-size:1rem; vertical-align: middle;}
.table thead tr {border-bottom: 1px solid var(--bs-gray-300); text-align: center;}
.table thead tr th {border-width: 0; color: var(--bs-dark);}
.table tbody tr th {background-color: var(--snb-bg);}


.table-primary {
    --bs-table-color: var(--bs-white);
    --bs-table-bg: var(--bs-primary);
    --bs-table-border-color: var(--bs-white);
    --bs-table-hover-bg: var(--bs-gray-500);
    font-weight: 400;
}

.table-primary>:not(caption)>*>* {padding: 0.8525rem 1rem;}

.table.table-primary thead th {border-right: 1px solid var(--bs-white); color: var(--bs-white);}
.table.table-primary thead tr {border-color: var(--bs-primary);}

.table-primary tbody tr {border-bottom: 1px solid var(--bs-gray-300);}
.table-primary tbody td {background-color: var(--bs-white); color: var(--bs-dark); text-align: center; border-right: 1px solid var(--bs-gray-300);}
.table-primary tbody td:last-child {border-width: 0;}

.min-900 {min-width: 950px;}


/* ********************* */
/* **** user class ***** */
/* ********************* */
/* util class */
.sound_only, .visually-hidden {
    position: absolute;
    width: 1px;
    height: 1px;
    margin: -1px;
    overflow: hidden;
    clip: rect(0, 0, 0, 0);
    clip-path: inset(50%);
}

.menu-open {overflow: hidden;}

.bullet {position: relative; padding-left: 1.5rem;}
.bullet::before {content: ''; width: 9px; height: 9px; background-color: var(--bs-primary); position: absolute; top: 50%; left: 0; -webkit-transform: translateY(-50%); transform: translateY(-50%); -webkit-border-radius: 50%; border-radius: 50%;}

.bullet-sqaure {padding-left: 1rem;}
.bullet-sqaure::before {content: ''; width: 4px; height: 4px; background-color: var(--bs-body-color); -webkit-border-radius: 0; border-radius: 0;}



/* ******************** */
/* ****** visual ****** */
/* ******************** */
/* main-visual */
.mv-section {width: 100%; min-height: 850px; height: 1px; margin-top: 70px; background: url('/images/main/mainvisual.jpg') no-repeat 50% 100%; background-size: cover; color: var(--bs-primary);}
.mv-section .container {width: 100%; height: 100%; display: flex; flex-direction: column; justify-content: center; align-items: flex-start;} 

.mv-section .mv-title {color: inherit;}
.mv-section .mv-title strong {font-weight: 700; color: inherit;}

.mv-section p {margin-top: 1rem; margin-bottom: 3.875rem; font-weight: 400;}

.mv-section .btn {line-height: 45px;}

@media screen and (min-width: 576px) {
    .mv-section {margin-top: 100px;}
}

@media screen and (min-width: 1200px) {
    .mv-section {margin-top: 120px;}
}


/* sub-visual */
.sv-section {width: 100%; height: 400px; height: 1px; margin-top: 70px; background: url('/images/sub/subvisual-00.jpg') no-repeat center center; background-size: cover;}
.sv-section .container {width: 100%; height: 100%; display: flex; justify-content: center; align-items: center;}
.sv-section .sv-title {margin-bottom: 0; font-weight: 700; color: var(--bs-white);}

.sv-01 {background: url('/images/sub/subvisual-01.jpg') no-repeat center center; background-size: cover;}
.sv-02 {background: url('/images/sub/subvisual-02.jpg') no-repeat center center; background-size: cover;}
.sv-03 {background: url('/images/sub/subvisual-03.jpg') no-repeat center center; background-size: cover;}
.sv-04 {background: url('/images/sub/subvisual-04.jpg') no-repeat center center; background-size: cover;}
.sv-05 {background: url('/images/sub/subvisual-05.jpg') no-repeat center center; background-size: cover;}
.sv-06 {background: url('/images/sub/subvisual-06.jpg') no-repeat center center; background-size: cover;}


@media screen and (min-width: 576px) {
    .sv-section {margin-top: 100px;}
}

@media screen and (min-width: 1200px) {
    .sv-section {height: 380px; margin-top: 120px;}
}



/* ******************** */
/* ******** snb ******* */
/* ******************** */
.snb {background-color: var(--snb-bg);}
.snb .container {padding-left: 0; padding-right: 0;}
.snb-list {display: flex; justify-content: flex-start; align-items: flex-start;}
.snb-list .snb-item {border-right: 1px solid var(--bs-gray-600); position: relative;}
.snb-list .snb-item:last-child {border-width: 0;}
.snb-list .snb-item.home {height: 70px; padding-left: 0.875rem; padding-right: 0.875rem; line-height: 70px;}

.snb-list .dropdown {width: calc(50% - 22.5px);}
.snb-list .dropdown-toggle {width: 100%; height: 70px; padding-left: 0.875rem; padding-right: 1.5rem; text-overflow: ellipsis; overflow: hidden; white-space: nowrap; text-align: left; position: relative; outline: 0; border: none; font-weight: 500;}
.snb-list .dropdown-toggle:focus {outline: 0; border: none;}
.snb-list .dropdown-toggle::after {display: none;}
.snb-list .dropdown-toggle.on {color: var(--bs-primary);}

.snb-list .dropdown-toggle i.bi {position: absolute; right: 0.75rem; top: 50%; -webkit-transform: translateY(-50%); transform: translateY(-50%);}

.snb-list .dropdown-menu {min-width: 0; width: 100%; padding-top: 0; padding-bottom: 0; z-index: 1000;}
.snb-list .dropdown-menu a {display: block; width: 100%; padding: 0.5rem 0.875rem; text-overflow: ellipsis; overflow: hidden; white-space: nowrap; }
.snb-list .dropdown-menu a:hover {background-color: var(--bs-gray-500); font-weight: 500;}

@media screen and (min-width: 768px) {
    .snb-list .snb-item.home {padding-left: 1.5rem; padding-right: 1.5rem; font-size: 1.125rem;}

    .snb-list .snb-item:last-child {border-width: 1px;}

    .snb-list .dropdown.fst {width: 270px;}
    .snb-list .dropdown.snd {width: 380px;}
    .snb-list .dropdown-toggle {padding-left: 1.5rem; padding-right: 3.5rem;}
    .snb-list .dropdown-toggle i.bi {right: 1.375rem;}

    .snb-list .dropdown-menu a {padding: 0.75rem 1.5rem;}
}


@media screen and (min-width: 1200px) {
    .snb .container {padding-left: 20px; padding-right: 20px;}
}



.snb-list.my-snb {margin: 3rem 0; background-color: var(--bs-white); overflow-y: auto;}
.snb-list.my-snb li h2 {padding: 10px 15px; font-size: calc(0.875rem + 1vw); font-weight: 500; color: var(--bs-gray-600); white-space: nowrap;}
.snb-list.my-snb li.active h2 {color: var(--bs-dark); border-bottom: 5px solid var(--bs-primary); }


@media screen and (min-width: 412px) {
    .snb-list.my-snb {justify-content: center;}
}


@media screen and (min-width: 1200px) {
    .snb-list.my-snb li h2 {font-size: 1.5rem;}
}






/* ********************* */
/* ******* header ****** */
/* ********************* */
.header {background-color: var(--bs-white);}

/* dropdown */
.header .dropdown {margin: 0 1rem 0 0.5rem; color: var(--bs-body-color);}
.header .dropdown-toggle {padding:0.25rem; color: inherit;}
.header .dropdown-toggle::after {display: none;}
.header .dropdown-menu {
    --bs-dropdown-padding-y: 0;
    --bs-dropdown-link-active-bg: var(--bs-primary);
    min-width: 0; width: 100%; border-color: var(--bs-dark); overflow: hidden; text-align: center;
}

/* logo */
.navbar {height: 70px;}
.navbar-brand .logo {max-width: 125px;}

@media screen and (min-width: 320px) {
    .navbar-brand .logo {max-width: 170px;}
}

@media screen and (min-width: 360px) {
    .navbar-brand .logo {max-width: 185px;}
}

@media screen and (min-width: 415px) {
    .navbar-brand .logo {max-width: 260px;}
}

@media screen and (min-width: 576px) {
    .navbar {height: 100px;}
/*     .navbar-brand .logo {max-width: 260px;} */
}

@media screen and (min-width: 1200px) {
    .navbar {height: 120px;}
    .navbar-brand {position: absolute; top: 50%; left: 20px; -webkit-transform: translateY(-50%); transform: translateY(-50%);}
}

/* header btns */
.btn-trigger {
    --bs-btn-padding-x: 0.375rem;
    --bs-btn-padding-y: 0rem;
    padding-right: 0;
    font-size: 2rem;
}
.btn-trigger .bi::before {font-weight: 700 !important;}
.btn-util {padding:0 0.375rem; font-size: 1.5rem; color: var(--bs-dark);}

@media screen and (min-width: 768px) {
    .btn-trigger {
        --bs-btn-padding-x: 0.75rem;
        font-size: 2.5rem;
    }

    .btn-util {padding:0 0.75rem; font-size: 2rem;}
}

@media screen and (min-width: 1200px) {
    .btn-trigger {
        --bs-btn-padding-x: 0rem;
        font-size: 1.5rem; 
    }
    .btn-trigger i.bi::before {font-weight: 500 !important;}

    .btn-util {display: none;}
}


/* gnb */
.navbar-nav {
    --bs-nav-link-padding-x: 1.5rem;
    --bs-nav-link-padding-y: 0.5rem;
    --bs-nav-link-hover-color: var(--bs-primary);
    --bs-nav-link-color: var(--bs-dark);
    --bs-navbar-active-color: var(--bs-primary);
    --bs-nav-link-font-weight: 500;
    --bs-nav-link-font-size: 1.125rem;
    display: none;
}

.navbar-nav .nav-item {position: relative;}
.navbar-nav .nav-item:hover .nav-link::before {display: block;}
.navbar-nav .nav-item:hover .submenu {display: block;}

.navbar-nav .nav-item:last-child .submenu {left: auto; right: 0;}

.navbar-nav .nav-item .nav-link {position: relative; height: 61px;}
.navbar-nav .nav-item .nav-link::before {content: ''; width: 9px; height: 9px; background-color: var(--bs-primary); -webkit-border-radius: 50%; border-radius: 50%; position: absolute; top: -6px; left: 50%; -webkit-transform: translateX(-50%); transform: translateX(-50%); display: none;}
.navbar-nav .nav-item:last-child .nav-link:before {left: calc(50% + 1.09375rem);}

.navbar-nav .nav-item .nav-link.active {color: var(--bs-primary);}
.navbar-nav .nav-item .nav-link.active::before {display: block;}

@media screen and (min-width: 1200px) {
    .navbar {--bs-navbar-padding-y: 0;}
    .navbar>.container {position: relative; flex-direction: column; align-items: flex-end; justify-content: flex-start;}

    .navbar-nav {display: flex; flex-direction: row;}
    .navbar-nav .nav-item .nav-link {padding-bottom: 1.3125rem;}
}

@media screen and (min-width: 1280px) {
    .navbar-nav {
        /* --bs-nav-link-padding-x: 1.5rem; */
        --bs-nav-link-font-size: 1.25rem;
    }
}


@media screen and (min-width: 1400px) {
    .navbar-nav .nav-item:last-child .submenu {left: 1.3125rem; right: auto;}
}


/* sub-menu */
.submenu {padding: 1.25rem; background-color: var(--bs-primary); color: var(--bs-white); -webkit-border-radius: 1.25rem; border-radius: 1.25rem; position: absolute; top: 100%; left: 1.3125rem; white-space: nowrap; display: none;}
.submenu .sub-item .sub-link {padding: 0.3125rem 0; display: block;}
.submenu .sub-item .sub-link:hover {color: inherit; text-decoration: underline;}

/* util-menu */
.util-menu {display: flex; align-items: center; justify-content: flex-start;}
.util-list {display: none;}

.util-list li {position: relative;}
.util-list li.bar::after {content: ''; width: 1px; height: 15px; background-color: var(--bs-gray-300); position: absolute; top: 50%; right: 0; -webkit-transform: translateY(-50%); transform: translateY(-50%);}

.util-list li .util-link {display: block; padding: 0 1.125rem;}

@media screen and (min-width: 1200px) {
    .util-menu {padding-top: 1.0625rem; padding-bottom: 0.375rem;}
    .util-list {display: flex; align-items: center;}
}


.util-list li:hover .my-menu {display: block;}

/* my-menu */
.my-menu {min-width: 170px; max-width: max-content; padding-top: 10px; z-index: 100; position: absolute; top: 100%; left: 0; display: none;}
.my-menu-wrap {border: 1px solid var(--bs-gray-300); -webkit-border-radius: 0.5rem; border-radius: 0.5rem; overflow: hidden;}
.my-menu > * {font-size: 1rem; font-weight: 400;}
.my-menu .user-profile {padding: 1.5rem; background-color: var(--bs-gray-500);}
.my-menu .user-profile p {margin-bottom: 0; color: var(--bs-dark); word-break: break-all;white-space: nowrap;}

.my-menu-list {padding: 1.5rem; background-color: var(--bs-white);}
.my-menu-list li a {padding: 0.2rem 0; display: inline-block; white-space: nowrap;}
.my-menu-list li a:hover {text-decoration: underline;}


/* m-my-menu (모바일) */
.m-my-menu {width: 100%; height: 100vh; background-color: var(--bs-white); position: fixed; top:0; left: 0; z-index: 1000; display: none;}

.my-menu-header {width: 100%; height: 70px; text-align: right; line-height: 70px;}
.my-menu-header .btn {
    --bs-btn-padding-x: 0.375rem;
    --bs-btn-padding-y: 0rem;
    padding-right: 0;
    font-size: 1.5rem;
}
.my-menu-header .btn .bi::before {font-weight: 700 !important;}


.m-my-menu .user-profile {padding: 1.5rem 1.25rem; background-color: var(--bs-secondary); color: var(--bs-white); font-weight: 400;}
.m-my-menu .user-profile p {margin-bottom: 0;}
.m-my-menu .user-profile .name {font-size: 1.25rem;}

.m-my-menu .list-style-2 {margin-top: 0.875rem; padding-top: 0.875rem; border-top: 1px solid rgba(255,255,255,0.3);}

.m-my-menu .my-menu-list li {border: 5px solid #eef2fa; margin: 0.5rem 0; -webkit-border-radius: 0.5rem; border-radius: 0.5rem;  position: relative;}
.m-my-menu .my-menu-list li a {padding: 0.875rem 1.25rem; color: var(--bs-dark); font-weight: 700;}



.m-my-menu .my-menu-list .value {color: var(--bs-gray-600); position: absolute; top: 50%; right: 1.25rem; -webkit-transform: translateY(-50%); transform: translateY(-50%);}

@media screen and (min-width: 1200px) {
}



/* all-menu */
.all-menu {width: 100%; height: 100vh; background-color: var(--bs-white); position: fixed; top: 0; left: 0; z-index: 1000; display: flex; flex-direction: column; display: none;}
.all-menu.show {display: flex;}

.all-menu-top {width: 100%; height: 220px; background: var(--header-all-menu-bg) url('/images/header/all-menu-logo.png') no-repeat center center; background-size:150px auto;}

.all-menu-top .btn-close {background-image: none; font-size: 1.5rem; opacity: 1; position: absolute; top: 0.75rem; right: 0.875rem;}
.all-menu-top .btn-close .bi::before {font-weight: 700 !important; vertical-align: 0;}

.all-menu-nav {padding: 2rem 1.5rem; flex: 1; overflow-y: auto;}

.all-menu-list {display: inline-block;}
.all-menu-list > li:not(:last-child) {margin-bottom: 1.5rem;}
.all-menu-list .btn-allmenu {
    --bs-btn-padding-x: 0rem;
    --bs-btn-padding-y: 0rem;
    --bs-btn-font-weight: 500;
    --bs-btn-font-size: 1.25rem;
}
.all-menu-list .btn-allmenu span {position: relative; display: inline-block; color: var(--bs-dark);}
.all-menu-list .btn-allmenu span::after {content: ''; width: 9px; height: 9px; background-color: var(--bs-primary); -webkit-border-radius: 50%; border-radius: 50%; position: absolute; bottom: 0.375rem; right: -1rem; display: none;}

.all-menu-list .btn-allmenu.active {border-width: 0;}
.all-menu-list .btn-allmenu.active span::after {display: block;}

.all-menu-list .btn-allmenu.active + .all-submenu {max-height: 400px; padding: 1.25rem; margin-top: 1rem; opacity: 1;}

.all-submenu {max-height: 0; opacity: 0; max-height: 0; background-color: var(--bs-gray-500); color: var(--bs-dark); font-weight: 400;}
.all-submenu li:not(:last-child) {margin-bottom: 0.5rem;}
.all-submenu li.on {color: var(--bs-primary);}

.all-menu-bottom {padding: 1.25rem 4%; border-bottom: 1px solid var(--bs-gray-300); display: flex; align-items: center; justify-content: space-between;}
.all-menu-bottom .sns-list {display: flex; font-size: 1.25rem;}
.all-menu-bottom .sns-list li {margin-right: 0.875rem;}

.all-menu-bottom .dropdown-toggle {padding: 0.25rem 0.5rem; border: 1px solid var(--bs-dark)}

@media screen and (min-width: 415px) {
    .all-menu-top .btn-close {top: 0.875rem; right: 1.25rem;}
}

@media screen and (min-width: 576px) {
    .all-menu-top .btn-close {font-size: 2rem; top: 1.125rem; right: 1.25rem;}

    .all-menu-list .btn-allmenu {
        --bs-btn-font-size: 1.5rem;
    }
}

@media screen and (min-width: 768px) {
    .all-menu-top .btn-close {right: 3.5%}
}

@media screen and (min-width: 992px) {
    .all-menu-list {height: 100%; display: flex; flex-wrap: wrap; align-items: flex-start; justify-content: flex-start;}
    .all-menu-list li {flex: 0 1 33.3%; margin-bottom: 2rem;}

    .all-menu-list .btn-allmenu.active + .all-submenu {padding: 0; margin-top: 1rem;}
    .all-submenu {max-height: 500px; margin-top: 1rem; background-color: transparent; opacity: 1;}
}

@media screen and (min-width: 1200px) {
    .all-menu-nav {padding: 4rem;}

    .all-menu-top {height: 300px; background-size: 200px auto;}
    .all-menu-top .btn-close {right: 20px;}

    .all-menu-list {justify-content: space-around;}
    .all-menu-list li {flex: 0 1 auto}
}



/* ********************* */
/* *** main contents *** */
/* ********************* */
/* 보수교육 프로그램 */
.mainteance-card {border: none; box-shadow: 3px 4px 10px 0px rgba(0, 0, 0, 0.15);}
.mainteance-card .card-body {width: 100%; min-height: 212px; padding: 2.5rem; background: var(--bs-secondary) url('/images/main/maintenance_logo.png') no-repeat 150% 50%;}

.mainteance-card .card-body .card-title {color: var(--bs-white);}
.mainteance-card .card-body.bg-green {background: var(--bs-lightgreen) url('/images/main/maintenance_logo.png') no-repeat 150% 50%;}
.mainteance-card .card-body .badge {min-width: 192px; height: 36px; font-size: 1.125rem; font-weight: 500; line-height: 24px;}

.mainteance-card .card-footer {color: var(--bs-dark); text-align: center;}
.mainteance-card .card-footer p {margin-bottom: 0;}



/* 연수원 강좌 전체 프로그램 */
.lecture-section {background-color: var(--bs-gray-500);}
.lecture-section .container-fluid {max-width: 1640px; margin: 0; margin-left: auto;}

.lecture {position: relative; padding-top: 2.5rem;}
.lecture-img {max-width: 240px; position: absolute; top: 0; left: 0;}
.lecture-info {width: 100%; min-height: 450px; padding:2.1875rem 1.75rem; background-color: var(--bs-white); display: flex; flex-direction: column; justify-content: flex-end; align-items: flex-start;}

.lecture-badge {position: absolute; top: 0; left: 0; padding: 1.25rem 1rem; z-index: 100;}
.lecture-badge .badge { min-width: 54px; height: 30px; line-height: 20px; font-size: 0.875rem;}
.lecture-badge .badge.bg-info {min-width: 48px;}


#lectureSlide {padding-bottom: 80px;}

#lectureSlide .swiper-button-next, 
#lectureSlide .swiper-button-prev {
    --swiper-navigation-size: 2rem;
    width: 58px; height: 58px; border: 1px solid var(--bs-gray-300); -webkit-border-radius: 50%; border-radius: 50%; color: var(--bs-gray-300); top: auto; bottom: 0;
}

.swiper-button-next.swiper-button-disabled, 
.swiper-button-prev.swiper-button-disabled {opacity: 1;}

#lectureSlide .swiper-button-prev, 
#lectureSlide .swiper-rtl .swiper-button-next {left: calc(50% - 70px);}
#lectureSlide .swiper-button-next, 
#lectureSlide .swiper-rtl .swiper-button-prev {right: calc(50% - 70px);}

#lectureSlide .swiper-button-prev:after, 
#lectureSlide .swiper-rtl .swiper-button-next:after {content: '\F12F'; font-family: bootstrap-icons;}

#lectureSlide .swiper-button-next:after, 
#lectureSlide .swiper-rtl .swiper-button-prev:after {content: '\F138'; font-family: bootstrap-icons;}

@media screen and (min-width: 420px) {
    .lecture-img {max-width: 330px;}
    .lecture-info {min-height: 510px;}
    .lecture-info h3 {width: calc(100% - 50px); overflow: hidden; text-overflow: ellipsis; white-space: nowrap;}
}

@media screen and (min-width: 450px) {
    #lectureSlide .swiper-slide {width: 420px;}
}

@media screen and (min-width: 768px) {
    .lecture-section .row {position: relative;}
    .lecture-section .section-header {height: calc(100% - 80px);}
    .lecture-section .left {width: 326px;}
    .lecture-section .right {width: calc(100% - 326px);}

    #lectureSlide {position: static; padding-bottom: 0;}
    #lectureSlide .swiper-button-next, #lectureSlide .swiper-button-prev {bottom: auto; top: 210px;}
    #lectureSlide .swiper-button-prev, 
    #lectureSlide .swiper-rtl .swiper-button-next {left:12px;}
    #lectureSlide .swiper-button-next, #lectureSlide .swiper-rtl .swiper-button-prev {right: auto; left: 100px;}
}



/* 일정별 프로그램 */
/* 스케줄이 없을 때 */
#mainScheduleSlide .swiper-slide {padding: 0.5rem 0;}

.schedule-empty {text-align: center; margin-top: 3rem;}
.schedule-empty img {width: auto; height: 150px;}
.schedule-empty p {margin-top: 1.5rem; color: var(--bs-dark); font-weight: 500;}

/* 스케줄이 있을 때 */
.schedule-list {padding:1.5rem 0.5rem; display: flex; flex-direction: column; justify-content: flex-start; align-items: flex-start; gap: 1rem 0;}
.schedule-list li {width: 100%; border: 1px solid var(--bs-gray-300); -webkit-border-radius: 0.5rem; border-radius: 0.5rem;}
.schedule-list li a {width: 100%; height: 100%; padding: 1rem 1.5rem; display: flex; flex-direction: column; align-items: flex-start; justify-content: center; }
.schedule-list li a:hover {box-shadow: 3px 4px 10px 0px rgb(0 0 0 / 15%);}

.schedule-date {font-size: 1.125rem; font-weight: 700; color: var(--bs-dark);}
.schedule-tit {width: 100%; margin: 0.5rem 0; font-weight: 500; }
.schedule-tit span {color: var(--bs-info);}
.schedule-info {margin-bottom: 0; font-size: 0.875rem !important; font-weight: 300;}
.schedule-info i {color: var(--bs-body-color);}



/* mainScheduleSlide custom */
.main-schedule-section .row{position: relative;}
#mainScheduleSlide {position: static; border-top: 1px solid var(--bs-dark);}
/* #mainScheduleSlide .swiper-wrapper {align-items: center;} */

/* prev and next btn */
#mainScheduleSlide .swiper-button-next, 
#mainScheduleSlide .swiper-button-prev {
    --swiper-navigation-size: 1.75rem;
    width: 58px; height: 58px; color: var(--bs-gray-300);  /* top: 268px; */ top: 178px;
}

#mainScheduleSlide .swiper-button-prev, 
#mainScheduleSlide .swiper-rtl .swiper-button-next {left: 45px;}

#mainScheduleSlide .swiper-button-next, 
#mainScheduleSlide .swiper-rtl .swiper-button-prev {right: 45px;}


#mainScheduleSlide .swiper-button-prev:after, 
#mainScheduleSlide .swiper-rtl .swiper-button-next:after {content: '\F12F'; font-family: bootstrap-icons;}

#mainScheduleSlide .swiper-button-next:after, 
#mainScheduleSlide .swiper-rtl .swiper-button-prev:after {content: '\F138'; font-family: bootstrap-icons;}


/* paging */
#mainScheduleSlide .swiper-pagination {width: auto; left: 50%; bottom: auto; /* top: 265px; */ top: 175px; -webkit-transform: translateX(-50%); transform: translateX(-50%);}
#mainScheduleSlide .swiper-pagination-bullet {width: auto; height: 100%; font-size: 1.5rem; font-weight: 400; background-color: transparent; color: var(--bs-dark); display: none;}
#mainScheduleSlide .swiper-pagination-bullet.swiper-pagination-bullet-active {display: inline-block; cursor: default;} 


@media screen and (min-width: 576px) {
    .schedule-list li a {padding: 1.5rem 2rem;}
}

@media screen and (min-width: 768px) {
    .main-schedule-section .section-header {height: calc(100% - 80px);}

    .schedule-list {padding: 0;}
    .schedule-date {font-size: 1.25rem;}
    .schedule-tit  {margin: 0.75rem 0;  overflow: hidden; text-overflow: ellipsis; white-space: nowrap;}

    #mainScheduleSlide {border-top: none;}

    #mainScheduleSlide .swiper-button-next, #mainScheduleSlide .swiper-button-prev {top: 225px;}
    
    #mainScheduleSlide .swiper-button-prev, 
    #mainScheduleSlide .swiper-rtl .swiper-button-next {left: 0px}

    #mainScheduleSlide .swiper-button-next, 
    #mainScheduleSlide .swiper-rtl .swiper-button-prev {left: 150px;}

    #mainScheduleSlide .swiper-pagination {top: 222px; left: 103px;}
}

@media screen and (min-width: 992px) {
    .schedule-list {flex-direction: row; flex-wrap: wrap; gap: 1.875rem;}
    .schedule-list li {width: calc(50% - 1rem);}
    .schedule-list li a {padding: 2.5rem;}
    .schedule-tit {margin: 1rem 0;} 
}

@media screen and (min-width: 1200px) {
    #mainScheduleSlide .swiper-pagination-bullet {font-size: 1.75rem;}

    #mainScheduleSlide .swiper-button-next, #mainScheduleSlide .swiper-button-prev {top: 229px; }
    #mainScheduleSlide .swiper-button-next, #mainScheduleSlide .swiper-rtl .swiper-button-prev {left: 183px;}

    #mainScheduleSlide .swiper-pagination {left: 120px;}
}



/* 연수원 새소식 / 수강후기 */
.news-section {background-color: var(--bs-gray-500);}
.news-section .container {position: relative;}
.news-section .bar {width: 24px; height: 2px; background-color: var(--bs-dark); display: block; margin: 1.875rem 0;}

.news-tabs {margin-bottom: 34px; font-size: 1.25rem; border: none;}
.news-tabs .nav-link {padding: 0; margin-right: 14px; color: var(--bs-dark); font-weight: 300;}
.news-tabs .nav-link.active {font-weight: 500; color: var(--bs-secondary); background-color: transparent; border-color: transparent; position: relative;}
.news-tabs .nav-link.active::after {content: ''; width: 100%; height: 1px; background-color: var(--bs-secondary); position: absolute; bottom: 0; left: 0;}

.btn-more {color: var(--bs-dark); font-size: 0.875rem; font-weight: 500; position: absolute; top: 90px; right: 4%;}
.btn-more .bi-arrow-right::before {font-weight: 700 !important;}


.news-slide {position: static; padding-bottom: 48px;}
.news-slide .swiper-slide {padding: 0.5rem;}
.news-slide .swiper-slide a {width: 100%; height: 100%; padding:1.875rem 2rem; background-color: var(--bs-white); display: block; font-weight: 400;}
.news-slide .swiper-slide a:hover {color: var(--bs-body-color); box-shadow: 3px 4px 10px 0px rgb(0 0 0 / 15%);}

.news-title {font-weight: 500;}
.news-date {margin-top: 1rem;}
.news-desc {text-overflow: ellipsis; overflow: hidden; display: -webkit-box; -webkit-box-orient: vertical; -webkit-line-clamp: 2;}

.news-slide .swiper-button-next, 
.news-slide .swiper-button-prev {display: none;}

.news-slide .swiper-pagination {bottom: 0px;}
.news-slide .swiper-pagination-bullet {width: 7px; height: 7px;}
.news-slide .swiper-pagination-bullet-active {width: 18px; background-color: var(--bs-secondary);-webkit-border-radius: 0.25rem; border-radius: 0.25rem;}

@media screen and (min-width: 360px) {
    .news-tabs .nav-link {margin-right: 26px;}
}

@media screen and (min-width: 768px){
    .news-title { overflow: hidden; text-overflow: ellipsis; white-space: nowrap;}
}

@media screen and (min-width: 1200px){
    .news-slide .swiper-slide a {padding: 2.5rem 3rem;}
}

@media screen and (min-width: 1480px) {
    .news-section .container {max-width: 1420px; padding-left: 50px; padding-right: 50px;}
    .btn-more {right: 58px; top: 100px;}

    .news-slide {
        --swiper-navigation-size: 1.5rem;
    }

    .news-slide .swiper-button-next, 
    .news-slide .swiper-button-prev {top: calc(50% + 50px); display: block;}

    .news-slide .swiper-button-prev, 
    .news-slide .swiper-rtl .swiper-button-next {left: 0;}

    .news-slide .swiper-button-next, 
    .news-slide .swiper-rtl .swiper-button-prev {right: 0;}

    .news-slide  .swiper-button-next:after, 
    .news-slide  .swiper-button-prev:after {font-weight: 700; color: var(--bs-dark);}
}




/* 메인 배너 */
.banner-section {color: var(--bs-white);}
.banner-section * {color: inherit;}

.banner {padding: 0 4%; display: flex; flex-direction: column; justify-content: center; align-items: center;}
.banner > div {width: 100%;}
.banner h2 {font-weight: 400;}
.banner h3 {margin: 1.5rem 0 2.375rem 0;}

.banner .btn {min-width: 150px; font-size: 1rem; display: flex; justify-content: space-between; align-items: center; background-color: rgba(255,255,255,0.3) !important; border-width: 0;}
.banner .btn:hover {background-color: var(--bs-white) !important;}




.banner-01 {width: 100%; min-height: 430px; background: url('/images/main/main_banner_01.jpg') no-repeat right center; background-size: cover;}
.banner-02 {width: 100%; min-height: 210px; background: url('/images/main/main_banner_02.jpg') no-repeat right center; background-size: cover;}
.banner-03 {min-height: 640px; background: url('/images/main/main_banner_03.jpg') no-repeat center center; background-size: cover;}


.banner-01 ul {flex: 1 1 100%; margin-bottom: 1.5rem;}

.banner-03 .btn,
.banner-02 .btn {min-width: 200px;}
.banner-02 .btn:first-child {margin-bottom: 0.875rem;}

.banner-03 .btn:first-child  {margin-bottom: 0.875rem; margin-right: 0.875rem;}



@media screen and (min-width: 992px){
    .banner-01 ul {flex: 0 1 calc(100% - 200px); margin-bottom: 0; font-size: 1.25rem;}
}

@media screen and (min-width: 1200px){
    .banner-02 > div {display: flex; justify-content: space-between; align-items: center;}
    .banner-02 h3 {margin-bottom: 0;}

    .banner-03 {padding-top: 105px;}
}

@media screen and (min-width: 1440px){
    .banner > div {max-width: calc(667px - 4%); margin-left: auto;}
}



/* ********************* */
/* **** sub contents *** */
/* ********************* */

/* 치의학교육연수원장 인사말 */
.greeting-section {color: var(--bs-dark);}

@media screen and (min-width: 1200px){
    .greeting-section p:not(:last-child) {margin-bottom: 1.375rem;}
}


/* 치의학교육연수원 설립목적 */
.purpose-bg {width: 100%; min-height: 650px; padding: 4rem 2.5rem; background: url('/images/sub/about/m-purpose-01.jpg') no-repeat center center; background-size: cover; color: var(--bs-white);}

.purpose {padding: 3rem 1.5rem; border: 1px solid rgba(255,255,255,0.5);}
.purpose img {width: auto; height: 50px;}
.purpose p {margin: 2rem 0 0; font-weight: 500;}

@media screen and (min-width: 768px){
    .purpose {height: 100%;}
}


@media screen and (min-width: 992px){
    .purpose-bg {padding: 6.25em 2.5rem; background: url('/images/sub/about/purpose-01.jpg') no-repeat center center; background-size: cover; color: var(--bs-white); display: flex; align-items: center;}
    .purpose {padding: 4.0625rem 2rem; display: flex; flex-direction: column; justify-content: flex-start; align-items: center;}
}

@media screen and (min-width: 1200px){
    .purpose-bg {padding: 6.25em 5.375rem;}
    .purpose img {height: 62px;} 
    .purpose p {font-size: 1rem;}
}




/* 치의학교육연수원 발자취 */
.footprint-info {position: relative;}
.footprint-c {width: calc(100% - 24px); height: 60px; background-color: var(--bs-primary); color: var(--bs-gray-300); overflow-x: auto; overflow-y: hidden; white-space: nowrap;  position: absolute; bottom: -30px; left: 50%; -webkit-transform: translateX(-50%); transform: translateX(-50%); display: flex; flex-direction: row; justify-content: flex-start; align-items: center;}

.footprint-info.is-fixed .footprint-c {position: fixed; top: auto; bottom: 20px; z-index: 100;}

.footprint-c .footprint-link {display: inline-block; padding: 0.875rem 1rem; position: relative; font-weight: 700;}
.footprint-c .footprint-link:hover {color: var(--bs-white);}
.footprint-c .footprint-link::after {content: ''; width: 1px; height: 10px; background-color: var(--bs-gray-500); position: absolute; top: 50%; right: 0; -webkit-transform: translateY(-50%); transform: translateY(-50%); opacity: 0.5;}
.footprint-c .footprint-link:last-child:after {display: none;}
.footprint-c .footprint-link.active {color: var(--bs-white);}


.history dl {padding-left: 2rem; position: relative;}
.history dl:not(:last-child) {margin-bottom: 3rem;}
.history dl::before {content: ''; width: 1px; height: calc(100% + 40px); background-color: var(--bs-gray-300); position: absolute; top: 18px; left: 4px;}
.history dl:last-child::before {display: none;}


.history dt h3 {position: relative; margin-bottom: 1rem;}
.history dt h3::before {content: ''; width: 9px; height: 9px; background-color: var(--bs-primary); -webkit-border-radius: 50%; border-radius: 50%; position: absolute; left: -2rem; top: 50%; transform: translateY(-50%);}

.history dd h4 {margin-bottom: 0.25rem; font-size: 1rem;}
.history dd p {margin-bottom: 0;}
.history dd ul {font-weight: 400;}
.history dd ul li:not(:last-child) {margin-bottom: 0.625rem;}

@media screen and (min-width: 400px) {
    .footprint-c {justify-content: center;}
}

@media screen and (min-width: 992px) {

    .footprint-info.is-fixed > div {width: 100%; max-width: 390px; position: fixed; top: 160px; left: auto;}
    .footprint-info.is-fixed .footprint-c {position: relative; bottom: auto; left: auto;}

    .footprint-c {max-width: 180px; height: auto; margin-top: 48px; padding-bottom: 0; background-color: transparent; justify-content: center; flex-direction: column; align-items: flex-start;  -webkit-border-radius: 0; border-radius: 0; position: relative; bottom: auto; left: auto; -webkit-transform: none; transform: none;}
    .footprint-c .footprint-link {width: 100%; padding: 8px 0; font-size: 1.25rem; display: block;}
    .footprint-c .footprint-link:hover {color: inherit;}
    .footprint-c .footprint-link::after {display: none;}
    .footprint-c .footprint-link.active {color: var(--bs-primary);}
    .footprint-c .footprint-link.active::after {width: 100%; height: 2px; display: block; top: auto; right: auto; bottom: 0; left: 0; background-color: var(--bs-primary); opacity: 1;}
}

@media screen and (min-width: 1200px) {
    .footprint-info.is-fixed > div {max-width: 536px;}
    
    .history dl:not(:last-child) {margin-bottom: 4rem;}
    .history dl::before {height: calc(100% + 60px);}
    .history dd p {font-size: 1rem;}
}




/* 치의학교육연수원 운영위원회 교수진 */
.professor {padding: 2.5rem 2.7rem; margin-bottom: 1.5rem; border:1px solid var(--bs-gray-300); box-shadow: 1px 1px 18px 0px rgba(0, 0, 0, 0.1); display: flex; flex-wrap: wrap; align-items: flex-start; justify-self: center; flex-direction: column;}

.professor-profile {margin: 0 auto; -webkit-border-radius: 50%; border-radius: 50%; overflow: hidden;}

.professor-info {margin-top: 1.5rem;}
.professor-info .professor-name {margin-bottom: 0.625rem;}
.professor-info .professor-name span {font-size: 1rem; font-weight: 500;}
.professor-info .major {margin-bottom: 0.25rem;}

.professor-contact {display: flex; flex-wrap: wrap; justify-content: flex-start; align-items: flex-start; word-break: break-all;}
.professor-contact li:first-child {margin-right: 1rem;}

@media screen and (min-width: 576px) {
    .professor-info .major {margin-bottom: 0;}
}


@media screen and (min-width: 768px) {
    .professor {flex-direction: row; align-items: center;}
    .professor-profile {margin: 0; margin-right: 2.5rem;}
}


@media screen and (min-width: 1200px) {
    .professor {margin-bottom: 3rem;}
    .professor-info {width: calc(100% - 193px);}
    .professor-info .professor-name span {font-size: 1.125rem;}
}



/* 주요 강의 교수진 소개 */
.professor-section .professor {min-height: 210px; align-items: center; word-break: keep-all; width: 100%;}
.professor-section .professor .professor-name {margin-bottom: 0;}
@media screen and (max-width: 576px) {
.professor-section .professor {min-height: 0;}
    
}


/* 찾아오시는 길 */
.contact-section {color: var(--bs-dark);}
.contact-section h4 {font-weight: 500;}
.transport-title {margin-bottom: 1.75rem;}
.transport-icon {width: auto; height: 40px; margin-right: 0.875rem;}

.bus-list {margin-top: 1rem; margin-bottom: 1.875rem; display: flex; flex-wrap: wrap; justify-content: flex-start; align-items: flex-start; font-weight: 500;}
.bus-list li {display: flex; flex-wrap: wrap; justify-content: flex-start; align-items: center;}

.bus-color {min-width: 155px; height: 36px; margin-bottom: 0.5rem; margin-right: 1.5rem; color: var(--bs-white); background-color: var(--bs-gray-300); line-height: 36px; text-align: center; font-weight: 500;}
.bus-color.blue {background-color: #2051bb;}
.bus-color.green {background-color: #187200;}
.bus-color.pea-green {background-color: #7fc639;}
.bus-color.red {background-color: #b92234;}

@media screen and (min-width: 575px) {
    .bus-list li {flex-wrap: initial;}
}

@media screen and (min-width: 992px) {
    .bus-color {margin-bottom: 0;}
    .transport-icon {margin-right: 1rem;}
}


@media screen and (min-width: 1200px) {
    #map .wrap_map {height: 626px !important;}
}




/* 전체 프로그램 - list */
.program-section .row .col {margin-bottom: 3rem;}
.program-section .lecture-info {min-height:490px; box-shadow: 1px 1px 18px 0px rgba(0, 0, 0, 0.1);}
.program-section .lecture-info h3 {width: 100%; text-overflow: ellipsis; overflow: hidden; white-space: nowrap;}
.program-section .lecture-img {box-shadow: 1px 1px 18px 0px rgba(0, 0, 0, 0.1);}


@media screen and (min-width: 380px) {
    .program-section .lecture-img {max-width: 265px;}
}

@media screen and (min-width: 434px) {
    .program-section .lecture-img {max-width: 290px;}
}

@media screen and (min-width: 767px) {
    .program-section .lecture-info {padding: 1.4375rem 1.75rem; min-height: 200px; padding-left: 255px;}
    .program-section .lecture-img {max-width: 225px;}
}


@media screen and (min-width: 1440px) {
    .program-section .row .col {max-width: 660px;}
    .program-section .lecture-info {padding: 1.3125rem 1.75rem; padding-left: 255px}
}



/* 전체 프로그램 - view */
.nav-pills .nav-link.active, 
.nav-pills .show>.nav-link {background-color: var(--bs-lightgreen); border-color: var(--bs-lightgreen);}
.nav-pills .nav-link {min-width: 100px; border-bottom-left-radius: 0; border-bottom-right-radius: 0; border: 1px solid var(--bs-gray-300); font-weight: 400; color: var(--bs-dark);}

#tabContent {border-top: 1px solid var(--bs-gray-300); border-bottom: 1px solid var(--bs-body-color); margin-top: -1px;}

.tab-pane {padding: 1.25rem 1rem; color: var(--bs-dark);}
.tab-pane .table {min-width: 760px; vertical-align: middle;}


/* sidebar */
.sidebar {margin-top: 1.5rem; box-shadow: 1px 1px 18px 0px rgba(0, 0, 0, 0.1); overflow: hidden; margin-bottom: 0.75rem;}
.sidebar-top {position: relative;}
.sidebar-top .lecture-img {max-width: 100%; height: 50vw; position: relative; top: auto; left: auto;}
.sidebar-top .lecture-img img {width: 100%; height: 100%; position: absolute; top: 0; left: 0; object-fit: cover;}

.sidebar-body {padding: 1.625rem;}
.program-title {font-size: 1.25rem;}

.program-price {display: flex; justify-content: flex-start; align-items: center; font-size: 1rem;}
.personnel-wrap {width: 100%; margin-top: 0.25rem; font-size: 0.875rem;}
.personnel-value {font-size: 1rem;}
.sidebar .personnel {position: relative; padding-right: 20px;}
.sidebar .personnel::after {content: ''; width: 1px; height: 14px; background-color: var(--bs-gray-300); position: absolute; right: 10px; top: 50%; transform: translateY(-50%);}

.program-info-list {margin-top: 0.875rem; padding-top: 0.875rem; border-top: 1px solid var(--bs-gray-300); font-size: 1rem;}
.program-info-list li {display: flex; justify-content: flex-start; align-items: flex-start;}
.program-info-list li:not(:last-child) {margin-bottom: 0.625rem;}
.program-info-list li b {min-width: 100px; font-weight: 400; color: var(--bs-dark); display: inline-block;}

.sidebar-wrap.fixed-top  {position: static;}
.program-view p {font-size: 1rem;}

@media screen and (min-width: 412px) {
    .nav-pills .nav-link {min-width: 150px;}
    .tab-pane {padding: 2.25rem 1.625rem;}

    .program-info-list li b {width: 110px; word-break: unset;}
}

@media screen and (min-width: 992px) {
    .view {display: inline-block; width: calc(100% - 410px); vertical-align: top;}
    .sidebar-wrap {display: inline-block; width: 360px; margin-left: 30px;}
    .sidebar-wrap.fixed-top {position: fixed; top: 150px; left: auto; right: auto; width: 100%; max-width: 390px;}
    .sidebar-top .lecture-img {height: 200px;}
    .personnel-wrap {width: auto; margin-top: 0;}

    .program-form fieldset {display: inline-block; width: calc(100% - 410px); vertical-align: top;}
}


@media screen and (min-width: 1200px) {
    .program-title {font-size: 1.75rem;}
    .personnel-wrap {font-size: 1rem;}
    .personnel-value {font-size: 1.25rem;}
    .program-price {font-size: 1.25rem;}
}



/* 일정별 프로그램 */
.fc .fc-toolbar.fc-header-toolbar{width: 100%; max-width: 350px; margin: 0 auto; margin-bottom: 60px !important;}
.fc-toolbar-title {font-weight: 700;}
.fc-h-event .fc-event-title {font-weight: 400; text-overflow: ellipsis;}
#calendar .fc-button { width: 36px; height: 36px; padding: 0; background-color:transparent; -webkit-filter:invert(1); filter:invert(1); border: none}

.fc .fc-scrollgrid {border-top: 0 !important;}
.fc-theme-standard .fc-scrollgrid {border-left: 0 !important;}

.fc .fc-scrollgrid-liquid tr[role="row"] th:first-child .fc-col-header-cell-cushion,
.fc .fc-scrollgrid-liquid tr[role="row"] td:first-child .fc-daygrid-day-number{color: var(--bs-danger);}

.fc .fc-scrollgrid-liquid tr[role="row"] th:last-child .fc-col-header-cell-cushion,
.fc .fc-scrollgrid-liquid tr[role="row"] td:last-child .fc-daygrid-day-number{color: var(--bs-primary);}

.fc .fc-day-disabled {background-color: transparent !important;}

.fc-theme-standard td, .fc-theme-standard th {border-left: 0 !important; border-right: 0 !important; font-weight: 700;}
.fc-theme-standard th {text-align: left !important; text-transform: uppercase;}
.fc .fc-col-header-cell-cushion {padding: 15px 4px !important; color: #999999; font-size: 0.875rem;}
.fc .fc-daygrid-day-top {justify-content: flex-end;}

.fc-h-event.fc-daygrid-event { padding:3px 30px; margin-bottom: 10px; background-color: #eef2fa; border-color: #eef2fa; position: relative; border-radius:30px;}
.fc-h-event.fc-daygrid-event::before { content: ''; width: 8px; height: 8px; background-color: var(--bs-primary); position: absolute; top: 50%; left: 15px; transform:translateY(-50%); border-radius: 50%;}
.fc-h-event.fc-daygrid-event .fc-event-main {color: var(--bs-primary);}

.fc-h-event.fc-daygrid-event.disabled-event { background-color: #f0f0f0; border-color: #f0f0f0;}
.fc-h-event.fc-daygrid-event.disabled-event .fc-event-main{color: #888888}
.fc-h-event.fc-daygrid-event.disabled-event::before {background-color: var(--bs-body-color);}

#calendar .fc-event-selected:before, 
#calendar .fc-event:focus:before {top: 50%; left: 15px;}
#calendar .fc-event-selected:after, 
#calendar .fc-event:focus:after {background-color: transparent;}
.fc .fc-daygrid-event.fc-event-start.fc-event-end {text-align: left;}
.fc .fc-daygrid-event.fc-event-start.fc-event-end .fc-event-main {color: var(--bs-primary);}
.fc .fc-daygrid-event.fc-event-start.fc-event-end::before {display: block;}
.fc .fc-daygrid-event.fc-event-end {text-align: right;}
.fc .fc-daygrid-event.fc-event-end .fc-event-main {color: #8fa4d0;}
.fc .fc-daygrid-event.fc-event-end::before {display: none;}

.fc .fc-daygrid-day.fc-day-today {--fc-today-bg-color: #ffffff;}
.fc .fc-daygrid-day.fc-day-today .fc-daygrid-day-top {position: relative;}
.fc .fc-daygrid-day.fc-day-today .fc-daygrid-day-top::after { content: 'TODAY'; width: 48px; height: 16px; color: var(--bs-white); background-color: var(--bs-lightgreen); border-radius:2px; position: absolute; left: 30px; top: 8px; font-size: 11px; text-align: center;}


@media screen and (max-width: 767px) {
    .ed-calendar-section .btn-calendar {position: relative !important; margin-left: auto; margin-bottom: 30px;}
    #calendar .fc-header-toolbar {margin-bottom: 30px !important;}

    .fc .fc-daygrid-day.fc-day-today .fc-daygrid-day-top::after {width: 100%; top: 30px; left: 0; font-size: 10px;}
}




/* ********************* */
/* ******* footer ****** */
/* ********************* */
.footer {padding: 1.625rem 0; color: var(--footer-color); background-color: var(--footer-bg);}

.footer ul {display: flex; flex-wrap: wrap; justify-content: flex-start; align-items: center;}
.footer ul li {flex: 1 1 100%;}
.footer ul li a {color: inherit;}

.footer-top {padding: 1.25rem 0; margin-bottom: 2rem; border-bottom: 1px solid rgba(255, 255, 255, 0.2); color: var(--bs-white);}
.footer-top ul li {flex: 0 1 auto;}

.footer-top .sns-list {margin-top: 1rem;}
.footer-top .sns-list li:not(:last-child) {margin-right: 0.875rem;}

.footer address {margin-bottom: 6px;}

.footer .company-info {font-size: 0.875rem;}
.footer .company-info li::after {display: none;}

.footer .copyright {font-size: 0.75rem;}
.footer .copyright a:hover {color: var(--bs-white);}

@media screen and (min-width: 576px) {
    .footer .company-info li {flex: 0 1 auto; margin-bottom: 0;}
    .footer .company-info li:not(:last-child)::after {display: block;}
}

@media screen and (min-width: 768px) {
    .footer-top {display: flex; justify-content: space-between; align-items: center;}
    .footer-top ul li {margin-bottom: 0;}
    .footer-top .sns-list {margin-top: 0;}
    .footer .copyright {margin-bottom: 3rem;}
}





/* ******************** */
/* ******* member ***** */
/* ******************** */
.join-header {display: flex; justify-content: space-between; align-items: center;}
.join-header .join-tit {font-weight: 700; margin-bottom: 0;}
.join-header .join-grade {display: flex; align-items: center; justify-content: flex-start;}
.join-header .join-grade li { width: 8px; height: 8px; background-color: var(--bs-gray-300); border-radius:50%; -webkit-border-radius:50%; -moz-border-radius:50%; -ms-border-radius:50%; -o-border-radius:50%; margin: 0 3px;}
.join-header .join-grade li.on {background-color: var(--bs-primary);}

.join-content .text-underline {text-decoration: underline; text-underline-offset: 3px;}
.join-content .form-label {width: 100%;}

.join-content textarea.form-control {width: 100%; height: 100px; background-color: var(--bs-gray-500); border-width: 0;}


.join-c-box { width: 100%; min-height: 320px; margin-bottom: 20px; display: flex; flex-direction: column; justify-content: center; align-items: center; border: 1px solid var(--bs-gray-200); border-radius:6px; -webkit-border-radius:6px; -moz-border-radius:6px; -ms-border-radius:6px; -o-border-radius:6px; }


.form-btns .btn {min-width: 120px; height: 50px;}




/* ******************** */
/* ******* Board ****** */
/* ******************** */
/* bbs.top */
.board-title {margin-bottom: 48px; text-align: center; color: var(--dark);}
.board-title h2 {line-height: 1.5;}
.board-title p {color: var(--bs-body-color);}

.board-category {height: auto; margin: 48px 0; flex-wrap: wrap; justify-content: center; font-weight:500;}
.board-category .nav-item {margin: 0.25rem;}
.board-category .nav-item .nav-link {padding: 0.5rem 1rem;  border:1px solid var(--bs-gray-300); -webkit-border-radius: 0.5rem; border-radius: 0.5rem; display: block; color: var(--bs-dark);}
.board-category .nav-item .nav-link.active {border-color: var(--bs-primary); color: var(--bs-white); background-color: var(--bs-primary);}
.board-category .nav-item .nav-link:hover {border-color: var(--bs-primary); color: var(--bs-white); background-color: var(--bs-primary);}



/* list */
/* board-top */
.board-top {display: flex; justify-content: space-between; align-items: flex-start; flex-wrap: wrap;}
.board-top > div {margin-bottom: 16px;}
.board-top form {width: 100%;}
.board-top .total-count .count {color: var(--bs-dark); font-weight: 700;}

.search-wrap {display: flex; flex-wrap: wrap; justify-content: flex-end; align-items: center;}
.search-wrap .form-select {margin: 8px 0;}
.search-bar {width: 100%; border-bottom: 2px solid var(--bs-dark);}
.search-bar .form-control {border-width: 0; background-color: var(--bs-white);}
.search-bar .input-group-text {padding-right: 0; font-size: 1.25rem;}

@media screen and (min-width: 576px) {
    .search-wrap .form-select {flex: 1 1 calc(50% - 4px);}
    .search-wrap .form-select[name="category"] {margin-right: 8px;}
}

@media screen and (min-width: 768px) {
    .board-top form {width: auto;}
    .search-wrap {flex-wrap: nowrap;}
    .search-wrap .form-select {margin-top: 0; margin-bottom: 0; margin-right: 8px; min-width: 150px;}
    .search-bar {min-width: 360px; max-width: 360px;}
}

/* all-chk */
.all-chk {margin-top: 16px;}
.all-chk .form-check-input {margin-top: 0.2em;}

/* 공지 아이콘 */
.icon-bell {width: 30px; height: 30px; background-color: var(--bs-secondary); display: flex; justify-content: center; align-items: center; margin: 0 auto;}
.icon-bell .bi-bell-fill::before {vertical-align: -0.15em;}

.board-list .badge {padding: 0.5rem 0.75rem; font-size: 0.875rem; font-weight: 500;}

.board-list .row {margin-top: 48px;}
.board-list .subject {margin-top: 20px;}
.board-list .subject a {color: var(--bs-dark);}

.board-list table {margin-top: 48px; min-width: 800px;}
.board-list table thead {border-top: 2px solid var(--bs-dark); border-bottom: 1px solid var(--bs-gray-100);}
.board-list table tbody td {text-align: center; vertical-align: middle;}

.board-list table tbody tr.notice:hover {--bs-table-accent-bg: var(--bs-lightblue);}


/* pagenation */
.pagination {padding: 0.375rem 0.75rem; /* margin-top: 40px; */ display: flex; justify-content: center; align-items: center;}
.page-item-c {color: var(--body-color);}
.page-item-c.active a {color: var(--bs-danger);}
.page-link-c {position: relative; display: block; padding: 0.375rem 0.75rem; font-weight: 700 }
.page-link-c img {min-width: 8px;}

.bi.bi-chevron-bar-right::before {content: ''; width: 14px; height: 13px; background: url('/images/common/btn/btn_paging_next_end.png') no-repeat center center; display: inline-block;}

.bi.bi-chevron-bar-left::before {content: ''; width: 14px; height: 13px; background: url('/images/common/btn/btn_paging_prev_end.png') no-repeat center center; display: inline-block;}

@media screen and (min-width: 1200px) {
    .pagination {font-size: 1.125rem; /* margin-top: 48px; */}
}



/* view */
.board-view {word-break: break-all;}
.board-view .table {table-layout: fixed;}
.board-view .table th,
.board-view .table td {border-bottom: 1px solid var(--bs-gray-300);}
.board-view .table tbody {border-top: 2px solid var(--bs-dark);}
.board-view .table tbody tr.content td{padding: 1.5rem 1rem;}
.board-view .table tbody tr:not(.content) th {background-color: var(--bs-gray-100); color: var(--bs-dark); font-weight: 500;}
.board-view .table tbody tr.img td {min-height: 53px; display: flex; flex-wrap: wrap; justify-content: flex-start; word-break: break-all;}
.board-view .table tbody tr.img td a {width: 100%;}

.board-view .table tbody tr.file td {min-height: 53px; display: flex; flex-wrap: wrap; justify-content: flex-start; word-break: break-all; gap: 0 5PX;}
/* .board-view .table tbody tr.file td a {width: 100%;} */


@media screen and (min-width: 768px) {
    .board-view .table tbody tr.file td {gap: 8px;}
    .board-view .table tbody tr.file td a {width: auto;}
}

.view-title {margin-bottom: 8px; display: flex; flex-wrap: wrap; justify-content: space-between; align-items: center;}
.view-title .title {display: flex; flex-wrap: wrap; justify-content: flex-start; align-items: center;}
.view-title .title .badge {padding: 0.5rem 0.75rem; margin-bottom: 0.5rem; margin-right: 8px; font-size: 0.875rem; font-weight: 500;}
.view-title .title h4 {width: 100%; margin-bottom: 0; text-align: left; color: var(--bs-dark); font-weight: 500;}
.view-title .title .date {font-size: 1rem; font-weight: 400;  margin-top: 8px;}

.writer-wrap {margin-top: 8px; font-weight: 400;}
.writer-wrap .writer {color: var(--bs-primary);}
.writer-wrap span:not(.writer) {padding: 0 8px; display: inline-block;}

@media screen and (min-width: 768px) {
    .board-view .table tbody tr.content td{padding: 2rem 1.5rem;}
    .view-title {margin-bottom: 16px;}
    .writer-wrap {margin-top: 0px;}
}

@media screen and (min-width: 1200px){
    .view-title .title .date {margin-top: 0px;}
}



/* comment */
.comment-count {font-size: 1rem;}
.comment-icon {width:22px; height: 22px; display: inline-block; background-color: var(--bs-gray-300); border-radius: 4px; text-align: center; line-height: 22px;}
.comment-date {color: var(--body-color); margin-left: 4px;}

.board-view .btn-gray-2 {width: 120px; height: 100px; margin-left: 8px !important; border-radius: 6px !important;}

.list-group-flush {text-align: left;}
.list-group-flush li {padding: 30px 20px !important; background-color: var(--bs-gray-100); border-top: 1px solid var(--bs-gray-200); color: var(--bs-body-color);}
.list-group-flush>.list-group-item {border-width: 1px 0 0;}
.list-group-flush li span b {color: var(--bs-dark);}

.comment-writer .writer {display: block; line-height: 1; font-weight: 500;}

.comment-options,
.comment-cencel {position: absolute; top: 1.375rem; right: 1.375rem;}
.comment-options .btn,
.comment-cencel .btn {width: 22px; height: 22px; padding: 0; text-align: center; line-height: 22px; background-color: var(--bs-gray-400); font-size: 0.875rem;}

.comment-form textarea.form-control {width: 100%; height: 100px; -webkit-border-radius: 0.5rem !important; border-radius: 0.5rem !important;}
.comment-form .btn {width: 100%; height: 50px; -webkit-border-radius: 0.5rem !important; border-radius: 0.5rem !important;}

@media screen and (min-width: 576px) {

}

@media screen and (min-width: 576px) {
    .comment-writer .writer {display: inline-block; font-size: 1.125rem;}
}

@media screen and (min-width: 768px) {
    .comment-form textarea.form-control {width: calc(100% - 128px);}
    .comment-form .btn {width: 120px; height: 100px;  margin-top: 0; margin-left: 8px !important;}
}

.comment-write-form {padding-top: 24px; border-top: 1px dashed var(--bs-gray-300);}


/* form */
.board-form {border-top: 2px solid var(--bs-dark); padding-left: 0; padding-right: 0;}
.board-form .form-group.row {margin-left: 0; margin-right: 0;}
.board-form .form-group .col-form-label {color: var(--bs-dark); padding: 20px 0 8px 0; font-weight: 500; display: flex; justify-content: flex-start; align-items: center; padding: 1rem;}
.board-form + .board-btns {justify-content: center;}

.board-form .form-group {border-bottom: 0;}


@media screen and (min-width: 576px) {
    .board-form .form-group {border-bottom: 1px solid var(--bs-gray-300);}
    .board-form .form-group .col-form-label {background-color: var(--bs-gray-100);}
    .board-form .col-sm-10 {padding: 1rem;}
}

/* board-btns */
.board-btns {margin-top: 24px; display: flex; flex-wrap: wrap; justify-content: space-between;}
.board-btns .btn {min-width: 90px; height: 50px; margin: 8px; margin-left: 0;}
.board-btns .btn-md {min-width: 120px;}
.board-btns .left {display: flex; flex-wrap: wrap; justify-content: flex-start; }

@media screen and (min-width: 992px) {
    .board-btns {margin-top: 48px;}
}


@media screen and (min-width: 1200px) {
    .board-btns .btn {height: 60px; font-size: 18px;}
}


.empty-list {padding: 48px 0; text-align: center; border-top: 1px solid var(--bs-gray-300); border-bottom: 1px solid var(--bs-gray-300);}

/* ************************* */
/* ** 홍보동영상 (G.video) ** */
/* ************************* */
.video-wrap {position: relative; padding-bottom: 56.25%; margin-bottom: 20px; overflow: hidden;}
.video-wrap iframe,
.video-wrap object,
.video-wrap embed {position: absolute; top: 0; left: 0; width: 100%; height: 100%;}


/* ************************* */
/* ** 제품소개 (G.Product) ** */
/* ************************* */
/* list */
.g-product {margin-bottom: 48px;}
.g-product:last-child {margin-bottom: 0;}
.g-product a {display: block; padding: 1.5rem 1rem; border: 1px solid var(--bs-gray-300);-webkit-border-radius: 0.5rem; border-radius: 0.5rem; overflow: hidden; text-align: center;}
.g-product a div {text-align: left;}
.g-product a .form-check-input {min-width: 16px;}
.g-product a p {margin-bottom: 0; color: var(--bs-dark); overflow: hidden; text-overflow: ellipsis; display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical;}

@media screen and (min-width: 1200px) {
    .g-product a p {font-size: 1.125rem;}
}

/* view */
.g-product-img {border: 1px solid var(--bs-gray-300); -webkit-border-radius: 0.5rem; border-radius: 0.5rem; overflow: hidden;}
.g-product-btns {display: flex; justify-content: flex-start; align-items: center;}
.g-product-btns .btn {flex:1 1 calc(100% - 5px); height: 50px; line-height: 38px;}

@media screen and (min-width: 1200px) {
    .g-product-btns .btn {height: 60px; line-height: 48px;}
}





/* ************************* */
/* ***** faq (F.basic) ***** */
/* ************************* */
.board-view.faq span:not(.badge) { color: var(--bs-body-color) !important;}
.accordion-wrap {border-top: 1px solid var(--bs-gray-dark);}
.accordion-wrap .card {padding: 0; border-bottom: 1px solid var(--bs-gray-200);}
.accordion-wrap .card .card-body {padding:0;}

/* admin 로그인 시 나타나는 타이틀 */
.accordion-wrap .card .card-title {margin-bottom: 0; font-size: 1rem; font-weight: 500; color: var(--bs-gray-dark); padding: 22px 46px 20px 30px; display: inline-block; position: relative;}
.accordion-wrap .card .card-title::before {content: 'Q.'; font-weight: 800; font-family: 'Montserrat', Sans-serif; position: absolute; top: 20px;  left: -8px;}
.accordion-wrap .card .card-title.collapsed {color: var(--bs-gray-dark);}

/* 로그인 안했을 때 */
.accordion-wrap .card a.btn {min-height: 60px; height: 100%; position: relative; padding: 20px 46px 20px 60px; line-height: 1.5;}
.accordion-wrap .card a.btn:focus {box-shadow: none;}
.accordion-wrap .card a.btn::before {content: 'Q.'; font-weight: 800; font-family: 'Montserrat', Sans-serif; position: absolute; top: 20px;  left: 26px;}
.accordion-wrap .card a.btn::after {content: ''; width: 20px; height: 20px; background: url('/images/common/icon/icon-arrow.png') no-repeat center center; position: absolute; top: 50%; right: 26px; transform: translateY(-50%);}
.accordion-wrap .card a.btn[aria-expanded="true"]::after {background: url('/images/common/icon/icon-arrow-on.png') no-repeat center center;}

.accordion-wrap .card a.btn[aria-expanded="true"] {background-color: #eef2fa; color: var(--bs-primary);}
.accordion-wrap .card a[aria-expanded="true"].btn::before {color: var(--bs-gray-dark);}

.accordion-wrap .card .qu {font-family: 'Montserrat', Sans-serif; color: var(--bs-gray-dark); font-weight: 800; margin-right: 10px;}

.accordion-wrap .collapsing .card-body {position:relative; padding: 20px 26px 20px 68px; background-color: var(--bs-gray-100);}
.accordion-wrap .collapsing .card-body::before {content: 'A.'; font-weight: 800; font-family: 'Montserrat', Sans-serif;position: absolute; top: 20px; left: 26px; color: var(--bs-primary);}
.accordion-wrap .collapsing .card-body span {background-color: transparent !important; }

.accordion-wrap .collapse .card-body{ position: relative; padding: 20px 26px 20px 68px;background-color: var(--bs-gray-100);}
.accordion-wrap .collapse .card-body span {background-color: transparent !important;}
.accordion-wrap .card .collapse .card-body::before {content: 'A.'; font-weight: 800;position: absolute; top: 20px; left: 26px; color: var(--bs-primary);}


@media screen and (max-width: 575px) {
    .accordion-wrap .card a.btn {padding: 20px 36px 20px 50px;}
    .accordion-wrap .card a.btn::before {left: 16px;}
    .accordion-wrap .card a.btn::after {right: 16px;}

    .accordion-wrap .collapsing .card-body{padding: 20px 20px 20px 50px;}
    .accordion-wrap .collapsing .card-body::before {left: 16px;}

    .accordion-wrap .collapse .card-body {padding: 20px 20px 20px 50px;}
    .accordion-wrap .card .collapse .card-body::before {left: 16px;}
}



/* ************************* */
/* *** partner (G,babber) ** */
/* ************************* */
.g-banner .subject {margin-top: 0.875rem;  color: var(--bs-dark);}
.g-image {padding: 0.5rem; border: 1px solid var(--bs-gray-300); -webkit-border-radius: 0.5rem; border-radius: 0.5rem; display: flex; justify-content: center; align-items: center;}
.g-image img {width: auto; height: auto;}


/* *************************** */
/* 언젠간 지울 것. 게시판 스타일 */
/* *************************** */
.board-form-groups {border-top: 1px solid #000000;}
.board-form-groups .col-form-label {background-color: #f8f9fa; color: var(--bs-dark); font-weight: 500; display: flex; justify-content: flex-start; align-items: center; padding: 1rem;}
.board-form-groups .form-group {border-bottom: 1px solid #ced4da; margin-left: -20px; margin-right: -20px;}

@media screen and (max-width: 576px) {
    .board-form-groups {border-top: 1px solid #000000;}
    .board-form-groups .col-form-label {background-color: transparent; padding: 20px 0 8px 0}
    .board-form-groups .form-group {border-bottom: 0; }
}

/* 20240213 메인 틀어지는 부분 잡음 */

@media screen and (min-width:768px) {
    .main-schedule {min-height: 290px;}
    .schedule-empty {margin-top: 4rem;}
}

/* 20240529 게시판 커스텀 */
.md-hide {
    display: none;
}
@media screen and (min-width: 768px) {
    .md-hide {
        display: table-cell;
    }
}


.board-list .new-table {min-width: auto;}

@media screen and (max-width: 360px) {
    .new-table {word-break: break-all;}
}


/* 로그인 로그아웃 */

@media screen and (min-width: 1200px) {
.m-logout {display: none;}
.m-login {display: none;}
}
