@use "../abstracts/index" as *;

/* Typography
============================================================== */

/* Heading */
h1,
.h1,
h2,
.h2,
h3,
.h3,
h4,
.h4,
h5,
.h5,
h6,
.h6 {
    font-family: $font-main;
    text-rendering: optimizeLegibility;
    font-weight: 400;
    margin-bottom: 0;
    letter-spacing: 0;
    color: var(--black);
}

h1,
.h1 {
    font-size: 64px;
    line-height: 64px;
    letter-spacing: -0.02em;
    @include res(md) {
        font-size: 36px;
        line-height: 44px;
    }
}

h2,
.h2 {
    font-size: 48px;
    line-height: 60px;
    letter-spacing: -0.02em;
    @include res(md) {
        font-size: 32px;
        line-height: 40px;
    }
}

h3,
.h3 {
    font-size: 40px;
    line-height: 52px;
    letter-spacing: -0.01em;
    @include res(md) {
        font-size: 28px;
        line-height: 36px;
    }
}

h4,
.h4 {
    @include res(md) {
        font-size: 26px;
        line-height: 34px;
    }
    font-size: 36px;
    line-height: 48px;
    letter-spacing: -0.01em;
}

h5,
.h5 {
    @include res(md) {
        font-size: 22px;
        line-height: 28px;
    }
    font-size: 32px;
    line-height: 40px;
    letter-spacing: -0.01em;
}

h6,
.h6 {
    @include res(md) {
        font-size: 20px;
        line-height: 26px;
    }
    font-size: 24px;
    line-height: 32px;
}

/* Font custom */
.font-main {
    font-family: $font-main;
}

.text-display-1 {
    @include res(md) {
        font-size: 60px;
        line-height: 60px;
    }
    font-size: 128px;
    line-height: 128px;
    letter-spacing: -0.03em;
}

.text-display-2 {
    font-size: 96px;
    line-height: 96px;
    letter-spacing: -0.03em;
    @include res(lg) {
        font-size: 60px;
        line-height: 66px;
    }
    @include res(md) {
        font-size: 32px;
        line-height: 40px;
    }
}

.text-sub-heading {
    font-size: 20px;
    line-height: 28px;
}

.text-body-1 {
    font-size: 18px;
    line-height: 28px;
}

.text-body-2 {
    font-size: 16px;
    line-height: 24px;
}

.text-body-3 {
    font-size: 14px;
    line-height: 20px;
}

.text-caption {
    font-size: 12px;
    line-height: 16px;
}

@include res(lg) {
    br {
        // display: none;
    }
}

/* Text Font */
.text-24 {
    @include res(md) {
        font-size: 18px;
        line-height: 18px;
    }
    font-size: 24px;
    line-height: 24px;
}

.text-64 {
    @include res(md) {
        font-size: 36px;
        line-height: 36px;
    }
    font-size: 64px;
    line-height: 64px;
}

.text-80 {
    @include res(md) {
        font-size: 40px;
        line-height: 48px;
    }
    font-size: 80px;
    line-height: 88px;
}


/* Font size */
.fs-4 {
    font-size: 4px !important;
}

.fs-8 {
    font-size: 8px !important;
}

.fs-10 {
    font-size: 10px !important;
}

.fs-12 {
    font-size: 12px !important;
}

.fs-14 {
    font-size: 14px !important;
}

.fs-16 {
    font-size: 16px !important;
}

.fs-18 {
    font-size: 18px !important;
}

.fs-20 {
    font-size: 20px !important;
}

.fs-24 {
    font-size: 24px !important;
}

.fs-32 {
    font-size: 32px !important;
}

.fs-35 {
    font-size: 35px !important;
}

/* Line height */
.lh-8 {
    line-height: 8px !important;
}

.lh-10 {
    line-height: 10px !important;
}

.lh-11 {
    line-height: 11px !important;
}

.lh-13 {
    line-height: 13px !important;
}

.lh-19 {
    line-height: 19px !important;
}

.lh-20 {
    line-height: 20px !important;
}

.lh-24 {
    line-height: 24px !important;
}

.lh-26 {
    line-height: 26px !important;
}

.lh-28 {
    line-height: 28px !important;
}

.lh-30 {
    line-height: 30px !important;
}

.lh-32 {
    line-height: 32px !important;
}

/* Letter spacing */
.letter-space-0 {
    letter-spacing: 0px !important;
}

.letter-space--1 {
    letter-spacing: -0.01em !important;
}

.letter-space--2 {
    letter-spacing: -0.02em !important;
}

.letter-space--3 {
    letter-spacing: -0.03em !important;
}

.letter-space--4 {
    letter-spacing: -0.03em !important;
}

/* Responsive */
@include res(xxl, min) {
    .lh-xxl-11 {
        line-height: 11px !important;
    }

    .lh-xxl-19 {
        line-height: 19px !important;
    }

    .lh-xxl-22 {
        line-height: 22px !important;
    }

    .lh-xxl-56 {
        line-height: 56px !important;
    }
}

@include res(xl, min) {
    .lh-xl-54 {
        line-height: 54px !important;
    }

    .lh-xl-36 {
        line-height: 36px !important;
    }
}

@include res(lg, min) {
    .lh-lg-56 {
        line-height: 56px !important;
    }
}