﻿/*Bootstrap related CSS*/
/* [2026-05-26] Single source of truth for the CRE brand blue. This is the color the
   app uses to signal user inputs (text-primary) AND brand chrome (buttons, KPI fills,
   progress bars). Change it here once and it updates everywhere. If input-blue ever
   needs to diverge from brand-blue, point .text-primary at its own variable. */
:root {
    --cre-blue: #1565C0;
}

body {
    font-family: "Roboto",sans-serif;
    display: flex;
    flex-direction: column;
    min-height: 100vh;
}

main {
    flex: 1 0 auto;
}

.btn-link {
    color: var(--cre-blue) !important;
}

    .btn-link > i {
        cursor: pointer;
    }

        .btn-link > i:hover {
            text-decoration: none !important;
        }

.bg-primary {
    background-color: var(--cre-blue) !important;
    color: white;
}

.text-primary {
    color: var(--cre-blue) !important;
}

.nav-link {
    white-space: nowrap;
}

.header a.nav-link {
    color: #fff;
}

.card {
    box-shadow: 0 2px 2px 0 rgba(0,0,0,0.14), 0 3px 1px -2px rgba(0,0,0,0.12), 0 1px 5px 0 rgba(0,0,0,0.2);
}
/*a >i.fa:before,a >i.fab:before,a >i.far:before,a >i.fas:before{padding: 5px;}*/
.navbar i.fa, .navbar i.fab, .navbar i.far, .navbar i.fas {
    font-size: 20px;
}

.dropdown-item:focus, .dropdown-item:hover, .typeahead > li.active {
    background-color: #c6d2da;
}

.btn-primary {
    background-color: var(--cre-blue) !important;
    border-color: var(--cre-blue) !important;
}

.card-action {
    background-color: #f2f2f2;
    border-top: 1px solid rgba(160,160,160,0.2);
    position: relative;
    padding: 0.5rem 1.250rem;
}

.row.hr {
    border-bottom: 1px solid;
}

.divider {
    height: 1px;
    overflow: hidden;
    background-color: #e0e0e0;
}

.card-signin {
    border: 0;
    border-radius: 1rem;
    box-shadow: 0px 0rem 3rem 10px rgba(0, 0, 0, 0.58);
}

.or-container {
    position: relative;
    color: #aaa;
    margin-top: 5px;
    margin-bottom: 5px;
    padding-top: 10px;
    padding-bottom: 10px;
    font-variant: small-caps;
}

.or-hr {
    height: 1px;
    margin-top: 0px !important;
    margin-bottom: 0px !important;
}

.or {
    display: block;
    position: absolute;
    left: 50%;
    top: -2px;
    margin-left: -25px;
    background-color: #fff;
    width: 50px;
    text-align: center;
}
/* [2026-06-18 mobile-review A7] Social-login icons (Register): uniform neutral grey, reading
   secondary to the brand-blue CTAs, brand-blue on hover; 44px touch target. The X mark renders
   from an inline SVG (Font Awesome 5.11 predates fa-x-twitter). */
