:root {
    --primary: #1b6ec2;
    --primary-hover: #154577;
    --clr-lightblue: lightblue;
    --clr-lightblue-hover: #77b6e6;
    --clr-slate: #cfd2d4; /*#f1f5f9;*/
}

/*Utilities*/
/* Small devices (landscape phones, 576px and up)*/
@media (min-width: 576px) {
    .w-sm-auto {
        width: auto !important;
    }

    .w-sm-100 {
        width: 100% !important;
    }

    .w-sm-75 {
        width: 75% !important;
    }

    .w-sm-50 {
        width: 50% !important;
    }

    .w-sm-25 {
        width: 25% !important;
    }

    .h-sm-auto {
        height: auto !important;
    }

    .h-sm-100 {
        height: 100% !important;
    }

    .h-sm-75 {
        height: 75% !important;
    }

    .h-sm-50 {
        height: 50% !important;
    }

    .h-sm-25 {
        height: 25% !important;
    }
}


/* Medium devices (tablets, 768px and up)*/
@media (min-width: 768px) {
    .w-md-auto {
        width: auto !important;
    }

    .w-md-100 {
        width: 100% !important;
    }

    .w-md-75 {
        width: 75% !important;
    }

    .w-md-50 {
        width: 50% !important;
    }

    .w-md-25 {
        width: 25% !important;
    }

    .h-md-auto {
        height: auto !important;
    }

    .h-md-100 {
        height: 100% !important;
    }

    .h-md-75 {
        height: 75% !important;
    }

    .h-md-50 {
        height: 50% !important;
    }

    .h-md-25 {
        height: 25% !important;
    }
}

/* Large devices (desktops, 992px and up)*/
@media (min-width: 992px) {
    .w-lg-auto {
        width: auto !important;
    }

    .w-lg-100 {
        width: 100% !important;
    }

    .w-lg-75 {
        width: 75% !important;
    }

    .w-lg-50 {
        width: 50% !important;
    }

    .w-lg-25 {
        width: 25% !important;
    }

    .h-lg-auto {
        height: auto !important;
    }

    .h-lg-100 {
        height: 100% !important;
    }

    .h-lg-75 {
        height: 75% !important;
    }

    .h-lg-50 {
        height: 50% !important;
    }

    .h-lg-25 {
        height: 25% !important;
    }
}

/* Extra large devices (large desktops, 1200px and up)*/
@media (min-width: 1200px) {
    .w-xl-auto {
        width: auto !important;
    }

    .w-xl-100 {
        width: 100% !important;
    }

    .w-xl-75 {
        width: 75% !important;
    }

    .w-xl-50 {
        width: 50% !important;
    }

    .w-xl-25 {
        width: 25% !important;
    }

    .h-xl-auto {
        height: auto !important;
    }

    .h-xl-100 {
        height: 100% !important;
    }

    .h-xl-75 {
        height: 75% !important;
    }

    .h-xl-50 {
        height: 50% !important;
    }

    .h-xl-25 {
        height: 25% !important;
    }
}

@media (min-width: 576px) {
    .border-sm-top {
        border-top: 1px solid #e3e7eb !important;
    }

    .border-sm-right {
        border-right: 1px solid #e3e7eb !important;
    }

    .border-sm-bottom {
        border-bottom: 1px solid #e3e7eb !important;
    }

    .border-sm-left {
        border-left: 1px solid #e3e7eb !important;
    }

    .border-sm-top-0 {
        border-top: 0 !important;
    }

    .border-sm-right-0 {
        border-right: 0 !important;
    }

    .border-sm-bottom-0 {
        border-bottom: 0 !important;
    }

    .border-sm-left-0 {
        border-left: 0 !important;
    }

    .border-sm-x {
        border-left: 1px solid #e3e7eb !important;
        border-right: 1px solid #e3e7eb !important;
    }

    .border-sm-y {
        border-top: 1px solid #e3e7eb !important;
        border-bottom: 1px solid #e3e7eb !important;
    }

    .border-sm {
        border-top: 1px solid #e3e7eb !important;
        border-bottom: 1px solid #e3e7eb !important;
        border-left: 1px solid #e3e7eb !important;
        border-right: 1px solid #e3e7eb !important;
    }

    .border-sm-0 {
        border-top: 0 !important;
        border-bottom: 0 !important;
        border-left: 0 !important;
        border-right: 0 !important;
    }
}

