@import url("https://fastly.jsdelivr.net/gh/orioncactus/pretendard@v1.3.9/dist/web/static/pretendard.min.css");
@import url("https://unpkg.com/pretendard@1.3.9/dist/web/static/pretendard.min.css");

html, body, div, span, h1, h2, h3, h4, h5, h6, p, a, em, img, strong, sub, sup, b, u, i, dl, dt, dd, ol, ul, li, form, label, table, tr, th, td, input, button, select, textarea {
    font-family: 'Pretendard', -apple-system, BlinkMacSystemFont, system-ui, Roboto, "Helvetica Neue", "Segoe UI", "Apple SD Gothic Neo", "Noto Sans KR", sans-serif !important;
}

input[type="number"]::-webkit-outer-spin-button,
input[type="number"]::-webkit-inner-spin-button {
	-webkit-appearance: none;
	margin: 0;
}

.feedback_red,.invalid-feedback{font-size: 12px;color: #50A7C2;text-align: left;padding-top: 10px;}

.feedback_red:before,
.invalid-feedback:before{content: '';display: inline-block;background: url(../images/Emark_small.png) no-repeat 0 0;width: 15px;height: 15px;background-size: contain;margin-right: 5px;}

/* project delete ?업 커스? */
.swal2-popup{border-radius: 0px !important;color: #333;width: 340px !important;}
.swal2-buttonswrapper{margin-top: 0 !important;flex-direction: column;}
.swal2-title{padding: 50px 20px !important;line-height: 1;font-size: 1.2rem !important;color: #333 !important;font-weight: 400 !important;}
.swal2-styled{width: 100% !important;height: 50px;padding: 0 !important;margin: 0 !important;flex-direction: row !important;border-radius: 0px !important;}
.swal2-styled a{display: inline-block;width: 100%;}
.swal2-popup .swal2-content{margin: 0px 10px 20px 10px !important;font-family: 'Montserrat', sans-serif;font-size: 0.7rem;}
.swal2-confirm{background-color: #333 !important;color: #fff !important;}
.swal2-cancel{background-color: transparent !important;color: #333 !important;margin-top: 10px !important;}
.swal2-cancel:hover{text-decoration: underline;}
.enterIcon{width: 13px;margin-right: 5px;vertical-align: middle;}
.fa-copy,.fa-external-link-alt{margin-right: 5px;font-size: 0.9rem;}

/* header - 주메??*/
#header .gnb{float: left;margin: 20px 0 0 20px;width:120px;position: absolute;top:0;left:190px;}
#header .gnb li{width: 100%;display: none;}
#header .gnb:hover li{display: block;background-color: #333;}
#header .gnb:hover li a{color: #fff;border: 1px solid #fff;box-sizing: border-box;}
#header .gnb li a{display: inline-block;font-family: 'Noto Sans KR', sans-serif;font-weight: 100;font-size: 0.8rem;
width: 100%;padding: 10px 15px;color: #333;transition: all 0.3s 0s ease;box-sizing: border-box;border: 1px solid transparent;}
#header .gnb > li{position: relative;float: left;text-align: left;}
#header .gnb > li a:hover{color: rgba(255,255,255,0.5);}
#header .gnb > li a img{width: 15px;margin-right: 8px;vertical-align: middle;}
#header .gnb .active{display: block;}

/* header - tab - 개인?보?정 base */
.tab-base{width: 100%;height: 100%;background-color: transparent;z-index: 36;position: absolute;left: 0;top: 0;}

.loading{position: fixed;left: 50%;top: 46%;transform: translate3d(-50%,-50%,0); z-index: 999;}
.loading i{width: 20px;height: 20px;display: inline-block;border-radius: 50%;background: #50A7C2;margin: 0 3px;}
.loading i:first-child{animation:loading-ani2 0.5s linear infinite;opacity: 0;transform:translate(-20px);}
.loading i:nth-child(2),.loading i:nth-child(3){animation:loading-ani3 0.5s linear infinite;}
.loading i:last-child{animation:loading-ani1 0.5s linear infinite;}
@keyframes loading-ani1{
100%{
    transform:translate(40px);
    opacity: 0;
}
}
@keyframes loading-ani2{
100%{
    transform:translate(20px);
    opacity: 1;
}
}
@keyframes loading-ani3{
100%{
    transform:translate(20px);
}
}



/* pc */
@media (min-width: 1024px) {
    /* header - tab - 개인?보?정 */
    #header .tab {
        display: none;
        position: absolute;
        right: 25px;
        top: 60px;
        text-align: left;
        font-size: 0.95rem;
        font-weight: 500;
        width: auto;
        min-width: 150px;
        max-width: none;
        white-space: nowrap;
        border: 1px solid rgba(0, 0, 0, 0.08);
        background-color: #ffffff;
        border-radius: 12px;
        box-shadow: 0 10px 25px rgba(0, 0, 0, 0.1);
        padding: 6px 0;
        z-index: 9999;
        overflow: hidden;
    }
    #header .tab .tabM li {
        padding: 0;
        border-bottom: none;
        color: #333333;
    }
    #header .tab .tabM li.tab-name {
        padding: 10px 18px;
        font-weight: 600;
        color: #1a202c;
        border-bottom: 1px solid rgba(0, 0, 0, 0.06);
        margin-bottom: 4px;
        font-size: 0.95rem;
    }
    #header .tab .tabM li.tab-name::before {
        display: none;
    }
    #header .tab .tabM a {
        display: flex;
        align-items: center;
        padding: 10px 18px;
        color: #4a5568 !important;
        text-decoration: none;
        transition: all 0.2s ease;
        background: none !important;
        border: none !important;
        box-shadow: none !important;
        transform: none !important;
        width: 100% !important;
        font-size: 0.95rem !important;
    }
    #header .tab .tabM a:hover {
        color: #1a202c !important;
        background-color: #f7fafc !important;
    }
}
/* tablet */
@media (max-width: 1023px) {
    /* header - tab - 개인정보수정 */
    #header .tab { display: none !important; }
    .loading { left: 50% !important; top: 340px !important; }
}

/* 공통 푸터 스타일 */
#footer {
    width: 100% !important;
    background-color: #ffffff !important;
    border-top: 1px solid #e2e8f0 !important;
    box-sizing: border-box !important;
}

#footer .footer-inner {
    max-width: 1140px !important;
    margin: 0 auto !important;
    padding: 24px 20px !important;
    box-sizing: border-box !important;
    text-align: center !important;
}

#footer .footer-info {
    display: flex !important;
    flex-wrap: wrap !important;
    justify-content: center !important;
    gap: 8px 16px !important;
    font-size: 0.8rem !important;
    color: #64748b !important; /* slate-500 */
    line-height: 1.6 !important;
    margin-bottom: 8px !important;
}

#footer .footer-info span {
    position: relative !important;
    display: inline-block !important;
}

#footer .footer-info span:not(:last-child)::after {
    content: '|' !important;
    position: absolute !important;
    right: -10px !important;
    color: #cbd5e1 !important; /* slate-300 */
    font-weight: 300 !important;
}

#footer .footer-copyright {
    font-size: 0.8rem !important;
    color: #94a3b8 !important; /* slate-400 */
    font-weight: 500 !important;
    margin-top: 4px !important;
}

/* Sticky Footer */
#wrap {
    display: flex !important;
    flex-direction: column !important;
    min-height: 100vh !important;
}
#container {
    flex: 1 !important;
    height: auto !important;
}
