// stylelint-disable declaration-no-important, selector-list-comma-newline-after

//
// Headings
//

h1,
h2,
h3,
h4,
h5,
h6,
.h1,
.h2,
.h3,
.h4,
.h5,
.h6 {
    font-family: $headings-font-family;
    font-weight: $headings-font-weight;
    color: $headings-color;
    margin-bottom: $headings-margin-bottom;
}

h1,
.h1 {
    font-size: $h1-font-size * 0.6;
    line-height: $h1-line-height;
    margin-bottom: $h1-margin-bottom * 0.8;
    letter-spacing: $h1-letter-spacing;

    @include media-breakpoint-up('sm') {
        font-size: $h1-font-size * 0.8;
    }

    @include media-breakpoint-up('lg') {
        font-size: $h1-font-size;
        margin-bottom: $h1-margin-bottom;
    }
}
h2,
.h2 {
    font-size: $h2-font-size;
    line-height: $h2-line-height;
    margin-bottom: $h2-margin-bottom;
    letter-spacing: $h2-letter-spacing;
}
h3,
.h3 {
    font-size: $h3-font-size;
    line-height: $h3-line-height;
    font-weight: $font-weight-medium;
    margin-bottom: $h3-margin-bottom;
    letter-spacing: $h3-letter-spacing;
}
h4,
.h4 {
    font-size: $h4-font-size;
    line-height: $h4-line-height;
    font-weight: $font-weight-medium;
    margin-bottom: $h4-margin-bottom;
    letter-spacing: $h4-letter-spacing;
}
h5,
.h5 {
    font-size: $h5-font-size;
    line-height: $h5-line-height;
    font-weight: $font-weight-medium;
    margin-bottom: $h5-margin-bottom;
    letter-spacing: $h5-letter-spacing;
}
h6,
.h6 {
    font-size: $h6-font-size;
    line-height: $h6-line-height;
    font-weight: $font-weight-medium;
    margin-bottom: $h6-margin-bottom;
    letter-spacing: $h6-letter-spacing;
}

.lead {
    font-size: $lead-font-size * 0.89;
    font-weight: $lead-font-weight;

    @include media-breakpoint-up('lg') {
        font-size: $lead-font-size;
    }
}

// Type display classes
.display-1 {
    font-size: $display1-size;
    font-weight: $display1-weight;
    line-height: $display1-line-height;
    margin-bottom: $display1-margin-bottom;
}

.display-2 {
    font-size: $display2-size;
    font-weight: $display2-weight;
    line-height: $display2-line-height;
    margin-bottom: $display2-margin-bottom;
}
.display-3 {
    font-size: $display3-size;
    font-weight: $display3-weight;
    line-height: $display3-line-height;
    margin-bottom: $display3-margin-bottom;
}
.display-4 {
    font-size: $display4-size * 0.571;
    font-weight: $display4-weight;
    line-height: $display4-line-height;
    margin-bottom: $display4-margin-bottom;

    @include media-breakpoint-up('sm') {
        font-size: $display4-size * 0.714;
    }

    @include media-breakpoint-up('xl') {
        font-size: $display4-size;
    }
}

//
// Horizontal rules
//

hr {
    margin-top: $hr-margin-y;
    margin-bottom: $hr-margin-y;
    border: 0;
    border-top: $hr-border-width solid $hr-border-color;
}

//
// Emphasis
//

small,
.small {
    font-size: $small-font-size;
    font-weight: $font-weight-normal;
}

.large {
    font-size: $large-font-size * 0.88;
    font-weight: $font-weight-normal;
    line-height: $large-line-height;

    @include media-breakpoint-up('lg') {
        font-size: $large-font-size;
    }
}

mark,
.mark {
    padding: $mark-padding;
    background-color: $mark-bg;
}

//
// Lists
//

.list-unstyled {
    @include list-unstyled;
}

// Inline turns list items into inline-block
.list-inline {
    @include list-unstyled;
}
.list-inline-item {
    display: inline-block;

    &:not(:last-child) {
        margin-right: $list-inline-padding;
    }
}

//
// Misc
//

// Builds on `abbr`
.initialism {
    font-size: 90%;
    text-transform: uppercase;
}

// Blockquotes
.blockquote {
    margin-bottom: $spacer * 2.5;
    font-size: $blockquote-font-size;
}

.blockquote-footer {
    display: block;
    font-size: 80%; // back to default font-size
    color: $blockquote-small-color;

    &::before {
        content: '\2014 \00A0'; // em dash, nbsp
    }
}

//
// Font weight
//

.weight-300 {
    font-weight: $font-weight-light;
}

.weight-400 {
    font-weight: $font-weight-normal;
}

.weight-500 {
    font-weight: $font-weight-medium;
}

.weight-700 {
    font-weight: $font-weight-bold;
}

.weight-900 {
    font-weight: $font-weight-extrabold;
}

//
// Pricing
//
.price-large {
    font-size: $price-large-font-size;
    line-height: $price-large-line-height;
    font-weight: $font-weight-light;
    height: $price-large-line-height;
    letter-spacing: $price-large-letter-spacing;
}

.price-medium {
    font-size: $price-medium-font-size;
    line-height: $price-medium-line-height;
    font-weight: $font-weight-bold;
    height: $price-medium-line-height;
    letter-spacing: $price-medium-letter-spacing;
}

.price-small {
    font-size: $price-small-font-size;
    line-height: $price-small-line-height;
    font-weight: $font-weight-bold;
    height: $price-small-line-height;
    letter-spacing: $price-small-letter-spacing;
}

.price-unit {
    font-size: $price-unit-font-size;
    font-weight: $font-weight-medium;
    letter-spacing: $price-unit-letter-spacing;
}
