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);
}

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

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

@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;
    }
}
