h1,
h2,
h3,
h4,
h5,
h6 {
    font-family: 'HeadingFontFamily', 'BaseFontFamily', serif;
    hyphens: auto;
}

h1,
h2,
h3 {
    line-height: 1;
}

.o-main--is-uppercase h1,
.o-main--is-uppercase h2,
.o-main--is-uppercase h3 {
    text-transform: uppercase;
}

h1 {
    @media md {
        font-size: 3.5rem;
        font-weight: normal;
    }
}

h2 {
    @apply text-4xl;
}

h3 {
    @apply text-primary-500;
    font-size: 2rem;
}

h4 {
    @apply text-2xl text-primary-400;
}

h5 {
    @apply text-xl text-gray-900;
    font-family: 'BaseFontFamily', sans-serif;
}

h6 {
    @apply text-base text-gray-900;
}

// Default spacing for elements in inline-editable text nodes.
.c-neos-text {
    h2,
    h3 {
        margin-bottom: 1rem;
    }

    p + h2,
    table + h2,
    ul + h2,
    ol + h2,
    p + h3,
    table + h3,
    ul + h3,
    ol + h3 {
        margin-top: 1.25rem;

        @screen lg {
            margin-top: 2rem;
        }
    }
}
