:root {
    --bs-btn-color: #fff;
    --bs-btn-bg: #0c2543;
    --bs-btn-border-color: #0c2543;
    --bs-btn-hover-color: #fff;
    --bs-btn-hover-bg: #0b5ed7;
    --bs-btn-hover-border-color: #0a58ca;
    --bs-btn-focus-shadow-rgb: 49, 132, 253;
    --bs-btn-active-color: #fff;
    --bs-btn-active-bg: #0a58ca;
    --bs-btn-active-border-color: #0a53be;
    --bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);
    --bs-btn-disabled-color: #fff;
    --bs-btn-disabled-bg: #0c2543;
    --bs-btn-disabled-border-color: #0c2543;
}

.form-control {
    padding: 0.475rem 0.75rem;
}
input[readonly], input[readonly]:focus {
    background-color: #f8f9fa;
    color: #6c757d;
    cursor: not-allowed;
}
.bottom-section {
    display: none;
}

.step.active .bottom-section {
    display: block;
}

/*
  :root {
    --bs-btn-hover-bg: #0c2543;
  } */
body,
html {
    height: 100%;
    overflow: hidden;
}

.container-fluid {
    height: 100vh;
    min-height: 100vh;
}

.row.g-0 {
    height: 100%;
    min-height: 100vh;
}

.left-pane {
    background: #f8f9fa;
    /* overflow-y: auto; */
    height: 100vh;
    min-height: 100vh;
    position: relative;
}

.right-pane {
    height: 100vh;
    min-height: 100vh;
    /* overflow-y: auto; */
    padding: 2rem;
    background: white;
    position: relative;
}

/* Ensure the panes maintain full height on all screen sizes */
@media (max-width: 768px) {

    .left-pane,
    .right-pane {
        height: 100vh;
        min-height: 100vh;
    }

    .container-fluid {
        height: 100vh;
        min-height: 100vh;
    }
}

/* Fix for iOS Safari and other mobile browsers */
@supports (-webkit-touch-callout: none) {

    .left-pane,
    .right-pane {
        height: -webkit-fill-available;
        min-height: -webkit-fill-available;
    }

    .container-fluid {
        height: -webkit-fill-available;
        min-height: -webkit-fill-available;
    }
}

/* Additional fixes for viewport height issues */
@media screen and (max-height: 600px) {

    .left-pane,
    .right-pane {
        height: 100vh;
        min-height: 100vh;
    }
}

/* Ensure the row maintains full height */
.row.g-0 {
    display: flex;
    flex-wrap: nowrap;
}

.row.g-0>.col-md-6 {
    display: flex;
    flex-direction: column;
}

/* Force full height on all viewport sizes */
.left-pane,
.right-pane {
    flex: 1;
    display: flex;
    flex-direction: column;
    height: 100vh !important;
    min-height: 100vh !important;
    height: calc(var(--vh, 1vh) * 1) !important;
    min-height: calc(var(--vh, 1vh) * 1) !important;
}

/* Ensure the container and row maintain full height */
.container-fluid {
    height: 100vh !important;
    min-height: 100vh !important;
    height: calc(var(--vh, 1vh) * 1) !important;
    min-height: calc(var(--vh, 1vh) * 1) !important;
    display: flex;
    flex-direction: column;
}

.row.g-0 {
    display: flex;
    flex-wrap: nowrap;
    flex: 1;
    height: 100vh !important;
    min-height: 100vh !important;
    height: calc(var(--vh, 1vh) * 1) !important;
    min-height: calc(var(--vh, 1vh) * 1) !important;
}

.row.g-0>.col-md-6 {
    display: flex;
    flex-direction: column;
    height: 100vh !important;
    min-height: 100vh !important;
    height: calc(var(--vh, 1vh) * 1) !important;
    min-height: calc(var(--vh, 1vh) * 1) !important;
}

/* Handle any potential overflow issues */
.left-pane .scrolly,
.right-pane .scrolly {
    flex: 1;
    overflow-y: auto;
    overflow-x: hidden;
    height: calc(100vh - 200px) !important;
}

.select2-container .select2-selection--single {
    padding: 0.5rem;
    height: auto !important;
}

.step-indicator span.active {
    font-weight: bold;
    color: #0E2D52;
}

.step {
    display: none;
}

.step.active {
    display: block;
}


.radio-indicator {
    display: inline-block;
    width: 18px;
    height: 18px;
    border: 2px solid #5c5c5c;
    border-radius: 50%;
    /* margin-right: 10px; */
    position: relative;
    vertical-align: middle;
}

.select2-results__option--selected .radio-indicator {
    /* border-color: #000000; */
    background-color: #ffffff;
}

.select2-results__option[aria-selected="true"] .radio-indicator::after,
.select2-results__option--selected .radio-indicator::after {
    content: "";
    position: absolute;
    top: 3px;
    left: 3.5px;
    width: 8px;
    height: 8px;
    background-color: #5c5c5c;
    border-radius: 50%;
}

