﻿@import "https://fonts.googleapis.com/css?family=Poppins:300,400,500,600,700";

body {
    font-family: 'Poppins', sans-serif;
    background: #fafafa;
    font-size: .9rem;
}

/* ---------------------------------------------------
    Preloader STYLE
----------------------------------------------------- */
.vertical {
    margin-top: 15%;
}

.preloader {
    margin-top: 69px;
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    z-index: 9999;
    /*background-color: #67c3e9;*/
}

    .preloader * h4 {
        color: #fff;
    }

.preloadSpinner {
    -webkit-animation: spin 2s linear infinite;
    -moz-animation: spin 2s linear infinite;
    animation: spin 2s linear infinite;
}

.loadingImg {
    font-size: 40px;
    color: #fff;
    text-shadow: 2px 2px #fff;
    text-shadow: -2px 2px #fff;
    text-shadow: -2px -2px #fff;
    text-shadow: 2px -2px #fff;
}

@-moz-keyframes spin {
    0% { -moz-transform: rotate(0deg); color: lightgray; }
    50% { -moz-transform: rotate(180deg); color: gray; }
    100% { -moz-transform: rotate(360deg); color: #fff; }
}

@-webkit-keyframes spin {
    0% { -webkit-transform: rotate(0deg); color: lightgray; }
    50% { -webkit-transform: rotate(180deg); color: gray; }
    100% { -webkit-transform: rotate(360deg); color: #fff; }
}

@keyframes spin {
    0% { -webkit-transform: rotate(0deg); transform: rotate(0deg); color: lightgray; }
    50% { -webkit-transform: rotate(180deg); transform: rotate(180deg); color: gray; }
    100% { -webkit-transform: rotate(360deg); transform: rotate(360deg); color: #fff; }
}

#loginLink, #sidebarCollapse {
    background-color: #fff;
    color: blue;
}

    #loginLink:hover, #sidebarCollapse:hover {
        background-color: blue;
        color: #fff;
    }

#registerLink {
    background-color: #fff;
    color: blue;
}

    #registerLink:hover {
        background-color: blue;
        color: #fff;
    }

#loginLink.fas, #registerLink.fas {
    line-height: inherit;
    margin-bottom: 0px;
}

.div-login-register {
    width: 100%;
    max-width: 630px;
    min-width: 400px;
    padding: 15px;
    margin: auto;
}

.fa-facebook, .fa-google {
    font-size: 3.5rem;
}

.fa-facebook {
    color: #3b5998;
}

.fa-google {
    color: #DB4437;
}

.signInBtn {
    border-radius: 15px;
}

.toast-container {
    padding: 85px 20px 20px 20px;
}

.bgc-main {
    background-color: #2272aa; /* Updated from #3895d3 — white contrast 5.17:1 ✅ WCAG AA */
}

.bgc-secondary {
    background-color: #fafafa;
}

/* FIX 1 — .colorMain updated to match new brand; #3895d3 on white was 3.28:1 ❌ → #2272aa = 5.17:1 ✅ */
.colorMain {
    color: #2272aa;
}

.colorSecondary {
    color: blue;
}

.wrapper {
    display: flex;
    width: 100%;
}

/* ---------------------------------------------------
    SIDEBAR STYLE
----------------------------------------------------- */

#sidebar {
    width: 300px;
    position: fixed;
    padding-top: 70px;
    top: 0;
    left: 0;
    height: 100%;
    z-index: 999;
    color: #fff;
    transition: all 0.3s;
    overflow-y: auto;
}

    #sidebar.expanded {
        width: 500px;
    }

    #sidebar.active.expanded {
        margin-left: -500px;
    }

    #sidebar.active {
        margin-left: -300px;
    }

    #sidebar .sidebar-header {
        padding: 20px;
    }

    #sidebar ul.components {
        padding: 5px 5px 20px 0px;
    }

    #sidebar ul p {
        color: #fff;
        padding: 10px;
    }

    #sidebar ul li a {
        padding: 10px 10px 10px 5px;
        margin-bottom: 5px;
        display: block;
    }

.list-group.boxShadow {
    box-shadow: 1px 1px 1px 0px #3c6539;
}

.legendBtn:hover, .legendBtn:focus {
    border: none;
    background-color: #fff;
    color: #6c757d;
    box-shadow: none;
}

/* FIX 2 — hover background updated; #fff on #3895d3 was 3.28:1 ❌ → #fff on #2272aa = 5.17:1 ✅ */
#pageSubmenu li a:hover {
    color: #fff;
    background: #2272aa;
    border-radius: 8px;
    border: 3px solid #2272aa;
    margin-left: 5px;
    margin-right: 5px;
}

#sidebar ul li.active > a,
a[aria-expanded="true"] {
}

.li-a-page a {
    color: #343A40;
}

/* FIX 3 — active highlight updated; #fff on #3895d3 was 3.28:1 ❌ → #fff on #2272aa = 5.17:1 ✅ */
#sidebar .li-highlight a {
    color: #fff;
    background-color: #2272aa;
    border-radius: 8px;
    border: 3px solid #2272aa;
    margin-left: 5px;
    margin-right: 5px;
}