.social-login a {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 44px;
    min-height: 44px;
    color: #5c636a;
    transition: color .15s ease;
}

    .social-login a:hover {
        text-decoration: none;
        color: var(--cre-blue,#1565C0);
    }

    .social-login a:focus-visible {
        outline: 2px solid var(--cre-blue,#1565C0);
        outline-offset: 2px;
        border-radius: 6px;
    }

    .social-login a > i.fab {
        font-size: 30px;
    }

    .social-login a > .social-x-icon {
        width: 27px;
        height: 27px;
        fill: currentColor;
        display: block;
    }

.invalid-feedback.field-validation-error {
    display: block;
}

img.card-img-top {
    object-fit: cover;
    object-position: top;
}

.my-class-section {
    border-bottom: 1px solid #b3b3b3 !important;
}
/*start gallery view*/
.gallery {
    -webkit-column-count: 3;
    -moz-column-count: 3;
    column-count: 3;
}

    .gallery .pics {
        -webkit-transition: all 350ms ease;
        transition: all 350ms ease;
    }

    .gallery .animation {
        -webkit-transform: scale(1);
        -ms-transform: scale(1);
        transform: scale(1);
    }

@media (max-width: 450px) {
    .gallery {
        -webkit-column-count: 1;
        -moz-column-count: 1;
        column-count: 1;
    }
}

@media (max-width: 400px) {
    .btn.filter {
        padding-left: 1.1rem;
        padding-right: 1.1rem;
    }
}
/*end gallery view*/

@media (min-width: 992px) {
    .navbar-expand-lg .navbar-nav .nav-link {
        padding-right: 1.0rem;
        padding-left: 1.0rem;
    }
}

.profile-edit-btn {
    border: none;
    border-radius: 1.5rem;
    width: 70%;
    padding: 2%;
    font-weight: 600;
    color: #6c757d;
    background-color: #dddddd;
}

.table thead th {
    border-top: 0;
}

.table tr td {
    vertical-align: middle;
}
/*Start Data Table*/
.dataTables_filter {
    display: none;
}

div.dataTables_info {
    float: left;
}

div .dataTables_length {
    float: left;
    padding-left: 1rem;
}

div.dataTables_length, div.dataTables_filter {
    padding-top: 0.75em;
}

.custom-select-sm {
    height: calc(1.3em + .5rem + 2px);
}

@media screen and (max-width: 767px) {
    div.dataTables_info {
        float: none;
    }

    div .dataTables_length {
        float: none;
        padding-left: 0;
    }

    div.dataTables_length, div.dataTables_filter {
        padding-top: 0;
    }
}
/*End Data Table*/
a:not([href]):not([tabindex]) > i {
    cursor: pointer;
    padding: 10px 5px;
}

a > i, button > i {
    padding-right: 10px;
}

caption {
    caption-side: top;
}

.form-control:focus {
    border-radius: 0.25rem;
}

.overlay {
    position: absolute;
    top: 0;
    right: 0;
    background-color: #e9e9e9;
    left: 0;
    bottom: 0;
    display: none;
}

    .overlay > .spinner-border {
        position: absolute;
        top: 50%;
        right: 50%;
    }

.badge > a {
    color: white;
    font-size: 15px;
    padding: 0px;
    text-decoration: none;
    font-weight: 500;
}

.team > a {
    padding: 3px !important
}

.badge > a > i {
    padding: 0 0 0 10px;
}

.folder-count > i {
    font-size: 24px;
    padding-right: 10px;
}

.btn-floating {
    display: inline-block;
    color: #fff;
    position: relative;
    overflow: hidden;
    z-index: 1;
    width: 40px;
    height: 40px;
    line-height: 40px;
    padding: 0;
    background-color: var(--cre-blue);
    border-radius: 50%;
    -webkit-transition: background-color .3s;
    transition: background-color .3s;
    cursor: pointer;
    vertical-align: middle;
}

    .btn-floating i {
        width: inherit;
        display: inline-block;
        text-align: center;
        color: #fff;
        font-size: 1.2rem;
        line-height: 40px;
        padding: 0;
    }

    .btn-floating.halfway-share {
        position: absolute;
        right: 60px;
        top: 230px;
    }

    .btn-floating.halfway-cam {
        position: absolute;
        left: 10px;
        top: 230px;
    }

    .btn-floating.halfway-fab {
        position: absolute;
        right: 10px;
        top: 230px;
    }

.badge {
    margin: 0 5px 5px 0;
    line-height: 20px;
    padding: 5px 12px;
    border-radius: 16px;
}

.team {
    line-height: 29px !important;
    padding: 2px 12px !important;
    border-radius: 40px !important;
}

.file-field {
    position: relative;
    cursor: pointer
}

    .file-field input[type=file] {
        position: absolute;
        top: 0;
        right: 0;
        left: 0;
        bottom: 0;
        width: 100%;
        margin: 0;
        padding: 0;
        font-size: 20px;
        opacity: 0;
        filter: alpha(opacity=0);
    }

.file-cursor {
    opacity: 0;
    cursor: pointer;
    width: 24px;
    height: 24px;
    font-size: 0;
    position: absolute;
}

.card-body > a.card-title {
    color: black;
    text-decoration: none;
    font-size: 1.25rem;
}

.badge > img {
    height: 32px;
    width: 32px;
    border-radius: 50%;
    float: left;
    margin: 0 0 0 -13px;
}

/*For item dashboard*/
/*.item-dashboard-container .tabs .tab a{color:silver;}
.item-dashboard-container .tabs .indicator{display:none;}
.item-dashboard-container .tabs .tab a.active, .itemDashboard-container .tabs .tab a:hover {background-color: var(--cre-blue);color: white;border-radius: 15px 15px 0 0;}
.item-dashboard-container .counter{ background-color: var(--cre-blue) !important; color: #FFFFFF;border-radius: 4px;padding: 1%;text-align:center;margin: .5rem 0 1rem 0;}

.item-dashboard-container .counter div.dot-icon{position: relative;}
.item-dashboard-container .counter div.dot-icon i{position: absolute;top:0;right:0;}*/
.font-14 {
    font-size: 14px;
}

.font-10 {
    font-size: 10px;
}

.font-20 {
    font-size: 20px;
}

.pointer {
    cursor: pointer;
}

.clr_10 {
    clear: both;
    height: 10px;
}

label {
    font-size: .8rem;
}

.outer-form-text {
    padding-left: 1rem;
    margin-top: -0.7rem;
    margin-bottom: 1rem;
}

.progress-bar {
    background-color: var(--cre-blue);
}

.PS-container .counter-black {
    border: 1px solid;
    background-color: #000;
    border-radius: 15px;
    color: #fff;
    padding: 2%;
}

.heatMapChart .noi:hover {
    stroke: #000;
    stroke-width: 1px;
}

.heatMapChart .tooltip {
    opacity: 1;
}

/*strat side bar*/
.sidenav {
    background: white;
    color: black;
    transition: all 0.3s;
    position: fixed;
    z-index: 9999;
    height: 100%;
    top: 0;
    transform: translateX(-100%);
    overflow-y: auto;
    left: 0;
}

    .sidenav .sidenav-header {
        padding: 1.25rem 1.25rem .25rem 1.25rem;
        font-size: 1.75rem;
        font-weight: 500;
        border-bottom: 2px solid black;
    }

    .sidenav ul p {
        padding: 1rem;
        margin: 0;
    }

    .sidenav ul li a {
        padding: 10px;
        font-size: 14px;
        display: block;
        padding-right: 2rem;
        text-decoration: none;
        text-transform: capitalize;
        color: black;
    }

    .sidenav ul ul li, .sidenav ul ul li a {
        padding-left: 13px !important;
    }

    .sidenav::-webkit-scrollbar {
        width: .3em;
        height: .3em;
    }

    .sidenav::-webkit-scrollbar-thumb {
        background-color: #a9a9a9;
        outline: 1px solid #708090;
    }

    .sidenav.show {
        transform: translateX(0%);
    }

    .sidenav a[data-toggle="collapse"] {
        position: relative;
    }

    .sidenav .dropdown-toggle::after {
        position: absolute;
        top: 45%;
        right: 10px;
    }

    .sidenav a:not([href]):not([tabindex]) {
        cursor: pointer;
    }

.sidenav-overlay {
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    opacity: 0;
    height: 120vh;
    background-color: rgba(0,0,0,0.5);
    z-index: 999;
    display: none;
}
/*end side bar*/
.alert {
    z-index: 9;
}

.bootstrap-select > select ~ button.btn.dropdown-toggle, .bootstrap-select > select ~ button.btn.dropdown-toggle:hover {
    border: 1px solid #ced4da;
    color: black;
    background-color: white;
}

    .bootstrap-select > select ~ button.btn.dropdown-toggle.disabled, .bootstrap-select > select ~ button.btn.dropdown-toggle.disabled:hover {
        background-color: #e9ecef;
        opacity: 1;
        color: black;
        box-shadow: none;
    }

.bootstrap-tagsinput {
    min-height: calc(1.5em + .75rem + 2px);
}

.dataTable thead th {
    white-space: nowrap;
}

.nowrap {
    white-space: nowrap;
}


/*tree view css*/
.tree-view {
    min-height: 450px;
    max-height: 600px;
    overflow-y: auto;
    overflow-x: auto;
}

    .tree-view ul:not(.browser-default) {
        padding-left: 0;
        list-style-type: none;
    }

    .tree-view li {
        float: none;
        line-height: 48px;
    }

        .tree-view li > a {
            padding: 0 16px;
        }

        .tree-view li.active {
            background-color: rgba(0,0,0,0.05);
        }

        .tree-view li li a {
            padding: 0 23.5px 0 31px;
        }

        .tree-view li li li a {
            padding-left: 55px;
        }

        .tree-view li li li li a {
            padding-left: 80px;
        }

        .tree-view li:not(data-target).active {
            background-color: #039be5;
        }

/*tree content css*/
.tree-content:hover {
    background-color: #f0f0f0;
    border-left: 4px solid #ccc;
}

/*For typeahead*/
.accordion {
    margin-bottom: -3px
}

.accordion-group {
    border: none
}

.twitter-typeahead {
    display: block !important;
}

    .twitter-typeahead .tt-hint, .twitter-typeahead .tt-query {
        margin-bottom: 0
    }

    .twitter-typeahead .tt-hint {
        display: none
    }

.tt-menu {
    position: absolute;
    top: 100%;
    left: 0;
    z-index: 1000;
    display: none;
    float: left;
    min-width: 160px;
    padding: 5px 0;
    margin: 2px 0 0;
    list-style: none;
    font-size: 14px;
    background-color: #fff;
    border: 1px solid #ccc;
    border: 1px solid rgba(0,0,0,.15);
    border-radius: 4px;
    -webkit-box-shadow: 0 6px 12px rgba(0,0,0,.175);
    box-shadow: 0 6px 12px rgba(0,0,0,.175);
    background-clip: padding-box;
    cursor: pointer;
    max-height: 150px;
    overflow-y: auto;
}

.tt-suggestion {
    display: block;
    padding: 3px 20px;
    clear: both;
    font-weight: 400;
    line-height: 1.428571429;
    color: #333;
    white-space: nowrap
}

    .tt-cursor, .tt-suggestion:focus, .tt-suggestion:hover {
        color: #fff;
        text-decoration: none;
        outline: 0;
        background-color: #428bca
    }

/*scrollable table body*/
table.scroll-tbody > tbody {
    display: block;
    height: 500px;
    overflow: auto;
}

    table.scroll-tbody > thead, table.scroll-tbody > tfoot, table.scroll-tbody > tbody tr {
        display: table;
        width: 100%;
        table-layout: fixed;
    }

table.scroll-tbody > thead, table.scroll-tbody > tfoot {
    width: calc( 100% - 1em )
}

/*Color picker*/
.colorpicker {
    z-index: 9;
}

/* ── Portfolio folder cards (Index.cshtml Portfolios section) ── */
.portfolio-folder-card {
    border: 1px solid #e0e4e8;
    border-radius: 8px;
    transition: box-shadow 0.2s ease, border-color 0.2s ease, transform 0.2s ease;
    cursor: pointer;
}
.portfolio-folder-card:hover {
    box-shadow: 0 4px 16px rgba(0,0,0,0.1);
    border-color: var(--primary-color, #1565C0);
    transform: translateY(-2px);
}
.portfolio-folder-card .card-body { padding: 14px 16px; }
.portfolio-folder-card h6 { font-weight: 600; }

