.mainTable {
    width: 100%;
    height: auto;
    border-collapse: collapse;
}

.mainTable .mainHeader {
    height: 0;
}

.mainTable .mainFooter {
    height: 0;
}

.printFooter {
    display: none;
}

nav .logoBackground {
    display: none;
}

.printSafari {
    display: none;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    text-align: center;
    padding: 4rem;
    width: 100vw;
    height: 100vh;
    font-size: var(--font-size-large);
}

.printSafari p:first-child {
    font-size: var(--font-size-huge);
    font-weight: var(--font-weight-bold);
}

@media print {
    html.isSafari body > *:not(.printSafari) {
        display: none !important;
    }

    html.isSafari .printSafari {
        display: flex;
    }
}

@page {
    size: auto;
    margin: 0;
}

@media print {
    * {
        print-color-adjust: exact;
        -webkit-print-color-adjust: exact;
    }

    nav {
        position: fixed;
        display: flex;
        justify-content: space-between !important;
        height: 3rem;
        transform: none !important;
        opacity: 1 !important;
        box-shadow: none !important;
    }

    nav .logo {
        margin: 0;
        width: initial;
        padding: 1rem !important;
    }

    nav .logo img:not(.logoWhite) {
        display: none;
    }

    nav .logo .logoWhite {
        display: block;
        width: 100%;
        height: 100%;
        object-fit: contain;
    }

    nav .logoBackground {
        display: block;
        position: absolute;
        top: 0;
        left: 0;
        width: 100%;
        height: 100%;
        object-fit: cover;
        scale: -1 1;
        z-index: -1;
    }

    nav .links {
        display: none;
    }

    .contact {
        display: none;
    }

    .copyright {
        display: none;
    }

    main {
        position: relative;
        margin-top: 0 !important;
        padding-bottom: 0;
    }

    .mainTable .mainHeader {
        height: 5rem;
    }

    .mainTable .mainFooter {
        height: 3rem;
    }

    p,
    h1,
    h2,
    h3,
    a,
    span,
    ul,
    table,
    img {
        page-break-inside: avoid;
    }

    h1,
    h2,
    h3 {
        page-break-after: avoid;
    }

    h2 {
        margin-right: 60%;
    }

    .quote {
        position: relative;
        display: grid;
        grid-template-columns: 55% 40%;
        column-gap: 5%;
        width: 100%;
        margin: 0 0 2rem;
        padding: 0;
    }

    .quote img {
        display: none;
    }

    .quote p {
        grid-column: 2;
        margin: 0;
        padding: 0;
        width: 100%;
        color: var(--color-black);
        text-align: center;
        text-shadow: none;
    }

    .quote p::before,
    .quote p::after {
        content: none;
    }

    .quote .bandTitle {
        grid-column: 1;
        grid-row: 1;
        align-self: start;
        margin: 0;
        max-width: none;
        font-size: 2.1rem;
        color: var(--color-orange);
        text-shadow: none;
    }

    .clientsBandTrack {
        animation: none;
        transform: none;
    }

    .clientsBandGroup[aria-hidden="true"] {
        display: none;
    }

    .gallery {
        margin: 0;
    }

    .gallery .images {
        height: unset;
        margin: 0;
    }

    .gallery .images img {
        position: relative;
        max-height: unset;
        opacity: 1 !important;
        width: 45%;
        margin: 0 auto;
    }

    .gallery .images img:not(:last-child) {
        margin-bottom: 1.5rem;
    }

    .gallery .images button {
        display: none;
    }

    .gallery .thumbnails {
        display: none;
    }

    /* On paper the download links go nowhere, and the enquiry button is a link. */
    #docs,
    #docs + table,
    .cta {
        display: none;
    }

    .printFooter {
        display: flex;
        justify-content: center;
        align-items: center;
        position: fixed;
        bottom: 0;
        left: 0;
        width: 100%;
        height: 3rem;
        text-align: center;
    }

    .printFooter::before {
        content: '';
        position: absolute;
        top: 0;
        left: 10%;
        width: 80%;
        height: 1px;
        background-color: var(--color-black);
        opacity: 0.25;
    }

    .printFooter p {
        position: relative;
        font-size: var(--font-size-tiny);
        font-weight: var(--font-weight-thin);
        margin: 0 0.5rem;
    }

    .printFooter p:not(:last-child)::after {
        position: absolute;
        right: -0.5rem;
        top: 50%;
        transform: translateY(-50%);
        content: '';
        height: 1rem;
        width: 1px;
        background-color: var(--color-orange);
    }
}
