html,
body {
    height: 100%;
    overflow-x:hidden;
}

html {
    overflow-y: hidden !important;
}

h1,
.h1 {
    font-size: 38px;
    font-family: 'Geist-Black', sans-serif;
    text-transform: uppercase;
}

h2,
.h2 {
    font-size: 28px;
    text-transform: uppercase;
    font-family: 'Geist-Medium', sans-serif;
}

h3,
.h3 {
    font-size: 28px;
    line-height: 38px;
    text-transform: uppercase;
    font-family: 'Geist-Regular', sans-serif;
}

h4,
.h4 {
    font-size: 18px;
    line-height: 38px;
    text-transform: uppercase;
    font-family: 'Geist-Regular', sans-serif;
}

.logo {
    font-family: 'Geist-Medium', sans-serif;
    font-size: 30px;
}

small.text-white-50 {
    color: rgba(255, 255, 255) !important;
}

.breadcrumb-area {
    /* background-color: #f3f4f9; */
    border-bottom: 1px dotted #ccc;
    padding-right: 20px;
}

.breadcrumb {
    float: right;
    margin-bottom: 0.1em;
    display: flex;
    flex-wrap: wrap;
    padding: var(--bs-breadcrumb-padding-y) var(--bs-breadcrumb-padding-x);
    margin-bottom: var(--bs-breadcrumb-margin-bottom);
    font-size: var(--bs-breadcrumb-font-size);
    list-style: none;
    background-color: var(--bs-breadcrumb-bg);
    border-radius: var(--bs-breadcrumb-border-radius);
}

.breadcrumb-item>a {
    color: #ff8a00;
    padding-left: 0.5rem;
    padding-right: 0.5rem;
}

.breadcrumb-item+.breadcrumb-item {
    padding-left: 0.5rem;
}

.carousel-content .display-1,
.display-1>h6,
.text-secondary {
    text-shadow: 0px 1px 1px rgb(0 0 0 / 95%);
}

.carousel-content .display-1 {
    font-family: 'Geist-Medium', sans-serif;
    /* font-size: 35px; */
}

.not-set {
    color: #c55;
    font-style: italic;
}


p {
    color: black;
}


/* add sorting icons to gridview sort links */
a.asc:after,
a.desc:after {
    position: relative;
    top: 1px;
    display: inline-block;
    font-family: 'Glyphicons Halflings';
    font-style: normal;
    font-weight: normal;
    line-height: 1;
    padding-left: 5px;
}

a.asc:after {
    content: "\e151";
}

a.desc:after {
    content: "\e152";
}

.sort-numerical a.asc:after {
    content: "\e153";
}

.sort-numerical a.desc:after {
    content: "\e154";
}

.sort-ordinal a.asc:after {
    content: "\e155";
}

.sort-ordinal a.desc:after {
    content: "\e156";
}

.grid-view td {
    white-space: nowrap;
}

.grid-view .filters input,
.grid-view .filters select {
    min-width: 50px;
}

.hint-block {
    display: block;
    margin-top: 5px;
    color: #999;
}

.error-summary {
    color: #a94442;
    background: #fdf7f7;
    border-left: 3px solid #eed3d7;
    padding: 10px 20px;
    margin: 0 0 15px 0;
}

@media(max-width:767px) {
    .nav li>form>button.logout {
        display: block;
        text-align: left;
        width: 100%;
        padding: 10px 15px;
    }
}

.nav>li>form>button.logout:focus,
.nav>li>form>button.logout:hover {
    text-decoration: none;
    text-transform: uppercase;
}

.nav>li>form>button.logout:focus {
    outline: none;
    text-transform: uppercase;
}

.navbar .navbar-nav .nav-link {
    text-transform: uppercase;
}

.faq-container {
    max-width: 900px;
    margin: 50px auto;
    padding: 20px;
}

.faq-title {
    font-size: 1.75rem;
    font-weight: bold;
    margin-bottom: 1.5rem;
}

