    /* global */
*, *::before, *::after {
    padding: 0;
    margin: 0;
    box-sizing: border-box;
}
/* @font-face {
    font-family: Open Sans;
    src: url('assets/fonts/OpenSans-Regular.ttf');
    src: url('assets/fonts/OpenSans-Medium.ttf');
    src: url('assets/fonts/OpenSans-SemiBold.ttf');
    src: url('assets/fonts/OpenSans-Bold.ttf');
} */
p {
    margin-bottom: 0;
}
body {
    background: white;
    /* font-family: Open Sans, sans-serif!important; */
    font-family: 'Ubuntu', sans-serif!important;
    font-size: 0.875rem;
    font-weight: 400;
    color: #000;
    position: relative;
    margin: 0;
}
h1, h2, h3, h4, h5, h6 {
    color: #363636;
    text-transform: capitalize;
    margin-bottom: 0;
    font-weight: 700;
}
h2 { font-size: 1.625rem; }
h3 { font-size: 1.4375rem; }
h4 { font-size: 1.25rem; }
h5 { font-size: 1.0625rem; }
h6 { font-size: 0.94rem; }
.margin_top_10 {
    margin-top: 0.625rem;
}
.margin_bottom_10 {
    margin-bottom: 0.625rem;
}
.padding_top_10 {
    padding-top: 0.625rem;
}
.padding_bottom_10 {
    padding-bottom: 0.625rem;
}
.margin_top_20 {
    margin-top: 1.25rem;
}
.margin_bottom_20 {
    margin-bottom: 1.25rem;
}
.padding_top_20 {
    padding-top: 1.25rem;
}
.padding_bottom_20 {
    padding-bottom: 1.25rem;
}
.margin_top_30 {
    margin-top: 1.875rem;
}
.margin_bottom_30 {
    margin-bottom: 1.875rem;
}
.padding_top_30 {
    padding-top: 1.875rem;
}
.padding_bottom_30 {
    padding-bottom: 1.875rem;
}
ul {
    padding: 0;
    margin: 0;
}
ul li {
    list-style-type: none;
}
.strong {font-weight: 500;}
.primary_color {color: #df0017;}
page {
    background: white;
    display: block;
    margin: 0 auto;
}
/* page[size="A4"] {
    width: 21cm;
    height: 29.7cm;
    background: white;
} */
@media print {
    body,
    page {
        margin: 0;
        box-shadow: none;
        background: white;
    }
}
#print_area {
    padding: 2.5rem 1.6rem;
    width: 100%;
    height: 100%;
    background: white;
}
.border_line {
    border-bottom: 0.187rem solid #e2e2e2;
}

/*  =======================
        invoice heading
============================== */

.invoice_heading {
    display: flex;
    align-items: center;
    justify-content: center;
}
.invoice_heading .logo {
    text-align: center;
}
.invoice_heading .logo img {
    display: inline-block;
    max-width: 10rem;
    margin-bottom: 0.25rem;
}
.office_location * {
    font-size: 0.9rem;
    line-height: 1.5;
}
.highlight_heading {
    font-size: 1.2rem;
    font-weight: 500;
    display: inline-block;
    margin-bottom: 0.25rem;
}

/*  =======================
        invoice heading
============================== */

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

/*  =======================
        invoice receiver
============================== */

.invoice_single_text {
    padding: 0.125rem 0;
}
.text_bold {
    font-weight: 600;
}

/*  =======================
        invoice details
============================== */

.invoice_details {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
}
.invoice_details_right {
    text-align: right;
}
.invoice_info {
    text-align: right;
}

/*  =======================
        Order Table
============================== */

.text_left {
    text-align: left;
}
.text_right {
    text-align: right;
}
.text_center {
    text-align: center;
}
.order_table {
    width: 100%;
}
.order_table, .order_table th, .order_table td {
    padding: 0.35rem 0.5rem;
    border: 1px solid #999;
    border-collapse: collapse;
}
.order_table thead {
	background: #f4f3bd;
	color: #1e1e1e;
}
.order_table tbody .product_row:nth-child(even) {
    background: #f2f2f2;
}

.price_summary {
	width: auto;
    margin-left: auto;
}
.price_summary th, .price_summary td {
    padding: 0.15rem 0.6rem;
}
.price_summary .price {
    min-width: 6.25rem;
    font-weight: 600;
}


.watermark {
    position: absolute;
    bottom: 50%;
    left: 50%;
}
.watermark span {
    opacity: 0.06;
    font-size: 7.5rem;
    font-weight: 900;
    transform: rotate(-45deg) translate(-50%, -50%);
    -webkit-transform: rotate(-45deg) translate(-50%, -50%);
    -moz-transform: rotate(-45deg) translate(-50%, -50%);
}


@media (max-width: 21cm) {
    html {
        font-size: 16px;
    }
    #print_area {
        padding: 0;
    }
}

@media (max-width: 14.2cm) {
    html {
        font-size: 13px;
    }
    .order_table, .order_table th, .order_table td {
        padding: 0.25rem 0.3rem;
    }
}

@media (max-width: 9.6cm) {
    html {
        font-size: 10px;
    }
    .order_table, .order_table th, .order_table td {
        padding: 0.25rem 0.3rem;
    }
}