@import url('open-iconic/font/css/open-iconic-bootstrap.min.css');

/*CUSTOM CODE START*/

.top-row {
    height: 3.5rem;
    background-color: #ffffff;
}

.bg-body-tertiary-custom {
    --bs-bg-opacity: 1;
    background-color: white !important;
}

.navbar-brand {
    color: #1c77ba;
    text-decoration: none;
    margin-left: 10px;
    font-size: calc(1rem + 0.8vh);
}

.nav-item {
    font-size: calc(1rem + 0.2vh) !important;
    color: #000000;
}

.main-logo-text {
    color: #1c77ba;
    text-decoration: none;
    margin-left: 10px;
    font-size: calc(1rem + 1.2vh);
    position: absolute;
}

img {
    height: 40px;
}

.pointer {
    cursor: pointer;
}

@media (min-width: 600px) {
    /*    .navbar-brand {
        font-size: calc(1rem + 0.5vh);
    }*/
}

@media (min-width: 1024px) {
    /*    .navbar-brand {
        font-size: calc(1rem + 0.7vh);
    }*/
}

.loaging-image-div-main {
    position: relative;
    display: flex;
    justify-content: center;
    align-items: center;
    height: 100vh;
    width: 100%;
}

    .loaging-image-div-main > img {
        height: 150px;
        object-fit: contain;
    }

.loader-progress-text {
    position: absolute;
    top: 30%; /* You can adjust this value if needed */
    left: 50%;
    transform: translateX(-50%);
    background-color: rgba(255, 255, 255, 0.8); /* Optional: Adds a background for better visibility */
    padding: 5px; /* Optional: Adds some padding around the text */
    z-index: 10; /* Ensures it stays above other content */
}

.alert-light-white {
    background-color: white !important;
    color: #000000;
    font-size: 3vh;
}

.div-main-container {
    display: flex;
    justify-content: center;
    align-items: center;
    text-align: center;
    width: 100%;
}

.div-middle-container {
    max-width: 500px;
    width: 100%;
    margin: auto;
    //box-shadow: 0 0 10px rgba(0, 0, 0, 0.1);
}

.div-main-container-single {
    display: flex;
    justify-content: center;
    align-items: center;
    text-align: center;
    width: 100%;
    height: 80vh; /* Use 100vh to ensure the container takes up the full height of the viewport */
}

.div-main-container-single-2 {
    text-align: left;
    width: 100%;
    height: 80vh; /* Use 100vh to ensure the container takes up the full height of the viewport */
}

.div-middle-container-single {
    max-width: 500px;
    width: 100%;
    margin: auto;
    box-shadow: 0 0 10px rgba(0, 0, 0, 0.1);
}

.div-middle-container-single-confirmation {
    max-width: 800px;
    width: 100%;
    margin: auto;
    box-shadow: 0 0 10px rgba(0, 0, 0, 0.1);
}

.div-middle-container-single-2 {
    width: 100%;
    margin: auto;
}

.scrollable-div {
    max-height: 600px;
    height: 80vh;
    width: 100%;
    overflow-y: auto;
    border: 1px solid #ccc;
    padding: 10px;
}

.sync-options-div {
    overflow-x: auto;
    white-space: nowrap;
    width: 98%;
}

    .sync-options-div select {
        font-size: 1.5rem;
    }

.sync-user-div {
    overflow-x: auto;
    white-space: nowrap;
    width: 98%;
}

.sync-user-role-div {
    background-color: rgba(0, 0, 0, 0.2);
    margin: 10px 2px;
    font-size: 1.5rem;
    font-weight: 600;
    padding: 10px 15px;
    border: 1px solid #808080;
}

.div-app-name {
    color: white;
    border-radius: 10px 10px 0 0;
    padding: 10px;
}

    .div-app-name a {
        color: inherit;
        text-decoration: none;
    }

.div-form-container {
    width: 100%;
    margin: auto;
    padding: 20px;
}