@media (min-width: 768px) {
    .border-md-top {
        border-top: 1px solid #e3e7eb !important;
    }

    .border-md-right {
        border-right: 1px solid #e3e7eb !important;
    }

    .border-md-bottom {
        border-bottom: 1px solid #e3e7eb !important;
    }

    .border-md-left {
        border-left: 1px solid #e3e7eb !important;
    }

    .border-md-top-0 {
        border-top: 0 !important;
    }

    .border-md-right-0 {
        border-right: 0 !important;
    }

    .border-md-bottom-0 {
        border-bottom: 0 !important;
    }

    .border-md-left-0 {
        border-left: 0 !important;
    }

    .border-md-x {
        border-left: 1px solid #e3e7eb !important;
        border-right: 1px solid #e3e7eb !important;
    }

    .border-md-y {
        border-top: 1px solid #e3e7eb !important;
        border-bottom: 1px solid #e3e7eb !important;
    }

    .border-md {
        border-top: 1px solid #e3e7eb !important;
        border-bottom: 1px solid #e3e7eb !important;
        border-left: 1px solid #e3e7eb !important;
        border-right: 1px solid #e3e7eb !important;
    }

    .border-md-0 {
        border-top: 0 !important;
        border-bottom: 0 !important;
        border-left: 0 !important;
        border-right: 0 !important;
    }
}

@media (min-width: 992px) {
    .border-lg-top {
        border-top: 1px solid #e3e7eb !important;
    }

    .border-lg-right {
        border-right: 1px solid #e3e7eb !important;
    }

    .border-lg-bottom {
        border-bottom: 1px solid #e3e7eb !important;
    }

    .border-lg-left {
        border-left: 1px solid #e3e7eb !important;
    }

    .border-lg-top-0 {
        border-top: 0 !important;
    }

    .border-lg-right-0 {
        border-right: 0 !important;
    }

    .border-lg-bottom-0 {
        border-bottom: 0 !important;
    }

    .border-lg-left-0 {
        border-left: 0 !important;
    }

    .border-lg-x {
        border-left: 1px solid #e3e7eb !important;
        border-right: 1px solid #e3e7eb !important;
    }

    .border-lg-y {
        border-top: 1px solid #e3e7eb !important;
        border-bottom: 1px solid #e3e7eb !important;
    }

    .border-lg {
        border-top: 1px solid #e3e7eb !important;
        border-bottom: 1px solid #e3e7eb !important;
        border-left: 1px solid #e3e7eb !important;
        border-right: 1px solid #e3e7eb !important;
    }

    .border-lg-0 {
        border-top: 0 !important;
        border-bottom: 0 !important;
        border-left: 0 !important;
        border-right: 0 !important;
    }
}

@media (min-width: 1200px) {
    .border-xl-top {
        border-top: 1px solid #e3e7eb !important;
    }

    .border-xl-right {
        border-right: 1px solid #e3e7eb !important;
    }

    .border-xl-bottom {
        border-bottom: 1px solid #e3e7eb !important;
    }

    .border-xl-left {
        border-left: 1px solid #e3e7eb !important;
    }

    .border-xl-top-0 {
        border-top: 0 !important;
    }

    .border-xl-right-0 {
        border-right: 0 !important;
    }

    .border-xl-bottom-0 {
        border-bottom: 0 !important;
    }

    .border-xl-left-0 {
        border-left: 0 !important;
    }

    .border-xl-x {
        border-left: 1px solid #e3e7eb !important;
        border-right: 1px solid #e3e7eb !important;
    }

    .border-xl-y {
        border-top: 1px solid #e3e7eb !important;
        border-bottom: 1px solid #e3e7eb !important;
    }

    .border-xl {
        border-top: 1px solid #e3e7eb !important;
        border-bottom: 1px solid #e3e7eb !important;
        border-left: 1px solid #e3e7eb !important;
        border-right: 1px solid #e3e7eb !important;
    }

    .border-xl-0 {
        border-top: 0 !important;
        border-bottom: 0 !important;
        border-left: 0 !important;
        border-right: 0 !important;
    }
}
/*Utilities*/

/*General*/
* {
    font-family: "Titillium Web", sans-serif;
}

.bg-slate {
    background-color: var(--clr-slate);
}

.border-primary {
    border-color: var(--primary) !important;
}

