/* *
* Template Name: Orbit
* Template URL: https://bootstrapmade.com/orbit-bootstrap-template/
* Updated: Jan 13 2026 with Bootstrap v5.3.8
* Author: BootstrapMade.com
* License: https://bootstrapmade.com/license/ */

/* --------------------------------------------------------------
# Font & Color Variables
# Help: https://bootstrapmade.com/color-system/
-------------------------------------------------------------- */

/* Fonts */

:root {
    --default-font: "Roboto", system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", Arial, "Noto Sans", "Liberation Sans", sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";
    --heading-font: "Raleway", sans-serif;
    --nav-font: "Lato", sans-serif;
}

/* Global Colors - The following color variables are used throughout the website. Updating them here will change the color scheme of the entire website */

:root {
    --background-color: #f1f5f9;
    --default-color: #475569;
    --heading-color: #1e293b;
    --accent-color: #0ea5e9;
    --surface-color: #ffffff;
    --contrast-color: #ffffff;
}

/* Nav Menu Colors - The following color variables are used specifically for the navigation menu. They are separate from the global colors to allow for more customization options */

:root {
    --nav-color: #475569;
    --nav-hover-color: #0ea5e9;
    --nav-mobile-background-color: #ffffff;
    --nav-dropdown-background-color: #ffffff;
    --nav-dropdown-color: #475569;
    --nav-dropdown-hover-color: #0ea5e9;
}

/* Color Presets - These classes override global colors when applied to any section or element, providing reuse of the sam color scheme. */

.light-background {
    --background-color: #f9f9f9;
    --surface-color: #ffffff;
}

.dark-background {
    --background-color: #0d131f;
    --default-color: #ffffff;
    --heading-color: #ffffff;
    --surface-color: #1e293b;
    --contrast-color: #ffffff;
}

/* Smooth scroll */

:root {
    scroll-behavior: smooth;
}

/* --------------------------------------------------------------
# General Styling & Shared Classes
-------------------------------------------------------------- */

body {
    color: var(--default-color);
    background-color: var(--background-color);
    font-family: var(--default-font);
}

a {
    color: var(--accent-color);
    text-decoration: none;
    transition: 0.3s;
}

a:hover {
    color: color-mix(in srgb, var(--accent-color), transparent 25%);
    text-decoration: none;
}

h1, h2, h3, h4, h5, h6 {
    color: var(--heading-color);
    font-family: var(--heading-font);
}


/* --------------------------------------------------------------
# 추가코드
-------------------------------------------------------------- */

@media (min-width: 1400px) {
    .container, .container-lg, .container-md, .container-sm, .container-xl, .container-xxl {
        max-width: 100%;
    }
}

.card-body,
.card_body{
    min-height: 800px;
}

.card_body_min{
    min-height: 300px;
}

.file-upload-card {
    border: 1px dashed #ced4da;
    border-radius: 0.75rem;
    padding: 1rem;
    background-color: #fbfbfb;
}

.file-upload-card .file-upload-actions {
    display: flex;
    gap: 0.5rem;
    flex-wrap: wrap;
}

.file-upload-card .file-upload-info {
    font-size: 0.9rem;
    color: #495057;
    margin-bottom: 0.5rem;
}

.file-upload-preview {
    margin-bottom: 0.5rem;
}

.file-upload-preview img {
    max-width: 100%;
    border-radius: 0.5rem;
    border: 1px solid #dee2e6;
    display: block;
}

.file-upload-card button[data-action="remove"] {
    padding-left: 0;
    padding-right: 0;
}

.notice-detail .card-header {
    border-bottom: none;
    padding-bottom: 0;
}

.notice-detail .notice-title {
    margin: 0.5rem 0;
    font-size: 1.5rem;
}

.notice-detail .notice-author {
    font-size: 0.95rem;
    margin-bottom: 0.5rem;
}

.notice-detail .notice-content {
    font-size: 1rem;
    line-height: 1.6;
    white-space: pre-line;
}

.notice-board .notice-hero {
    background: #eef2f7;
    border-radius: 28px;
    padding: 1.5rem;
}

.notice-board .notice-hero-card {
    background: #fff;
    border-radius: 20px;
    padding: 3rem 1rem;
    text-align: center;
    box-shadow: 0 12px 32px rgba(15, 23, 42, 0.08);
}

.notice-board .notice-hero-eyebrow {
    font-size: 0.95rem;
    font-weight: 600;
    color: #2563eb;
    margin-bottom: 0.35rem;
    text-transform: uppercase;
    letter-spacing: 0.05em;
}

