/* Fonts */
@font-face {
	font-family: Montserrat;
	src: url('../webfonts/Montserrat-VariableFont_wght.ttf');
}

/* General */
* {
	font-family: Montserrat;
    box-sizing: border-box;
}

body {
    background-color: var(--white-main);
}

.print-tool-bar {
    margin-top: 70px;
    padding-left: 2cm;
}

#qr-codes-holder {
    width: 21cm;
    padding: 0 2cm 0 2cm;
	margin-top: 40px; /* Matches the title bar height */
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
	font-size: 9pt;
    text-align: center;
}

.qr-code-outer {
    width: 4.25cm;
    padding: 1%;
}

.qr-code-outer:nth-child(4n+1) {
    border-left: 1px dotted var(--gray-main);
}

.qr-code-outer:nth-child(4n+1),
.qr-code-outer:nth-child(4n+2),
.qr-code-outer:nth-child(4n+3),
.qr-code-outer:nth-child(4n+4) {
    border-right: 1px dotted var(--gray-main);
    border-bottom: 1px dotted var(--gray-main);
}

.qr-code-outer:nth-child(24n-20),
.qr-code-outer:nth-child(24n-21),
.qr-code-outer:nth-child(24n-22),
.qr-code-outer:nth-child(24n-23) {
    border-top: 1px dotted var(--gray-main);
}

.qr-code-outer > * {
    width: fit-content;
    margin: 0 auto;
    font-size: 7pt;
}

@media print {
    .qr-code-outer:nth-child(24n) {
        page-break-after: always; 
    }

    .no-print, .no-print * {
        display: none !important;
    }
}