/* Headings */
h1, h2, h3, h4, h5, h6 {
    font-weight: 200;
    text-transform: none;
    letter-spacing: normal;
}

h1 {
    font-size: 2.6em;
    line-height: 44px;
    margin: 0 0 32px 0;
}

h2 {
    font-size: 2.2em;
    font-weight: 300;
    line-height: 40px;
    margin: 0 0 32px 0;
}

h3 {
    font-size: 1.8em;
    font-weight: 400;
    line-height: 32px;
    margin: 0 0 20px 0;
}

h4 {
    font-size: 1.4em;
    font-weight: 400;
    line-height: 27px;
    margin: 0 0 14px 0;
}

h5 {
    font-size: 1em;
    font-weight: 600;
    line-height: 18px;
    margin: 0 0 14px 0;
}

h6 {
    font-size: 1em;
    font-weight: 400;
    line-height: 18px;
    margin: 0 0 14px 0;
}

h1 {
    &.big {
        font-size: 4.2em;
        line-height: 54px;
    }
    &.small {
        font-size: 2.2em;
        line-height: 42px;
        font-weight: 600;
    }
    &.short {
        margin-bottom: 15px;
    }
}

h2.short {
    margin-bottom: 15px;
}

h3.short,
h4.short,
h5.short,
h6.short {
    margin-bottom: 9px;
}

h1.shorter,
h2.shorter,
h3.shorter,
h4.shorter,
h5.shorter,
h6.shorter {
    margin-bottom: 0;
}

h1.tall,
h2.tall,
h3.tall,
h4.tall,
h5.tall,
h6.tall {
    margin-bottom: 33px;
}

h1.taller,
h2.taller,
h3.taller,
h4.taller,
h5.taller,
h6.taller {
    margin-bottom: 44px;
}

h1.spaced,
h2.spaced,
h3.spaced,
h4.spaced,
h5.spaced,
h6.spaced {
    margin-top: 22px;
}

h1.more-spaced,
h2.more-spaced,
h3.more-spaced,
h4.more-spaced,
h5.more-spaced,
h6.more-spaced {
    margin-top: 44px;
}

h1.light,
h2.light,
h3.light,
h4.light,
h5.light,
h6.light, 
h1.white,
h2.white,
h3.white,
h4.white,
h5.white,
h6.white {
    color: #fff;
}

h1.text-shadow,
h2.text-shadow,
h3.text-shadow,
h4.text-shadow,
h5.text-shadow,
h6.text-shadow {
    text-shadow: 1px 1px 0 rgba(0, 0, 0, .2);
}

/* Heading */
.heading {
    &.heading-border {
        margin-bottom: 1.5625rem;
        h1, h2, h3, h4, h5, h6 {
            padding: 0;
            margin: 0;
        }
    }

    &.heading-middle-border {
        .heading-tag {
            position: relative;
            display: -ms-flexbox; display: flex;
            -ms-flex-align: center; align-items: center;
            &:before,
            &:after {
                height: 0;
                border-top: 1px solid;
                border-top-color: inherit;
                -ms-flex: 1; flex: 1;
            }
            &:after {
                content: '';
            }
        }
        h1 {
            &:before {
                margin-#{$right}: 20px;
            }
            &:after {
                margin-#{$left}: 20px;
            }
        }
        h2, h3 {
            &:before {
                margin-#{$right}: 15px;
            }
            &:after {
                margin-#{$left}: 15px;
            }
        }
        h4, h5, h6 {
            &:before {
                margin-#{$right}: 8px;
            }
            &:after {
                margin-#{$left}: 8px;
            }
        }
    }

    &.heading-middle-border-reverse {
        .heading-tag:before {
            content: '';
        }
        .heading-tag:after {
            content: none;
        }
    }

    &.heading-middle-border-center {
        .heading-tag:before {
            content: '';
        }
    }

    &.heading-border-xs {
        .heading-tag {
            border-bottom-width: 1px;
            &:before, &:after {
                border-top-width: 1px;
            }
        }
    }

    &.heading-border-sm {
        .heading-tag {
            border-bottom-width: 2px;
            &:before, &:after {
                border-top-width: 2px;
            }
        }
    }

    &.heading-border-lg {
        .heading-tag {
            border-bottom-width: 3px;
            &:before, &:after {
                border-top-width: 3px;
            }
        }
    }

    &.heading-border-xl {
        .heading-tag {
            border-bottom-width: 5px;
            &:before, &:after {
                border-top-width: 5px;
            }
        }
    }
}

/* Responsive */
@media #{$screen-small} {
    h2 {
        line-height: 40px;
    }
}

@media #{$screen-medium} {
    h1.big {
        font-size: 3.2em;
        line-height: 42px;
    }
}

.heading-bold {
    font-weight: 600 !important;

    strong {
        font-weight: 800 !important;
    }
}

.page-title {
    margin-top: 0;
}