.alert{
    border:none
}
.alert p{
    margin-bottom:0
}
.alert button.close{
    padding:.75rem;
    line-height:.75
}
.alert .alert-heading,.alert .alert-heading+p{
    margin-left:.4rem
}
.alert-primary{
    background-color:#385d9e;
    color:#fff
}
.alert-primary a{
    color:#fff;
    font-weight:700
}
.alert-secondary{
    background-color:#ebeef3;
    color:#383d41
}
.alert-secondary a{
    color:#fff;
    font-weight:700
}
.alert-success{
    background-color:#4fbe87;
    color:#fff
}
.alert-success a{
    color:#fff;
    font-weight:700
}
.alert-warning{
    background-color:#eaca4a;
    color:#fff
}
.alert-warning a{
    color:#fff;
    font-weight:700
}
.alert-danger{
    background-color:#f3616d;
    color:#fff
}
.alert-danger a{
    color:#fff;
    font-weight:700
}
.alert-dark{
    background-color:#454546;
    color:#fff
}
.alert-dark a{
    color:#fff;
    font-weight:700
}
.alert-light{
    background-color:#f9f9f9;
    color:#818182
}
.alert-light a{
    color:#fff;
    font-weight:700
}
.alert-info{
    background-color:#56b6f7;
    color:#fff
}
.alert-info a{
    color:#fff;
    font-weight:700
}
.alert-light-primary{
    background-color:#ebf3ff
}
.alert-light-secondary{
    background-color:#e6eaee
}
.alert-light-success{
    background-color:#d2ffe8
}
.alert-light-danger{
    background-color:#ffdede
}
.alert-light-warning{
    background-color:#fffdd8
}
.alert-light-info{
    background-color:#e6fdff
}
.avatar{
    display:inline-flex;
    border-radius:50%;
    text-align:center;
    vertical-align:middle;
    position:relative
}
.avatar .avatar-content{
    width:32px;
    height:32px;
    color:#fff;
    display:flex;
    justify-content:center;
    align-items:center;
    font-size:.875rem
}
.avatar .avatar-content i,.avatar .avatar-content svg{
    color:#fff;
    font-size:1rem;
    height:1rem
}
.avatar img{
    width:32px;
    height:32px;
    border-radius:50%
}
.avatar .avatar-status{
    width:.7rem;
    height:.7rem;
    position:absolute;
    border-radius:50%;
    border:1px solid #fff;
    bottom:0;
    right:0
}
.avatar.avatar-sm .avatar-content,.avatar.avatar-sm img{
    width:24px;
    height:24px;
    font-size:.8rem
}
.avatar.avatar-md .avatar-content,.avatar.avatar-md img{
    width:32px;
    height:32px;
    font-size:.8rem
}
.avatar.avatar-lg .avatar-content,.avatar.avatar-lg img{
    width:48px;
    height:48px;
    font-size:1.2rem
}
.avatar.avatar-xl .avatar-content,.avatar.avatar-xl img{
    width:60px;
    height:60px;
    font-size:1.4rem
}
.btn .badge{
    border-radius:50%;
    margin-left:5px
}
.btn .badge.bg-transparent{
    background-color:hsla(0,0%,100%,.25)!important;
    color:#fff
}
.btn i,.btn svg{
    width:16px;
    height:16px
}
.btn.icon{
    padding:.4rem .6rem
}
.btn.icon svg{
    width:16px;
    height:16px
}
.btn.icon.icon-left svg{
    margin-right:3px
}
.btn.icon.icon-right svg{
    margin-left:3px
}
.btn.btn-outline-white{
    color:#fff;
    border-color:#fff
}
.btn.btn-outline-white:hover{
    color:#333;
    background-color:#fff
}
.btn.btn-light-primary{
    background-color:#ebf3ff;
    color:#002152
}
.btn.btn-light-secondary{
    background-color:#e6eaee;
    color:#181e24
}
.btn.btn-light-success{
    background-color:#d2ffe8;
    color:#00391c
}
.btn.btn-light-danger{
    background-color:#ffdede;
    color:#450000
}
.btn.btn-light-warning{
    background-color:#fffdd8;
    color:#3f3c00
}
.btn.btn-light-info{
    background-color:#e6fdff;
    color:#00474d
}
.btn.btn-danger,.btn.btn-info,.btn.btn-primary,.btn.btn-secondary,.btn.btn-success,.btn.btn-warning{
    color:#fff
}
.btn.btn-light{
    color:#607080
}
.btn.btn-dark{
    color:#fff
}
.btn.btn-sidebar{
    background-color:#385d9e;
    color:#fff;
}
.btn.btn-map{
    background-color:#46b2ff;
    color:#fff;
}