.checkbox-indicator {
    display: inline-block;
    width: 18px;
    height: 18px;
    border: 2px solid #5c5c5c;
    border-radius: 5px;
    margin-right: 10px;
    position: relative;
    vertical-align: middle;
}

.select2-results__option--selected .checkbox-indicator {
    /* border-color: #000000; */
    background-color: #ffffff;
}

.select2-results__option[aria-selected="true"] .checkbox-indicator {
    background: #5c5c5c;
}

.select2-results__option[aria-selected="true"] .checkbox-indicator::after,
.select2-results__option--selected .checkbox-indicator::after {
    content: "\F012C";
    /* Unicode for mdi-check */
    font-family: "Material Design Icons";
    font-size: 14px;
    color: #fff;
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);

}

.select2-container--default .select2-results__option--highlighted[aria-selected],
.select2-container--bootstrap4 .select2-results__option--highlighted,
.select2-container--bootstrap4 .select2-results__option--highlighted.select2-results__option[aria-selected="true"],
.select2-container--default .select2-results__option--selected,
.select2-container--default .select2-results__option--highlighted.select2-results__option--selectable {
    background-color: #fff;
    color: #000;
}

.select2-container--bootstrap4 .select2-dropdown .select2-results__option[aria-selected="true"] {
    background-color: #f2f2f2;
    color: #000;
}

.select2-container--default .select2-results__option[aria-disabled=true],
.select2-results__option--disabled {
    display: none;
}

.select2-container .select2-selection--multiple {
    min-height: 40px;
}

.data-wrapper {
    padding-top: 5px;
    padding-bottom: 5px;
}

.switch-quantity-wrapper .btn,
.data-wrapper .input-group .btn {
    padding: 3px 12px 7px 12px;
    font-size: 25px;
    line-height: 1;

}

.switch-quantity,
.data-quantity {
    margin: 0 5px !important;
    border-radius: 5px !important;
}

.select2-selection__choice {
    display: none;
}

select {
    width: 100%;
    /* min-height: 100px; */
    border-radius: 3px;
    border: 1px solid #444;
    padding: 10px;
    color: #444444;
    font-size: 14px;
}


.select2-search--inline::before {
    content: "\F0349";
    font-family: "Material Design Icons";
    font-size: 23px;
    color: #878787;
    position: absolute;
    top: 2px;
    left: 5px;
}

.select2-search--inline {
    margin-left: 25px;
}

.scrolly {
    overflow-y: auto;
    height: 100%;
    padding-bottom: 200px;
}

.bottom-section {
    position: absolute;
    bottom: 0px;
    background: #fff;
    left: 0;
    right: 0;
    padding: 10px;
    z-index: 10;
}

.step-tab.active svg .fills {
    fill: #0E2D52 !important;
}

.btn-block {
    width: 100%;
    display: block;
    min-height: 45px;
}

.touchspin-btn {
    margin-top: 2px;
}

.touchspin-quantity {
    border-radius: 5px !important;
}

div[data-remove-file] span.mdi {
    color: gray;
    font-size: 21px;
    line-height: 1;
}

div[data-remove-file]:hover span.mdi {
    color: rgb(80, 80, 80);
    cursor: pointer;
}

.file-upload-icon {
    font-size: 23px;
    margin-top: 5px;
    display: block;
}

.loading-icon {
    font-size: 21px;
    color: #0e2d52;
}

.correct-icon {
    font-size: 21px;
    color: green;
    line-height: 1;
}

/* Custom radio styles for Bootstrap .form-check-input */
.form-check-input[type="radio"] {
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
    width: 18px;
    height: 18px;
    border: 2px solid #0c2543;
    border-radius: 50%;
    background-color: #ffffff;
    background-image: none !important;
    position: relative;
    cursor: pointer;
    box-shadow: none;
    outline: none;
    transition: border-color 0.2s ease, box-shadow 0.2s ease;
}

.form-check-input[type="radio"]::after {
    content: "";
    position: absolute;
    top: 51%;
    left: 51%;
    width: 8px;
    height: 8px;
    background-color: #0c2543;
    border-radius: 50%;
    transform: translate(-50%, -50%) scale(0);
    transition: transform 0.15s ease-in-out;
}

.form-check-input[type="radio"]:checked::after {
    transform: translate(-50%, -50%) scale(1);
}

.form-check-input[type="radio"]:checked {
    background-color: #ffffff;
    border-color: #0c2543;
}

.form-check-input[type="radio"]:focus {
    border-color: #0c2543;
    /* box-shadow: 0 0 0 0.2rem rgba(12, 37, 67, 0.25); */
}

.form-check-input[type="radio"]:disabled {
    cursor: not-allowed;
    opacity: 0.6;
}

.form-control:focus {
    border-color: #1e1e1e;
    box-shadow: unset;
}

.link_underline {
    color: #0E2D52;
    border-bottom: 2px solid #0E2D52;
}

#uploadDropzone {
    border-style: dashed !important;
    font-size: 18px;
}

.file-upload-icon1 {
    font-size: 30px;
    margin-top: 5px;
    display: block;
}