.div-footer {
    bottom: 0;
    box-shadow: 0 -1px 2px rgba(0, 0, 0, 0.2);
    left: 0;
    padding: 0.6rem 1.25rem 0.7rem 1.25rem;
    position: fixed;
    width: 100%;
    z-index: 1000;
    background-color: #ececec;
}

    .div-footer a {
        margin-left: 10px;
        text-decoration: none;
    }

    .div-footer img {
        max-height: 30px;
    }

.custom-textarea {
    height: 150px !important;
}

.nodata-div {
    font-size: 2vw;
    text-align: center;
    margin: auto;
    padding: 40px 0;
    border: 1px solid rgba(0, 0, 0, 0.2);
}

.create-link {
    font-size: 2.5vh;
    text-decoration: none;
    margin-right: 5px;
}

.force-word-breaks {
    word-break: break-word;
    overflow-wrap: break-word;
}

.bottom-action-buttons {
    margin-top: 10px;
    margin-bottom: 70px;
}

.header-link {
    font-size: 1.5vw !important;
    padding: 30px;
}

    .header-link i {
        margin-right: 10px;
    }

.header-link-links {
    margin-top: 20px;
}

    .header-link-links a {
        text-decoration: none;
        font-size: 1.1vw;
    }

.header-link-disabled {
    font-size: 1.5vw !important;
    padding: 30px;
    cursor: default;
}

    .header-link-disabled i {
        margin-right: 10px;
    }

.see-more-link {
    text-decoration: none;
    margin-left: 10px;
}

.file-upload-files-name {
    font-size: 11px !important;
}
.demo-text {
    font-size: 1.3rem;
    color: red;
    font-weight: bold;
    text-transform: uppercase;
}
/*CONTROL WIDTH START*/
.control-width-auto {
    width: auto;
}

.cw-25 {
    width: 25px !important;
}

.cw-40 {
    width: 40px !important;
}

.cw-50 {
    width: 50px !important;
}

.cw-60 {
    width: 60px !important;
}

.cw-80 {
    width: 80px !important;
}

.cw-100 {
    width: 100px !important;
}

.cw-120 {
    width: 120px !important;
}

.cw-150 {
    width: 150px !important;
}

.cw-180 {
    width: 180px !important;
}

.cw-200 {
    width: 200px !important;
}

.cw-220 {
    width: 220px !important;
}

.cwmax-25 {
    max-width: 25px !important;
    min-width: 20px !important;
}

.cwmax-40 {
    max-width: 40px !important;
    min-width: 35px !important;
}

.cwmax-50 {
    max-width: 50px !important;
    min-width: 45px !important;
}

.cwmax-60 {
    max-width: 60px !important;
    min-width: 55px !important;
}

.cwmax-80 {
    max-width: 80px !important;
    min-width: 70px !important;
}

.cwmax-100 {
    max-width: 100px !important;
    min-width: 90px !important;
}

.cwmax-120 {
    max-width: 120px !important;
    min-width: 110px !important;
}

.cwmax-150 {
    max-width: 150px !important;
    min-width: 140px !important;
}

.cwmax-180 {
    max-width: 180px !important;
    min-width: 170px !important;
}

.cwmax-200 {
    max-width: 200px !important;
    min-width: 190px !important;
}
/*CONTROL WIDTH END*/
/*GRID CONTROL START*/
.sort-column {
    cursor: pointer;
}

.table-pager-container {
    margin-bottom: 70px;
}

.table-action-buttons {
    display: flex;
    justify-content: center;
    gap: 4px;
    flex-wrap: nowrap; /* Prevent wrapping */
}

    .table-action-buttons button {
        flex: 1 1 auto;
        margin: 2px;
        padding: 0.5rem; /* Adjust padding for better fit */
        max-width: 50px;
    }

    .table-action-buttons .oi {
        font-size: 1.2rem; /* Adjust font size for better fit */
    }