.btn-block{
    width:100%
}
.btn-group:not(.dropdown) .btn:not([class*=btn-]){
    border:1px solid #dfe3e7
}
.btn-group>.btn{
    border-radius:.267rem
}
.buttons .btn{
    margin:0 10px 10px 0
}
.breadcrumb.breadcrumb-right{
    justify-content:flex-end;
    margin-top:1rem
}
.breadcrumb.breadcrumb-center{
    justify-content:center;
    margin-top:1rem
}
.carousel-inner{
    border-radius:.7rem
}
.carousel-caption h5{
    color:#fff
}
.card{
    margin-bottom:2.2rem
}
.card.card-statistic{
    box-shadow:1px 2px 5px rgba(47,170,244,.5);
    background:linear-gradient(180deg,#25a6f1,#54b9ff)
}
.card.card-statistic .card-title{
    text-transform:uppercase;
    color:#fff;
    letter-spacing:.8px;
    font-weight:400;
    font-size:1.3rem;
    margin-bottom:0;
    margin-top:5px
}
.card.card-statistic .card-right p{
    font-size:1.5rem;
    color:#fff;
    margin-bottom:0
}
.card.card-statistic .card-right span.green{
    color:#6fff6f
}
.card.card-statistic .card-right span.red{
    color:#ff7979
}
.card.card-statistic .chart-wrapper{
    height:100px
}
.card .card-header{
    border:none
}
.card .card-header h4{
    font-size:1.2rem;
    font-weight:700
}
.card .card-content{
    position:relative
}
.card .card-title{
    font-size:1.2rem
}
.card .card-heading{
    color:#555;
    font-size:1.5rem
}
.card .card-img-overlay{
    background-color:rgba(0,0,0,.6)
}
.card .card-img-overlay p{
    color:#eee
}
.card .card-img-overlay .card-title{
    color:#fff
}
.pricing .card{
    box-shadow:none;
    border-right:1px solid #e9ecef;
    box-shadow:0 10px 10px #e9ecef;
    margin-bottom:.5rem
}
.pricing h1{
    text-align:center;
    font-size:4rem;
    margin-bottom:3rem
}
.pricing .card-header .card-title{
    font-size:2rem!important;
    margin-bottom:0
}
.pricing .card-header p{
    font-size:.8rem
}
.pricing ul li{
    list-style:none;
    margin-bottom:.5rem
}
.pricing ul li i,.pricing ul li svg{
    width:1rem;
    color:#198754;
    font-size:1rem;
    margin-right:7px
}
.pricing .card-highlighted{
    background-color:#385d9e;
    padding-top:20px;
    padding-bottom:20px
}
.pricing .card-highlighted .card-body,.pricing .card-highlighted .card-header{
    background-color:#385d9e;
    color:#fff
}
.pricing .card-highlighted ul li{
    color:#fff
}
.pricing .card-highlighted ul li i,.pricing .card-highlighted ul li svg{
    color:#479f76
}
.pricing .card-highlighted .card-footer{
    background-color:#385d9e
}
.pricing .card-highlighted .card-title{
    color:#fff;
    font-size:1.8rem
}
.divider{
    display:block;
    text-align:center;
    overflow:hidden;
    margin:1rem 0
}
.divider .divider-text{
    position:relative;
    display:inline-block;
    padding:0 1rem;
    background-color:#fff
}
.divider .divider-text:after,.divider .divider-text:before{
    content:"";
    position:absolute;
    top:50%;
    width:9999px;
    border-top:1px solid #dfe3e7
}
.divider .divider-text:before{
    right:100%
}
.divider .divider-text:after{
    left:100%
}
.divider.divider-left .divider-text{
    left:0;
    float:left;
    padding-left:0
}
.divider.divider-left-center .divider-text{
    left:-25%
}
.divider.divider-right-center .divider-text{
    left:25%
}
.divider.divider-right .divider-text{
    float:right;
    padding-right:0
}
.dropdown-toggle:after{
    color:#fff
}
.dropdown-menu-large{
    min-width:16rem
}
.dropdown-menu{
    box-shadow:0 0 30px rgba(0,0,0,.03)
}
.dropdown-item{
    transition:all .5s
}
.form-group{
    margin-bottom:.7rem
}
.form-group label{
    color:rgba(35,28,99,.7);
    font-weight:600
}
.form-group small{
    font-size:.7rem
}
.form-group.with-title{
    position:relative
}
.form-group.with-title label{
    position:absolute;
    top:0;
    left:0;
    padding:5px;
    font-size:.6rem;
    background-color:#e9ecef;
    width:100%;
    transition:border-color .15s ease-in-out,box-shadow .15s ease-in-out
}
.form-group.with-title .form-control,.form-group.with-title dataTable-input{
    padding-top:2rem
}
.form-group.with-title .form-control:focus~label,.form-group.with-title dataTable-input:focus~label{
    border-left:1px solid #385d9e;
    border-top:1px solid #385d9e;
    border-right:1px solid #385d9e
}
.form-group[class*=has-icon-].has-icon-left .form-control{
    padding-left:2.5rem
}
.form-group[class*=has-icon-].has-icon-left .form-control-icon{
    left:0
}
.form-group[class*=has-icon-].has-icon-right .form-control{
    padding-right:2.5rem
}
.form-group[class*=has-icon-].has-icon-right .form-control-icon{
    right:0
}
.form-group[class*=has-icon-] .form-control:focus~.form-control-icon i,.form-group[class*=has-icon-] .form-control:focus~.form-control-icon svg{
    color:#5a8dee
}
.form-group[class*=has-icon-] .form-control.form-control-xl{
    padding-left:3rem
}
.form-group[class*=has-icon-] .form-control.form-control-xl~.form-control-icon i{
    font-size:1.6rem
}
.form-group[class*=has-icon-] .form-control.form-control-xl~.form-control-icon i:before{
    color:#a6a8aa
}
.form-group[class*=has-icon-] .form-control-icon{
    position:absolute;
    top:50%;
    transform:translateY(-50%);
    padding:0 .6rem
}
.form-group[class*=has-icon-] .form-control-icon i,.form-group[class*=has-icon-] .form-control-icon svg{
    width:1.2rem;
    color:#6c757d;
    font-size:1.2rem
}
.form-group[class*=has-icon-] .form-control-icon i:before,.form-group[class*=has-icon-] .form-control-icon svg:before{
    vertical-align:sub
}
.form-control.form-control-xl{
    padding:.85rem 1rem;
    font-size:1.2rem
}
.form-check .form-check-input[class*=bg-]{
    border:0
}
.form-check .form-check-input:focus{
    box-shadow:none
}
.form-check .form-check-input.form-check-primary{
    background-color:#385d9e;
    border-color:#385d9e
}
.form-check .form-check-input.form-check-primary:not(:checked){
    background-color:transparent;
    border:1px solid #ced4da
}
.form-check .form-check-input.form-check-primary.form-check-glow{
    box-shadow:0 0 5px #697ecb
}
.form-check .form-check-input.form-check-primary.form-check-glow:not(:checked){
    box-shadow:none
}
.form-check .form-check-input.form-check-secondary{
    background-color:#6c757d;
    border-color:#6c757d
}
.form-check .form-check-input.form-check-secondary:not(:checked){
    background-color:transparent;
    border:1px solid #ced4da
}
.form-check .form-check-input.form-check-secondary.form-check-glow{
    box-shadow:0 0 5px #868e96
}
.form-check .form-check-input.form-check-secondary.form-check-glow:not(:checked){
    box-shadow:none
}
.form-check .form-check-input.form-check-success{
    background-color:#198754;
    border-color:#198754
}
.form-check .form-check-input.form-check-success:not(:checked){
    background-color:transparent;
    border:1px solid #ced4da
}
.form-check .form-check-input.form-check-success.form-check-glow{
    box-shadow:0 0 5px #21b26f
}
.form-check .form-check-input.form-check-success.form-check-glow:not(:checked){
    box-shadow:none
}
.form-check .form-check-input.form-check-info{
    background-color:#0dcaf0;
    border-color:#0dcaf0
}
.form-check .form-check-input.form-check-info:not(:checked){
    background-color:transparent;
    border:1px solid #ced4da
}
.form-check .form-check-input.form-check-info.form-check-glow{
    box-shadow:0 0 5px #3cd5f4
}
.form-check .form-check-input.form-check-info.form-check-glow:not(:checked){
    box-shadow:none
}
.form-check .form-check-input.form-check-warning{
    background-color:#ffc107;
    border-color:#ffc107
}
.form-check .form-check-input.form-check-warning:not(:checked){
    background-color:transparent;
    border:1px solid #ced4da
}
.form-check .form-check-input.form-check-warning.form-check-glow{
    box-shadow:0 0 5px #ffce3a
}
.form-check .form-check-input.form-check-warning.form-check-glow:not(:checked){
    box-shadow:none
}
.form-check .form-check-input.form-check-danger{
    background-color:#dc3545;
    border-color:#dc3545
}
.form-check .form-check-input.form-check-danger:not(:checked){
    background-color:transparent;
    border:1px solid #ced4da
}
.form-check .form-check-input.form-check-danger.form-check-glow{
    box-shadow:0 0 5px #e4606d
}
.form-check .form-check-input.form-check-danger.form-check-glow:not(:checked){
    box-shadow:none
}
.form-check .form-check-input.form-check-light{
    background-color:#f8f9fa;
    border-color:#f8f9fa
}
.form-check .form-check-input.form-check-light:not(:checked){
    background-color:transparent;
    border:1px solid #ced4da
}
.form-check .form-check-input.form-check-light.form-check-glow{
    box-shadow:0 0 5px #fff
}
.form-check .form-check-input.form-check-light.form-check-glow:not(:checked){
    box-shadow:none
}
.form-check .form-check-input.form-check-dark{
    background-color:#212529;
    border-color:#212529
}
.form-check .form-check-input.form-check-dark:not(:checked){
    background-color:transparent;
    border:1px solid #ced4da
}
.form-check .form-check-input.form-check-dark.form-check-glow{
    box-shadow:0 0 5px #383f45
}
.form-check .form-check-input.form-check-dark.form-check-glow:not(:checked){
    box-shadow:none
}
.form-check.form-check-sm .form-check-input{
    width:.9rem;
    height:.9rem;
    margin-top:.3em
}
.form-check.form-check-sm label{
    font-size:.7rem
}
.form-check.form-check-lg .form-check-input{
    width:1.5rem;
    height:1.5rem;
    margin-top:.3em
}
.form-check.form-check-lg label{
    font-size:1rem
}
.form-check.form-check-primary .form-check-input{
    background-color:#385d9e;
    border-color:#385d9e
}
.form-check.form-check-secondary .form-check-input{
    background-color:#6c757d;
    border-color:#6c757d
}
.form-check.form-check-success .form-check-input{
    background-color:#198754;
    border-color:#198754
}
.form-check.form-check-info .form-check-input{
    background-color:#0dcaf0;
    border-color:#0dcaf0
}
.form-check.form-check-warning .form-check-input{
    background-color:#ffc107;
    border-color:#ffc107
}
.form-check.form-check-danger .form-check-input{
    background-color:#dc3545;
    border-color:#dc3545
}
.form-check.form-check-light .form-check-input{
    background-color:#f8f9fa;
    border-color:#f8f9fa
}
.form-check.form-check-dark .form-check-input{
    background-color:#212529;
    border-color:#212529
}
.dataTable-input{
    min-height:calc(1.5em + .934rem + 2px);
    padding:.467rem .6rem;
    font-size:.9025rem;
    font-weight:400;
    line-height:1.5;
    color:#555252;
    background-color:#fff;
    background-clip:padding-box;
    border:1px solid #dfe3e7;
    -webkit-appearance:none;
    -moz-appearance:none;
    appearance:none;
    border-radius:.25rem;
    transition:border-color .15s ease-in-out,box-shadow .15s ease-in-out
}
.dataTable-input:focus{
    color:#555252;
    background-color:#fff;
    border-color:#5a8dee;
    outline:0;
    box-shadow:0 3px 8px 0 rgba(0,0,0,.1)
}
.modal .modal-content{
    box-shadow:-8px 12px 18px 0 rgba(25,42,70,.13);
    border:none
}
.modal .modal-full{
    max-width:94%
}
.modal .white{
    color:#fff
}
.modal .modal-header{
    display:flex;
    justify-content:space-between;
    align-items:center
}
.modal .modal-header .modal-title{
    font-size:1.1rem
}
.modal .modal-header .close{
    padding:7px 10px;
    border-radius:50%;
    background:none;
    border:none
}
.modal .modal-header .close:hover{
    background:#dee2e6
}
.modal .modal-header i,.modal .modal-header svg{
    font-size:12px;
    height:12px;
    width:12px
}
.modal .modal-footer{
    padding:1rem
}
.modal.modal-borderless .modal-header{
    border-bottom:0
}
.modal.modal-borderless .modal-footer{
    border-top:0
}
#sidebar {
    position: fixed;
    top: 0;
    left: 0;
    bottom: 0;
    width: 300px;
    z-index: 1050;
}

