﻿/* Please see documentation at https://docs.microsoft.com/aspnet/core/client-side/bundling-and-minification
for details on configuring this project to bundle and minify static web assets. */


/* 새로추가 */
body {
    font-family: Arial;
    font-size: 10pt;
}

.Grid {
    border: 1px solid #ccc;
    border-collapse: collapse;
    background-color: #fff;
}

    .Grid th {
        background-color: #B8DBFD;
        color: #333;
        font-weight: bold;
    }

    .Grid th, .Grid td {
        padding: 5px;
        border: 1px solid #ccc;
    }

    .Grid img {
        cursor: pointer;
    }

.ChildGrid {
    width: 100%;
}

    .ChildGrid th {
        background-color: black;
        color: #fff;
        font-weight: bold;
    }

.greenbtn {
    background-color: #e9fbbe
}

.redbtn {
    background-color: red;
    color: white;
}

.whitebtn {
    background-color: white;
    color: black;
}

#btnBackToTop {
    display: none;
    position: fixed;
    bottom: 20px;
    right: 30px;
    z-index: 99;
    font-size: 18px;
    border: none;
    outline: none;
    background-color: black;
    color: white;
    cursor: pointer;
    padding: 15px;
    border-radius: 4px;
}

#btnBackToTop:hover {
    background-color: lightgray;
    color: black;
}

.button:hover {
    background-color: #007bff;
    color: white;
    text-decoration: none;
}



/* 새로추가 끝 */ 

a.navbar-brand {
  white-space: normal;
  text-align: center;
  word-break: break-all;
}

/* Sticky footer styles
-------------------------------------------------- */
html {
  font-size: 14px;
}
@media (min-width: 768px) {
  html {
    font-size: 16px;
  }
}

@media print {
    #no-print {
        display: none !important; /* !important 를 추가하여 우선순위를 높임 */
    }
}

.border-top {
  border-top: 1px solid #e5e5e5;
}
.border-bottom {
  border-bottom: 1px solid #e5e5e5;
}

.box-shadow {
  box-shadow: 0 .25rem .75rem rgba(0, 0, 0, .05);
}

button.accept-policy {
  font-size: 1rem;
  line-height: inherit;
}

/* Sticky footer styles
-------------------------------------------------- */
html {
  position: relative;
  min-height: 100%;
}

body {
  /* Margin bottom by footer height */
  margin-bottom: 60px;
}
.footer {
  position: absolute;
  bottom: 0;
  width: 100%;
  white-space: nowrap;
  /* Set the fixed height of the footer here */
  height: 60px;
  line-height: 60px; /* Vertically center the text there */
}

/*--------------------------------------------------------------------------------*/
.container-print-safe {
    overflow: hidden; /* 프린트 시 빈 페이지 방지 */
}

.cc-wrapper {
    display: flex;
    align-items: center;
}

@media print {
    .print-wrapper {
        page-break-after: avoid; /* 페이지 강제 줄바꿈 방지 */
        margin: 0 !important; /* 프린트 시 기본 margin 제거 */
        padding: 0 !important; /* 프린트 시 기본 padding 제거 */
    }

    .container-print-safe {
        page-break-inside: avoid !important; /* 컨테이너 내 줄바꿈 방지 */
    }

    footer, #no-print {
        display: none !important; /* 불필요한 footer 숨김 */
    }
}


/*-- display: inline-block;을 사용하면 요소가 글자 너비만큼만 차지하므로 text-align: center;가 작동하지 않고 
왼쪽에 붙게 됨. 이를 해결하기 위해 inline-block 대신 block 또는 부모 요소에 text-align: center;를 적용 --*/

.cc-title-wrapper {
    text-align: center; /* 부모 요소에서 중앙 정렬 */
}

.cc-title {
    font-weight: bold;
    font-size: 35px;
    margin-bottom: 30px;
    border-bottom: 3px solid #000;
    display: inline-block; /* 글자 너비만큼 밑줄 적용 */
    padding-bottom: 5px; /* 밑줄과 글자 간격 */
    /*text-decoration: underline;*/ /* 밑줄 추가 - border 대신 간단하게 이렇게 해도 됨 */
}

.cc-name {
    display: flex;
    align-items: center;
    justify-content: left;
    padding: 0 10px;
    background-color: #f7f7f7;
}