.faq-item {
    margin-bottom: 1.5rem;
}

.faq-item h4 {
    font-size: 1.25rem;
    font-weight: bold;
}

.faq-item p {
    font-size: 1rem;
    margin: 0.5rem 0 1rem;
}

/* .minibox {
    display: flex;
    justify-content: center;
    align-items: center;
    text-align: center;
    flex-direction: column;
    height: 100%;
    transition: transform 0.3s ease;
}

*/

/* General styles for the minibox */
.minibox {
    border: 2px solid #333;
    padding: 15px;
    text-align: center;
    margin-bottom: 15px;
    transition: all 0.3s ease-in-out;
    /* Smooth transition effect */
    border-radius: 8px;
    /* Rounded corners */
}

/* Alternating background colors */
    .minibox:nth-child(odd) {
        background-color: white;
    }
    .minibox:nth-child(odd) h5 {
        color: #555992 !important;
    }


    .minibox:nth-child(even) {
        background-color: #555992;
    }

    .minibox:nth-child(even) h5 {
        color: white !important;
    }

/* Icon styles */
.icon-style {
    font-size: 3rem;
    /* Adjust the icon size */
    color: white;
    transition: transform 0.3s ease, color 0.3s ease;
}

/* Text color changes based on background */
.minibox:nth-child(even) h5,
.minibox:nth-child(even) .icon-style {
    color: black;
    /* Black text and icon for white background */
}

/* Hover effect on minibox */
.minibox:hover {
    transform: scale(1.05);
    box-shadow: 0 8px 20px rgba(0, 0, 0, 0.2);
}

/* Hover effect on the icon */
.minibox:hover .icon-style {
    transform: scale(1.1);
    color: #0d6efd;
}

/* Responsive grid behavior for smaller screens */
@media (min-width: 992px) {
    .minibox {
        margin-bottom: 0;
        /* Remove extra space between boxes on large screens */
    }
}

.countdown.open-tender {
    color: green;
    font-weight: bold;
}

.countdown.closed-tender {
    color: red;
    font-weight: bold;
}


.counter img {
    margin-bottom: 10px;
}

.feed-item {
    background-color: #f9f9f9;
    padding: 15px;
    border-radius: 10px;
    border: 1px solid #e0e0e0;
    transition: box-shadow 0.3s ease-in-out;
}

.feed-item:hover {
    box-shadow: 0 4px 15px rgba(0, 0, 0, 0.1);
}

.feed-item-content h4 {
    margin-bottom: 10px;
}

.feed-item-content p {
    margin-bottom: 15px;
}

.feed-item-content .btn {
    background-color: #142b6b;
    color: white;
}

@keyframes blink {
    0% {
        opacity: 1;
    }

    50% {
        opacity: 0;
    }

    100% {
        opacity: 1;
    }
}

.help-block {
    color: red;
    font-size: math;
    padding-bottom: 15px;
    animation: blink 1s infinite;
}


/* ============================================================
   EWAVE — Table styling (Option A: Modern Card)
   System-wide. Applies to every <table> in the solution because
   they all carry the .table class. The whole table sits on a
   soft surface; each row floats as its own rounded "card" with
   no horizontal borders. On hover a teal-accent bar slides in
   from the left and a teal outline surrounds the row.
   ============================================================ */
:root {
    --ewave-navy: #0E1B2A;
    --ewave-navy-2: #13283D;
    --ewave-teal: #35C9B0;
    --ewave-teal-2: #2AA793;
    --ewave-teal-soft: rgba(53, 201, 176, 0.10);
    --ewave-row-bg: #ffffff;
    --ewave-surface: #F1F5F7;
    --ewave-border: #E3E9ED;
    --ewave-text: #1B2A38;
    --ewave-muted: #6B7280;
}