#sidebar.active {
    visibility: visible;
}

#sidebar:not(.active) {
    visibility: hidden;
}

#sidebar.active .sidebar-wrapper{
    left:0;
}
#sidebar:not(.active) .sidebar-wrapper{
    left:-300px;
}
#sidebar:not(.active)~#main{
    margin-left:0
}
.sidebar-wrapper{
    width:300px;
    height:100vh;
    position:fixed;
    top:0;
    z-index:10;
    overflow-y:auto;
    background-color:#fff;
    bottom:0;
    transition:left .5s ease-out
}
.sidebar-wrapper .sidebar-header{
    padding:2rem 2rem 1rem;
    font-size:2rem;
    font-weight:700
}
.sidebar-wrapper .sidebar-header img{
    height:1.2rem
}
.sidebar-wrapper .sidebar-toggler.x{
    position:absolute;
    right:0;
    top:.5rem;
    display:none
}
.sidebar-wrapper .menu{
    margin-top:2rem;
    padding:0 2rem;
    font-weight:600
}
.sidebar-wrapper .menu .sidebar-title{
    padding:0 1rem;
    margin:1.5rem 0 1rem;
    font-size:1rem;
    list-style:none;
    font-weight:600;
    color:#25396f
}
.sidebar-wrapper .menu .sidebar-link{
    display:block;
    padding:.7rem 1rem;
    font-size:1rem;
    display:flex;
    align-items:center;
    border-radius:.5rem;
    transition:all .5s;
    text-decoration:none;
    color:#25396f
}
.sidebar-wrapper .menu .sidebar-link i,.sidebar-wrapper .menu .sidebar-link svg{
    color:#7c8db5
}
.sidebar-wrapper .menu .sidebar-link span{
    margin-left:1rem
}
.sidebar-wrapper .menu .sidebar-link:hover{
    background-color:#f0f1f5
}
.sidebar-wrapper .menu .sidebar-item{
    list-style:none;
    margin-top:.5rem;
    position:relative
}
.sidebar-wrapper .menu .sidebar-item.has-sub .sidebar-link:after{content:url('data:image/svg+xml;charset=utf-8,<svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="feather feather-chevron-down"><path stroke="gray" stroke-width="1" d="M6 9l6 6 6-6"/></svg>');
    position:absolute;
    color:#ccc;
    right:15px;
    top:12px;
    display:block
}
.sidebar-wrapper .menu .sidebar-item.active .sidebar-link{
    background-color:#385d9e
}
.sidebar-wrapper .menu .sidebar-item.active .sidebar-link span{
    color:#fff
}
.sidebar-wrapper .menu .sidebar-item.active .sidebar-link i,.sidebar-wrapper .menu .sidebar-item.active .sidebar-link svg{
    fill:#fff;
    color:#fff
}
.sidebar-wrapper .menu .sidebar-item.active .sidebar-link.has-sub:after{
    content:url('data:image/svg+xml;charset=utf-8,<svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="feather feather-chevron-down"><path stroke="%23fff" stroke-width="1" d="M6 9l6 6 6-6"/></svg>')
}
.sidebar-wrapper .menu .submenu{
    list-style:none;
    display:none;
    transition:max-height 2s cubic-bezier(0,.55,.45,1);
    overflow:hidden
}
.sidebar-wrapper .menu .submenu.active{
    max-height:999px;
    display:block
}
.sidebar-wrapper .menu .submenu .submenu-item.active{
    position:relative
}
.sidebar-wrapper .menu .submenu .submenu-item.active>a{
    color:#385d9e;
    font-weight:700
}
.sidebar-wrapper .menu .submenu .submenu-item a{
    padding:.7rem 2rem;
    display:block;
    color:#25396f;
    font-size:.85rem;
    font-weight:600;
    letter-spacing:.5px;
    transition:all .3s
}
.sidebar-wrapper .menu .submenu .submenu-item a:hover{
    margin-left:.3rem
}
@media screen and (max-width:1500px){
    .sidebar-wrapper{
        position:absolute;
        left:-300px
    }
    .sidebar-wrapper .sidebar-toggler.x{
        display:block
    }
}
.nav-pills .nav-link.active{
    box-shadow:0 2px 10px rgba(67,94,190,.5)
}
.nav-tabs,.nav-tabs .nav-link{
    border:none
}
.nav-tabs .nav-link:hover{
    border:none;
    text-shadow:0 0 2px rgba(67,94,190,.3)
}
.nav-tabs .nav-link.active{
    border:none;
    position:relative;
    color:#385d9e
}
.nav-tabs .nav-link.active:after{
    content:"";
    width:100%;
    position:absolute;
    bottom:0;
    height:2px;
    background-color:#385d9e;
    left:0;
    box-shadow:0 2px 5px rgba(67,94,190,.5)
}
.navbar-fixed{
    position:fixed;
    background-color:#fff
}
.navbar{
    height:90px;
    padding:1.5rem
}
.navbar .navbar-brand img{
    height:1.5rem
}
.navbar .user-menu img{
    width:39px;
    height:39px
}
.navbar.navbar-header li{
    display:flex;
    align-items:center
}
.navbar.navbar-header li.nav-icon{
    margin-right:.4rem
}
.navbar.navbar-header li.nav-icon .nav-link{
    display:block;
    padding:.4rem;
    border-radius:50%
}
.navbar.navbar-header li.nav-icon .nav-link:hover{
    background-color:#e9ecef
}
.navbar.navbar-header .dropdown>a{
    color:#6c757d;
    font-weight:600
}
.navbar.navbar-header .dropdown>a svg{
    height:24px;
    width:24px
}
.navbar.navbar-header .dropdown>a:after{
    display:none
}
.pagination.pagination-primary .page-item.active .page-link{
    background-color:#385d9e;
    border-color:#385d9e;
    box-shadow:0 2px 5px rgba(67,94,190,.3)
}
.pagination.pagination-secondary .page-item.active .page-link{
    background-color:#6c757d;
    border-color:#6c757d;
    box-shadow:0 2px 5px rgba(108,117,125,.3)
}
.pagination.pagination-success .page-item.active .page-link{
    background-color:#198754;
    border-color:#198754;
    box-shadow:0 2px 5px rgba(25,135,84,.3)
}
.pagination.pagination-info .page-item.active .page-link{
    background-color:#0dcaf0;
    border-color:#0dcaf0;
    box-shadow:0 2px 5px rgba(13,202,240,.3)
}
.pagination.pagination-warning .page-item.active .page-link{
    background-color:#ffc107;
    border-color:#ffc107;
    box-shadow:0 2px 5px rgba(255,193,7,.3)
}
.pagination.pagination-danger .page-item.active .page-link{
    background-color:#dc3545;
    border-color:#dc3545;
    box-shadow:0 2px 5px rgba(220,53,69,.3)
}
.pagination.pagination-light .page-item.active .page-link{
    background-color:#f8f9fa;
    border-color:#f8f9fa;
    box-shadow:0 2px 5px rgba(248,249,250,.3)
}
.pagination.pagination-dark .page-item.active .page-link{
    background-color:#212529;
    border-color:#212529;
    box-shadow:0 2px 5px rgba(33,37,41,.3)
}
.page-item:not(.active) .page-link:hover{
    color:#000
}
.page-item i,.page-item svg{
    font-size:13px;
    width:13px;
    height:13px
}
.page-item .page-link{
    font-size:.875rem
}
.page-item .page-link:focus{
    box-shadow:none
}
.page-item:first-child{
    margin-right:.4rem
}
.page-item:last-child{
    margin-left:.4rem
}
.dataTable-table td,.dataTable-table thead th,.table td,.table thead th{
    vertical-align:middle
}
.dataTable-table:not(.table-borderless) thead th,.table:not(.table-borderless) thead th{
    border-bottom:1px solid #dedede!important
}
.table-md.dataTable-table tr td,.table-md.dataTable-table tr th,.table-sm.dataTable-table tr td,.table-sm.dataTable-table tr th,.table.table-md tr td,.table.table-md tr th,.table.table-sm tr td,.table.table-sm tr th{
    padding:1rem
}
.table-lg.dataTable-table tr td,.table-lg.dataTable-table tr th,.table.table-lg tr td,.table.table-lg tr th{
    padding:1.3rem
}
.dataTable-container{
    overflow-x:auto
}
.progress.progress-primary{
    overflow:visible
}
.progress.progress-primary .progress-bar{
    background-color:#385d9e;
    border-radius:.25rem
}
.progress.progress-secondary{
    overflow:visible
}
.progress.progress-secondary .progress-bar{
    background-color:#6c757d;
    border-radius:.25rem
}
.progress.progress-success{
    overflow:visible
}
.progress.progress-success .progress-bar{
    background-color:#198754;
    border-radius:.25rem
}
.progress.progress-info{
    overflow:visible
}
.progress.progress-info .progress-bar{
    background-color:#0dcaf0;
    border-radius:.25rem
}
.progress.progress-warning{
    overflow:visible
}
.progress.progress-warning .progress-bar{
    background-color:#ffc107;
    border-radius:.25rem
}
.progress.progress-danger{
    overflow:visible
}
.progress.progress-danger .progress-bar{
    background-color:#dc3545;
    border-radius:.25rem
}
.progress.progress-light{
    overflow:visible
}
.progress.progress-light .progress-bar{
    background-color:#f8f9fa;
    border-radius:.25rem
}
.progress.progress-dark{
    overflow:visible
}
.progress.progress-dark .progress-bar{
    background-color:#212529;
    border-radius:.25rem
}
.progress.progress-sm{
    height:.4rem
}
.progress.progress-lg{
    height:1.5rem
}
.progress .progress-bar{
    position:relative;
    overflow:visible
}
.progress .progress-bar.progress-label:before{
    content:attr(aria-valuenow) "%";
    position:absolute;
    right:0;
    top:-1.3rem;
    color:#495057;
    font-size:.8rem
}
.bi{
    width:1rem;
    height:1rem
}
.bi.bi-middle:before{
    vertical-align:middle
}
.bi.bi-sub:before{
    vertical-align:sub
}
.stats-icon {
    width: 3rem;
    height: 3rem;
    border-radius: .5rem;
    display: flex;
    align-items: center;
    justify-content: center;
    background-color: #9694ff; /* default, can be overridden by .purple/.blue/.red/.green */
    color: #fff;
}
.stats-icon.purple { background-color: #9694ff; }
.stats-icon.blue { background-color: #57caeb; }
.stats-icon.red { background-color: #ff7976; }
.stats-icon.green { background-color: #5ddab4; }
.stats-icon i {
    color: #fff;
    font-size: 1.7rem;
    margin: 0;
}
@media (max-width:767px){
    .stats-icon{
        float:left;
        margin-bottom:.4rem
    }
}
.burger-btn{
    display:none
}
#main{
    margin-left:300px;
    padding:2rem;
    position:relative;
    min-height:100vh;
    flex: 1 1 auto;
    min-width: 0;
    width: 100%;
    display:flex!important;
    flex-direction: column;
}
@media screen and (max-width:1499px){
    #main{
        margin-left:0
    }
}
#main.layout-navbar{
    padding:0
}
.main-content {
    padding:2rem
}
.page-heading{
    margin:0 0 2rem
}
.page-heading h3{
    font-weight:700
}
.page-title-headings{
    display:flex;
    align-items:center;
    justify-content:space-between;
    margin-bottom:.5rem
}
.page-title-headings h3{
    margin-bottom:0;
    margin-right:1rem
}
.page-title-headings .breadcrumb{
    margin-bottom:0
}
a{
    text-decoration:none
}
.mt-10{
    margin-top:3rem
}
.mb-10,.my-10{
    margin-bottom:3rem
}
.my-10{
    margin-top:3rem
}
.mb-24,.my-24{
    margin-bottom:6rem
}
.my-24{
    margin-top:6rem
}
.opacity-50{
    opacity:1%
}
.py-4-5{
    padding-top:2rem!important;
    padding-bottom:2rem!important
}
.text-sm{
    font-size:.875rem
}
.text-xl{
    font-size:1.25rem
}
.text-4xl{
    font-size:2.25rem
}
.text-6xl{
    font-size:4rem
}
.text-black{
    color:#000
}
.bg-gradient-ltr{
    background:linear-gradient(90deg,#095cde,#53c3f3)
}
.bg-light-primary{
    background-color:#ebf3ff;
    color:#002152
}
.bg-light-secondary{
    background-color:#e6eaee;
    color:#181e24
}
.bg-light-success{
    background-color:#d2ffe8;
    color:#00391c
}
.bg-light-danger{
    background-color:#ffdede;
    color:#450000
}
.bg-light-warning{
    background-color:#fffdd8;
    color:#3f3c00
}
.bg-light-info{
    background-color:#e6fdff;
    color:#00474d
}
.font-semibold{
    font-weight:600
}
.font-bold{
    font-weight:700
}
.font-extrabold{
    font-weight:800
}
.text-width-md{
    max-width:450px
}
.text-gray-300{
    color:#dee2e6!important
}
.text-gray-400{
    color:#ced4da!important
}
.text-gray-500{
    color:#adb5bd!important
}
.text-gray-600{
    color:#6c757d!important
}
.btn-xl{
    padding:1rem 2rem
}
.icon-mid:before{
    vertical-align:middle
}
.d-flex {
    position: relative;
}

.fixed-card {
    height: 150px;
    overflow: hidden;
}


.stat-value {
    font-size: clamp(1rem, 2vw, 1.5rem);
    white-space: normal;
    word-break: break-word;
}



.grid-2x3 {
    display: grid;
    align-items: center;
    justify-items: center;
    grid-template-columns: minmax(0, 6fr) minmax(0, 4fr) minmax(0, 2fr);
    grid-template-rows: 75% 25%;
    height: auto;
    gap: 1.5rem;
    grid-template-areas:
    "col1 col2 col3a"
    "col1 col2 col3b";
}

/* Assign elements to areas */
.col1 { grid-area: col1; grid-row: span 2 }
.col2 { grid-area: col2; grid-row: span 2 }
.col3a { grid-area: col3a; }
.col3b { grid-area: col3b; }

/* Responsive layout for medium screens */
@media (max-width: 1200px) {
    .grid-2x3 {
        grid-template-columns: 1fr 1fr;      /* two columns */
        grid-template-rows: auto auto auto;  /* three rows */
        height: auto;                        /* let content determine height */
        grid-template-areas:
            "col1 col1"   /* row 1: col1 spans both columns */
            "col2 col3a"  /* row 2: col2 left, col3a right */
            "col2 col3b"; /* row 3: col2 left, col3b right */
    }

    .col1 {
        grid-column: span 2;
        grid-row: span 1
    }
}

/* Responsive layout for small screens */
@media (max-width: 750px) {
    .grid-2x3 {
        grid-template-columns: 1fr 1fr;      /* two columns */
        grid-template-rows: auto auto auto;  /* three rows */
        height: auto;                        /* let content determine height */
        grid-template-areas:
            "col1 col1"   /* row 1: col1 spans both columns */
            "col2 col2"  /* row 2: col2 left, col3a right */
            "col3a col3b"; /* row 3: col2 left, col3b right */
    }

    .col1 {
        grid-column: span 2;
        grid-row: span 1
    }

    .col2 {
        grid-column: span 2;
        grid-row: span 1
    }
}


.grid-2x2-ccffa {
    display: grid;
    align-items: center;
    justify-items: center;
    grid-template-columns: minmax(0, 8fr) minmax(0, 4fr);
    grid-template-rows: auto auto;
    gap: 1.5rem;
    grid-template-areas:
    "cell1 cell2"
    "cell3 cell3";
}

/* Assign elements to areas */
.cell1 { grid-area: cell1 }
.cell2 { grid-area: cell2 }
.cell3 { grid-area: cell3; grid-column: span 2 }

/* Responsive layout for medium screens */
@media (max-width: 1200px) {
    .grid-2x2-ccffa {
        grid-template-columns: 1fr;
        grid-template-rows: auto auto auto;
        grid-template-areas:
            "cell1"
            "cell2"
            "cell3";
        height: auto;
    }

    .cell3 {
        grid-column: span 1;
    }
}



.grid-2x2-ccc {
    display: grid;
    align-items: center;
    justify-items: center;
    grid-template-columns: minmax(0, 3fr) minmax(0, 7fr);
    grid-template-rows: auto auto;
    height: 100vh;
    gap: 1.5rem;
    grid-template-areas:
    "box1 box3"
    "box2 box3";
}

/* Assign elements to areas */
.box1 { grid-area: box1 }
.box2 { grid-area: box2 }
.box3 { grid-area: box3; grid-row: span 2 }

/* Responsive layout for medium screens */
@media (max-width: 1200px) {
    .grid-2x2-ccc {
        grid-template-columns: 1fr 1fr;
        grid-template-rows: 40% 60%;
        grid-template-areas:
            "box3 box3"
            "box1 box2";
        height: 160vh;
    }

    .box3 {
        grid-column: span 2;
        grid-row: span 1
    }
}



.donut-wrapper {
    position: relative;
    aspect-ratio: 1 / 1;
    width: 100%;
    max-width: 250px;
    display: flex;
    padding: 10px;
    align-items: center;
    justify-content: center;
}

.donut {
    position: relative;
    width: 100%;
    height: 100%;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
}

.donut .donut-ring {
    position: absolute;
    border-radius: 50%;
    aspect-ratio: 1 / 1;
}

.donut .donut-ring > .donut-centre-text {
    position: absolute;
    text-align: center;
    z-index: 501;
    color: #000;
    pointer-events: none;
}

.donut .donut-cap {
    position: absolute;
    border-radius: 50%;
    transform: translate(-50%, -50%);
    aspect-ratio: 1 / 1;
}

.donut .donut-cutout {
    border-radius: 50%;
    background-color: white;
    position: absolute;
    z-index: 500;
    pointer-events: none;
    aspect-ratio: 1 / 1;
    display: flex;
    align-items: center;
    justify-content: center;
}

.donut .donut-tooltip {
    position: absolute;
    bottom: 110%;
    left: 50%;
    transform: translateX(-50%);
    padding: 5px 10px;
    border-radius: 5px;
    background-color: #000;
    color: white;
    font-size: 0.8rem;
    z-index: 2;
    opacity: 0;
    transition: opacity 0.2s;
    pointer-events: none;
}

.donut:hover > .donut-tooltip {
    opacity: 1;
}

.heading-text {
    font-size: 1.25rem;
    font-family: 'Nunito', system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", Arial, "Noto Sans";
    font-weight: 1000;
}

.homepage-heading-text {
    font-size: 1.5rem;
    font-family: 'Nunito', system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", Arial, "Noto Sans";
    font-weight: 1000;
}

.bold-text {
    margin-bottom: 0.2rem;
    font-size: 1.5rem;
    font-family: 'Nunito', system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", Arial, "Noto Sans";
    font-weight: 700;
}

.coloured-box {
    display: inline-block;
    width: 1rem;
    height: 1rem;
    vertical-align: middle;
    margin-right: 0.25rem;
    border-radius: 0.1rem;
}


/* Add padding beneath slider for text to not overlap handle */
.flood-extent-slider .rc-slider-mark {
    margin-top: 10px;
}

/* Increase font size for the marks */
.flood-extent-slider .rc-slider-mark-text {
    font-size: 0.9rem;  /* bigger font */
    font-weight: bold; /* bold text */
    color: #25396f;   /* optional text color */
}

/* Make the rail darker */
.flood-extent-slider .rc-slider-rail {
    background-color: #cccccc;  /* bold background */
    height: 10px;               /* thicker track */
}

/* Style the filled track */
.flood-extent-slider .rc-slider-track {
    background-color: #25396f;  /* Bootstrap primary */
    height: 10px;
}

/* Style the handle */
.flood-extent-slider .rc-slider-handle {
    width: 24px;
    height: 24px;
    margin-top: -7px;  /* center handle on track */
    border: 2px solid #25396f;
    background-color: #ffffff;
}

/* Temp for the eg chloropleth  */
.info {
    padding: 6px 8px;
    font: 14px/16px Arial, Helvetica, sans-serif;
    background: white;
    background: rgba(255,255,255,0.8);
    box-shadow: 0 0 15px rgba(0,0,0,0.2);
    border-radius: 5px;
    position: absolute;
    top: 0.5rem;
    right: 0.5rem;
    width: 30%;
    z-index: 1000;
}
.info h4 {
    margin: 0 0 5px;
    color: #777;
}


.dmc-api-demo-root {
  border: 1px solid light-dark(var(--mantine-color-gray-5), var(--mantine-color-dark-4));
  padding: var(--mantine-spacing-xs) var(--mantine-spacing-sm);
  border-radius: var(--mantine-radius-md);
  font-weight: 500;
  cursor: pointer;

  &[data-checked] {
    background-color: var(--mantine-color-blue-filled);
    border-color: var(--mantine-color-blue-filled);
    color: var(--mantine-color-white);
  }
}

/* ============= Results Page Styling ============= */
#results-main {
    margin-left:300px;
    padding:2rem;
    position:relative;
    min-height:100vh;
    flex: 1 1 auto;
    min-width: 0;
    width: 100%;
    display:flex!important;
    flex-direction: column;
}
@media screen and (max-width:1499px){
    #results-main{
        margin-left:0
    }
}

