@media print {
    @page {
        /* tighter page margins to fit more content on one page */
        margin: 0.7cm 1cm 0 1cm;
    }

    .container {
        width: 100%;
        max-width: 100%;
    }
}

@-ro-preferences {
    page-layout: 1 column;
    initial-zoom: fit-page-width;
}

body {
    /* slightly smaller base font to gain vertical space */
    font-size: 7.5pt;
    line-height: 10pt;
    margin: 0;
    padding: 0;
}

.row {
    margin-right: -1.25mm;
    margin-left: -1.25mm;
}

.row [class*="col"],
.row [class*="col-"] {
    padding-right: 1.25mm;
    padding-left: 1.25mm;
}

h1 {
    font-size: 14pt;
    font-weight: 500;
    margin: 0;
    padding: 0;
}

h2 {
    font-size: 14pt;
    font-weight: normal;
    margin: 0;
    padding: 0;
}

h3 {
    font-size: 100%;
    font-weight: 500;
    margin: 0;
    padding: 1px 4px;
}

h4 {
    font-size: 9pt;
    font-weight: 500;
    margin: 0;
    padding: 0 0 3px 0;
}

.header-table {
    height: 26mm;
}

.header-table.sub-title {
    height: 33mm;
}

header {
    margin-bottom: 4mm;
}

header h1.logo-headline {
    font-size: 30pt;
    margin: 0;
    padding: 0;
}

header .logo-image {
    vertical-align: top;
}

header .headline {
    vertical-align: bottom;
}

header .headline .content {
    padding: 2px 4px;
}

header .partner-logo .outer {
    width: 100%;
    height: 100%;
    position: relative;
}

header .partner-logo .outer .date {
    position: absolute;
    top: 0;
    right: 0;
}

header .partner-logo .outer .partnerLogo {
    position: absolute;
    bottom: 5px;
    right: 0;
}

.contentBlock {
    padding: 2px 4px;
}

.text .content {
    padding: 2px 4px;
}

.text .content p {
    padding: 0;
    margin: 0;
}

.text .content.grey {
    background: #d9d9d9;
}

.text .content.grey p {
    padding: 0;
    margin: 0;
}

.content.small {
    font-size: 6pt;
    line-height: 8pt;
    padding: 2px 0;
}

.disclaimer .text {
    /* more compact disclaimer to prevent spilling to second page */
    font-size: 5.5pt;
    line-height: 8pt;
}

table.portfolio {
    width: 100%;
    max-width: 100%;
    box-sizing: border-box;
}

table.border-top {
    border-top: 0.25pt solid #000000 !important;
}

table.portfolio th {
    border-bottom: 1pt solid #000000;
    padding: 1px 3px;
    font-weight: 500;
    vertical-align: top;
}

table.portfolio th.grey {
    border-bottom: none;
    background-color: #d9d9d9;
}

table.portfolio td {
    border-bottom: 0.25pt solid #000000;
    padding: 0 3px;
    white-space: nowrap;
    vertical-align: top;
    box-sizing: border-box;
    overflow: hidden;
}

table.asset-currency-table td {
    white-space: normal;
    word-wrap: break-word;
    overflow-wrap: break-word;
}

table.portfolio td.border-right {
    border-right: 0.25pt solid #000000;
}

table.portfolio td.doubleLine {
    border-bottom: 1pt solid #000000;
}

table.right-border th {
    border-right: 0.25pt solid #000000;
    border-bottom: 0.25pt solid #000000 !important;
    vertical-align: middle;
}

.html-table th, .html-table td {
    border-bottom: 0.25pt solid #000000 !important;
}

.html-table.full-border th, .html-table.full-border td {
    border-right: 0.25pt solid #000000 !important;
    border-bottom: 0.25pt solid #000000 !important;
}

table.right-border td {
    border-right: 0.25pt solid #000000;
    vertical-align: middle;
}

.highlight.mb-3 {
    margin-bottom: 3.3mm !important;
}

.highlight.mb-2 {
    margin-bottom: 1.6mm !important;
}

.portfolioTitle {
    font-size: 8.5pt;
    color: #595959;
    text-decoration: underline;
}

th.no-border, td.no-border {
    border: none !important;
}

.iconInfo {
    width: 4mm;
}

@media screen {
    body {
        padding: 1cm 0;
    }
}

.page-date {
    position: fixed;
    bottom: 1cm;
    right: 0;
    padding: 0 15px;
}