.card-title {
    position: relative;
    padding: 1.5rem 0;
    font-weight: 700;
    color: var(--primary-hover);
}

    .card-title::after {
        content: "";
        position: absolute;
        bottom: 0;
        left: -1rem;
        width: 6px;
        height: 100%;
        background-color: var(--primary-hover);
    }

.text-primary {
    color: var(--primary) !important;
}

@media (width >= 64rem) {
    .w-main-container {
        width: calc(10 / 12 * 100%);
    }
}
/*General*/ 

/*Login*/
.bg-login {
    background-image: url('/images/kowa_background.jpg');
    background-repeat: no-repeat;
    background-position: center;
    /* Option A: scale background to 40% of the element width (height auto) */
    /*background-size: 90% auto;*/
    background-size: 1920px 1100px;
    /* Alternative options:
       background-size: contain;    -> fit the image fully inside the element
       background-size: 200px 150px;-> explicit width and height in px
       background-size: 50% 50%;   -> percentage width and height
    */
}

.bg-two-step {
    background-image: url(../img/bg-two-step.png);
    background-repeat: no-repeat;
    background-size: cover;
    background-position: center;
}

.btn-login {
    border-color: var(--primary) !important;
    background-color: var(--primary) !important;
    color: white !important;
}

    .btn-login:hover {
        border-color: var(--primary-hover) !important;
        background-color: var(--primary-hover) !important;
    }
/*Login*/

/*Navbar*/
.navbar-icon img {
    background-color: var(--clr-lightblue);
    border-radius: 15px;
    transform: scale(1);
    -webkit-transition: .3s ease-in-out;
    transition: .3s ease-in-out;
    width: 30px;
    aspect-ratio: 1/1;
    padding: 0.25rem;
}

.navbar-icon:hover img {
    background-color: var(--clr-lightblue-hover);
    -webkit-transform: scale(1.3);
    transform: scale(1.3);
}

.userName {
    position: relative;
    margin-top: 2%;
    margin-left: 5%
}

.siteName {
    position: relative;
    margin-top: 2%;
    /*margin-right: 5%*/
    /*09/19/2025 Jawa not required padding as site name size has been increased.*/
    /*padding-right: 7%;*/
    font-family: 'Segoe UI Historic';
    color: #fb5405;
}
/*Navbar*/

/*Custom Access*/
.form-check {
    display: flex;
    align-items: center;
    margin-bottom: 1em;
}

.form-check-input {
    width: 1.5em;
    height: 1.5em;
    margin-right: 0.5em;
}

.form-check-label {
    font-size: 1rem;
    margin-left: 0.5em;
}

.controller-checkbox {
    width: 1.5em;
    height: 1.5em;
    margin-right: 0.5em;
    vertical-align: middle;
}

.card-header label {
    font-size: 1.2em;
    margin-left: 0.5em;
}
/*Custom Access*/

.bg-headercolor {
    background-color: #ffee5a;
}

.footer {
    position: fixed;
    bottom: 0;
    width: 100%;
    white-space: nowrap;
    line-height: 30px;
}

.border-dashed {
    border-style: dashed !important;
}

.sortable-ghost {
    opacity: 0.4;
    background-color: #f8f9fa;
}

    .sortable-ghost .group-operator {
        display: none;
    }

.sortable-drag {
    opacity: 0.8;
    box-shadow: 0 5px 15px rgba(0,0,0,0.1);
}

    .sortable-drag .group-operator {
        display: none;
    }

.bg-primary-90 {
    background-color: #d8eeff;
}

.template-card {
    transition-property: all;
    transition-duration: 150ms;
    cursor: pointer;
}

    .template-card .text-primary {
        color: var(--bs-primary) !important;
    }

    .template-card:hover h6 {
        color: var(--bs-primary);
    }

    .template-card:hover .radio-button {
        color: var(--bs-primary) !important;
    }

    .template-card:hover {
        border: 1px solid var(--bs-primary);
        background-color: #eef8ff;
    }

.boostrap-text-primary {
    color: var(--bs-primary) !important;
}

.boostrap-border-primary {
    border-color: var(--bs-primary) !important;
}

textarea {
    field-sizing: content;
    width: 100%;
    resize: vertical;
    white-space: pre-wrap;
    overflow-wrap: break-word;
    max-width: 100%;
}

.min-w-0 {
    min-width: 0 !important;
}