#results-main-content {
    padding-left: 1rem;
    padding-right: 1rem;
}

/* Card Styling */
.card {
    border: none;
    border-radius: 0.5rem;
    box-shadow: 0 0.15rem 1.75rem 0 rgba(58, 59, 69, 0.15);
    transition: all 0.3s ease-in-out;
}

.card:hover {
    box-shadow: 0 0.15rem 2.5rem 0 rgba(58, 59, 69, 0.2);
}

.card-body {
    padding: 1.5rem;
}

.card .text-primary {
    color: #385d9e !important;
}

/* Table Styling */
.table {
    margin-bottom: 0;
    font-size: 0.95rem;
}

.table thead th {
    border-bottom: 2px solid #e3e6f0;
    color: #25396f;
    font-weight: 1000;
    font-family: 'Nunito', system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", Arial, "Noto Sans";
    padding: 0.75rem;
}

.table td {
    vertical-align: middle;
    color: #25396f;
    font-weight: 500;
    font-family: 'Nunito', system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", Arial, "Noto Sans";
    padding: 0.25rem 0.5rem !important;
    font-size: 1rem;
}

.table tbody tr:hover {
    background-color: #f8f9fc;
}

.table-responsive {
    border-radius: 0.35rem;
}

/* Graph Container Styling */
.plotly {
    background-color: transparent !important;
}

