@charset "utf-8";
@import url('https://fonts.googleapis.com/css2?family=Black+Han+Sans&family=Blinker:wght@100;200;300;400;600;700;800;900&family=Noto+Sans+KR:wght@100..900&display=swap');
@import url('https://fonts.googleapis.com/css2?family=ABeeZee:ital@0;1&display=swap');

/* 공통 기본값 */
.body {
    font-size: 15px;
    /* //.글자폰트 크기 수정 */
    font-family: "Noto Sans KR", sans-serif;
  }
  
  .wrap {
    display: flex;
    width: 100%;
    height: 100vh;
    overflow: hidden;
  }
  /* ---------------------------------------------------------------- */
  /* 메인배경이미지 */
  .main_bg {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    overflow: hidden;
  }
  
  .main_bg img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    position: absolute;
    top: 0;
    left: 0;
  }
  
  /* ---------------------------------------------------------------- */
  /* header */
  header {
    position: absolute;
    left: 0; top: 0;
    width: 93.75%;
    height: 30px;
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin: 0 auto;
    right: 0;
    margin-top: 45px;
  }
  
  /* 상단 로고 */
  .h_left img {
    width: 225px;
    height: 30px;
  }
  
  /* 윈도우 상단 메뉴 아이콘 */
  ul.h_icons {
    display: flex;
    width: 340px;
    height: 25px;
    justify-content: space-between;
    color: #fff;
  }
  
  ul.h_icons li {
    font-size: 25px;
    cursor: pointer;
  }
  
  ul.h_icons li:hover {
    color: #CF4F00;
    transition: color 0.3s ease;
  }
  
  /* 윈도우 상단 알림 */
  .alarm_mid {
    width: 360px;
    height: 14px;
    position: absolute;
    left: calc(100% - 750px);
  }
  
  .alarm_mid>ul {
    display: flex;
    justify-content: space-between;
    align-items: center;
  }
  
  .alarm_mid>ul>li {
    display: flex;
    justify-content: space-between;
    align-items: center;
    color: #FFF;
    font-size: 12px;
    font-weight: 400;
    width: 60px;
    cursor: pointer;
  }
  
  .alarm_mid>ul>li span {
    font-weight: 700;
    font-size: 14px;
  }
  
  .alarm_mid>ul>li:hover span {
    color: #ff6200;
    transition: color 0.3s ease;
  }
  
  /* ---------------------------------------------------------------- */
  /* main */
  main {
    width: 96.875%;
   /*  height: calc(100vh - 110px); */
    position: absolute;
    left: 0; bottom: 0;
    overflow: hidden;
  }
  
  .s_close_open>button {
    display: block; 
  }
  .quick_link_close, .quick_link_btn_close {
    display: block;
  }
  
  .side_left {
    width: 160px;
    height: calc(100vh - 110px);
    transition: width 0.3s ease;
    background-color: #333;
    border-top-right-radius: 20px;
  }
  
  .side_left > *:not(.s_close_open) {
    display: none; 
  }
  
  .s_top {
    width: 100%;
    height: 414px;
    display: flex;
    justify-items: center;
    align-content: center;
    background: none;
  }
  
  .s_top_section {
    width: 260px;
    height: 260px;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
  }
  
  .s_top_section .open_close_icon i {
    width: 20px;
    height: 20px;
    cursor: pointer;
    color: #fff;
    font-size: 20px;
  }
  
  .s_top_section .open_close_icon i:hover {
    transform: scale(1.2);
    color: #CF4F00;
    transition: color 0.3s ease;
  }
  
  .s_top_section .profile {
    width: 240px;
    height: 100px;
    display: flex;
    align-items: center;
    gap: 30px;
    margin-top: 18px;
  }
  
  .s_top_section .profile a img {
    width: 100px;
    height: 100px;
  }
  
  
  .s_top_section .profile .txt {
    font-family: "Noto Sans KR";
    color: #FFF;
    display: flex;
    flex-direction: column;
    gap: 10px;
  }
  
  .profile_row {
    display: flex; 
    justify-content: flex-start; 
    align-items: flex-end; 
    gap: 15px;
  }
  
  .profile_nm p {
    font-size: 18px;
    font-weight: 700;
  }
  
  .profile_position p {
    font-size: 15px; 
    font-weight: 400;
    align-self: flex-end; 
  }
  
  .profile_demt p,
  .profile_mng p {
    font-size: 15px;
    font-weight: 500;
    color: #ccc;
    margin: 0;
  }
  
  ul.s_button {
    margin-top: 8px;
    display: flex;
    justify-content: flex-start;
    gap: 8px;
  }
  
  ul.s_button li button {
    width: 30px;
    height: 30px;
    background: #CF4F00;
    border: none;
    border-radius: 5px;
    line-height: 35px;
    cursor: pointer;
  }
  
  ul.s_button li button:hover {
    background: #fff;
    transition: background-color 0.3s ease;
  }
  
  ul.s_button li:first-child:hover img {
    content: url('../../../img/revise_icon_hover.png');
  }
  
  ul.s_button li i {
    font-size: 16px;
    color: #fff;
    display: flex;
    align-items: center;
    justify-content: center;
  }
  
  ul.s_button li:hover i {
    color: #CF4F00;
    transition: color 0.3s ease;
  }
  
  .alarm_btn {
    width: 260px;
    height: 90px;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
  }
  
  .alarm_btn button {
    width: 80px;
    height: 40px;
    background: #CF4F00;
    border: none;
    border-radius: 5px;
    color: #fff;
    margin-left: 10px;
    cursor: pointer;
    font-size: 13px;
    font-weight: 500;
  }
  
  .alarm_btn button b {
    font-size: 18px;
    font-weight: 700;
    margin-left: 8px;
  }
  
  .alarm_btn button:hover {
    background: #fff;
    color: #CF4F00;
    transition: background-color 0.3s ease;
    font-weight: 600;
  }
  
  .alarm_btn ul li:first-child button {
    margin-left: 0;
  }
  
  ul.top_btn, ul.bottom_btn {
    display: flex;
  }
  
  .s_bottom {
    width: 100%;
    height: 100vh;
    background: #CF4F00;
    display: flex;
    justify-items: center;
  }
  
  .s_bottom_section {
    width: 260px;
    height: 350px;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    padding-top: 25px;
  }
  
  .s_bottom_section .open_close_icon i {
    width: 20px;
    height: 20px;
    cursor: pointer;
    color: #fff;
    font-size: 20px;
  }
  
  .s_bottom_section .open_close_icon i:hover {
    transform: scale(1.2);
  }
  
  .quick_link {
    width: 260px;
    height: 25px;
    display: flex;
    align-items: center;
    justify-content: space-between;
  }
  
  .quick_link .ql_left {
    width: 145px;
    height: 25px;
    display: flex;
    justify-content: space-between;
    align-items: center;
  }
  
  .quick_link .ql_left p {
    color: #FFF;
    font-family: "ABeeZee";
    font-size: 20px;
    font-weight: 400;
  }
  
  .quick_link .ql_left button {
    width: 25px;
    height: 25px;
    border: none;
    border-radius: 5px;
    background: #fff;
    cursor: pointer;
  }
  
  .quick_link .ql_left button:hover {
    background: #333;
    transition: background-color 0.3s ease;
  }
  
  .quick_link .ql_left button i {
    font-size: 15px;
    color: #333;
    display: flex;
    justify-content: center;
    align-items: center;
  }
  
  .quick_link .ql_left button:hover i {
    color: #fff;
    transition: color 0.3s ease;
  }
  
  .quick_link .ql_right ul.ltrt {
    width: 50px;
    height: 14px;
    display: flex;
    justify-content: space-between;
    align-items: center;
  }
  
  .quick_link .ql_right ul.ltrt li button {
    background: none;
    border: none;
  }
  
  .quick_link .ql_right ul.ltrt li i {
    font-size: 14px;
    color: #ccc;
    cursor: pointer;
  }
  
  .quick_link .ql_right ul.ltrt li:hover i {
    color: #fff;
    transition: color 0.3s ease;
  }
  
  .quick_link_btn ul.q_btn {
    text-align: center;
    display: grid; 
    grid-template-columns: repeat(3, 1fr); 
    gap: 10px;
  }
  
  .quick_link_btn ul.q_btn li button {
    width: 60px;
    height: 60px;
    border: none;
    border-radius: 5px;
    background: #FFF;
    box-shadow: 0px 4px 40px 0px rgba(0, 0, 0, 0.25);
    color: #333;
    text-align: center;
    font-size: 12px;
    font-weight: 500;
    cursor: pointer;
  }
  
  .quick_link_btn ul.q_btn li button:hover {
    background: #333;
    transition: background-color 0.3s ease;
    color: #fff;
  }
  
  .quick_link_btn ul.q_btn li button:hover i {
    transform: scale(1.2);
    font-weight: 700;
  }
  
  /* ---------------------------------------------------------------- */
  /* main_section */
  .main_section {
    width: calc(100% - 220px);
    flex-grow: 1;
    height: calc(100vh - 110px);
    position: absolute;
    top: 0; right: 0;
  }
  
  .main_section .extend_btn,
  .main_section .reduction_btn {
    position: absolute;
    left: -20px; top: calc(50%);
  }
  
  .main_section .reduction_btn {
    display: none;
  }
  
  .main_section .extend_btn button,
  .main_section .reduction_btn button {
    width: 20px;
    height: 100px;
    border: none;
    background: #CF4F00;
    border-radius: 3px 0 0 3px;
    cursor: pointer;
  }
  
  .main_section .extend_btn button:hover,
  .main_section .reduction_btn button:hover {
    background: #fff;
    transition: background-color 0.3s ease;
  }
  
  .main_section .extend_btn button i,
  .main_section .reduction_btn button i {
    color: #fff;
    font-size: 15px;
  }
  
  .main_section .extend_btn button:hover i,
  .main_section .reduction_btn button:hover i {
    color: #CF4F00;
    transition: color 0.3s ease;
  }
  
  .main_top_menu {
    flex-grow: 1;
    height: 60px;
    background: rgba(51, 51, 51, 0.7);
    border-radius: 20px 20px 0px 0px;
    display: flex;
    justify-content: center;
    align-items: center;
  }
  
  ul.gnb {
    width: 815px;
    height: 40px;
    display: flex;
    justify-content: space-between;
    align-items: center;
  }
  
  ul.gnb>li {
    display: flex;
    flex-direction: column;
    color: #fff;
    text-align: center;
    font-family: "Noto Sans KR";
    font-size: 10px;
    font-weight: 500;
    cursor: pointer;
  }
  
  ul.gnb>li:hover i {
    color: #CF4F00;
    transition: color 0.3s ease;
  }
  
  ul.gnb>li i {
    font-size: 20px;
    color: #fff;
    margin-bottom: 8px;
  }
  
  .main_ltrt {
    width: 100%;
    height: 100%;
    display: flex;
    flex-direction: column;
    align-items: center;
    background: #FFF;
  }
  
  /* ---------------------------------------------------------------- */
  .main_container {
    width: calc(100% - 16px);
    height: 30px;
  }
  
  .main_tab {
    display: flex; 
    align-items: center; 
    position: relative;
    margin-top: 5px;
  }
  
  .main_tab button {
    width: 100px;
    height: 30px;
    border: none;
    background: #A5A5A5;
    border-radius: 10px 10px 0 0;
    cursor: pointer;
  }
  
  .main_tab button:hover {
    background: #333;
    transition: background-color 0.3s ease;
  }
  
  .home_tab, 
  .notice_tab,
  .in_house_comm_tab {
    margin-right: 5px; 
  }

  .notice_tab {
    position: relative;
  }
  
  .notice_tab button:hover {
    background: #CF4F00;
  }
  
  .notice_tab p {
    display: block;
    transition: opacity 0.3s ease;
  }
  
  .notice_tab i {
    display: none;
    font-size: 15px;
    color: #fff;
    position: absolute;
    top: 7.5px; left: 43px;
  }
  
  .notice_tab:hover p {
    opacity: 0;
    transition: opacity 0.3s ease;
  }
  
  .notice_tab:hover i {
    display: block; 
    transition: opacity 0.3s ease;
  }
  
  .all_close_tab {
    margin-left: auto; 
    position: relative; 
  }
  
  .all_close_tab button {
    display: flex;
    align-items: center;
    justify-content: center;
    height: 30px;
  }
  
  .all_close_tab p {
    display: block;
    transition: opacity 0.3s ease;
  }
  
  .all_close_tab i {
    display: none; 
    font-size: 15px;
    color: #fff;
    position: absolute;
    top: 7.5px;
    left: 43px;
  }
  
  .all_close_tab:hover p {
    opacity: 0; 
    transition: opacity 0.3s ease;
  }
  
  .all_close_tab:hover i {
    display: block; 
    transition: opacity 0.3s ease;
  }
  
  .main_tab button p {
    color: #FFF;
    text-align: center;
    font-size: 10px;
    font-weight: 400;
  }
  
  /* ---------------------------------------------------------------- */
  .in_house_comm_tab {
    position: relative;
  }
  
  .in_house_comm_tab button:hover {
    background: #CF4F00;
  }
  
  .in_house_comm_tab p {
    display: block;
    transition: opacity 0.3s ease;
  }
  
  .in_house_comm_tab i {
    display: none;
    font-size: 15px;
    color: #fff;
    position: absolute;
    top: 7.5px; left: 43px;
  }
  
  .in_house_comm_tab:hover p {
    opacity: 0;
    transition: opacity 0.3s ease;
  }
  
  .in_house_comm_tab:hover i {
    display: block; 
    transition: opacity 0.3s ease;
  }
  /* ---------------------------------------------------------------- */
  /* 타이틀 */
  .tender_tit {
    width: 100%;
    height: 18px;
    display: flex;
    align-items: center;
    border-left: 3px solid #CF4F00;
    margin-top: 20px;
  }
  
  .tender_tit h1 {
    color: #333;
    font-size: 18px;
    font-weight: 700;
    margin-left: 5px;
  }
  
  .tender_tit button {
    width: 15px;
    height: 15px;
    border-radius: 3px;
    background: #ccc;
    border: none;
    color: #fff;
    display: flex;
    justify-content: center;
    align-items: center;
    margin-left: 8px;
    cursor: pointer;
  }
  
  .tender_tit button:hover {
    background: #333;
    transition: background-color 0.3s ease;
  }
  
  /* ---------------------------------------------------------------- */
  /* 사이드메뉴 접었을 때 상황 */
  .s_close_open {
    /* background: #333; */
  }
  
  .s_close_open>button {
    width: 20px;
    height: 100px;
    border-radius: 0 3px 3px 0;
    border: none;
    background: rgba(0, 0, 0, 0.50);
    cursor: pointer;
    position: absolute;
    left: 0;
    top: 124px;
  }
  
  .s_close_open>button:hover {
    background: #fff;
    transition: background-color 0.3s ease;
  }
  
  .s_close_open>button i {
    font-size: 15px;
    color: #fff;
  }
  
  .s_close_open>button:hover i {
    color: #CF4F00;
    transition: color 0.3s ease;
  }
  
  .quick_link_close {
    position: absolute;
    left: 16px;
    top: 400px;
  }
  
  .quick_link_section_close {
    width: 105px;
    height: 410px;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: space-between;
  }
  
  .ql_left_close {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: space-between;
    width: 103px;
    height: 58px;
  }
  
  .ql_left_close p {
    color: #FFF;
    font-family: "ABeeZee";
    font-size: 20px;
    font-weight: 400;
  }
  
  .ql_left_close button {
    width: 25px;
    height: 25px;
    border: none;
    background: #fff;
    border-radius: 5px;
    text-align: center;
    line-height: 25px;
    cursor: pointer;
  }
  
  .ql_left_close button:hover {
    background: #CF4F00;
    transition: background-color 0.3s ease;
  }
  
  .ql_left_close button i {
    font-size: 15px;
    color: #333;
  }
  
  .ql_left_close button:hover i {
    color: #fff;
    transition: color 0.3s ease;
  }
  
  .ql_right_close ul.ltrt_close {
    width: 14px;
    height: 326px;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    align-items: center;
  }
  
  .ql_right_close ul.ltrt_close li button {
    border: none;
    background: none;
    cursor: pointer;
  }
  
  .ql_right_close ul.ltrt_close li button i {
    font-size: 14px;
    color: #ccc;
  }
  
  .ql_right_close ul.ltrt_close li button:hover i {
    color: #CF4F00;
    transition: color 0.3s ease;
  }
  
  .quick_link_btn_close {
    position: absolute;
    left: 38px;
    top: 545px;
  }
  
  ul.q_btn_close li {
    margin-top: 10px;
  }
  
  ul.q_btn_close li:first-child {
    margin-top: 0;
  }
  
  ul.q_btn_close li button {
    width: 60px;
    height: 60px;
    border: none;
    border-radius: 5px;
    background: #FFF;
    box-shadow: 0px 4px 40px 0px rgba(0, 0, 0, 0.25);
    color: #333;
    text-align: center;
    font-size: 12px;
    font-weight: 500;
    cursor: pointer;
  }
  
  ul.q_btn_close li button:hover {
    background: #CF4F00;
    color: #fff;
    transition: background-color 0.3s ease;
    transition: color 0.3s ease;
  }
  
  ul.q_btn_close li button i {
    color: #333;
    font-size: 15px;
  }
  
  ul.q_btn_close li button:hover i {
    color: #fff;
    transition: color 0.3s ease;
  }
  /* ---------------------------------------------------------------- */
  .side_menu_section {
    width: 100%;
    height: 414px;
    text-align: center;
    padding-top: 20px;
  }
  aside {
    color: #fff; 
  }
  
  aside ul li {
    margin-top: 25px;
    text-align: center;
    font-size: 12px;
    font-weight: 500;
  }
  
  aside ul li:first-child {
    margin-top: 0;
  }
  
  aside ul li.gnb_sub {
    width: 100%;
    height: 20px;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 14px;
  }
  
  aside ul li a i {
    font-size: 20px;
    margin-right: 10px;
  }
  
  aside ul li.sub_m_t a {
    color: #bbb;
  }
  
  aside ul li.sub_m_t:hover a {
    color: #fff;
    transition: color 0.3s ease;
    font-weight: 700;
  }
  