@charset "utf-8";
@import url(http://fonts.googleapis.com/earlyaccess/nanumgothic.css);

/* Element Reset */

/********************************      Basic Structure      ********************************/

html {
                font-size: 100%;
                height: 100%;
                 /* Always show a scrollbar to avoid jumping when the scrollbar appears  */
                }



/********************************      Elements styling      ********************************/


h1            { font-family: Calibri, Helvetica, Arial, sans-serif; font-size: 31px; font-weight: bold; color: #fff; }
h2            { font-size: 26px; padding: 0 0 10px 0; }
h3            { font-size: 17px; padding: 0 0 10px 0; }
h4            { font-size: 16px; padding: 0 0 5px 0; }
h5            { font-size: 14px; padding: 0 0 5px 0; }
h6            { font-size: 12px; padding: 0 0 5px 0; }


a              { color: #0078cc; text-decoration: none;  }
a:hover     { color: #000; }
a:active     { color: #777; }
a:focus     { outline: 1px; }

a.title              { color: #333; text-decoration: none;  }
a.title:hover        { color: #03296f;  }
a.button             { color: #333; text-decoration: none;  }
a.button:hover       { color: #03296f; }

strong       { font-weight: bold; color: #333; }

small   		{ font-size: 0.85em; }

pre           { font-family: monospace; }

p {
                padding: 5px 0 10px 0;
                line-height: 1.6em;
                }


.button {
		        font-family: Verdana, Arial, sans-serif;
                display: inline-block;
                border: 1px solid #777; 
                background-color:#fdd602;

                font-size: 11px;
                cursor: pointer;
                font-weight:bold;
		color:#333;
		border-radius: 10px;
		padding-top:3px;
		padding-bottom:5px;
		padding-left:10px;
		padding-right:10px;
                }
                
.button:hover, .button:focus {
                color:#0078cc;
                }


/********************************      General Classes      ********************************/

.clear {
                clear: both;
                }
				
.align-left {
                float: left;
                }
				
.align-right {
                float: right;
                }

/************ Layout ************/
#body-wrapper
 {
                margin:0 auto;
                text-align:center;

                }
                
#main-content
{
    text-align:center;
    width:100%;
    position:relative;
    margin-left:auto;
    margin-right:auto;


}
#leftmenu_wrap
{
    width:100%;
    height:auto;
    display:inline-block;

}
#contents_wrap
{
    max-width: 1100px;
    margin:0 auto;
    width: 100%;
    min-height: 750px;
    height:auto;
    display:inline-block;
    vertical-align:top;
    position:relative;
    text-align:center;
/*    padding-bottom:100px;*/
    float:none;

}

#main_visual
{
    width:100%;
    vertical-align:top;
    text-align:center;

}

#main_visual table{
    font-family:  'Nanum Gothic','Noto Sans KR', sans-serif;
    width: 100%;
    margin: 0 auto;
}

#main_visual table tbody tr {
    font-size:14px;height:50px;
}

#main_visual table tbody tr td{
    border-bottom:1px solid #EDEDED;
    vertical-align:middle;
}

.table_trHeaderInput td{
    padding:10px 0;
    text-align:right;
}

.table_trHeaderInput select{
    border: 1px solid #cccccc; 
    height:45px !important;
    padding-left:10px;
    font-size:14px;
    border-radius: 0.25rem;
}

.table_trHeaderInput input[type="text"]{
    border: 1px solid #cccccc; 
    width:230px;
    height:45px !important;
    padding-left:10px;
    font-size:14px;
    border-radius: 0.25rem;
}

.table_trHeaderInput input[type="button"]{
    margin-left:5px;
    border: 1px solid #cccccc;
    width:63px;
    height:45px !important;
    background-color:white;
    color:black;
    text-align:center;
    cursor:pointer;
    font-size:14px;
    font-weight:bold;
    border-radius: 0.25rem;
}

.table_trHeaderInput input[type="button"]:hover{
    margin-left:5px;
    border: 1px solid #545454;
    width:63px;
    height:36px !important;
    background-color:#545454;
    color:white;
    text-align:center;
    cursor:pointer;
    font-size:14px;
    font-weight:bold;
    transition: 0.2s;
}

.table_trHeaderDiv {
    border-radius: 0.25rem;
    display: inline-block;
    width: 80px;
    font-size: 14px;
    font-weight: bold;
    color: #666666;
    border: 1px solid #cccccc;
    height: 30px;
    line-height: 30px;
    text-align: center;
    cursor: pointer;
    background-color: white;
    transition: 0.2s;
}

.table_trHeaderDiv:hover {
    border-color: #545454;
    background-color: #545454;
    color: white;
}

.table_trHeaderDiv.active {
    border-color: #333333; /* 선택된 항목 테두리 색상 */
    background-color: #333333; /* 선택된 항목 배경색 */
    color: white; /* 선택된 항목 글자색 */
}

.table_trHeader{
    font-size:14px;
    height:50px;
    background-color:#f8f8f8;
    color: #666666;
}

.table_trHeader td{
    border-top:1px solid #555555;
    border-bottom:1px solid #EDEDED;
    font-weight:bold;
    vertical-align:middle;
    text-align:center;
}

.table_blank{
    width:100%!important;
    border-top:1px solid #000000;

}
.table_blank tr td:first-child{
    border-bottom:1px solid #EDEDED; vertical-align:middle;height:48px;width:150px;background-color:#f8f8f8;color:#333333;font-weight:bold;padding-left:30px;font-size:14px;
}

.table_blank tr td:nth-child(2){
    border-bottom:1px solid #EDEDED; vertical-align:middle;padding-left:30px;width:auto;font-size:14px;
}


#main_visual > img{
    width: 80%;
}

.leftmenu_logo
{
    margin-top:80px;
    margin-bottom:80px;

}
.leftmenu_footer
{
    margin-top:80px;
    /*margin-bottom:40px;*/
    font-size:11px;
     font-weight:bold;
   color:#5a5a5a; 


}
.leftmenu_footer:hover
{
    color:#303030;
}

.footer_line
{
    Width:62px;
    margin-top:20px;
    margin-bottom:20px;
     height:1px;
    background-color:#cccccc;
    text-align:center;
    display:inline-block;

}
.leftmenu_copyright
{
    margin-bottom:30px;
    font-size:11px;
     font-weight:bold;
   color:#666666; 


}

/* left menu */
#leftmenu
{
    position:relative;
    /*left:-50px;*/

}
.leftmenu_main
{
    position:relative;
    z-index:1;

}
.leftmenu_main li
{
    position:relative;

}

.leftmenu_main .leftmenu_mainlink
{
    display:block;
    height:40px;margin:0 auto;font-weight:bold;font-size:14px;line-height:40px;
    width:100px;

}

/* �����޴� */
.leftmenu_sub {
    display:none;overflow:hidden;position:absolute;top:0;left:200px;width:100px;z-index:2;


}
.on .leftmenu_sub {display:block;}
.leftmenu_sub li {position:relative;}
.leftmenu_sub .leftmenu_sublink
{
    display:inline-block;padding-left:10px; padding-right:10px;
    border-bottom:1px solid #ffffff; margin-bottom:9px;height:30px;line-height:40px;
    overflow:hidden;font-size:13px;font-weight:bold;

}
.leftmenu_sub .leftmenu_sublink:hover
{
    /*border-bottom:1px solid #ea5413;*/

}

.mainlink_txt
{
    color:#999999;

}
.mainlink_txt:hover
{ 
    color:#000000;

}
.on .select span
{
    color:#000000;

}
.sublink_txt
{
    color:#303030;

}
.sublink_txt:hover
{
    color:#ea5413;

}
.leftmenu_sub .select
{
    border-bottom:1px solid #ea5413;

}
.leftmenu_sub .select span
{
    color:#ea5413;

}
/* main Contents */
.services
{
    font:NanumSquare;
    height:14px;
    font-size:16px;
    font-weight:bold;
    margin-top:40px;

}

.services_line
{

     height:2px;
    margin-top:20px;
        margin-bottom:20px;
    width:40px;background-color:#000000;
    text-align:center;
    display:inline-block;

}

.service1
{
    padding-top:40px;
    display:inline-block;
    width:230px; 
    font-size:18px;
    color:#000000; 
    /*background-color:#ea5413;*/

    

}
.service2
{
    padding-top:40px;
    display:inline-block;
    
    width:230px; height:220px;
    font-size:18px;
    color:#000000; 


}
.service3
{
    padding-top:40px;
    display:inline-block;
    
    width:230px; height:220px;
    font-size:18px;
    color:#000000; 


}
.service4
{
    padding-top:40px;
    display:inline-block;
    
    width:230px; height:220px;
    font-size:18px;
    color:#000000; 


}
.news{
    font:NanumSquare;
    height:14px;
    font-size:16px;
    font-weight:bold;
    margin-top:80px;
    margin-bottom:64px;

}

.news_line
{
        margin-top:20px;
     height:2px;
    margin-top:20px;
    width:40px;background-color:#000000;
    text-align:center;
    display:inline-block;

}

.visual_txt
{
    display: flex;
    justify-content: space-between;
    font-family: 'Noto Sans KR', sans-serif;
    
   
    margin:30px 0;
    padding : 15px 0;
    border-bottom: 1px solid #CCCCCC;
}

.visual_txt .main_txt{
    font-size:35px;
    letter-spacing:-2px;
    color:#000000;
}

.visual_txt .sub_txt{
    align-self: flex-end; /* ????? ?? */
    margin-top: auto; /* ???? ?? */
    font-size: 14px; /* ?? ?? ?? (?? ??) */
    color:#505050;
}

.popup_title_txt
{
    font-size:25px;
    color:#000000;
    display:block;
    letter-spacing:-2px;
    margin-top:20px;
    margin-left:40px;
    margin-bottom:20px;
    text-align:left;

}

/* 배너 이미지 영역 */
        .banner-section {
            width: 100%;
            height: 300px;
            display: flex;
            align-items: center;
            justify-content: center;
            margin-bottom: 0;
            position: relative;
            overflow: hidden;
            margin: 0 auto;
            
        }
         @media (max-width: 767px) {
            .banner-section {
                height: 150px;
            }
        }

        
        
        .banner-section img {
            position: absolute;
            width: 100%;
            height: 100%;
            object-fit: cover;
            object-position: center;
        }
        
        .banner-section::before {
            content: '';
            position: absolute;
            top: 0;
            left: 0;
            right: 0;
            bottom: 0;
            background: rgba(0, 0, 0, 0.3);
            z-index: 1;
        }
        
        .banner-content {
            position: relative;
            z-index: 2;
            text-align: center;
            color: white;
            width: 1200px;
            text-align: left;
        }
        
        .banner-content h1 {
            font-size: 48px;
            font-weight: 700;
            margin-bottom: 15px;
            text-shadow: 2px 2px 4px rgba(0,0,0,0.3);
        }
        
        .banner-content p {
            font-size: 18px;
            opacity: 0.9;
        }
        
        /* 탭 컨테이너 */
        .tab-container {
            max-width: 1200px;
            margin: 0 auto;
            padding: 0 20px;
        }


        @media (max-width: 767px) {
    .tab-container {
        display: none;
    }
}
        
        /* 탭 메뉴 */
        .tab-menu {
            display: flex;
            gap: 0;
            border-bottom: 2px solid #e0e0e0;
            margin-bottom: 40px;
        }
        
        .tab-item {
            width: 200px;
            padding: 18px 30px;
            background-color: white;
            border: none;
            font-size: 16px;
            font-weight: 700;
            color: #666;
            cursor: pointer;
            transition: all 0.3s ease;
            border-bottom: 3px solid transparent;
        }
        
        .tab-item:hover {
            background-color: #e8e8e8;
            color: #333;
        }
        
        .tab-item.active {
            background-color: #fff;
            color: #5a5a5a;
            border-bottom: 3px solid #5a5a5a;
            background-color: #f8f8f8;
        }
        
        /* 컨텐츠 영역 */
        .content-section {
            display: none;
            animation: fadeIn 0.5s ease;
        }
        
        .content-section.active {
            display: block;
        }
        
        @keyframes fadeIn {
            from { opacity: 0; transform: translateY(10px); }
            to { opacity: 1; transform: translateY(0); }
        }


/*************** Pagination ***************/
.pagination {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    align-items: center;
    gap: 5px;
    padding: 20px 0;
    user-select: none;
}

.page-nav-right{
    display: none;
}


/* Desktop Styles */
@media (min-width: 992px) {
    .pagination {
        gap: 5px;
    }

    .pagination a {
        display: inline-flex;
        align-items: center;
        justify-content: center;
        width: 40px;
        height: 40px;
        border-radius: 4px;
        border: 1px solid #e0e0e0;
        color: #333;
        text-decoration: none;
        transition: all 0.3s ease;
    }

    .pagination a:hover {
        background-color: #f5f5f5;
        border-color: #999;
    }

    .pagination a.current {
        background-color: #2a7fe0;
        color: #ffffff;
        border-color: #2a7fe0;
        font-weight: bold;
    }

    .pagination a.current:hover {
        background-color: #2a7fe0;
    }
}

/* Tablet Styles */
@media (max-width: 991px) and (min-width: 576px) {
    .pagination {
        gap: 4px;
        padding: 15px 0;
    }
   

    .pagination a {
        display: inline-flex;
        align-items: center;
        justify-content: center;
        width: 35px;
        height: 35px;
        border-radius: 3px;
        border: 1px solid #e0e0e0;
        color: #333;
        text-decoration: none;
        font-size: 14px;
        transition: all 0.3s ease;
    }

    .pagination a:hover {
        background-color: #f5f5f5;
        border-color: #999;
    }

    .pagination a.current {
        background-color: #2a7fe0;
        color: #ffffff;
        border-color: #2a7fe0;
        font-weight: bold;
    }

    .pagination a.current:hover {
        background-color: #2a7fe0;
    }
}

/* Mobile Styles (Small Screens) */
@media (max-width: 575px) {

    #contents_wrap{
        min-height: auto;
    }

    #main_visual table{
        width: 100%;
    }



    .pagination {
        flex-direction: column;
        align-items: center;
        gap: 10px;
        padding: 10px 0;
    }
    .page-nav-right{
        display: inline-block;
    }
    .page-nav-left{
        display: none;
    }

    .pagination .page-numbers {
        display: flex;
        flex-wrap: wrap;
        justify-content: center;
        gap: 5px;
        margin-bottom: 10px;
    }

    .pagination .page-navigation {
        display: flex;
        justify-content: center;
        gap: 10px;
    }

    .pagination a {
        display: inline-flex;
        align-items: center;
        justify-content: center;
        width: 30px;
        height: 30px;
        border-radius: 3px;
        border: 1px solid #e0e0e0;
        color: #333;
        text-decoration: none;
        font-size: 12px;
        transition: all 0.3s ease;
    }

    .pagination a:hover {
        background-color: #f5f5f5;
        border-color: #999;
    }

    .pagination a.current {
        background-color: #2a7fe0;
        color: #ffffff;
        border-color: #2a7fe0;
        font-weight: bold;
    }

    .pagination a.current:hover {
        background-color: #2a7fe0;
    }
    /* join_stage 숨김 */
    .join_stage {
        display: none;
    }
}



/* Disabled state for all devices */
.pagination a.disabled {
    color: #ccc;
    cursor: not-allowed;
    pointer-events: none;
    border-color: #f0f0f0;
    background-color: #f8f8f8;
}


/* 검색 */
.search-input-wrap {
    position: relative;
    width: 240px;
    display: inline-block;
}

.search-input-wrap input {
    width: 100%;
    height: 36px;
    padding: 0 40px 0 12px;
    border: 1px solid #cccccc;
    font-size: 14px;
    box-sizing: border-box;
}

.search-icon {
    position: absolute;
    right: 12px;
    top: 50%;
    transform: translateY(-50%);
    cursor: pointer;
    font-size: 16px;
    color: #777;
}

.search-icon:hover {
    color: #000;
}