.plotly-graph-div {
    border-radius: 0.35rem;
}

/* Input Summary Specific */
#input-summary-card {
    max-height: fit-content;
}

#temp-table-container .table {
    font-size: 0.9rem;
}



/* Description Text */
.card-body > p {
    margin-bottom: 0;
    line-height: 1.6;
}

/* Button Styling */
#generate-report-btn {
    background-color: #385d9e;
    color: white;
    border: none;
    padding: 0.6rem 1.5rem;
    font-weight: 600;
    font-size: 0.95rem;
    transition: all 0.3s ease;
}

#generate-report-btn:hover {
    background-color: #3a4ba3;
    box-shadow: 0 0.15rem 1.75rem 0 rgba(67, 90, 190, 0.3);
}

#generate-report-btn:active {
    background-color: #314891;
}

/* Map Container */
#catchment-map-container {
    border-radius: 0.35rem;
    border: 1px solid #e3e6f0;
    background-color: #f8f9fc;
}

/* Responsive Grid Adjustments */
@media (max-width: 768px) {
    .col-md-6 {
        padding-left: 0.5rem;
        padding-right: 0.5rem;
    }
    
    .card {
        margin-bottom: 1rem;
    }
    
    .card-body {
        padding: 1rem;
    }
    
    .table {
        font-size: 0.85rem;
    }
    
    #results-main-content {
        padding-left: 0.5rem;
        padding-right: 0.5rem;
    }
}