.cc-name.cc-name-70 {flex-basis: 70px;}
.cc-name.cc-name-75 {flex-basis: 75px;}
.cc-name.cc-name-80 {flex-basis: 80px;}
.cc-name.cc-name-85 {flex-basis: 85px;}
.cc-name.cc-name-90 {flex-basis: 90px;}
.cc-name.cc-name-95 {flex-basis: 95px;}
.cc-name.cc-name-100 {flex-basis: 100px;}
.cc-name.cc-name-110 {flex-basis: 110px;}
.cc-name.cc-name-120 {flex-basis: 120px;}
.cc-name.cc-name-130 {flex-basis: 130px;}
.cc-name.cc-name-150 {flex-basis: 150px;}
.cc-name.cc-name-200 {flex-basis: 200px;}
.cc-name.cc-name-300 {flex-basis: 300px;}

.cc-mr-10 {margin-right: 10px;}
.cc-mr-15 {margin-right: 15px;}
.cc-mr-20 {margin-right: 20px;}
.cc-mr-30 {margin-right: 30px;}
.cc-mr-40 {margin-right: 40px;}
.cc-mr-50 {margin-right: 50px;}
.cc-mr-60 {margin-right: 60px;}
.cc-mr-70 {margin-right: 70px;}
.cc-mr-80 {margin-right: 80px;}
.cc-mr-90 {margin-right: 90px;}
.cc-mr-100 {margin-right: 100px;}
.cc-mr-110 {margin-right: 110px;}
.cc-mr-120 {margin-right: 120px;}
.cc-mr-130 {margin-right: 130px;}
.cc-mr-150 {margin-right: 150px;}
.cc-mr-200 {margin-right: 200px;}
.cc-mr-300 {margin-right: 300px;}

.cc-ml-10 {margin-left: 10px;}
.cc-ml-20 {margin-left: 20px;}
.cc-ml-30 {margin-left: 30px;}
.cc-ml-40 {margin-left: 40px;}
.cc-ml-50 {margin-left: 50px;}
.cc-ml-60 {margin-left: 60px;}
.cc-ml-70 {margin-left: 70px;}
.cc-ml-80 {margin-left: 80px;}
.cc-ml-90 {margin-left: 90px;}
.cc-ml-100 {margin-left: 100px;}
.cc-ml-110 {margin-left: 110px;}
.cc-ml-120 {margin-left: 120px;}
.cc-ml-130 {margin-left: 130px;}

.cc-mt-20 {margin-top: 20px;}
.cc-mt-30 {margin-top: 30px;}
.cc-mt-40 {margin-top: 40px;}
.cc-mt-50 {margin-top: 50px;}

.cc-mb-20 {margin-bottom: 20px;}
.cc-mb-30 {margin-bottom: 30px;}
.cc-mb-40 {margin-bottom: 40px;}
.cc-mb-50 {margin-bottom: 50px;}
.cc-mb-100 {margin-bottom: 100px;}

.cc-w-65 {width: 65px;}
.cc-w-70 {width: 70px;}
.cc-w-75 {width: 75px;}
.cc-w-80 {width: 80px;}
.cc-w-100 {width: 100px;}
.cc-w-150 {width: 150px;}
.cc-w-200 {width: 200px;}
.cc-w-250 {width: 250px;}
.cc-w-350 {width: 350px;}
.cc-w-500 {width: 500px;}
.cc-w-700 {width: 700px;}
.cc-w-750 {width: 750px;}
.cc-w-800 {width: 800px;}

.cc-w-100-pro {width: 100%;}

.cc-h-20 {height: 20px;}
.cc-h-25 {height: 25px;}
.cc-h-30 {height: 30px;}
.cc-h-35 {height: 35px;}
.cc-h-40 {height: 40px;}
.cc-h-45 {height: 45px;}
.cc-h-50 {height: 50px;}



.cc-font-bold {font-weight: bold;}

.cc-font-30 {font-size: 30px;}
.cc-font-100 {font-size: 100px;}

.cc-border-1 {
    border: 1px solid #a2a2a2;
    height: 43px;
    display: inline-block;
}

/* ============================================================
   상단 네비게이션 메뉴와 사용자 정보 영역의 border 제거
   ============================================================ */

/* 전체 header와 navbar의 border 제거 */
header,
header nav,
header .navbar,
header .navbar-collapse,
.navbar,
.navbar-expand-sm,
.navbar-expand-md,
.navbar-expand-lg,
.navbar-toggleable-sm {
    border: none !important;
    border-top: none !important;
    border-bottom: none !important;
    border-left: none !important;
    border-right: none !important;
}

/* 네비게이션 아이템들의 border 제거 */
.navbar-nav,
.navbar-nav .nav-item,
.navbar-nav .nav-link,
.nav-item,
.nav-link {
    border: none !important;
}

