@font-face {
    font-family: "GartnerSans";
    src: url("../fonts/Gartner_Sans_Light.woff2") format("woff2");
    src:
        url("../fonts/Gartner_Sans_Light.woff2") format("woff2");
    font-weight: 300;
    font-style: normal;
    font-display: swap;
}
@font-face {
    font-family: "GartnerSans";
    src: url("../fonts/Gartner_Sans_Light_Italic.woff2") format("woff2");
    src:
        url("../fonts/Gartner_Sans_Light_Italic.woff2") format("woff2");
    font-weight: 300;
    font-style: italic;
    font-display: swap;
}
@font-face {
    font-family: "GartnerSans";
    src: url("../fonts/Gartner_Sans_Regular.woff2") format("woff2");
    src:
        url("../fonts/Gartner_Sans_Regular.woff2") format("woff2");
    font-weight: 400;
    font-style: normal;
    font-display: swap;
}
@font-face {
    font-family: "GartnerSans";
    src: url("../fonts/Gartner_Sans_Italic.woff2") format("woff2");
    src:
        url("../fonts/Gartner_Sans_Italic.woff2") format("woff2");
    font-weight: 400;
    font-style: italic;
    font-display: swap;
}
@font-face {
    font-family: "GartnerSans";
    src: url("../fonts/Gartner_Sans_Medium.woff2") format("woff2");
    src:
        url("../fonts/Gartner_Sans_Medium.woff2") format("woff2");
    font-weight: 500;
    font-style: normal;
    font-display: swap;
}
@font-face {
    font-family: "GartnerSans";
    src: url("../fonts/Gartner_Sans_Medium_Italic.woff2") format("woff2");
    src:
        url("../fonts/Gartner_Sans_Medium_Italic.woff2") format("woff2");
    font-weight: 500;
    font-style: italic;
    font-display: swap;
}
@font-face {
    font-family: "GartnerSans";
    src: url("../fonts/Gartner_Sans_Semibold.woff2") format("woff2");
    src:
        url("../fonts/Gartner_Sans_Semibold.woff2") format("woff2");
    font-weight: 600;
    font-style: normal;
    font-display: swap;
}
@font-face {
    font-family: "GartnerSans";
    src: url("../fonts/Gartner_Sans_Semibold_Italic.woff2") format("woff2");
    src:
        url("../fonts/Gartner_Sans_Semibold_Italic.woff2") format("woff2");
    font-weight: 600;
    font-style: italic;
    font-display: swap;
}
@font-face {
    font-family: "GartnerSans";
    src: url("../fonts/Gartner_Sans_Bold.woff2") format("woff2");
    src:
        url("../fonts/Gartner_Sans_Bold.woff2") format("woff2");
    font-weight: 700;
    font-style: normal;
    font-display: swap;
}
@font-face {
    font-family: "GartnerSans";
    src: url("../fonts/Gartner_Sans_Bold_Italic.woff2") format("woff2");
    src:
        url("../fonts/Gartner_Sans_Bold_Italic.woff2") format("woff2");
    font-weight: 700;
    font-style: italic;
    font-display: swap;
}
@font-face {
    font-family: "GartnerSans";
    src: url("../fonts/Gartner_Sans_Black.woff2") format("woff2");
    src:
        url("../fonts/Gartner_Sans_Black.woff2") format("woff2");
    font-weight: 800;
    font-style: normal;
    font-display: swap;
}
@font-face {
    font-family: "GartnerSans";
    src: url("../fonts/Gartner_Sans_Black_Italic.woff2") format("woff2");
    src:
        url("../fonts/Gartner_Sans_Black_Italic.woff2") format("woff2");
    font-weight: 800;
    font-style: italic;
    font-display: swap;
}

