:root {
    --bju-parent-box-bg: #F6F5F5;
    --bju-safety-blue: #23304D;
    --bju-cyan-parent-dark: rgba(0, 150, 198, 0.6);
}

/* MAIN BODY */

.section-wrapper {
    padding: 5em 3em;
}

.section-wrapper.no-bottom-padding {
    padding: 5em 3em 0 3em;
}

.section-wrapper {
    display: flex;
    justify-content: center;
    align-items: center;
}

.section-container {
    max-width: 1200px;
}


/* GRID */

#main .parent-grid {
    display: grid;
    grid-template-columns: 50px 4fr 50px 50px 3fr;
    grid-template-rows: 50px 40px 4fr 50px 50px 50px auto;
}

#main .parent-grid.reverse {
    grid-template-columns: 3fr 50px 50px 4fr 50px;
}

#main .parent-heading-container {
    grid-column: 2 / span 1;
    grid-row: 1 / span 1;
    display: flex;
    align-items: center;
}

#main .reverse .parent-heading-container {
    grid-column: 4 / span 1;
    justify-content: flex-end;
}

#main .parent-background-block {
    grid-column: 1 / span 4;
    grid-row: 2 / span 5;
    z-index: 8;
}

#main .reverse .parent-background-block {
    grid-column: 2 / span 4;
    z-index: 8;
}

#main .parent-inner-content {
    grid-column: 2 / span 1;
    grid-row: 3 / 6;
    display: flex;
    justify-content: flex-start;
    align-items: flex-start;
    margin-bottom: clamp(80px, 10%, 200px);
}

#main .reverse .parent-inner-content {
    grid-column: 4 / span 1;
    text-align: right;
}

/* VIDEO */

#main .parent-video-section {
    grid-column: 1 / span 3;
    grid-row: 4 / 8;
    display: flex;
    flex-wrap: wrap;
    min-height: min-content;
    justify-content: center;
}

#main .reverse .parent-video-section {
    grid-column: 3 / span 3;
}

#main .parent-video {
    margin: 1em;
    /* keep above background stripes */
    z-index: 9;
}

/* IMAGE */

#main .parent-image {
    grid-column: 4 / 6;
    grid-row: 1 / 6;
    /* keep above background stripes */
    z-index: 9;
}

#main .reverse .parent-image {
    grid-column: 1 / 3;
}

#main section .parent-heading-container .parent-heading {
    text-transform: uppercase;
    color: var(--bju-cyan) !important;
    font-size: 21px;
    font-weight: 500;
    margin-bottom: 0;
    letter-spacing: 0.1em;
}

#main section .cyan-bg .parent-heading-container .parent-heading {
    color: var(--bju-white) !important;
}

#main section .parent-background-block {
    background-color: var(--bju-parent-box-bg);
}

#main section .cyan-bg .parent-background-block {
    background-color: var(--bju-cyan-parent-dark);
}

#main section .parent-content-text h3 {
    font-family: AntonioRegular;
    font-size: 2.0em;
    /* keep above background stripes */
    position: relative;
    z-index: 9;
    margin-top: 0;
    margin-bottom: 0.6em;
}

#main section .parent-content-text p {
    /* keep above background stripes */
    z-index: 9;
    position: relative;
}

#main section .parent-video-section {
    display: flex;
    align-items: center;
}

#main .parent-video {
    width: 150px;
    height: 150px;
    border-radius: 150px;
    background-color: var(--bju-cyan);
    position: relative;
    display: inline-block;
}

#main .parent-video .video-thumbnail {
    display: block;
    width: 140px;
    height: 140px;
    border-radius: 140px;
    margin-left: 5px;
    margin-top: 5px;
    object-fit: cover;
    object-position: center;
}

#main .parent-video .play-icon {
    position: absolute;
    top: 50%;
    left: 50%;
    width: 50px;
    height: auto;
    transform: translate(-50%, -50%);
    pointer-events: none;
}

#main #safety .parent-video-section .parent-video,
#main section .cyan-bg .parent-video-section .parent-video {
    background-color: var(--bju-white);
}

/* INDIVIDUAL SECTIONS */

.safety-bg {
    background-color: var(--bju-safety-blue);
}

/* SAFETY SECTION BLUE OVERRIDE */
#main #safety .navy {
    background-color: var(--bju-safety-blue);
}

.cyan-bg {
    background-color: var(--bju-cyan);
}

#main .background-pattern-2-container::after {
    bottom: -40px;
}

@media (max-width: 1025px) {
    #main .parent-grid {
        grid-template-columns: 50px 3fr 50px 2fr 50px;
        grid-template-rows: 50px 50px 4fr 50px 140px auto;
    }

    #main .parent-grid.reverse {
        grid-template-columns: 50px 2fr 50px 3fr 50px;
    }

    #main .parent-background-block {
        grid-column: 1 / span 6;
        grid-row: 2 / span 4;
    }

    #main .reverse .parent-background-block {
        grid-column: 1 / span 6;
    }

    #main .parent-inner-content {
        grid-column: 2 / span 1;
        grid-row: 3 / span 1;
        margin: 0;
        align-items: flex-start;
    }

    #main .reverse .parent-inner-content {
        grid-column: 4 / span 1;
        align-items: flex-start;
    }

    #main .parent-inner-content h3 {
        margin-top: 0;
    }

    #main .parent-video-section {
        grid-column: 2 / span 3;
        grid-row: 5 / span 2;
        justify-content: center;
    }

    #main .reverse .parent-video-section {
        grid-column: 2 / span 3;
        grid-row: 5 / span 2;
        justify-content: center;
    }

    #main .parent-image {
        grid-column: 4 / span 1;
        grid-row: 3 / span 1;
    }

    #main .reverse .parent-image {
        grid-column: 2 / span 1;
    }

}

@media (max-width: 777px) {

    /* CONTENT */

    .section-wrapper,
    .section-wrapper.no-bottom-padding {
        padding: 0;
    }

    #worldview .section-wrapper {
        padding-top: 0;
    }

    /* GRID */

    #main .parent-grid,
    #main .parent-grid.reverse {
        grid-template-columns: 1em 1fr 1em;
        grid-template-rows: 50px auto 20px auto auto;
    }

    #main .parent-heading-container,
    #main .reverse .parent-heading-container {
        grid-column: 1 / span 3;
        align-items: center;
        justify-content: center;
    }

    #main #outcomes .cyan-bg {
        position: relative;
    }

    #main .parent-background-block,
    #main .reverse .parent-background-block {
        grid-column: 1 / span 3;
        grid-row: 2 / span 6;
    }

    #main .parent-image,
    #main .reverse .parent-image {
        grid-column: 1 / span 3;
        grid-row: 2 / span 1;
    }

    #main .parent-inner-content,
    #main .reverse .parent-inner-content {
        grid-column: 2 / span 1;
        grid-row: 4 / span 1;
        text-align: left;
    }

    #main .parent-video-section,
    #main .reverse .parent-video-section {
        grid-column: 1 / span 3;
        grid-row: 5 / span 1;
        padding: 0em 0 3em 0;
    }
}