/* Footer Styling */
.text-center.text-muted {
    padding: 2rem 0;
    border-top: 2px solid #e3e6f0;
    margin-top: 3rem;
}

/* Graph Loading State */
.dash-loading {
    text-align: center;
    padding: 2rem;
    color: #858796;
    font-weight: 500;
}


.text-radio {
    display:inline;
    color: #25396f;
    font-weight: 500;
    font-size: 1.25rem;
    font-family: 'Nunito', system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", Arial, "Noto Sans";
}

/* dims + blurs only the main content */
.content-blur {
    filter: blur(4px);
    pointer-events: none;   /* disable clicking behind popup */
}

/* popup container inside main content */
.content-popup-wrapper {
    position: absolute;
    top: 30vh;
    left: 0;
    width: 100%;

    display: flex;
    align-items: center;
    justify-content: center;
    z-index: 2000;          /* above content */
}

/* modal box */
.content-popup {
    background: white;
    padding: 2rem;
    width: 40%;
    min-width: 320px;
    border-radius: 12px;
    box-shadow: 0px 8px 25px rgba(0,0,0,0.25);
    text-align: center;
}


.card-homepage {
    box-shadow: 0px 0.5rem 5rem rgba(0,0,0,0.25) !important;
}

.card-hover-effect:hover {
    transform: translateY(-5px); /* slight lift */
    cursor: pointer;
}

/* Background banner */
.hero-banner {
    background-image: url("/assets/img/homepage_banner.jpg"); /* put your image in assets/ */
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;

    min-height: 40vh;          /* adjust height */
    display: flex;
    align-items: center;        /* vertically center heading */
    justify-content: center;    /* horizontally center */
    padding: 2rem 0;
}

/* Heading style */
.hero-heading {
    font-size: 5rem;          /* large heading */
    font-weight: 1000;
    text-align: center;
    color: white;               /* contrast against background */
    text-shadow: 0 2px 6px rgba(0,0,0,0.4);
    margin: 0;
}




.datatable-popover {
    width: 30rem !important;
    max-width: 30rem !important;
}