@charset "utf-8";

@import url(../fonts/SUIT.css);
@import url(../fonts/fonts.css);

html { font-size: 14px; min-width: 340px; overflow-x: hidden; scroll-padding-top: 90px;}
body {font-family: Pretendard400; font-size: 1rem;}
body.hidden { position: fixed; overflow-y:hidden;  touch-action: none; }
main { font-size: 1.4rem; line-height:2.1rem; color:#666;
    display: block; padding: 66px 0 !important; overflow: hidden}
a, button { color:#666; }
p, li { word-break: keep-all; }

.clear { clear:both; }
.clear:after { content:""; display:block; clear:both; }
caption {overflow: hidden;width: 0;height: 0;font-size: 0;line-height: 0;}
label.hidden{position: absolute;width: 1px;height: 1px;margin: -1px;padding: 0;overflow: hidden;clip: rect(0, 0, 0, 0);border: 0;}
.sr-only{position: absolute;width: 1px;height: 1px;margin: -1px;padding: 0;overflow: hidden;clip: rect(0, 0, 0, 0);border: 0;}

.skipNavi {position: absolute; left: 0; top: 0; z-index: 999; width: 100%; text-align: center;}
.skipNavi a {position: absolute;top: -999px;left: -999px;}
.skipNavi a:focus, .skipNavi a:active{
    top: 0; left: 0; padding: 10px;
    background: #3C42B0; color: #fff;
    font-family: Pretendard500;
    font-size: 14px;
    text-decoration: none;
    width: 100%; height: 60px;
    display: flex; align-items: center; justify-content: center;
}
.skipNavi a:focus{outline-color: #fff; outline-offset: -4px;}

main {
    color: #000;
}

/* display */
.d-none { display: none; }
.d-inline-block { display: inline-block; }
.d-block { display: block; }
.d-flex { display: flex; }
.d-table { display: table; }
.d-inline { display: inline; }
.hide { display: none; }

/* fullpage */
.fp-item { }

/* background */
.bg-yellow { background-color: #ffcc00; }


.bg-full {
    height: 100vh;
    background-position: center center;
    background-size: cover;
    background-repeat: no-repeat;
    background-attachment: scroll;
}

.bg {
    height: 100%;
    width: 100%;
    background-position: center center;
    background-size: cover;
    background-repeat: no-repeat;
}

.bg-filter {
    /*background-color: rgba(30, 49, 114, 0.5);*/
    background: rgba(73, 87, 111, 0.3);
    /*opacity: 0.8;*/
}

.bg-round {
    border-radius: 20px;
}

.screen-img {
    width: 100%;
    height: auto;
    object-fit: cover;
}

.img-wrap {
    padding: 20px;
}

.btn:hover {
    cursor: pointer;
    opacity: 0.8;
}

.btn-menu-all {
    display: inliine-block;
    cursor: pointer;
    background: transparent;
}

.btn-menu {
    display: none;
    cursor: pointer;
    background: transparent;
}
.btn-menu > img,
.btn-menu-all > img{width: 55px; height: 55px;}

.btn-round {
    display: inline-block;
    width: 180px;
    height: 50px;
    line-height: 50px;
    border-radius: 30px;
    border-width: 3px;
    border-color: #fff;
    border-style: solid;
    background-color: transparent;
    font: 700 1.2rem 'SUIT';
    color: #fff;
    text-align: center;
    position: relative;
    overflow: hidden;
}

.btn-round span {
    display: inline-block;
    color: #fff;
    padding-top: 6px;  /* FIXME, y position error with bootstrap */
}

.btn-effect {
    transition: 0.5s;

    &:before {
        content: url('../images/ic_arrow_right.svg');
        font-family: FontAwesome;
        position: absolute;
        display: flex;
        align-items: center;
        justify-content: center;
        right: 0;
        top: 0;
        opacity: 0;
        height: 100%;
        width: 60px;
        transition: 0.5s;
    }

    &:hover {
        text-indent: -15px;

        &:before {
            opacity: 1;
            text-indent: 0px;
        }
    }
}

.btn-round-blue {
    border-color: #3674D7;
}

.btn-round-blue > span {
    color: #3674D7;
}

.btn-round-green:hover {
    background-color: #56826D;
    border-color: #56826D;;
    transition: 0.5s;
}

.btn-round-blue:hover {
    background-color: #3674D7;
    border-color: #3674D7;;
    transition: 0.5s;
}

.btn-round-blue:hover > span {
    color: #fff;
}

.btn-arrow {
    display: inline-block;
    width: 50px;
    height: 50px;
    border: 3px solid #6A6464;
    border-radius: 50%;
    margin-left: 10px;
    margin-bottom: 14px;
    text-align: center;
}

.btn-arrow svg path {
    padding-bottom: 30px;
}

.btn-arrow svg {
    padding-bottom: 5px;
    padding-right: 5px;
}

.btn-arrow:hover {
    background-color: #56826D;
    border: 3px solid #56826D;
    transition: 0.3s;
}

.btn-arrow:hover svg path {
    fill: #fff;
    transition: 0.3s;
}

.btn-page {
    display: inline-block;
    width: 15px;
    height: 15px;
    border-radius: 50%;
    margin: 0 8px;
    background-color: #fff;
    cursor: pointer;
}

.btn-page-active {
    background-color: #54AFD7;
}

.page-btn-container {
    margin-top: 30px;
    text-align: center;
}


header {
    position: sticky;
    top: 0;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 40px;
    width: 100%;
    height: 90px;
    background-color: #fff;
    z-index: 1000;
    box-shadow: 0 2px 2px 2px rgba(0, 0, 0, 0.1);
    padding: 0 24px 0 24px;
}

header > .logo > img {height: 42px;}

header > nav {
    display: flex;
    align-items: center;
    height: 90px;
}

header > nav > ul {
    display: flex;
    gap: 70px;
    flex-wrap: wrap;
    height:100%;
}

header > nav > ul > li {
	position:relative;
    display: inline-block;
    text-align: center;
    width: 140px;
}

header > nav > ul > li:last-child .sub-menu,
header > nav > ul > li:last-child{width: 154px;}

header > nav > ul > li > a {
	display:flex;
	align-items:center;
	justify-content:center;
    color: #000;
    font-family: SCDream500;
    font-size: 19px;
    letter-spacing: -0.6px;
    height:100%;
}
header > nav > ul > li:hover > a {
    color: #5D33B0;
}

/* [new]메뉴 제어 */
@media screen and (max-width:1599px) {
    header{padding: 0 10px;}
}
@media screen and (max-width:1500px) {
    header > nav > ul{gap: 40px;}
}
@media screen and (max-width:1400px) {
    header > nav > ul{gap: 30px;}
    header > nav > ul > li, .sub-menu{width: 124px !important;}
    header > nav > ul > li:last-child .sub-menu,
    header > nav > ul > li:last-child{width: 152px !important;}
}
@media screen and (max-width:1260px) {
    .logo-lg{display: none;}
    .logo-sm{display: block !important;}
    header{gap:0}
    header > nav > ul{gap: 20px;}
}
@media screen and (max-width:1025px) {
    .logo-lg{display: block;}
    .logo-sm{display: none !important;}
}
@media screen and (max-width:420px) {
    .logo-lg{display: none;}
    .logo-sm{display: block !important;}
}

/* 공통 추가 */
.flex-row {
    display: flex;
    align-items: center;
}
.flex-col {
    display: flex;
    flex-direction: column;
}
.scroll-x-table{overflow: auto; width: 100%;}

/* grid */
.grid-col-2{
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 40px;
}
.grid-col-4{
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
}

/* grid-column */
.col-span-3 {
    grid-column: span 3 / span 3;
}

/* gap */
.gap30{gap: 30px;}

.top-pad {
    height: 100px;
    width: 100%;
}
.top-pad.smaller {height: 40px;}
.top-pad.small {height: 60px;}
.top-pad.large {height: 160px;}

.wrap {
    max-width: 1440px;
    margin: 0 auto;
    padding: 0 20px;
    /*overflow: hidden;*/
}

.wrap-1274 {
    width: 1274px;
    margin: 0 auto;
}

.wrap-1100 {
    width: 1100px;
    margin: 0 auto;
}

.vcenter {
    display: table-cell;
    vertical-align: middle;
}

/* banner */
.banner-container {
    width: 100%;
    /*overflow: hidden;*/
}

.top-banner {
    width: 100%;
    /*height: 400px;*/
    height: 300px;
    padding-bottom:55px;
    position: relative;
    background-image: url('../images/main-bg-slide-1.png') !important;
    background-size:cover;
}

.top-banner .bg-filter {
    position: relative;
    width: 100%;
    height: 100%;
}

.top-banner-contents {
    position: absolute;
    /*top: 50%;*/
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    color: #fff;
}

.top-banner h1 {
    color: #fff;
    font-family: 'GmarketSans700';
    font-size: 48px;
}
.top-banner p{
    font-family: 'GmarketSans700';
    font-size: 14px;
    color: #A8EFFF;
    padding-bottom: 16px;
}


/* banner style */
.banner-breadcrumb {
    /* padding: 20px 0; */
    margin-top: 40px;
    font-size: 25px;
    color: #fff;
}


/* sub menu */
.sub-menu {
    display: none;
    position: absolute;
    top: 90px;
    z-index: 100;
    text-align: center;
    margin: 0 auto;
    padding-top: 20px;
    width: 140px;
}

.sub-menu-item-title {
    display: block;
    height: 1px;
    font-weight: 600;
    font-size: 20px;
    opacity: 0;
    z-index: -100;
    transform: translate(0, -200px);
    overflow: hidden;
}

.sub-menu-item {
    display: block;
    font-weight: 400;
    font-size: 19px;
    padding-bottom: 24px;
}

.sub-menu-item:hover {
    color: #5D33B0;
    font-weight: 700;
}

.sub-menu-back {
    display: none;
    position: fixed;
    left: 0;
    top: 90px;
    width: 100%;
    height: 285px;
    z-index: 99;
    background-color: #fff;
    border-top: 1px solid #5D33B0;
    border-bottom: 1px solid #5D33B0;
}

header > nav:hover .sub-menu,
header > nav:hover .sub-menu-back,
header > nav > ul:hover .sub-menu,
header > nav > ul:hover .sub-menu-back,
.sub-menu:hover,
.sub-menu-item:hover,
.sub-menu-back:hover
{
    display: block;
}

/* overlay menu */
.overlay {
    /* Height & width depends on how you want to reveal the overlay (see JS below) */
    height: 100%;
    width: 0;
    position: fixed; /* Stay in place */
    z-index: 9999; /* Sit on top */
    left: 0;
    top: 0;
    background-color: rgb(255,255,255); /* Black fallback color */
    background-color: rgba(255,255,255, 1); /* Black w/opacity */
    overflow-x: hidden; /* Disable horizontal scroll */
    transition: 0.3s; /* 0.3 second transition effect to slide in or slide down the overlay (height or width, depending on reveal) */
    flex-basis: 0;
    overflow: hidden;
}

/* Position the content inside the overlay */
.overlay-content {
    position: relative;
    top: 100px;
    width: 100%; /* 100% width */
    height: calc(100% - 100px);
    text-align: center; /* Centered text/links */

    /* 30px top margin to avoid conflict with the close button on smaller screens */
    /* margin-top: 30px;  */

    border-top: 1px solid #5D33B0;
    overflow: auto;
}
.overlay-content::-webkit-scrollbar  {
    background: #f3f3f3;
    height: 8px;
    width: 6px;
    border-radius: 8px;
}
.overlay-content::-webkit-scrollbar-track {
    background: #f3f3f3;
    border-radius: 8px;
}
.overlay-content::-webkit-scrollbar-thumb{
    background-color: #dbdbdf;
    border-radius: 8px;
}

/* The navigation links inside the overlay */
.overlay a {
    padding: 8px;
    text-decoration: none;
    font-size: 20px;
    display: block; /* Display block instead of inline */
    transition: 0.3s; /* Transition effects on hover (color) */
}

/* When you mouse over the navigation links, change their color */
.overlay a:hover, .overlay a:focus {
    color: #5D33B0;
}

  /* Position the close button (top right corner) */
.overlay .closebtn {
    position: absolute;
    top: 0;
    right: 0;
    font-size: 60px;
    color: #333;
    padding: 3px 40px 7px 40px;
}

.menu-items {
    flex-basis: 100%;
    height: 100%;
    color: #000;
    padding-top: 77px;
}

.menu-items:hover {
    background-color: rgba(222, 198, 222, 0.4);
}

.menu-items .depth-1 {
    font-size: 22px;
    font-weight: 700;
    margin-bottom: 48px;
    cursor: default;
}

.depth-1 {
    display: table-cell;
    vertical-align: middle;
}

.depth-1:hover {
    color: #56826D;
}

.depth-2:hover {
    color: #56826D;    font-weight: 700;
}
@media all and (max-width: 1025px) {
	.menu-items{padding:20px 12px}
	.menu-items .depth-1{
		margin-bottom:24px;
	}
}

/* tab */
.tab-items {
    display: flex;
    justify-content: center;
    border-bottom: 1px solid #DDDDDD;
    font-size: 20px;
    font-weight: 700;
    color: #6A6464;
    width: 100%;
    max-width: 1400px;
    margin: 0 auto 45px auto;
    box-shadow: 0 20px 40px 0 rgba(198, 198, 198, 0.2);
}
.tab-item {
    padding: 13px 20px;
    cursor: pointer;
    width: 100%;
    background: #fff;
    text-align: center;
    font-family: GmarketSans500;
    font-size: 17px;
    font-weight: 700;
}
.tab-item.active {
    border-bottom: 3px solid #5D33B0;
    color: #5D33B0;
}
.tab-contents {
    display: none;
}
.tab-contents.active {
    display: block;
}

/* footer */
footer {
    position: relative;
    width: 100%;
    bottom: 0;
    color: #2F3747;
    background-color: #F0F5FD;
    padding: 82px 0 87px 0;
}
footer > .inner{
    max-width: 1440px;
    padding: 0 10px;
    margin: 0 auto;
}

.footer-logo-container {
    display: flex;
    align-items: center;
    gap: 10px;
}

.footer-info-container {
    font-family: Pretendard400;
    font-size: 16px;
    line-height: 150%;
    flex: 1;
}
.wa-mark img{
    width: 96px;
    height: 66px;
    object-fit: contain;
}


/* main, infocenter features */
#page2-features {
    margin-top: 160px;
    border: 1px solid #B9BDC3;
    border-radius: 40px;
    padding-top: 20px;
    padding-bottom: 20px;
}

.features-notice {
    margin-top: 18px;
    margin-left: 42px;
    margin-right: 42px;
    margin-bottom: 34px;
}

.feature-title {
    font-size: 20px;
    font-weight: 600;
    line-height: 25px;
    color: #0C2A4B;
    margin: 10px 0;
}

.feature-detail {
    font-size: 15px;
    font-weight: 600;
    color: #6A6464;
    line-height: 20px;
}

.feature-item {
    border: 1px solid #B9BDC3;
    border-width: 0 1px 0 0;
}

.feature-item:last-child {
    border-width: 0;
}

/* table style */
/*.th-border {*/
/*    border: 2px solid #ABBED1;*/
/*    border-width: 2px 0 2px 0;*/
/*}*/

.table-responsive.scroll > table{min-width: 1000px;}
table.th-border{
    border-top: 2px solid #6033BB;
 }
table.th-border tr:hover td{
    color: #521cbd;
}
table.th-border tr:hover td a,
table.th-border tr:hover td a p{
    color: #521cbd;
    font-family: "Pretendard600";
}
table.th-border tr:hover td img{
    filter: brightness(0) saturate(100%) invert(15%) sepia(76%) saturate(4147%) hue-rotate(258deg) brightness(87%) contrast(105%);
}
table.th-border th {
    padding: 1rem .8rem;
    border-bottom: 1px solid #828fa9;
    background: #F3EFFD;
    color: #521cbd;
}
table.th-border td {
    border-bottom: 1px solid #ddd;
    font-family: "Pretendard400";
    color: #333;
}
.table>:not(caption)>*>*{
    padding: .8rem .8rem;
    word-break: keep-all;
    vertical-align: middle;
    background: #fff;
}
.table-striped>tbody>tr:nth-of-type(odd)>*{
    --bs-table-bg-type: #fff;
}
.table-striped>tbody>tr:nth-of-type(even)>*{
    /* 연한 보라 ↓↓↓↓ */
    /*--bs-table-bg-type: rgba(243, 236, 255, 0.2);*/
}
.noticeTable td{height: 69px;}
.fixed-line{
    /* 연한 그레이 ↓↓↓↓ */
    background: rgba(231, 231, 231, 0.2) !important;
    box-shadow: none !important;
}

/* 반응형 테이블 */
@media all and (max-width: 767px) {
    /*공지사항*/
    .noticeTable thead,
    .noticeTable td:first-child,
    .noticeTable td:last-child{display: none}
    .noticeTable colgroup col {width: auto !important;}
    .noticeTable tbody tr {
        display: block;
        position: relative;
        border-bottom: 1px solid #dedede;
    }
    .noticeTable td{
        display: flex;
        align-items: center;
        flex-wrap: wrap;
        row-gap: 4px;
        padding: 0 20px !important;
        border-bottom: 0 !important;
        font-size: 14px;
        line-height: 150%;
        height: 100%;
    }
    .noticeTable td:nth-child(2){
        padding-top: 20px !important;
        padding-bottom: 10px !important;
    }
    .noticeTable .board-title{
        overflow: hidden;
        text-overflow: ellipsis;
        white-space: normal;
        display: -webkit-box;
        -webkit-line-clamp: 2;
        -webkit-box-orient: vertical;
    }
    .noticeTable .board-title,
    .input-search::placeholder{font-size: 16px;}
    .noticeTable td:nth-child(4),
    .noticeTable.etc td:nth-child(5){
        padding-bottom: 20px !important;
    }
    .noticeTable.etc td:nth-child(4){
        padding-bottom: 0 !important;
    }
    .noticeTable.etc td[data-content="관련과재"]{
        color: red !important;
    }
}

/* 컨텐츠 테이블 */
.cont-table.scroll{min-width: 600px;}
.cont-table{border-top: 2px solid #919FCB;}
.cont-table thead{
    font-family: 'Pretendard600';
    font-size: 18px;
    color: #000;
    letter-spacing: -0.5px;
    line-height: 130%;
}
.cont-table thead th{padding: 14px 20px;}
.cont-table th,
.cont-table .th{
    text-align: center;
    background: #F8FAFF;
    font-weight: normal;
}
.cont-table th,
.cont-table td{
    border-bottom: 1px solid #DEDEDE;
    border-right: 1px solid #DEDEDE;
    padding: 18px 20px;
}
.cont-table tbody{
    font-family: 'Pretendard400';
    font-size: 17px;
    color: #444;
    letter-spacing: -0.5px;
    line-height: 150%;
}
.cont-table tbody th,
.cont-table tbody .th{
    font-family: 'Pretendard500';
    font-size: 18px;
    color: #1B1B1B;
}

.table-memo{margin: 18px 0 10px 0;}
.table-memo p{
    font-family: 'Pretendard400';
    font-size: 14px;
    color: #656E7A;
    letter-spacing: -0.5px;
    line-height: 150%;
}


/*.cont-table tbody tr:last-child th,*/
/*.cont-table tbody tr:last-child td{*/
/*    border-bottom: 1px solid transparent;*/
/*}*/


/* override bootstrap table style */
/* .table-striped>tbody>tr:nth-child(odd)>td,
.table-striped>tbody>tr:nth-child(odd)>th {
    background-color: rgba(217, 217, 217, 1);
} */

/* 페이징 */
.page-ind-conntainer{
    display: flex;
    align-content: center;
    justify-content: center;
    gap: 4px;
}
.page-ind {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 30px;
    height: 30px;
    background: #F0F1F5;
    border-radius: 5px;
    font-family: Pretendard500;
    font-size: 16px;
    color: #555;
}

.page-ind.arrow {
    border: 1px solid #fff;
    background: transparent;
    border-radius: 5px;
    width: 30px; height: 30px;
    overflow: hidden;
}
.page-ind.arrow > img{
    width: 20px; height: 20px;
}

.page-ind:hover,
.page-ind.arrow:hover{
    border: 1px solid #6033BB;
}

.page-ind.active {
    color: #6033BB;
    background: #F6F1FF;
    border: 1px solid #6033BB;
    font-family: Pretendard600;
}

/* 검색어 */
.indicator{
    display: flex; flex-wrap: wrap; align-items: flex-end;
    justify-content: space-between; padding-bottom: 20px;
    row-gap: 10px;
}
.indicator > p{margin-right: 40px;}
.search-container{
	font-size:16px;
}
.search-container > .row-wrap{
    display: flex; align-items: center;
    flex-wrap: wrap; column-gap: 20px; row-gap: 10px;
}
.search-container > .row-wrap .fld-scope{
	display:flex;
	gap:4px;
	align-items:center;
}
.search-container select{
	appearance:auto;
}
.search-container select,
.search-container input[type="date"]{
	height: auto;
    border: 1px solid #dddde1;
    border-radius: 4px;
    background-color: #fff;
    padding:8px 10px;
    font-family: 'Pretendard500';
    font-size:16px;
    color: #6c6d70;
    line-height: 100%;
    letter-spacing: -0.5px;
	
}
.search-container input[type="date"]{
	width:50%;
	max-width:200px;
}
.search-container button{
    background: linear-gradient(45deg, #3242CC 14.5%, #913AB9 100%);
    width: 36px; height: 36px;
    border-radius: 50%;
}

.search-container button > img{
    filter: brightness(0) invert(1);
    width: 24px; height: 24px;
    margin-left: 2px; margin-bottom: 4px;
}

/* ======================================== */
/* 데이터 조회 - 검색 폼 */
.search-form{
    width: 100%;
    background: #F4F5F9;
    border-radius: 10px;
    padding: 35px 40px;
    display: flex; align-items: center;
    flex-wrap: wrap; gap: 12px;
}
.search-form label{
    font-family: 'Pretendard700';
    font-size: 17px;
    color: #1D1D1D;
    line-height: 100%;
    letter-spacing: -0.5px;
    white-space: nowrap;
    padding-right: 12px;
}
.search-form .search-select,
.search-form select,
.search-form input{
    width: 100%;
    height: auto;
    border: 1px solid #717171;
    border-radius: 8px;
    background-color: #fff;
    font-family: 'Pretendard500';
    font-size: 17px;
    color: #1D1D1D;
    line-height: 100%;
    letter-spacing: -0.5px;
}
.search-form input::placeholder {color: #8E8E8E;}
.search-form .search-select,
.search-form select{
    width: 180px;
    padding: 15px 40px 14px 16px ;
    appearance: none; /* 기본 스타일 제거 */
    -webkit-appearance: none; /* Safari에서 기본 스타일 제거 */
    -moz-appearance: none; /* Firefox에서 기본 스타일 제거 */
    background-image: url('/static/original/images/ic_arrow_down_selectbox.png');
    background-repeat: no-repeat;
    background-position: right 15px center;
}
.search-form input{
    padding: 13px 48px 13px 16px ;
}
.search-form .input-set{
    position: relative;
}
.search-form .input-set input + button{
    position: absolute;
    border-radius: 10px;
    top: 1px;
    right: 1px;
    width: 46px;
    height: 46px;
    background: transparent;
    background-image: url('/static/original/images/ic_search_selectbox.png');
    background-repeat: no-repeat;
    background-position: right 10px center;
}
.search-form .input-set input + button:focus,
.search-form input:focus{outline: auto;}

/* ======================================== */
/* 데이터 조회 - 카드 리스트 */
.card-list-wrap{
    margin-top: 50px;
}

/* indicator */
.card-list-wrap .indicator {
    display: flex;
    align-items: center;
    justify-content: center;
    flex-wrap: wrap;
    column-gap: 24px;
    row-gap: 10px;
    padding-bottom: 40px;
}
/* 게시글 갯수 */
.card-list-wrap .count {
    font-family: Pretendard600;
    font-size: 30px;
    line-height: 150%;
    letter-spacing: -1px;
    color: #1d1d1d;
}
.card-list-wrap .count > strong {
    font-family: Pretendard700;
    color: #6033BB;
    margin-left: 8px;
    margin-right: 2px;
}

/* board-card */
.board-card {
    width: 100%;
    height: 100%;
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 40px;
}
@media all and (max-width: 1130px) {
    .board-card {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}
@media all and (max-width: 860px) {
    .board-card {
        grid-template-columns: repeat(1, minmax(0, 1fr));
    }
}
.board-card .card {
    border: 1px solid #c6c6c6;
    border-radius: 12px;
    padding: 33px 32px 32px 32px;
    display: flex;
    flex-direction: column;
    gap: 10px;
}
.board-card .card .title{
    width: 100%;
    font-family: Pretendard600;
    font-size: 21px;
    line-height: 150%;
    letter-spacing: -0.3px;
    color: #1d1d1d;
    display: flex;
    align-items: center;
}
.board-card .card .title > span{
    max-width: calc(100% - 30px);
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}
.board-card .card .text {
    font-family: Pretendard400;
    font-size: 18px;
    line-height: 150%;
    letter-spacing: -0.3px;
    color: #6D757E;
    word-break: break-all;
    min-height: 102px;
    max-height: 102px;
    overflow: hidden;
    text-overflow: ellipsis;
    display: -webkit-box;
    -webkit-line-clamp: 4;
    -webkit-box-orient: vertical;
    margin-bottom: 16px;
}
.board-card .card .day {
    font-family: Pretendard500;
    font-size: 16px;
    line-height: 100%;
    letter-spacing: -0.3px;
    color: #797676;
    position: relative;
    padding-left: 24px;
}
.board-card .card .day::before {
    content: "";
    width: 17px;
    height: 17px;
    background: url("/static/original/images/ic_day_time.png") no-repeat;
    background-position: center;
    background-size: contain;
    position: absolute;
    left: 0;
}
.board-card .card:hover{
    border: 1px solid #6033BB;
    outline: 2px solid #6033BB;
}
.board-card .card:focus{
    outline: 3px solid #6033BB;
    outline-offset: -1px;
}
@media all and (max-width: 700px) {
    .search-form {padding: 24px 20px;}
    .search-form label{font-size: 14px;}
    .search-form .search-select,
    .search-form select,
    .search-form input{font-size: 14px;}
    .search-form .flex-row,
    .search-form .search-select{width: 100%;}

    .card-list-wrap .count{font-size: 24px;}
    .board-card .card{padding: 26px;}
    .board-card .card .title{font-size: 18px;}
    .board-card .card .text {margin-bottom: 4px;
        font-size: 16px; line-height: 160%;}
    .board-card .card .day{font-size: 14px;}
    .board-card .card .day::before{top: -1px;}
}

/* ============================================================ */
/* 오픈소스 */
.image-wrap.shadow{
    width: 100%;
    border: 1px solid #EAEAEA;
    border-radius: 20px;
    /*box-shadow: 20px 30px 40px 0 rgba(0, 41, 67, 0.051);*/
    box-shadow: none !important;
    padding: 40px 30px 50px 30px;
    margin: 20px 0 34px 0;
    overflow: auto;
}
.bizKdca-layout .image-wrap.shadow{
    border: 0 !important;
    padding: 6px 30px 50px 30px;
}
.image-wrap.shadow > img{
    width: 100%;
    object-fit: cover;
}
.image-wrap.shadow.scroll > img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}
.image-wrap.shadow.center{display: flex; justify-content: center;}
.image-wrap::-webkit-scrollbar {
    background: #f3f3f3;
    height: 8px;
    width: 6px;
    border-radius: 8px;
}
.image-wrap::-webkit-scrollbar-track {
    background: #f3f3f3;
    border-radius: 8px;
}
.image-wrap::-webkit-scrollbar-thumb {
    background-color: #dbdbdf;
    border-radius: 8px;
}
@media screen and (max-width: 1280px) {
    .image-wrap.shadow .openSource-pc{display: none;}
    .image-wrap.shadow .openSource-tablet{display: block !important;}
    .image-wrap.shadow.scroll > img{min-width: 900px;}
}
@media screen and (max-width: 700px) {
    .image-wrap.shadow .openSource-tablet{display: none !important;}
    .image-wrap.shadow .openSource-mobile{display: block !important;}
    .image-wrap.shadow.scroll > img{min-width: 600px;}
}

.conts{
    font-family: Pretendard600;
    flex: 1; width: 100%;
}
.conts .tit-name{
    font-family: Pretendard700;
    font-size: 28px;
    line-height: 120%;
    color: #3C42B0;
    padding-bottom: 18px;
}
.conts .flex-row,
.conts .flex-col,
.conts .flex-row-center{
     display: flex;
     align-items: flex-start;
     column-gap: 10px;
    flex-wrap: wrap;
 }
.conts .flex-row-center{
    align-items: center;
}
.conts .flex-row,
.conts .flex-row-center{margin-bottom: 6px;}
.conts .flex-row > label,
.conts .flex-row-center > label,
.conts .flex-col > label{
    padding: 0;
    font-size: 16px;
    line-height: 140%;
    color: #111;
}
.conts .flex-row > div,
.conts .flex-row-center > div,
.conts .flex-col > div{
    width: 100%;
    flex: 1;
    font-family: Pretendard400;
    font-size: 16px;
    color: #6D757E;
    line-height: 140%;
    word-break: keep-all;
}
.conts .flex-row .dot,
.conts .flex-row-center .dot,
.conts .flex-col .dot{
    position: relative;
    padding-left: 24px;
}
.conts .flex-row .dot.pdtb,
.conts .flex-row-center .dot.pdtb,
.conts .flex-col .dot.pdtb{
    padding-top: 6px;
    padding-bottom: 2px;
}
.conts .flex-row .dot::before,
.conts .flex-row-center .dot::before,
.conts .flex-col .dot::before{
    content: "ㆍ";
    color: #2C34B1;
    font-size: 24px;
    position: absolute;
    left: 0;
    top: 1px;
}
.conts .flex-row .dot.pdtb::before,
.conts .flex-row-center .dot.pdtb::before,
.conts .flex-col .dot.pdtb::before{
    top: 6px;
}
@media screen and (max-width: 600px) {
    .conts .flex-row,
    .conts .flex-row-center{flex-direction: column !important;}
}

/* ============================================================ */
/* location */
.location{
    width: 100%;
    background: linear-gradient(105.16deg, #E6F0FF 12.52%, #F3EFFD 100%);
    color: #505C7B;
    position: relative;
}
.location .inner{
    display: flex;
    align-items: center;
    max-width: 1400px;
    margin: 0 auto;
}
.location .home{
    width: 55px; min-width: 55px;
    height: 55px;
    display: flex;
    align-items: center;
    justify-content: center;
    background: linear-gradient(200.25deg, #B8E4FF 21.95%, #D0C1FD 100%);
    cursor: pointer;
}

/* location - selectBox */
.location-select {
    display: inline-block;
    width: 260px;
    height: 55px;
    border-right: 2px solid #fff;
    text-align: left;
    position: relative;
}
.location-select .selected {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding-right: 16px;
    width: 100%;
    height: 100%;
}
.location-select .selected .selected-value {
    width: 100%;
    height: 100%;
    padding: 17px 16px 17px 20px;
    font-family: Pretendard600;
    font-size: 15px;
    letter-spacing: -0.2px;
    color: #505C7B;
}
.location-select .selected .arrow {
    width: 24px;
    height: 24px;
    background: url('/static/original/images/ic_arrow_down_location.png') no-repeat;
    background-size: 12px 7px;
    background-position: center;
    cursor: pointer;
}
.location-select ul {
    width: calc(260px - 2px);
    position: absolute;
    z-index: 99;
    top: 57px;
    left: 0;
    background: linear-gradient(105.16deg, #E6F0FF 12.52%, #F3EFFD 100%);
    border-top: none;
    border-radius: 0 0 15px 15px;
    overflow: hidden;
    margin: 0;
    cursor: pointer;
    display: none;
}
.location-select.active ul {
    display: initial;
}
.location-select ul li {
    height: 55px;
    display: flex;
    align-items: center;
    font-family: Pretendard600;
    font-size: 15px;
    letter-spacing: 0;
    color: #505C7B;
    border-bottom: 2px solid #fff;
}
.location-select ul li:last-child {border-bottom: 0;}
.location-select ul li a {
    width: 100%;
    height: 100%;
    padding: 16px 20px;
}
.location-select ul li a,
.location-select .selected .selected-value {
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}
.location-select ul li:hover {
    background: #DFE3FF;
    transition: all 0.3s ease-in-out;
}
.location-select ul li a.option.active {
    background: linear-gradient(200.25deg, #B8E4FF 21.95%, #D0C1FD 100%);
}
.location-select ul li a:focus{outline-offset: -2px;}
/* ============================================================ */

/* font size */
.fs-10 { font-size: 10px; }
.fs-15 { font-size: 15px; }
.fs-17 { font-size: 17px; }
.fs-18 { font-size: 18px; }
.fs-19 { font-size: 19px; }
.fs-20 { font-size: 20px; }
.fs-22 { font-size: 22px; }
.fs-25 { font-size: 25px; }
.fs-30 { font-size: 30px; }
.fs-40 { font-size: 40px; }
.fs-64 { font-size: 64px; }

/* font-weight */
.fw-4 { font-family: Pretendard400; }
.fw-5 { font-family: Pretendard500; }
.fw-6 { font-family: Pretendard600; }
.fw-7 { font-family: Pretendard700; }
.fw-8 { font-family: Pretendard800; }
.fw-9 { font-family: Pretendard900; }

/* line height */
.lh-15 { line-height: 15px; }
.lh-18 { line-height: 18px; }
.lh-20 { line-height: 20px; }
.lh-30 { line-height: 30px; }

/* colors */
/*.c-em { color: #E05B10; }*/
.c-em { color: #4251D6; }
.c-em-blue { color: #3674D7; }
.c-em-blue2 { color: #2C34B1; }
.c-green { color: #56826D; }
.c-th { color: #4251D6; }
.c-gray { color: #8A8D93; }
.c-purple { color: #5D33B0; }
.c-em-blue-dark { color: #3B54A1; }

/* background colors */
.bg-contents { background-color: rgba(155, 203, 160, 0.2); }

/* colors for test */
.bg-red { background-color: #f00; }
.bg-blue { background-color: #00f; }
.bg-green { background-color: #0f0; }
.bg-yellow { background-color: #ff0; }
.bg-6 { background-color: #666; }
.bg-7 { background-color: #777; }
.bg-8 { background-color: #888; }
.bg-9 { background-color: #999; }
.bg-a { background-color: #aaa; }
.bg-b { background-color: #bbb; }
.bg-c { background-color: #ccc; }
.bg-d { background-color: #ddd; }
.bg-e { background-color: #eee; }
.bg-f { background-color: #fff; }

/* 타이틀 */
.ic-title{
    font-family: GmarketSans700;
    font-size: 21px;
    line-height: 130%;
    letter-spacing: -0.5px;
    color: #262F6A;
    position: relative;
    padding-left: 30px;
    word-break: keep-all;
    width: fit-content;
}
.ic-title::before{
    content: "";
    width: 24px;
    height: 24px;
    background: url("/static/original/images/ic_title_intrcn.png") no-repeat;
    background-position: center;
    background-size: contain;
    position: absolute;
    left: 0;
}
h3, h3.title, .h3.title {
    font-family: GmarketSans500;
    font-weight: 500;
    font-size: 34px;
    letter-spacing: -0.5px;
    color: #262F6A;
    margin: 0 0 42px 0;
}

/* 차트 */
.chart .grid-col-2{margin-right: 0px;}
.chart-wrap{
    border: 1px solid #EAEAEA;
    margin-top: 14px;
    padding: 30px 20px;
    border-radius: 15px;
    box-shadow: 20px 30px 40px 0 rgba(0, 41, 67, 0.08);
    overflow: auto;
}
.chart-wrap::-webkit-scrollbar {
    background: #f3f3f3;
    height: 8px;
    width: 6px;
    border-radius: 8px;
}
.chart-wrap::-webkit-scrollbar-track {
    background: #f3f3f3;
    border-radius: 8px;
}
.chart-wrap::-webkit-scrollbar-thumb {
    background-color: #dbdbdf;
    border-radius: 8px;
}
.chart-wrap.bar{padding: 20px 40px 20px 20px;}
.chart-wrap .center{width: 100%; min-width: 440px; margin: 0 auto;}
.chart-wrap.bar .center{min-width: 550px;}

@media screen and (max-width:1280px) {
    header > nav {
        display: flex;
    }

    .btn-menu-all {
        display: inline-block;
    }

    .btn-menu {
        display: none;
        cursor: pointer;
    }
	header > nav > ul{
		gap:10px;
	}
    header > nav > ul > li > a {
        color: #000;
        font-size: 17px;
    }

    .sub-menu-item-title {
        font-weight: 600;
        font-size: 17px;
    }

    .sub-menu-item {
        font-weight: 600;
        font-size: 17px;
    }

    .wrap {
        width: 100%;
        padding-left: 8px;
        padding-right: 8px;
    }

    .wrap-1274 {
        padding-left: 8px;
        padding-right: 8px;
        width: 100%;
    }

    .wrap-1100 {
        padding-left: 8px;
        padding-right: 8px;
        width: 100%;
    }
}

/* tablet */
@media screen and (max-width: 1025px) {
    header > nav {
        display: none;
    }

    .btn-menu-all {
        display: none;
    }

    .btn-menu {
        display: inline-block;
    }

    footer {padding: 54px 0;}
    .footer-info-container{font-size: 15px;}
    .footer-logo-container {
        flex-direction: column;
        align-items: flex-start;
        position: relative;
    }
    .wa-mark{
        position: absolute;
        right: 0;
        top: 40px;
    }

    .wrap {
        width: 100%;
        padding-left: 8px;
        padding-right: 8px;
    }

    .wrap-1274 {
        padding-left: 8px;
        padding-right: 8px;
        width: 100%;
    }

    .wrap-1100 {
        padding-left: 8px;
        padding-right: 8px;
        width: 100%;
    }

    .feature-item {
        border-width: 0;
    }

    /* 차트 */
    .wrap.chart .grid-col-2{
        grid-template-columns: repeat(1, minmax(0, 1fr));
    }
    .wrap.chart .top-pad.large{height: 100px;}
    .wrap.chart h5.flex-row{flex-wrap: wrap; row-gap: 6px;}
}

/* mobile */
@media screen and (max-width: 767px) {
    header{gap: 0;}
    header > nav {
        display: none;
    }

    .btn-menu-all {
        display: none;
    }

    footer {
        padding: 30px 0;
    }
    .footer-info-container{font-size: 14px;}
    .footer-logo-container > img{height: 40px;}
    .wa-mark{position: relative; top: 0;}

    .location-select ul{width: 100%;}

    .wrap {
        width: 100%;
        padding-left: 8px;
        padding-right: 8px;
    }

    .wrap-1274 {
        padding-left: 8px;
        padding-right: 8px;
        width: 100%;
    }

    .top-pad {height: 70px;}
    .top-pad.large {height: 100px;}

    .tab-item {
        padding: 13px 10px;
    }

    .top-banner {
        height: 250px !important;
    }

    .top-banner h1 {
        font-weight: 700;
        font-size: 25px;
    }

    .banner-breadcrumb {
        margin-top: 40px;
        font-size: 15px;
    }

    .img-wrap {
        padding-left: 0;
        padding-right: 0;
    }

    .feature-item {
        border-width: 0;
        margin-top: 20px;
    }

    /* 차트 */
    .wrap.chart .grid-col-2{
        margin-right: 0;
    }
}

@media screen and (max-width: 640px) {
	.top-banner{
		height:300px !important;
		padding-bottom:110px;
	}
	.location .inner{
		flex-direction:column;
	}
	.location .home{
		display:none;
	}
	.location-select{
		width:100%;
	}
}
/* 모달 스타일 */
    .modal-overlay {
        position: fixed;
        top: 0;
        left: 0;
        width: 100%;
        height: 100%;
        background: rgba(0, 0, 0, 0.5);
        z-index: 9999;
        display: flex;
        justify-content: center;
        align-items: center;
    }

    .modal-container {
        background: #fff;
        border-radius: 8px;
        width: 400px;
        max-width: 90%;
        box-shadow: 0 4px 20px rgba(0, 0, 0, 0.3);
    }

    .modal-h {
        display: flex;
        justify-content: space-between;
        align-items: center;
        padding: 20px 25px;
        border-bottom: 1px solid #e5e5e5;
        font-family:Pretendard400;
}

    .modal-h h3 {
        margin: 0;
        font-size: 18px;
        font-weight: 600;
        color: #333;
    }

    .modal-close {
        background: none;
        border: none;
        font-size: 24px;
        color: #999;
        cursor: pointer;
        padding: 0;
        line-height: 1;
    }

    .modal-close:hover {
        color: #333;
    }

    .modal-body {
        padding: 25px;
    }

    .modal-desc {
        text-align: center;
        color: #666;
        font-size: 15px;
        margin-bottom: 20px;
        line-height: 1.6;
    }

    .modal-input-group {
        margin-bottom: 15px;
    }

    .modal-input-group label {
        display: block;
        font-size: 14px;
        font-weight: 500;
        color: #333;
        margin-bottom: 6px;
    }

    .modal-input-group input {
        width: 100%;
        height: 42px;
        padding: 0 12px;
        border: 1px solid #ddd;
        border-radius: 4px;
        font-size: 15px;
        box-sizing: border-box;
    }

    .modal-input-group input:focus {
        border-color: #1e88e5;
        outline: none;
    }

    .modal-result {
        padding: 6px;
        text-align: center;
    }

    .modal-result.success {
        background: #e8f5e9;
        color: #2e7d32;
    }

    .modal-result.fail {
        background: #ffebee;
        color: #c62828;
    }

    .modal-footer {
        display: flex;
        justify-content: center;
        gap: 10px;
        padding: 20px 25px;
        border-top: 1px solid #e5e5e5;
    }

    .modal-footer button {
        min-width: 100px;
        height: 40px;
        border-radius: 4px;
        font-size: 15px;
        font-weight: 500;
        cursor: pointer;
        border: none;
    }

    .btn-cancel {
        background: #f5f5f5;
        color: #666;
    }

    .btn-cancel:hover {
        background: #e0e0e0;
    }

    .btn-confirm {
        background: #188dc3;
        color: #fff;
    }

    .btn-confirm:hover {
        background: #1679a7;
    }

    .btn-confirm:disabled {
        background: #90caf9;
        cursor: not-allowed;
    }

    .find-area a:hover {
        text-decoration: underline !important;
    }

    .btn-resend {
        min-width: 80px;
        height: 42px;
        background: #f5f5f5;
        color: #666;
        border: 1px solid #ddd;
        border-radius: 4px;
        font-size: 13px;
        cursor: pointer;
    }

    .btn-resend:hover {
        background: #e0e0e0;
    }

    .btn-resend:disabled {
        background: #f5f5f5;
        color: #bbb;
        cursor: not-allowed;
    }

    #findPwAuthCode::-webkit-outer-spin-button,
    #findPwAuthCode::-webkit-inner-spin-button {
        -webkit-appearance: none;
        margin: 0;
    }


/* 251204 임혜경 다국어 버튼 추가  */
header .header-util{display:flex;align-items:center;gap:16px}
header .header-util .language-switcher{position:relative}
header .header-util .language-switcher button{background:transparent}
header .header-util .language-switcher .lang-btn{display:inline-flex;align-items:center;gap:6px;font-size:16px}
header .header-util .language-switcher .lang-btn::after{content:"";display:block;width:18px;height:18px;background:url("/static/original/images/ic_acc_arrow_down.png") no-repeat center / 60%;transition:transform .2s}
header .header-util .language-switcher .lang-btn.on::after{transform:rotate(-180deg)}
header .header-util .language-switcher .dropdown-lst{display:none;position:absolute;left:50%;top:30px;z-index:1000;border-radius:6px;background:#fff;border:1px solid #ededed;box-shadow:0px 0px 10px 0px rgba(0, 0, 0, 0.1);overflow:hidden;transform:translateX(-50%)}
header .header-util .language-switcher .dropdown-lst li:hover{background:#f4f4f4}
header .header-util .language-switcher .dropdown-lst button{padding:4px 16px;font-size:15px}
header .header-util .language-switcher .dropdown-lst button:hover{color:#4251D6}

/* ============================================================ */
/* 251204 임혜경 영문 추가  */
.en header > nav > ul{flex-wrap:nowrap}
.en header > nav > ul > li{width:auto !important}
.en header > nav > ul > li .sub-menu{width:100% !important}
.en .footer-logo-container{gap:40px}

@media screen and (max-width:1280px) {
	.en header > nav > ul{gap:30px}
}
@media screen and (max-width: 1260px) {
	.en header{gap:40px}
}
@media screen and (max-width: 1025px) {
		.en .footer-logo-container{gap:20px}
	
}
