Skip to content
Snippets Groups Projects
typography.sass 4.79 KiB
Newer Older
Arnaud Levy's avatar
Arnaud Levy committed
// https://developers.osuny.org/docs/theme/architecture/typographie/

body
    font-family: $body-font-family
    -moz-osx-font-smoothing: grayscale
    -webkit-font-smoothing: antialiased
    font-size: $body-size
    font-variant-ligatures: common-ligatures
    text-rendering: optimizelegibility
    line-height: $line-height-base
    @include media-breakpoint-up(md)
        font-size: $body-size-md

// Experimental, not implemented yet
p, h1, h2, h3, h4, h5, h6, li, a, th, td, span
    text-edge: cap alphabetic
    leading-trim: both

alexisben's avatar
alexisben committed
%heading
    font-family: $heading-font-family
alexisben's avatar
alexisben committed
    margin-top: 0
alexisben's avatar
alexisben committed
    margin-bottom: 0
alexisben's avatar
alexisben committed

alexisben's avatar
alexisben committed
h1, .h1
alexisben's avatar
alexisben committed
    @extend %heading
    font-size: $h1-size
alexisben's avatar
alexisben committed
    font-weight: $h1-weight
alexisben's avatar
alexisben committed
    line-height: $h1-line-height
Arnaud Levy's avatar
Arnaud Levy committed
    text-transform: $h1-text-transform
Olivia206's avatar
Olivia206 committed
    @include media-breakpoint-up(md)
        font-size: $h1-size-md
alexisben's avatar
alexisben committed

h2, .h2
alexisben's avatar
alexisben committed
    @extend %heading
    font-size: $h2-size
alexisben's avatar
alexisben committed
    font-weight: $h2-weight
alexisben's avatar
alexisben committed
    line-height: $h2-line-height
Arnaud Levy's avatar
Arnaud Levy committed
    text-transform: $h2-text-transform
Olivia206's avatar
Olivia206 committed
    @include media-breakpoint-up(md)
        font-size: $h2-size-md
alexisben's avatar
alexisben committed

alexisben's avatar
alexisben committed
h3, .h3
alexisben's avatar
alexisben committed
    @extend %heading
    font-size: $h3-size
alexisben's avatar
alexisben committed
    font-weight: $h3-weight
alexisben's avatar
alexisben committed
    line-height: $h3-line-height
Arnaud Levy's avatar
Arnaud Levy committed
    text-transform: $h3-text-transform
Olivia206's avatar
Olivia206 committed
    @include media-breakpoint-up(md)
        font-size: $h3-size-md
alexisben's avatar
alexisben committed

alexisben's avatar
alexisben committed
h4, .h4
alexisben's avatar
alexisben committed
    @extend %heading
    font-size: $h4-size
alexisben's avatar
alexisben committed
    font-weight: $h4-weight
alexisben's avatar
alexisben committed
    line-height: $h4-line-height
Arnaud Levy's avatar
Arnaud Levy committed
    text-transform: $h4-text-transform
Olivia206's avatar
Olivia206 committed
    @include media-breakpoint-up(md)
        font-size: $h4-size-md
alexisben's avatar
alexisben committed

alexisben's avatar
alexisben committed
h5, .h5
alexisben's avatar
alexisben committed
    @extend %heading
    font-size: $h5-size
alexisben's avatar
alexisben committed
    font-weight: $h5-weight
alexisben's avatar
alexisben committed
    line-height: $h5-line-height
Arnaud Levy's avatar
Arnaud Levy committed
    text-transform: $h5-text-transform
alexisben's avatar
alexisben committed
    @include media-breakpoint-up(md)
        font-size: $h5-size-md
alexisben's avatar
alexisben committed

alexisben's avatar
alexisben committed
h6, .h6
alexisben's avatar
alexisben committed
    @extend %heading
    font-size: $h6-size
alexisben's avatar
alexisben committed
    font-weight: $h6-weight
alexisben's avatar
alexisben committed
    line-height: $h6-line-height
Arnaud Levy's avatar
Arnaud Levy committed
    text-transform: $h6-text-transform
alexisben's avatar
alexisben committed
    @include media-breakpoint-up(md)
        font-size: $h6-size-md
alexisben's avatar
alexisben committed