#sidebar ul li a.dropdown-toggle {
    color: #fff;
}

#sidebar ul ul a {
    font-size: 0.9em !important;
    padding-left: 20px !important;
}

.subHeadings {
    color: #fff;
}

.subHeadings label {
    color: #fff;
}

a[data-toggle="collapse"] {
    position: relative;
}

a[aria-expanded="false"].dropdown-toggle::after {
    transform: rotate(-90deg);
}

.dropdown-toggle::after {
    display: block;
    position: absolute;
    top: 50%;
    right: 20px;
    transform: translateY(-50%);
}

.fa-globe-americas {
    background-color: #fff;
    color: blue;
    border-radius: 8px;
}

.fa-shapes {
    color: blue;
}

.subHeadings {
    padding-left: 20px;
}

.submenu {
    padding-left: 5px;
}

.chxBoxText, .legendToggle {
    font-size: .72rem !important;
}

table, td, th, .dataTables_wrapper {
    font-size: .85rem;
}

    td.details-control {
        background: url('../Images/details_open.png') no-repeat center center;
        cursor: pointer;
    }

tr.shown td.details-control {
    background: url('../Images/details_close.png') no-repeat center center;
}

.contactItem {
    border: none;
    font-size: .85rem;
}

/* ---------------------------------------------------
    NAVBAR STYLE
----------------------------------------------------- */

.fixed-top-custom {
    position: fixed;
    top: 0;
    right: 0;
    left: 0;
    z-index: 1030;
}

.navbar {
    padding: 13px 10px;
    border: none;
    border-radius: 0;
    margin-bottom: 40px;
    box-shadow: 1px 1px 3px rgba(0, 0, 0, 0.1);
}

.navbar-btn {
    box-shadow: none;
    outline: none !important;
    border: none;
}

.navbar-brand {
    display: inline-block;
    padding-top: 0px;
    padding-bottom: 0px;
    margin-right: 1rem;
    margin-left: 1rem;
    font-size: 1rem;
    line-height: inherit;
    white-space: nowrap;
}

.navbar > .container, .navbar > .container-fluid {
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    -ms-flex-align: center;
    align-items: center;
    -ms-flex-pack: justify;
    justify-content: flex-start;
}

/* ---------------------------------------------------
    CONTENT STYLE
----------------------------------------------------- */

#content {
    width: calc(100% - 300px);
    padding-top: 69px;
    min-height: 100%;
    height: 100%;
    transition: all 0.3s;
    position: absolute;
    top: 0;
    right: 0;
}

#content.expanded {
    width: calc(100% - 500px);
}

    #content.active {
        width: 100%;
    }

#LogoImg {
    display: inline-block;
    width: 70px;
    height: 70px;
    background-repeat: no-repeat;
    background-position: center;
    background-size: cover;
}

.contactIcons {
    font-size: 25px;
}

/* ---------------------------------------------------
    ESRI Map STYLE
----------------------------------------------------- */

.mapHandler {
    padding: 0;
    margin: 0;
    height: 100%;
    width: 100%;
}

/* ---------------------------------------------------
    MEDIAQUERIES
----------------------------------------------------- */

@media (max-width: 991px) {
    .navbar-brand {
        font-size: 2vw;
    }

    #loggedInUserName {
        display: none;
    }
}

@media (max-width: 768px) {
    #sidebar {
        margin-left: -300px;
    }

        #sidebar.expanded {
            margin-left: -500px;
        }

        #sidebar.active {
            margin-left: 0;
        }

    #content {
        width: 100%;
        min-height: 100%;
    }

    #sidebarCollapse span {
        display: none;
    }

    canvas {
        cursor: pointer;
    }

    .mapHandler {
        cursor: pointer;
    }
}

@media (max-width: 576px) {
    .navbar-brand {
        font-size: 0.70rem;
    }

    .table {
        font-size: 0.70rem;
    }
}

@media (max-width: 510px) {
    .navbar-brand {
        font-size: 1rem;
    }
}

@media (max-width: 298px) {
    .navbar-brand {
        /*display: none;*/
    }
}

/* Accessible replacement for Bootstrap's btn-primary */
.btn-accessible-primary {
    background-color: #0057b8; /* white contrast = 5.11:1 ✅ */
    border-color: #0057b8;
    color: #ffffff;
}
.btn-accessible-primary:hover,
.btn-accessible-primary:focus {
    background-color: #00459e;
    border-color: #00459e;
    color: #ffffff;
}

/* Accessible green — replaces Bootstrap 4's btn-success */
.btn-accessible-success {
    background-color: #1a7431; /* white contrast = 5.45:1 ✅ */
    border-color: #1a7431;
    color: #ffffff;
}
.btn-accessible-success:hover,
.btn-accessible-success:focus {
    background-color: #155c27;
    border-color: #155c27;
    color: #ffffff;
}

.link-accessible-text {
    color: #0057b8; /* white contrast = 5.11:1 ✅ */
    text-decoration: none;
}

.link-accessible-text:hover,
.link-accessible-text:focus {
    color: #0057b8; /* white contrast = 5.11:1 ✅ */
    text-decoration: underline;
}
