.node--type-homepage.node--view-mode-full div.header {
    background: #efefef;
    background: linear-gradient(to right, var(--background), var(--backgroundAlt));
    padding: 2rem 0;
    margin-bottom: 0rem;
}

.node--type-homepage.node--view-mode-full div.header .container {
    display: flex;
    flex-wrap: wrap;
}

.node--type-homepage.node--view-mode-full div.header .container .intro {
    flex-grow: 1;
    max-width: 50rem;

    h1 {
        columns: white;
    }
}

.node--type-homepage.node--view-mode-full div.header .container:has(.field--name-field-main-media) .intro {
    max-width: 35rem;
    padding-right: 2rem;
}

.node--type-homepage.node--view-mode-full div.header .container .intro .field {
    font-size: 1.25rem;
}

.node--type-homepage.node--view-mode-full div.header .container > .field {
    width: 100%;
}

.node--type-homepage.node--view-mode-full div.header .container > .field--name-field-main-media {
    order: -1;
}

.node--type-homepage.node--view-mode-full div.header .container > .field:has(.media--type-remote-video) {
    margin-bottom: -3rem;
    box-shadow: 0 4px 4px rgba(0,0,0,0.15);
}

.node--type-homepage.node--view-mode-full div.header .container > .field img {
    margin: -2rem auto 0;
    display: block;
    max-width: 100%;
    height: auto;
}

.node--type-homepage.node--view-mode-full .paragraph--type-functional-banner .para-section {
    display: grid;
    grid-template-rows: auto;
    grid-gap: 1rem;
    gap: 0.5rem;
    background: transparent;

    img {
        height: 100%;
        object-fit: cover;
        border-radius: 1em;
        aspect-ratio: 1;

        &:nth-of-type(1) {
            grid-column: 1;
            grid-row:2 ;
        }
    
        &:nth-of-type(2) {
            grid-column: 2;
            grid-row:2 ;
        }
    }

    .text {
        background: var(--highlightTeal);
        background: linear-gradient(to right, #05829A, #00b4ca);
        color: white;
        width: 100%;
        padding: 2rem;
        border-radius: 1em;
        color: white;
        display: flex;
        flex-direction: column;
        align-items: flex-start;
        justify-content: center;
        grid-column: 1 / 3;
        grid-row: 1;

        h1 {
            color: white;
            font-size: 2rem;
        }

        .field--name-field-banner-summary {
            font-size: 1.25rem;
            padding-bottom: 1em;
            border-bottom: 4px solid white;
        }

        .form--inline {
            margin-bottom: 0;
        }

        .form--inline > .form-item label {
            color: white;
            font-size: 1.125em;
        }
    }
}

@media screen and (min-width: 50em) and (max-width:70em) {
    .node--type-homepage.node--view-mode-full div.header .container { 
        flex-wrap: nowrap;
    }
    
    .node--type-homepage.node--view-mode-full div.header .container > .field--name-field-main-media {
        order: 1;
        align-items: center;
        display: flex;
        justify-content: center;
    } 

    .node--type-homepage.node--view-mode-full .paragraph--type-functional-banner .para-section {
        display: grid;
        grid-template-columns: 1fr 1fr;
        grid-template-rows: auto;

        img {
            aspect-ratio: 2 / 1;

            &:nth-of-type(1) {
                grid-column: 1;
                grid-row:1 ;
            }
        
            &:nth-of-type(2) {
                grid-column: 2;
                grid-row:1 ;
            }
        }

        .text {
            grid-column: 1 / 3;
            grid-row: 2;

            h1 {
                font-size: 3em;
            }

            .field--name-field-banner-summary {
                max-width: 60ch;
            }

            .form--inline > .form-item label {
                font-size: 2em;
            }
        }
    }
}

@media screen and (min-width: 70em) {
    .node--type-homepage.node--view-mode-full div.header .container { 
        flex-wrap: nowrap;
    }
    
    .node--type-homepage.node--view-mode-full div.header .container > .field--name-field-main-media {
        order: 1;
        align-items: center;
        display: flex;
        justify-content: center;
    } 

    .node--type-homepage.node--view-mode-full .paragraph--type-functional-banner .para-section {
        display: grid;
        grid-template-columns: 1fr 1fr;
        grid-template-rows: 1fr 1fr;

        img {
            aspect-ratio: 2 / 1;

            &:nth-of-type(1) {
                grid-column: 2;
                grid-row:1 ;
            }
        
            &:nth-of-type(2) {
                grid-column: 2;
                grid-row:2 ;
            }
        }

        .text {
            grid-column: 1;
            grid-row: 1 / 3;

            h1 {
                font-size: 5em;
            }

            .field--name-field-banner-summary {
                max-width: 36ch;
            }

            .form--inline > .form-item label {
                font-size: 1.5em;
            }
        }
    }
}

/* Coloured Grid Section */
.node--type-homepage {
    .paragraph--type-grid {
        &.blue,
        &.white {
            margin-left: 1rem;
            margin-right: 1rem;
        }
    }
}
@media screen and (min-width: 60em) {
    .node--type-homepage {
        .paragraph--type-grid {
            &.blue,
            &.white {
                margin-left: 2rem;
                margin-right: 2rem;
            }
        }
    }
}
@media screen and (min-width: 85em) {
    .node--type-homepage {
        .paragraph--type-grid {
            &.blue,
            &.white {
                margin-left: auto;
                margin-right: auto;
            }
        }
    }
}