/* The wrapper provides the soft surface, padding and horizontal scroll on
   small screens. Tables don't have to be wrapped to be styled — but a
   table-responsive wrapper gives the best look. */
.table-responsive,
.ewave-table-wrap {
    background: var(--ewave-surface);
    border-radius: 14px;
    padding: 14px 14px 6px 14px;
    box-shadow: 0 1px 2px rgba(14, 27, 42, .04), 0 6px 24px rgba(14, 27, 42, .06);
    border: 1px solid var(--ewave-border);
    overflow-x: auto;
}

/* Base table: invisible (no borders, no background) — the row cards
   provide all the structure. Header is a thin uppercase label row. */
table.table,
table.ewave-table {
    --bs-table-bg: transparent;
    background: transparent !important;
    width: 100%;
    margin-bottom: 0;
    border-collapse: separate;
    border-spacing: 0 8px;          /* the gap between row cards */
    color: var(--ewave-text);
    font-size: 0.92rem;
    border: none !important;
}

/* Header: airy uppercase labels, no background, no borders */
table.table > thead,
table.ewave-table > thead {
    background: transparent;
}
table.table > thead tr,
table.ewave-table > thead tr {
    background: transparent;
}
table.table > thead th,
table.ewave-table > thead th,
table.table > thead tr th,
table.ewave-table > thead tr th {
    background: transparent !important;
    color: var(--ewave-muted) !important;
    font-weight: 700;
    font-size: 0.70rem;
    letter-spacing: 0.10em;
    text-transform: uppercase;
    padding: 6px 18px 14px 18px;
    border: none !important;
    vertical-align: middle;
    white-space: nowrap;
}

/* Each row becomes a floating white card — no horizontal borders,
   only a subtle outline + soft shadow. The first/last cells round the
   card's left/right corners. */
table.table > tbody tr,
table.ewave-table > tbody tr {
    background: var(--ewave-row-bg);
    box-shadow: 0 1px 2px rgba(14, 27, 42, .04);
    transition: transform .12s ease, box-shadow .15s ease, outline-color .15s ease;
    outline: 1px solid var(--ewave-border);
    outline-offset: -1px;
}
table.table > tbody td,
table.ewave-table > tbody td,
table.table > tbody tr td,
table.ewave-table > tbody tr td {
    background: transparent !important;
    padding: 14px 18px;
    border: none !important;
    vertical-align: middle;
    position: relative;
}
table.table > tbody td:first-child,
table.ewave-table > tbody td:first-child {
    border-top-left-radius: 12px;
    border-bottom-left-radius: 12px;
    padding-left: 22px;            /* room for the hover accent bar */
}
table.table > tbody td:last-child,
table.ewave-table > tbody td:last-child {
    border-top-right-radius: 12px;
    border-bottom-right-radius: 12px;
}

/* Hover: teal outline + teal accent bar on the left. */
table.table > tbody tr:hover,
table.ewave-table > tbody tr:hover {
    outline-color: var(--ewave-teal);
    box-shadow: 0 1px 2px rgba(14, 27, 42, .04), 0 8px 24px rgba(53, 201, 176, .12);
}
table.table > tbody tr:hover td:first-child::before,
table.ewave-table > tbody tr:hover td:first-child::before {
    content: "";
    position: absolute;
    left: 0; top: 8px; bottom: 8px;
    width: 4px;
    background: var(--ewave-teal);
    border-radius: 4px;
}

/* Links inside cells pick up the brand */
table.table a:not(.btn),
table.ewave-table a:not(.btn) {
    color: var(--ewave-teal-2);
    font-weight: 500;
    text-decoration: none;
}
table.table a:not(.btn):hover,
table.ewave-table a:not(.btn):hover {
    color: var(--ewave-teal);
    text-decoration: underline;
}