.notice-board .notice-hero h2 {
    font-weight: 800;
    margin-bottom: 0.5rem;
}

.notice-board .notice-hero-desc {
    color: #334155;
    margin: 0;
    font-size: 1.05rem;
}

.notice-board .notice-hero.notice-hero-compact {
    padding: 1.5rem;
    text-align: left;
}

.notice-tabs {
    border-bottom: 1px solid #e2e8f0;
    padding-bottom: 0.5rem;
}

.notice-tab {
    display: inline-block;
    padding: 0.35rem 1.25rem;
    border-radius: 999px;
    font-weight: 600;
    color: #64748b;
    background: #f8fafc;
}

.notice-tab.active {
    background: #0d6efd;
    color: #fff;
}

.notice-guide-card {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    gap: 1rem;
    border: 1px solid #e2e8f0;
    border-radius: 20px;
    padding: 1.5rem;
    background: #fff;
}

.notice-guide-card ul {
    padding-left: 1.2rem;
    margin-bottom: 0;
}

.notice-guide-actions {
    align-self: center;
}

.notice-search .input-group-text {
    border-right: 0;
    font-weight: 600;
    color: #94a3b8;
}

.notice-search .form-control {
    border-left: 0;
}

.notice-table table {
    border-collapse: separate;
    border-spacing: 0;
}

.notice-table thead th {
    background: #f8fafc;
    border-bottom: 1px solid #e2e8f0;
    font-weight: 600;
    color: #475569;
}

.notice-table tbody td {
    border-top: 1px solid #f1f5f9;
    vertical-align: middle;
}

.notice-title-link {
    font-weight: 600;
    color: #0f172a;
    text-decoration: none;
}

.notice-title-link:hover {
    text-decoration: underline;
}

.notice-detail-page .notice-detail-actions .btn {
    min-width: 120px;
}

.notice-detail-actions {
    margin-top: 1.5rem;
    display: flex;
    justify-content: flex-end;
}

.notice-detail-card {
    background: #fff;
    border-radius: 20px;
    padding: 2rem;
}

.notice-detail-header h3 {
    margin: 0;
    font-size: 1.75rem;
}

.notice-detail-meta-row {
    font-size: 0.95rem;
    color: #64748b;
    margin-top: 0.5rem;
}

.notice-badge {
    display: inline-block;
    padding: 0.25rem 0.75rem;
    border-radius: 999px;
    background: #fff1d6;
    color: #c76b00;
    font-size: 0.85rem;
    font-weight: 600;
}

.notice-detail-meta {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(120px, 1fr));
    gap: 0.75rem;
    margin: 0;
}

.notice-detail-meta dt {
    font-size: 0.85rem;
    color: #94a3b8;
    margin-bottom: 0.25rem;
}

.notice-detail-meta dd {
    margin: 0;
    font-weight: 600;
    color: #1e293b;
}

.notice-detail-content {
    margin-top: 1.5rem;
    font-size: 1rem;
    line-height: 1.7;
    min-height: 400px;
}

.notice-detail-divider {
    height: 1px;
    background: #e2e8f0;
    margin: 1.5rem 0;
}

.notice-attachment-list li + li {
    margin-top: 0.35rem;
}

.mypage-settings .nav-tabs .nav-link {
    border: none;
    padding: 0.75rem 1.5rem;
    font-weight: 600;
    color: #6b7280;
}

.mypage-settings .nav-tabs .nav-link.active {
    color: #0d6efd;
    border-bottom: 3px solid #0d6efd;
    background: transparent;
}

.mypage-card {
    background: #fff;
    border: 1px solid #e5e7eb;
    border-radius: 20px;
    padding: 2rem;
    box-shadow: 0 12px 24px rgba(15, 23, 42, 0.08);
}

.mypage-card .form-label {
    font-weight: 600;
    color: #374151;
}

.upload-tile {
    border: 1px dashed #cbd5f5;
    border-radius: 16px;
    padding: 1rem;
    text-align: center;
}

.upload-thumb {
    background: #f8fafc;
    border-radius: 12px;
    padding: 2rem 0;
    border: 1px solid #e2e8f0;
}

.upload-thumb span {
    font-size: 2rem;
    color: #94a3b8;
    font-weight: 700;
}

.withdrawal-card .withdrawal-guide {
    background: #fff6d7;
    border: 1px solid #facc15;
    border-radius: 16px;
    padding: 1.5rem;
}

.withdrawal-guide ul {
    padding-left: 1.5rem;
    margin-bottom: 0.5rem;
}