.search-button {
    z-index: auto !important;
    border-radius: 0 5px 5px 0;
}

.bg-alert-red {
    background-color: #f88383 !important;
    border: 1px solid #8d0707 !important;
}

.bg-gray-header {
    background-color: #ececec;
    border: 1px solid #cccccc;
    font-size: 2.2vh;
    padding: 5px 10px;
    margin: auto 10px;
    font-weight: 600;
}

.custom-no-data {
    text-align: center;
    font-size: 1.8vh;
    padding: 20px;
    margin-bottom: 10px;
    border: 1px solid #cccccc;
    box-shadow: 0 1px 3px 0 rgba(0, 0, 0, .1), 0 1px 2px 0 rgba(0, 0, 0, .06);
}

.small_note {
    font-size: 11px;
}

.ecg-viewer-chart-container {
	color: white;
	height: 400px;
	padding: 5px;
	overflow: auto;
}

.event-viewer-chart-container {
    background-color: #0026ff;
    color: white;
    height: 100px;
    padding: 5px;
    margin-top: 20px;
    overflow: auto;
}
.main-content-container
{
    margin-bottom: 70px;
}
.custom-border-bottom {
    border-bottom: 1px solid #cccccc;
}
.ecg-viewer-filter-button {
	background-color: #ffffff !important;
	padding: 5px;
	margin-right: 5px;
	border: solid 1px #cccccc;
	border-radius: 5px;
}
.ecg-viewer-navigation-button {
    background-color: #ffffff;
    padding: 2px;
    margin-right: 5px;
    border: solid 1px #cccccc;
    border-radius: 5px;
    width: 40px;
    color: #1c77ba;
    font-weight: 600;
}
/*GRID CONTROL END*/
@media (max-width: 640.98px) {
    .table-action-buttons {
        gap: 2px; /* Reduce gap between buttons */
    }

        .table-action-buttons button {
            padding: 0.3rem; /* Reduce padding */
        }

        .table-action-buttons .oi {
            font-size: 1rem; /* Further reduce icon size */
        }
}
/*CUSTOM CODE END*/
/* ECG SVG Rendering Optimizations */
svg {
    image-rendering: auto;
}

svg polyline, svg line, svg path {
    shape-rendering: auto;
    vector-effect: non-scaling-stroke;
}

/* Specific ECG element styling - smooth rendering for medical precision */
#ecg-main-signal, #ecgViewerSvg polyline, #ecgViewerNavigatorSvg polyline {
    shape-rendering: auto;
    vector-effect: non-scaling-stroke;
    stroke-linecap: round;
    stroke-linejoin: round;
}

.ecg-grid line {
    shape-rendering: crispEdges;
    vector-effect: non-scaling-stroke;
}

.ecg-size-zoomed {
    transition: transform 300ms ease-out;
    transform-origin: center center;
}

svg.ecg-size-zoomed {
    image-rendering: auto;
}

svg.ecg-size-zoomed polyline,
svg.ecg-size-zoomed line,
svg.ecg-size-zoomed path {
    shape-rendering: auto;
    vector-effect: non-scaling-stroke; 
}

.ecg-size-zoomed {
    image-rendering: auto;
    shape-rendering: auto;
}

.ecg-polyline-zoomed {
    transition: transform 300ms ease-out;
    transform-origin: center center;
}

polyline.ecg-polyline-zoomed,
path.ecg-polyline-zoomed {
    vector-effect: non-scaling-stroke;
    shape-rendering: auto;
}

.ecg-polyline-zoomed {
    image-rendering: auto;
    shape-rendering: auto;
}

#ecg-hover-circle {
    pointer-events: none;
    z-index: 10;
}

svg #ecg-hover-circle {
    transform: none !important;
}

#ecg-hover-detector {
    pointer-events: auto !important;
    stroke: transparent !important;
    fill: none !important;
    opacity: 0 !important;
    transform-origin: inherit;
}