/* Action buttons inside table rows: rounded pill, brand primary */
table.table .btn,
table.ewave-table .btn {
    border-radius: 10px;
    padding: 6px 14px;
    font-size: 0.85rem;
}
table.table .btn-primary,
table.ewave-table .btn-primary {
    background: var(--ewave-teal);
    border-color: var(--ewave-teal);
    color: #fff;
}
table.table .btn-primary:hover,
table.ewave-table .btn-primary:hover {
    background: var(--ewave-teal-2);
    border-color: var(--ewave-teal-2);
}

/* Status / badge pills (any .badge inside a table) get card-style chips */
table.table .badge,
table.ewave-table .badge {
    border-radius: 999px;
    padding: 5px 12px;
    font-weight: 600;
    font-size: 0.75rem;
    letter-spacing: .02em;
}

/* Detail-view tables (key / value, like the Company Information panel):
   the LEFT label column becomes a navy block, the right cell stays white.
   This is the one place where a "single connected card" reads better than
   floating rows. */
table.detail-view {
    border-spacing: 0;
    background: var(--ewave-row-bg);
    border-radius: 12px;
    box-shadow: 0 1px 2px rgba(14,27,42,.04), 0 6px 24px rgba(14,27,42,.06);
    outline: 1px solid var(--ewave-border);
    outline-offset: -1px;
    overflow: hidden;
}
table.detail-view > tbody tr {
    background: transparent;
    box-shadow: none;
    outline: none;
}
table.detail-view > tbody tr:hover { background: transparent; }
table.detail-view > tbody tr:hover td:first-child::before { content: none; }
table.detail-view > tbody th,
table.detail-view > tbody tr th {
    background: var(--ewave-navy) !important;
    color: #fff !important;
    font-weight: 600;
    width: 32%;
    padding: 14px 18px;
    border: none !important;
    border-bottom: 1px solid rgba(255,255,255,.06) !important;
    border-top-left-radius: 0;
    border-bottom-left-radius: 0;
}
table.detail-view > tbody td {
    background: #fff !important;
    border-bottom: 1px solid var(--ewave-border) !important;
    border-top-left-radius: 0 !important;
    border-bottom-left-radius: 0 !important;
}
table.detail-view > tbody tr:last-child th,
table.detail-view > tbody tr:last-child td {
    border-bottom: none !important;
}

/* Responsive: tighten on phones */
@media (max-width: 576px) {
    .table-responsive, .ewave-table-wrap { padding: 8px; border-radius: 10px; }
    table.table, table.ewave-table { font-size: 0.85rem; border-spacing: 0 6px; }
    table.table > thead th, table.ewave-table > thead th { padding: 6px 10px 10px 10px; }
    table.table > tbody td, table.ewave-table > tbody td { padding: 10px 12px; }
    table.table > tbody td:first-child, table.ewave-table > tbody td:first-child { padding-left: 16px; }
}

/* ===== EWAVE Option A — safety overrides =====
   Bootstrap's .table-striped and .table-bordered have higher specificity than
   table.table selectors. If anyone re-adds those classes to a table, these
   overrides keep the Option A look intact. */
.table-responsive table.table.table-striped > tbody > tr,
.table-responsive table.table.table-bordered > tbody > tr {
    background: var(--ewave-row-bg) !important;
}
.table-responsive table.table.table-striped > tbody > tr > td,
.table-responsive table.table.table-bordered > tbody > tr > td,
.table-responsive table.table.table-striped > tbody > tr > th,
.table-responsive table.table.table-bordered > tbody > tr > th {
    background-color: transparent !important;
    border-color: transparent !important;
    box-shadow: none !important;
    --bs-table-striped-bg: transparent !important;
    --bs-table-border-color: transparent !important;
}
.table-responsive table.table > tbody > tr,
.table-responsive table.table > tbody > tr:nth-of-type(odd),
.table-responsive table.table > tbody > tr:nth-of-type(even) {
    --bs-table-bg: transparent !important;
    --bs-table-accent-bg: transparent !important;
    --bs-table-striped-bg: transparent !important;
}
