:root {
    --ca-font-family-base: "Font", Arial, sans-serif;
    --ca-type-10: calc(var(--ca-font-body-size) * 0.625);
    --ca-type-11: calc(var(--ca-font-body-size) * 0.6875);
    --ca-type-12: calc(var(--ca-font-body-size) * 0.75);
    --ca-type-13: calc(var(--ca-font-body-size) * 0.8125);
    --ca-type-14: calc(var(--ca-font-body-size) * 0.875);
    --ca-type-15: calc(var(--ca-font-body-size) * 0.9375);
    --ca-type-16: var(--ca-font-body-size);
    --ca-type-17: calc(var(--ca-font-body-size) * 1.0625);
    --ca-type-18: var(--ca-font-h6-size);
    --ca-type-19: calc(var(--ca-font-body-size) * 1.1875);
    --ca-type-20: calc(var(--ca-font-body-size) * 1.25);
    --ca-type-22: var(--ca-font-h5-size);
    --ca-type-24: calc(var(--ca-font-h5-size) + 2px);
    --ca-type-26: calc(var(--ca-font-body-size) * 1.625);
    --ca-type-28: var(--ca-font-h4-size);
    --ca-type-30: calc(var(--ca-font-body-size) * 1.875);
    --ca-type-32: calc(var(--ca-font-body-size) * 2);
    --ca-type-34: var(--ca-font-h3-size);
    --ca-type-36: calc(var(--ca-font-h3-size) + 2px);
    --ca-type-42: var(--ca-font-h2-size);
    --ca-type-44: calc(var(--ca-font-h2-size) + 2px);
    --ca-type-56: var(--ca-font-h1-size);
    --ca-weight-300: 300;
    --ca-weight-400: 400;
    --ca-weight-500: 500;
    --ca-weight-600: 600;
    --ca-weight-700: 700;
    --ca-weight-800: 800;
    --ca-weight-900: 900;
}

body {
    font-family: var(--ca-font-family-base);
    font-size: var(--ca-font-body-size);
    line-height: var(--ca-font-body-line-height);
    font-weight: var(--ca-font-body-weight);
    letter-spacing: var(--ca-font-body-letter-spacing);
}

a {
    font-size: var(--ca-font-a-size);
    line-height: var(--ca-font-a-line-height);
    font-weight: var(--ca-font-a-weight);
    letter-spacing: var(--ca-font-a-letter-spacing);
}

p {
    font-size: var(--ca-font-p-size);
    line-height: var(--ca-font-p-line-height);
    font-weight: var(--ca-font-p-weight);
    letter-spacing: var(--ca-font-p-letter-spacing);
}

div {
    font-size: var(--ca-font-div-size);
    line-height: var(--ca-font-div-line-height);
    font-weight: var(--ca-font-div-weight);
    letter-spacing: var(--ca-font-div-letter-spacing);
}

h1,
.ca-type-h1 {
    font-size: var(--ca-font-h1-size);
    line-height: var(--ca-font-h1-line-height);
    font-weight: var(--ca-font-h1-weight);
    letter-spacing: var(--ca-font-h1-letter-spacing);
}

h2,
.ca-type-h2 {
    font-size: var(--ca-font-h2-size);
    line-height: var(--ca-font-h2-line-height);
    font-weight: var(--ca-font-h2-weight);
    letter-spacing: var(--ca-font-h2-letter-spacing);
}

h3,
.ca-type-h3 {
    font-size: var(--ca-font-h3-size);
    line-height: var(--ca-font-h3-line-height);
    font-weight: var(--ca-font-h3-weight);
    letter-spacing: var(--ca-font-h3-letter-spacing);
}

h4,
.ca-type-h4 {
    font-size: var(--ca-font-h4-size);
    line-height: var(--ca-font-h4-line-height);
    font-weight: var(--ca-font-h4-weight);
    letter-spacing: var(--ca-font-h4-letter-spacing);
}

h5,
.ca-type-h5 {
    font-size: var(--ca-font-h5-size);
    line-height: var(--ca-font-h5-line-height);
    font-weight: var(--ca-font-h5-weight);
    letter-spacing: var(--ca-font-h5-letter-spacing);
}

h6,
.ca-type-h6 {
    font-size: var(--ca-font-h6-size);
    line-height: var(--ca-font-h6-line-height);
    font-weight: var(--ca-font-h6-weight);
    letter-spacing: var(--ca-font-h6-letter-spacing);
}