/* Set custom properties for each layout feature */
:root {
    --gartner-sans-case: "case" off;
    --gartner-sans-dnom: "dnom" off;
    --gartner-sans-frac: "frac" off;
    --gartner-sans-numr: "numr" off;
    --gartner-sans-onum: "onum" off;
    --gartner-sans-ordn: "ordn" off;
    --gartner-sans-pnum: "pnum" off;
    --gartner-sans-sinf: "sinf" off;
    --gartner-sans-ss01: "ss01" off;
    --gartner-sans-ss02: "ss02" off;
    --gartner-sans-subs: "subs" off;
    --gartner-sans-sups: "sups" off;
    --gartner-sans-tnum: "tnum" off;
}

/* If class is applied, update custom property and
   apply modern font-variant-* when supported */
.gartner-sans-case {
    --gartner-sans-case: "case" on;
}

.gartner-sans-dnom {
    --gartner-sans-dnom: "dnom" on;
}

.gartner-sans-frac {
    --gartner-sans-frac: "frac" on;
}

@supports (font-variant-numeric: diagonal-fractions) {
    .gartner-sans-frac {
        --gartner-sans-frac: "____";
        font-variant-numeric: diagonal-fractions;
    }
}

.gartner-sans-numr {
    --gartner-sans-numr: "numr" on;
}

.gartner-sans-onum {
    --gartner-sans-onum: "onum" on;
}

@supports (font-variant-numeric: oldstyle-nums) {
    .gartner-sans-onum {
        --gartner-sans-onum: "____";
        font-variant-numeric: oldstyle-nums;
    }
}

.gartner-sans-ordn {
    --gartner-sans-ordn: "ordn" on;
}

@supports (font-variant-numeric: ordinal) {
    .gartner-sans-ordn {
        --gartner-sans-ordn: "____";
        font-variant-numeric: ordinal;
    }
}

.gartner-sans-pnum {
    --gartner-sans-pnum: "pnum" on;
}

@supports (font-variant-numeric: proportional-nums) {
    .gartner-sans-pnum {
        --gartner-sans-pnum: "____";
        font-variant-numeric: proportional-nums;
    }
}

.gartner-sans-sinf {
    --gartner-sans-sinf: "sinf" on;
}

.gartner-sans-ss01 {
    --gartner-sans-ss01: "ss01" on;
}

.gartner-sans-ss02 {
    --gartner-sans-ss02: "ss02" on;
}

.gartner-sans-subs {
    --gartner-sans-subs: "subs" on;
}

@supports (font-variant-position: sub) {
    .gartner-sans-subs {
        --gartner-sans-subs: "____";
        font-variant-position: sub;
    }
}

.gartner-sans-sups {
    --gartner-sans-sups: "sups" on;
}

@supports (font-variant-position: super) {
    .gartner-sans-sups {
        --gartner-sans-sups: "____";
        font-variant-position: super;
    }
}

.gartner-sans-tnum {
    --gartner-sans-tnum: "tnum" on;
}

@supports (font-variant-numeric: tabular-nums) {
    .gartner-sans-tnum {
        --gartner-sans-tnum: "____";
        font-variant-numeric: tabular-nums;
    }
}

/* Apply current state of all custom properties
   whenever a class is being applied */
.gartner-sans-case,
.gartner-sans-dnom,
.gartner-sans-frac,
.gartner-sans-numr,
.gartner-sans-onum,
.gartner-sans-ordn,
.gartner-sans-pnum,
.gartner-sans-sinf,
.gartner-sans-ss01,
.gartner-sans-ss02,
.gartner-sans-subs,
.gartner-sans-sups,
.gartner-sans-tnum {
    font-feature-settings: var(--gartner-sans-case), var(--gartner-sans-dnom), var(--gartner-sans-frac), var(--gartner-sans-numr), var(--gartner-sans-onum), var(--gartner-sans-ordn), var(--gartner-sans-pnum), var(--gartner-sans-sinf), var(--gartner-sans-ss01), var(--gartner-sans-ss02), var(--gartner-sans-subs), var(--gartner-sans-sups), var(--gartner-sans-tnum);
}

