@font-face {
    font-family: 'Open Sans', sans-serif;
    src: url("./fonts/OpenSans-Bold.ttf") format("ttf"),
        url("./fonts/OpenSans-ExtraBold.ttf") format("ttf"),
        url("./fonts/OpenSans-Light.ttf") format("ttf"),
        url("./fonts/OpenSans-Medium.ttf") format("ttf"),
        url("./fonts/OpenSans-Regular.ttf") format("ttf"),
        url("./fonts/OpenSans-SemiBold.ttf") format("ttf"),
        url("./fonts/SolaimanLipi.ttf") format("ttf"),
        url("./fonts/SolaimanLipi_Bold.ttf") format("ttf")
}
body {
    font-family: 'Calibri', 'SolaimanLipi', sans-serif !important;
    font-weight: 500;
    padding: 2.5rem;
    color: #000;
    margin: 0;
    font-size: 19px !important;
}

.main-page-table {
    width: 100%;
}

.table.report-table {
    font-size: 19px;
    font-weight: 500;
    margin-bottom: 0;
}

.table.report-table td,
.table.report-table th {
    padding: 0.22rem 0.5rem;
}

@media print {
    body, html {
        max-height: 100%;
        page-break-before: auto;
        page-break-after: auto;
    }
}


/* REPORT HEAD */
.report-header-container {
    font-size: 19px;
    font-weight: 500;
}

.report-header-container::before,
.report-header-container::after {
    content: '';
    display: block;

}

.report-header-container::before {
    height: 3cm;
}

.report-header-container::after {
    height: 0.8cm;
}

.inv-setting-header {
    border: 2px solid #000;
    padding: 1rem;
    margin-bottom: 1rem;
    border-radius: 0.5rem;
}

.header-top {
    display: flex;
    align-items: center;
    justify-content: space-between;
}

.header-top .col {
    display: flex;
    flex: 1 1 auto;
    gap: 0 1%;
    padding: 0.2rem 0;
}

.header-top .col-center {
    justify-content: center;
}

.header-top .col-end {
    justify-content: flex-end;
}

.patient-info-header {
    width: 100%;
    display: flex;
    flex-wrap: wrap;
}

.inv-item {
    display: flex;
    align-items: flex-start;
    width: 33.3333%;
    gap: 0 1%;
    line-height: 1.35;
    padding: 0.17rem 0;
}

.inv-key {
    flex: 0 0 auto;
    width: 8rem;
    margin-right: 0.5rem;
    display: flex;
    justify-content: space-between;
    align-items: center;
    font-weight: 400;
}

.inv-key::after {
    content: ':'
}

.inv-val {
    font-weight: 500;
}

.patient-val,
.lab-val {
    font-weight: 700;
}

.inv-item.first-col {
    width: 42%;
}

.inv-item.second-col {
    width: 32%;
}

.inv-item.third-col {
    width: 26%;
}

@media(max-width: 768px) {
    .inv-item {
        width: 50%;
    }
    .inv-item.first-col,
    .inv-item.second-col,
    .inv-item.third-col {
        width: 50%;
    }
}


.report-title-container {
    display: flex;
    align-items: center;
    justify-content: space-around;
    padding: 0 1rem;
    margin-bottom: 1rem;
}

.header_barcode {
    flex: 0 1 auto;
}

.header_barcode img {
    max-width: 100%;
    max-height: 1.5rem;
}

.report-title {
    flex: 1 0 auto;
    text-align: center;
    margin: 0 2rem;
    font-weight: 700;
}

.test-info {
    display: flex;
    justify-content: space-between;
    border: 2px solid #000;
    padding: 0.2rem 1rem;
    border-radius: 0.5rem;
}

.test-info .inv-item {
    line-height: 1;
}

.test-info .inv-item:nth-child(odd) {
    width: 60%;
}

.test-info .inv-item:nth-child(even) {
    width: 40%;
}

.test-info .inv-key {
    font-weight: 700;
}

.test-info .inv-val {
    text-transform: capitalize;
}


/* REPORT BODY */
.table.report-table thead th,
.table.report-table thead td {
    padding: 0.35rem 0;
}

.table.report-table {
    border: none !important;
}

.report-table thead {
    border-top: 2px solid #333 !important;
    border-bottom: 2px solid #333 !important;
}

.table.report-table th,
.table.report-table td {
    border: 1px dashed #777 !important;
    border-left: none !important;
    border-right: none !important;
}

.report-group-head.has-child td {
    border-color: transparent !important;
}

.report-column-value .test-data {
    padding-left: 2rem !important;
}

.report-column-value.report-group-head .test-data {
    padding-left: 0.5rem !important;
}

.test-data.font-bold {
    font-weight: 700;
}

.report-colgroup .test-column {
    width: 30%;
}

.report-colgroup .result-column {
    width: 17%;
}

.report-colgroup .unit-column {
    width: 17%;
}

.report-colgroup .reference-column {
    width: 36%;
}

.test-thead,
.test-thead {
    text-align: center;
}

.result-data {
    font-weight: 700;
}

.result-thead,
.unit-thead,
.result-data,
.unit-data {
    text-align: center;
}


/* REPORT FOOTER */
@media print {
    .fixed_footer {
        position: fixed;
        left: 0;
        bottom: 0;
        width: 100%;
    }
        
}

.report-footer-gap {
    height: calc(2.75cm);
}

.report-footer-data {
    height: 2.5cm;
}

.report-footer-container {
    width: 100%;
    display: flex;
    justify-content: space-between;
    gap: 0 1rem;
}

.report-footer-bottom .signature-space {
    display: inline-block;
    width: 60%;
    border-bottom: 2px dashed #000;
}

.report-footer-bottom .prepared-by {
    white-space: nowrap;
}

.report-footer-container {
    width: 100%;
    display: flex;
    justify-content: space-between;
    gap: 0 1rem;
    height: 100%;
}

.report-footer-data-left,
.report-footer-data-center,
.report-footer-data-right {
    display: flex;
    flex-direction: column;
    height: 100%;
    justify-content: space-between;
}

.report-footer-top,
.report-footer-bottom {
    font-size: 0.95rem;
}

.report-footer-bottom {
    display: flex;
}

.note-text {
    display: inline-block;
    font-weight: 600;
    min-width: 5.5rem;
}