.code-editor-container {
    position: relative;
    display: flex;
    background: #1e1e1e;
    border: 1px solid #3c3c3c;
    border-radius: 6px;
    overflow: hidden;
    width: 100%;
}

.line-numbers {
    background: #252526;
    color: #858585;
    text-align: right;
    padding: 8px 10px;
    font-family: Consolas, monospace;
    font-size: 14px;
    line-height: 1.5;
    user-select: none;
    border-right: 1px solid #3c3c3c;
    min-width: 40px;
    white-space: pre;
}

.code-editor-textarea {
    flex-grow: 1;
    background: #1e1e1e;
    color: #dcdcdc;
    border: none;
    padding: 8px 12px;
    font-family: Consolas, monospace;
    font-size: 14px;
    line-height: 1.5;
    resize: vertical;
    outline: none;
    overflow: auto;
    white-space: pre;
}

.field-config-container {
    display: block;
}

@media (min-width: 768px) {
    .field-config-container {
        display: grid;
        grid-template-columns: 400px 1fr;
    }
}

/*.bootstrap-select > .dropdown-toggle {
    background-color: white;
    border: 1px solid #ced4da;
}*/

/* Loader modal */
#modal-loader {
    z-index: 1058 !important;
}

/* Loader backdrop */
.loader-backdrop {
    z-index: 1057 !important;
}

/* SweetAlert2 must stay on top */
.swal2-container {
    z-index: 1100 !important;
}

/*.card {
    background-color: var(--clr-slate);
}*/

.error-bgx {
    position: absolute;
    width: 100%;
    height: 85%;
    left: 0px;
    background-repeat: no-repeat;
    z-index: 1;
    background-size: 70%;
    background-image: url('/images/kowa_background3.jpg');
    margin-left: 15%;
}

.btnerror {
    width: 320px;
    font-size: 38px;
    background-color: #074975 !important;
    color: white !important;
    border-radius: 5px 5px 5px 5px;
}

.errorbutton a:hover {
    background-color: white !important;
    color: black !important;
    border: solid;
    border-block-color: #074975;
}

.my-custom-dropdown-btn-info .dx-button {
    background-color: #54a6e9 !important;
    border-color: #1861ac !important;
}

.my-custom-dropdown-btn-warning .dx-button {
    background-color: #cf5704 !important;
    border-color: #d85e08 !important;
}

.my-custom-dropdown-btn-gray .dx-button {
    background-color: #D3D3D3 !important;
    border-color: #000000 !important
}

.my-custom-dropdown-btn-success .dx-button {
    background-color: #5ea240 !important;
    border-color: #1861ac !important;
}

/**SAM 03/17/2026 **/
.form-control:focus {
    outline: none !important;
    border-color: hsl(149, 54%, 65%) !important;
    /*box-shadow: 0 0 0 3px hsl(234, 97%, 51%) !important;*/
    /*background-color: hsl(196, 54%, 86%);*/
}

.form-control {
    outline: none !important;
    /*border-color: hsl(234, 97%, 51%) !important;*/
    /*box-shadow: 0 0 0 3px hsl(234, 97%, 51%) !important;*/
    /*background-color: hsl(196, 54%, 86%);*/
    background-color: hsl(149, 54%, 93%);
}

.form-check-input {
    outline: none !important;
    border-color: hsl(234, 97%, 51%) !important;
    background-color: hsl(149, 54%, 93%);
}

.dx-command-expand.no-expand {
    pointer-events: none;
}

.bootstrap-select > .dropdown-toggle {
    /*background-color: white;*/
    border: 1px solid #ced4da;
    background-color: hsl(149, 54%, 93%) !important;
}

.form-select {
    /*background-color: white;*/
    border: 1px solid #ced4da;
    background-color: hsl(149, 54%, 93%) !important;
}

.module-grid {
    display: grid;
    grid-template-columns: 1fr;
    gap: 1rem; /* equivalent to g-3 */
}

/* md */
@media (min-width: 768px) {
    .module-grid {
        grid-template-columns: repeat(2, 1fr);
    }
}

/* xl */
@media (min-width: 1200px) {
    .module-grid {
        grid-template-columns: repeat(3, 1fr);
    }
}

/* xxl */
@media (min-width: 1400px) {
    .module-grid {
        grid-template-columns: repeat(4, 1fr);
    }
}