/* 사용자 정보 영역 border 제거 */
.user-info,
.user-section,
.auth-section,
.login-section {
    border: none !important;
}

/* 버튼이나 링크 형태의 요소들 border 제거 */
header a,
header button,
.navbar a,
.navbar button {
    border: none !important;
}

/* 컨테이너나 wrapper의 border 제거 */
header .container,
header .container-fluid,
.navbar .container,
.navbar .container-fluid {
    border: none !important;
}

/* =========================
   Home Page - Polished UI
   ========================= */

:root {
    --eden-blue: #2b388f;
    --eden-gold: #D4AF37;
    --ink: #1f2937;
    --muted: rgba(31,41,55,.70);
}

.home-page {
    width: 100%;
}

/* ✅ 폭 선택 옵션 2개 */
.home-container {
    max-width: 1280px;
    margin: 0 auto;
    padding: 18px 18px 0 18px;
    box-sizing: border-box;
}

.home-container-fluid {
    width: 100%;
    margin: 0 auto;
    padding: 18px 18px 0 18px;
    box-sizing: border-box;
}

/* 회사 컬러 라인 */
.home-brand-line {
    height: 4px;
    border-radius: 999px;
    background: linear-gradient(90deg, var(--eden-blue), var(--eden-gold), var(--eden-blue));
    opacity: .95;
    margin: 6px 0 14px 0;
}

/* Banner */
.home-banner {
    border-radius: 12px;
    overflow: hidden;
    box-shadow: 0 12px 34px rgba(0,0,0,.12);
    background: #fff;
}

/* 이미지 높이 */
.home-banner-img {
    width: 100%;
    height: 420px;
    object-fit: cover;
}

/* 아래 영역 여백 */
.home-below {
    margin-top: 16px;
}

/* Welcome Card */
.welcome-card {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 14px;
    padding: 14px 16px;
    border-radius: 12px;
    background: #fff;
    border: 1px solid rgba(31,41,55,.10);
    box-shadow: 0 8px 22px rgba(0,0,0,.06);
    position: relative;
    overflow: hidden;
}

    /* 왼쪽 골드 포인트 */
    .welcome-card::before {
        content: "";
        position: absolute;
        left: 0;
        top: 0;
        bottom: 0;
        width: 6px;
        background: linear-gradient(180deg, var(--eden-gold), rgba(212,175,55,.35));
    }

.welcome-title {
    font-size: 20px;
    font-weight: 900;
    color: var(--eden-blue);
    letter-spacing: .2px;
}

.welcome-sub {
    margin-top: 2px;
    font-size: 13px;
    color: var(--muted);
}

/* 버튼들 */
.welcome-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    justify-content: flex-end;
}

.home-btn {
    border-radius: 999px;
    padding: 6px 12px;
    border-color: rgba(43,56,143,.35) !important;
    color: var(--eden-blue) !important;
}

    .home-btn:hover {
        background: rgba(43,56,143,.08) !important;
    }

.home-btn-primary {
    border-radius: 999px;
    padding: 6px 12px;
    background: var(--eden-blue) !important;
    border-color: var(--eden-blue) !important;
    color: #fff !important;
}

    .home-btn-primary:hover {
        background: var(--eden-gold) !important;
        border-color: var(--eden-gold) !important;
        color: #111827 !important;
    }

/* Info cards grid */
.info-grid {
    margin-top: 14px;
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 12px;
}

.info-card {
    background: #fff;
    border-radius: 12px;
    padding: 14px 14px;
    border: 1px solid rgba(31,41,55,.10);
    box-shadow: 0 8px 22px rgba(0,0,0,.05);
}

.info-badge {
    display: inline-block;
    font-size: 11px;
    font-weight: 800;
    padding: 4px 10px;
    border-radius: 999px;
    background: rgba(212,175,55,.18);
    color: #7a5b00;
}

.info-title {
    margin-top: 10px;
    font-size: 15px;
    font-weight: 900;
    color: var(--ink);
}

.info-text {
    margin-top: 6px;
    font-size: 13px;
    color: rgba(31,41,55,.72);
    line-height: 1.35;
}

.home-bottom-space {
    height: 18px;
}

/* 모바일 */
@media (max-width: 992px) {
    .info-grid {
        grid-template-columns: 1fr;
    }

    .welcome-card {
        flex-direction: column;
        align-items: flex-start;
    }

    .welcome-actions {
        justify-content: flex-start;
    }
}

@media (max-width: 768px) {
    .home-container, .home-container-fluid {
        padding: 14px 10px 0 10px;
    }

    .home-banner-img {
        height: 240px;
    }
}