alexisben's avatar
alexisben committed
h1, .h1,
h2, .h2
    a
        text-decoration-thickness: 0
        &:hover
            text-decoration-thickness: 1px

.lead
    margin-top: 0
    font-family: $lead-font-family
    font-size: $lead-size
    font-weight: $lead-weight
    line-height: $lead-line-height
    @include media-breakpoint-up(md)
        font-size: $lead-size-md

alexisben's avatar
alexisben committed
.p,
.li
alexisben's avatar
alexisben committed
    font-size: $body-size
alexisben's avatar
alexisben committed
    @include media-breakpoint-up(md)
alexisben's avatar
alexisben committed
        font-size: $body-size-md
alexisben's avatar
alexisben committed

p
    margin-top: 0
    margin-bottom: 0

alexisben's avatar
alexisben committed
.meta
    font-family: $meta-font-family
    font-size: $meta-size
    font-weight: $meta-weight
    line-height: $meta-line-height
    @include media-breakpoint-up(md)
        font-size: $meta-size-md
alexisben's avatar
alexisben committed

.signature
    font-family: $signature-font-family
    font-size: $signature-size
    font-weight: $signature-weight
    line-height: $signature-line-height
    @include media-breakpoint-up(md)
        font-size: $signature-size-md
alexisben's avatar
alexisben committed
    
small, .small
    font-family: $small-font-family
    font-size: $small-size
    font-weight: $small-weight
    line-height: $small-line-height
    @include media-breakpoint-up(md)
        font-size: $small-size-md


[itemprop="articleBody"]
    h1, h2, h3, h4, h5, h6
        margin-block-start: 2em
        &:first-child, meta + &
            margin-block-start: 0

alexisben's avatar
alexisben committed
blockquote, .blockquote
alexisben's avatar
alexisben committed
    margin: 0
alexisben's avatar
alexisben committed
    cite
        font-size: px2rem(18)
        font-style: normal

sebousan's avatar
sebousan committed
address
    font-style: normal

alexisben's avatar
alexisben committed
a,
.link
    @include link
    overflow-wrap: break-word
alexisben's avatar
alexisben committed
    &[target="_blank"]:not(.icon)
alexisben's avatar
alexisben committed
        @include icon("link-blank", "after")
        &::after
            content: " #{map-get($icons, "link-blank")}"
            display: inline
alexisben's avatar
alexisben committed
            font-size: px2rem(10)
    &[href^="mailto"]
        &::after
            content: none

alexisben's avatar
alexisben committed
.btn
    font-size: $btn-font-size
    padding: $btn-padding-y $btn-padding-x
    text-decoration: none
    display: inline-block
alexisben's avatar
alexisben committed
    border-radius: $btn-border-radius
    @include media-breakpoint-up(md)
        font-size: $btn-font-size-md
        padding: $btn-padding-y-md $btn-padding-x-md
alexisben's avatar
alexisben committed

alexisben's avatar
alexisben committed
.link-more
alexisben's avatar
alexisben committed
    @include link
alexisben's avatar
alexisben committed
    @include icon(arrow, before)
alexisben's avatar
alexisben committed
    &::before
        font-size: px2rem(10)
        margin-right: px2rem(5)

alexisben's avatar
alexisben committed
dd
    margin-bottom: 0.5rem
    margin-left: 0

alexisben's avatar
alexisben committed
::selection
alexisben's avatar
alexisben committed
    background: rgba($color-text, .7)
    color: $color-background
alexisben's avatar
alexisben committed
    text-shadow: none

*:focus-visible
    outline-color: gray
    outline-offset: 5px
    outline-style: dashed
    outline-width: 1px

@media (prefers-reduced-motion: no-preference)
    *:focus-visible
        transition: outline-offset .3s ease

// ICONS
@font-face
    font-display: block
    font-family: 'Icon'
    font-style: normal
    font-weight: 400
    src: url('../fonts/icons/icomoon.woff') format("woff")

alexisben's avatar
alexisben committed
@each $name, $glyph in $icons
alexisben's avatar
alexisben committed
    .icon-#{$name}
alexisben's avatar
alexisben committed
        @include icon($name, before)
alexisben's avatar
alexisben committed
    .btn-#{$name}
        @include icon($name)
        &::before
            margin-inline-end: px2rem(5)