main .block.hero .background {
    background-size: cover;
    background-position: center;
}

main .block.hero {
    display: flex;
    justify-content: center;
    align-items: center;
}

main .block.hero .container {
    display: flex;
    justify-content: center;
    align-items: center;
}

main .block.hero.hero-large {
    min-height: 600px;
}

@media (min-width: 1025px) {
    main .block.hero.fullheight {
        height: calc(100vh - var(--header-height));
        max-height: 1080px;
    }
}

main .block.hero .wrapper {
    display: flex;
    flex-direction: column;
}

main .block.hero h1 {
    max-width: 580px;
}

main .block.hero h2 {
    max-width: 520px;
}

main .block.hero p {
    max-width: 560px;
    margin-top: var(--spacing-300);
}
main .block.hero .text-column,
main .block.hero .media-column {
    width: 50%;
    max-width: 600px;
}

main .block.hero .media-column img,
main .block.hero .media-column video {
    width: 100%;
    height:auto;
    object-fit: cover;
}

@media (max-width: 1024px) {
    main .block.hero h1 {
        max-width: 495px;
    }

    main .block.hero p {
        margin-top: var(--spacing-300);
        max-width: 500px;
    }
    main .block.hero .text-column,
    main .block.hero .media-column {
        width: 100%;
        max-width: none;
    }
}

@media (max-width: 860px) {

    main .block.hero:not(.hero-large) {
        min-height: 0;
        padding: var(--spacing-lg) 0;
    }

    main .block.hero.hero-large {
        min-height: 480px;
    }

    main .block.hero h2 {
        text-wrap: balance;
    }
}

@media (max-width: 600px) {
    main .block.hero {   
        padding: 60px 0 80px 0;
        min-height: 580px;
    }

    main .block.hero:not(.align-center-mobile) {
        min-height: 580px;
        align-items: flex-start;
    }

    main .block.hero.hero-taller-mobile {
        min-height: 624px;
    }

    main .block.hero.hero-shorter-mobile {
        min-height: unset;
    }

    main .block.hero.offset {
        background-position: 90% 50%;
    }
}

@media (max-width: 600px) {
    main .block.hero.align-center-mobile .wrapper {
        align-items: center;
        text-align: center;
    }

    main .block.hero.align-center-mobile p {
        max-width: 560px;
        margin-top: var(--spacing-300);
    }
}

@media (min-width: 601px) {
    main .block.hero.align-center-desktop .wrapper {
        align-items: center;
        text-align: center;
    }

    main .block.hero.align-center-desktop p {
        max-width: 660px;
        margin-top: var(--spacing-300);
    }

    main .block.hero.align-center-desktop p.preheading {
        margin-top: 0;
    }
}

@media (max-width: 1280px) {
    main .block.hero-video-right {
        max-height: 100% !important;
        height: auto !important;
        padding-bottom: 0;
        .video-wrapper {
            position: static;
            width: 100%;
            margin-top: 3rem;
            video {
                position: static;
                width: 100%;
            }
        }
        .container {
            flex-wrap: wrap;
        }
    }
}

@media (min-width: 1281px) {
    main .block.hero-video-right .container {
        position: relative;
        .video-wrapper {
            height: 100%;
            width: 50%;
            position: absolute;
            right: 0;
            top: 0;
            background-position: center;
            background-size: cover;
            video {
                height: 100%;
                left: 0;
                pointer-events: auto;
                position: absolute;
                top: 0;
                width: 100%;
                object-fit: cover;
            }
        }
    }
}