@mr.slonn/my-scss-theme 1.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +182 -0
- package/index.scss +1 -0
- package/package.json +10 -0
- package/scss/.sassdocrc +85 -0
- package/scss/_font-vars.scss +25 -0
- package/scss/_fonts.scss +139 -0
- package/scss/abstracts/_animations.scss +819 -0
- package/scss/abstracts/_breakpoints.scss +865 -0
- package/scss/abstracts/_colors.scss +256 -0
- package/scss/abstracts/_functions.scss +3 -0
- package/scss/abstracts/_grid.scss +816 -0
- package/scss/abstracts/_index.scss +134 -0
- package/scss/abstracts/_mixins.scss +1142 -0
- package/scss/abstracts/_patterns.scss +657 -0
- package/scss/abstracts/_radius.scss +279 -0
- package/scss/abstracts/_search-form.scss +271 -0
- package/scss/abstracts/_spacing.scss +158 -0
- package/scss/abstracts/_typography.scss +477 -0
- package/scss/abstracts/_utilities.scss +0 -0
- package/scss/abstracts/_variables.scss +3 -0
- package/scss/abstracts/breadcrumb/_base.scss +194 -0
- package/scss/abstracts/breadcrumb/_index.scss +12 -0
- package/scss/abstracts/breadcrumb/_variables.scss +54 -0
- package/scss/abstracts/buttons/_base.scss +92 -0
- package/scss/abstracts/buttons/_index.scss +31 -0
- package/scss/abstracts/buttons/_modifiers.scss +114 -0
- package/scss/abstracts/buttons/_variables.scss +98 -0
- package/scss/abstracts/buttons/_variants.scss +295 -0
- package/scss/abstracts/callout/_base.scss +142 -0
- package/scss/abstracts/callout/_index.scss +23 -0
- package/scss/abstracts/callout/_variables.scss +27 -0
- package/scss/abstracts/cards/_base.scss +74 -0
- package/scss/abstracts/cards/_blur.scss +65 -0
- package/scss/abstracts/cards/_featured.scss +363 -0
- package/scss/abstracts/cards/_hover.scss +99 -0
- package/scss/abstracts/cards/_index.scss +51 -0
- package/scss/abstracts/cards/_parts.scss +135 -0
- package/scss/abstracts/cards/_sizes.scss +52 -0
- package/scss/abstracts/cards/_variables.scss +72 -0
- package/scss/abstracts/cards/_variants.scss +143 -0
- package/scss/abstracts/cards/_vertical.scss +218 -0
- package/scss/abstracts/chip/_base.scss +99 -0
- package/scss/abstracts/chip/_icon.scss +73 -0
- package/scss/abstracts/chip/_index.scss +21 -0
- package/scss/abstracts/chip/_variables.scss +57 -0
- package/scss/abstracts/chip/_variants.scss +98 -0
- package/scss/abstracts/file-card/_base.scss +326 -0
- package/scss/abstracts/file-card/_index.scss +12 -0
- package/scss/abstracts/file-card/_variables.scss +79 -0
- package/scss/abstracts/hero/_base.scss +182 -0
- package/scss/abstracts/hero/_index.scss +23 -0
- package/scss/abstracts/hero/_variables.scss +59 -0
- package/scss/abstracts/info-card/_base.scss +152 -0
- package/scss/abstracts/info-card/_index.scss +12 -0
- package/scss/abstracts/info-card/_variables.scss +44 -0
- package/scss/abstracts/news-card/_base.scss +143 -0
- package/scss/abstracts/news-card/_compact.scss +24 -0
- package/scss/abstracts/news-card/_featured.scss +83 -0
- package/scss/abstracts/news-card/_index.scss +31 -0
- package/scss/abstracts/news-card/_variables.scss +44 -0
- package/scss/abstracts/project-card/_base.scss +109 -0
- package/scss/abstracts/project-card/_index.scss +23 -0
- package/scss/abstracts/project-card/_variables.scss +20 -0
- package/scss/abstracts/search-form/_base.scss +132 -0
- package/scss/abstracts/search-form/_composite.scss +54 -0
- package/scss/abstracts/search-form/_index.scss +31 -0
- package/scss/abstracts/search-form/_theme.scss +89 -0
- package/scss/abstracts/search-form/_variables.scss +39 -0
- package/scss/abstracts/section-title/_base.scss +127 -0
- package/scss/abstracts/section-title/_index.scss +23 -0
- package/scss/abstracts/section-title/_variables.scss +27 -0
- package/scss/abstracts/service-card/_base.scss +77 -0
- package/scss/abstracts/service-card/_index.scss +23 -0
- package/scss/abstracts/service-card/_variables.scss +23 -0
- package/scss/abstracts/sidebar-menu/_base.scss +148 -0
- package/scss/abstracts/sidebar-menu/_index.scss +12 -0
- package/scss/abstracts/sidebar-menu/_variables.scss +55 -0
- package/scss/abstracts/stats-card/_base.scss +99 -0
- package/scss/abstracts/stats-card/_index.scss +23 -0
- package/scss/abstracts/stats-card/_variables.scss +32 -0
- package/scss/api.scss +12 -0
- package/scss/components/_breadcrumb.scss +140 -0
- package/scss/components/_buttons.scss +226 -0
- package/scss/components/_callout.scss +118 -0
- package/scss/components/_chip.scss +56 -0
- package/scss/components/_file-card.scss +182 -0
- package/scss/components/_hero.scss +103 -0
- package/scss/components/_index.scss +110 -0
- package/scss/components/_info-card.scss +103 -0
- package/scss/components/_news-card-compact.scss +33 -0
- package/scss/components/_news-card-featured.scss +49 -0
- package/scss/components/_news-card.scss +303 -0
- package/scss/components/_project-card.scss +93 -0
- package/scss/components/_search-form.scss +181 -0
- package/scss/components/_section-title.scss +94 -0
- package/scss/components/_service-card.scss +83 -0
- package/scss/components/_sidebar-menu.scss +82 -0
- package/scss/components/_stats-card.scss +92 -0
- package/scss/components/_tag.scss +144 -0
- package/scss/components/_top-nav.scss +537 -0
- package/scss/main.scss +73 -0
- package/scss/utilities/_index.scss +40 -0
- package/scss/utilities/_visibility.scss +224 -0
package/README.md
ADDED
|
@@ -0,0 +1,182 @@
|
|
|
1
|
+
# @mr.slonn/my-scss-theme
|
|
2
|
+
|
|
3
|
+
SCSS-тема с чётко зафиксированным архитектурным контрактом.
|
|
4
|
+
**Этот файл README.md является контрактом использования пакета.**
|
|
5
|
+
|
|
6
|
+
Пакет предназначен для установки через npm и использования в Sass
|
|
7
|
+
с применением модульной системы (`@use`, `@forward`).
|
|
8
|
+
|
|
9
|
+
---
|
|
10
|
+
|
|
11
|
+
## Установка
|
|
12
|
+
|
|
13
|
+
```bash
|
|
14
|
+
npm install @mr.slonn/my-scss-theme
|
|
15
|
+
````
|
|
16
|
+
|
|
17
|
+
Пакет не содержит JavaScript и не имеет runtime-зависимостей.
|
|
18
|
+
|
|
19
|
+
---
|
|
20
|
+
|
|
21
|
+
## Архитектурный контракт
|
|
22
|
+
|
|
23
|
+
В пакете **строго разделены две роли**.
|
|
24
|
+
Смешивание этих ролей **запрещено**.
|
|
25
|
+
|
|
26
|
+
### 1. API-модуль
|
|
27
|
+
|
|
28
|
+
API предоставляет:
|
|
29
|
+
|
|
30
|
+
* переменные
|
|
31
|
+
* функции
|
|
32
|
+
* миксины
|
|
33
|
+
|
|
34
|
+
Свойства API:
|
|
35
|
+
|
|
36
|
+
* **не генерирует CSS**
|
|
37
|
+
* **не имеет side effects**
|
|
38
|
+
* безопасен для повторного `@use`
|
|
39
|
+
* предназначен для использования в компонентах и библиотеках
|
|
40
|
+
|
|
41
|
+
### 2. CSS entrypoint
|
|
42
|
+
|
|
43
|
+
CSS entrypoint:
|
|
44
|
+
|
|
45
|
+
* генерирует utility-классы
|
|
46
|
+
* генерирует CSS-компоненты
|
|
47
|
+
* используется **только** в корневом entry-файле проекта
|
|
48
|
+
|
|
49
|
+
❗ Эти роли **запрещено смешивать**.
|
|
50
|
+
Это ограничение Sass, а не рекомендация.
|
|
51
|
+
|
|
52
|
+
---
|
|
53
|
+
|
|
54
|
+
## Использование API (основной сценарий)
|
|
55
|
+
|
|
56
|
+
Используется в компонентах, библиотеках и темах.
|
|
57
|
+
|
|
58
|
+
```scss
|
|
59
|
+
@use "@mr.slonn/my-scss-theme" as theme;
|
|
60
|
+
|
|
61
|
+
.card {
|
|
62
|
+
padding: theme.spacing(4);
|
|
63
|
+
border-radius: theme.$radius-md;
|
|
64
|
+
}
|
|
65
|
+
```
|
|
66
|
+
|
|
67
|
+
### Гарантии API
|
|
68
|
+
|
|
69
|
+
* не генерирует CSS
|
|
70
|
+
* не имеет side effects
|
|
71
|
+
* безопасен для повторного `@use`
|
|
72
|
+
* не зависит от порядка подключения
|
|
73
|
+
* предназначен для переиспользования
|
|
74
|
+
|
|
75
|
+
---
|
|
76
|
+
|
|
77
|
+
## Генерация CSS (entrypoint проекта)
|
|
78
|
+
|
|
79
|
+
Используется **ТОЛЬКО** в корневом entry-файле проекта
|
|
80
|
+
(`main.scss`, `entry.scss`, `app.scss` и т.п.).
|
|
81
|
+
|
|
82
|
+
```scss
|
|
83
|
+
@use "@mr.slonn/my-scss-theme/scss/main";
|
|
84
|
+
```
|
|
85
|
+
|
|
86
|
+
Поведение:
|
|
87
|
+
|
|
88
|
+
* подключает utilities
|
|
89
|
+
* подключает components
|
|
90
|
+
* генерирует готовые CSS-классы
|
|
91
|
+
|
|
92
|
+
---
|
|
93
|
+
|
|
94
|
+
## Запрещённые сценарии
|
|
95
|
+
|
|
96
|
+
```scss
|
|
97
|
+
// ЗАПРЕЩЕНО: использование CSS entrypoint как модуля
|
|
98
|
+
@use "@mr.slonn/my-scss-theme/scss/main" as theme;
|
|
99
|
+
|
|
100
|
+
// ЗАПРЕЩЕНО: ожидание CSS от API
|
|
101
|
+
@use "@mr.slonn/my-scss-theme";
|
|
102
|
+
```
|
|
103
|
+
|
|
104
|
+
Нарушение контракта приводит к:
|
|
105
|
+
|
|
106
|
+
* дублированию CSS
|
|
107
|
+
* конфликтам Sass-модулей
|
|
108
|
+
* неявным ошибкам сборки
|
|
109
|
+
|
|
110
|
+
---
|
|
111
|
+
|
|
112
|
+
## Структура пакета (зафиксировано)
|
|
113
|
+
|
|
114
|
+
```text
|
|
115
|
+
my-scss-theme/
|
|
116
|
+
├── index.scss # npm API entrypoint (ТОЛЬКО @forward)
|
|
117
|
+
├── package.json
|
|
118
|
+
└── scss/
|
|
119
|
+
├── api.scss # чистый API
|
|
120
|
+
├── main.scss # CSS entrypoint
|
|
121
|
+
├── abstracts/
|
|
122
|
+
│ └── _index.scss
|
|
123
|
+
├── utilities/
|
|
124
|
+
│ └── _index.scss
|
|
125
|
+
└── components/
|
|
126
|
+
└── _index.scss
|
|
127
|
+
```
|
|
128
|
+
|
|
129
|
+
---
|
|
130
|
+
|
|
131
|
+
## Обоснование архитектуры
|
|
132
|
+
|
|
133
|
+
* Sass строго разделяет модули и side effects
|
|
134
|
+
* SCSS npm-пакет не является JavaScript-пакетом
|
|
135
|
+
* `index.scss` пакета обязан быть чистым API
|
|
136
|
+
|
|
137
|
+
Данная структура:
|
|
138
|
+
|
|
139
|
+
* соответствует канону Sass
|
|
140
|
+
* масштабируется
|
|
141
|
+
* безопасна для автоматического использования (включая AI)
|
|
142
|
+
|
|
143
|
+
---
|
|
144
|
+
|
|
145
|
+
## Контракт для AI
|
|
146
|
+
|
|
147
|
+
### Разрешено
|
|
148
|
+
|
|
149
|
+
```scss
|
|
150
|
+
@use "@mr.slonn/my-scss-theme" as theme;
|
|
151
|
+
```
|
|
152
|
+
|
|
153
|
+
### Разрешено только в entrypoint проекта
|
|
154
|
+
|
|
155
|
+
```scss
|
|
156
|
+
@use "@mr.slonn/my-scss-theme/scss/main";
|
|
157
|
+
```
|
|
158
|
+
|
|
159
|
+
### Запрещено
|
|
160
|
+
|
|
161
|
+
```scss
|
|
162
|
+
@use "@mr.slonn/my-scss-theme/scss/main" as theme;
|
|
163
|
+
```
|
|
164
|
+
|
|
165
|
+
---
|
|
166
|
+
|
|
167
|
+
## Версионирование
|
|
168
|
+
|
|
169
|
+
* **PATCH** — исправления, не ломающие API
|
|
170
|
+
* **MINOR** — расширение API
|
|
171
|
+
* **MAJOR** — изменение структуры или контрактов
|
|
172
|
+
|
|
173
|
+
---
|
|
174
|
+
|
|
175
|
+
## Статус
|
|
176
|
+
|
|
177
|
+
* совместим с `install_npm_packages`
|
|
178
|
+
* протестирован через `npx sass`
|
|
179
|
+
* готов для production-использования
|
|
180
|
+
|
|
181
|
+
```
|
|
182
|
+
```
|
package/index.scss
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
@forward "scss/api";
|
package/package.json
ADDED
package/scss/.sassdocrc
ADDED
|
@@ -0,0 +1,85 @@
|
|
|
1
|
+
{
|
|
2
|
+
"package": {
|
|
3
|
+
"name": "Theme Moexp",
|
|
4
|
+
"version": "1.0.0",
|
|
5
|
+
"description": "Основная SCSS тема с архитектурным подходом"
|
|
6
|
+
},
|
|
7
|
+
"groups": {
|
|
8
|
+
"undefined": "Общее",
|
|
9
|
+
"main": "Главная точка входа",
|
|
10
|
+
"abstracts": "Абстракции (индекс)",
|
|
11
|
+
"utilities": "Утилиты (индекс)",
|
|
12
|
+
"colors": "Цвета",
|
|
13
|
+
"typography": "Типографика",
|
|
14
|
+
"spacing": "Отступы",
|
|
15
|
+
"radius": "Скругления",
|
|
16
|
+
"mixins": "Миксины",
|
|
17
|
+
"mixins-color": "Миксины → Цвета",
|
|
18
|
+
"mixins-shadow": "Миксины → Тени",
|
|
19
|
+
"mixins-focus": "Миксины → Фокус",
|
|
20
|
+
"mixins-gradient": "Миксины → Градиенты",
|
|
21
|
+
"mixins-layout": "Миксины → Раскладка",
|
|
22
|
+
"mixins-image": "Миксины → Изображения",
|
|
23
|
+
"mixins-a11y": "Миксины → Доступность",
|
|
24
|
+
"mixins-reset": "Миксины → Сброс",
|
|
25
|
+
"mixins-text": "Миксины → Текст",
|
|
26
|
+
"mixins-flex": "Миксины → Flex",
|
|
27
|
+
"animations": "Анимации",
|
|
28
|
+
"animations-timing": "Анимации → Timing",
|
|
29
|
+
"animations-easing": "Анимации → Easing",
|
|
30
|
+
"animations-keyframes": "Анимации → Keyframes",
|
|
31
|
+
"animations-transition": "Анимации → Transitions",
|
|
32
|
+
"animations-animate": "Анимации → Animate",
|
|
33
|
+
"animations-hover": "Анимации → Hover",
|
|
34
|
+
"animations-focus": "Анимации → Focus",
|
|
35
|
+
"animations-button": "Анимации → Buttons",
|
|
36
|
+
"animations-icon": "Анимации → Icons",
|
|
37
|
+
"animations-a11y": "Анимации → A11y",
|
|
38
|
+
"buttons": "Кнопки",
|
|
39
|
+
"buttons-variables": "Кнопки → Переменные",
|
|
40
|
+
"buttons-base": "Кнопки → Базовый миксин",
|
|
41
|
+
"buttons-variants": "Кнопки → Варианты",
|
|
42
|
+
"buttons-modifiers": "Кнопки → Модификаторы",
|
|
43
|
+
"buttons-classes": "Кнопки → CSS-классы",
|
|
44
|
+
"cards": "Карточки",
|
|
45
|
+
"cards-variables": "Карточки → Переменные",
|
|
46
|
+
"cards-base": "Карточки → Базовые",
|
|
47
|
+
"cards-hover": "Карточки → Hover",
|
|
48
|
+
"cards-variants": "Карточки → Варианты",
|
|
49
|
+
"cards-sizes": "Карточки → Размеры",
|
|
50
|
+
"cards-parts": "Карточки → Части",
|
|
51
|
+
"cards-blur": "Карточки → Blur",
|
|
52
|
+
"cards-featured": "Карточки → Featured",
|
|
53
|
+
"cards-vertical": "Карточки → Vertical",
|
|
54
|
+
"cards-image": "Карточки → Image",
|
|
55
|
+
"grid": "Сетка",
|
|
56
|
+
"grid-variables": "Сетка → Переменные",
|
|
57
|
+
"grid-functions": "Сетка → Функции",
|
|
58
|
+
"grid-container": "Сетка → Контейнер",
|
|
59
|
+
"grid-responsive": "Сетка → Респонсивный",
|
|
60
|
+
"grid-presets": "Сетка → Пресеты",
|
|
61
|
+
"grid-item": "Сетка → Элементы",
|
|
62
|
+
"grid-limit": "Сетка → Ограничение",
|
|
63
|
+
"grid-areas": "Сетка → Области",
|
|
64
|
+
"grid-display": "Сетка → Display",
|
|
65
|
+
"grid-expand": "Сетка → Expand",
|
|
66
|
+
"patterns": "Декоративные паттерны",
|
|
67
|
+
"patterns-base": "Паттерны: Базовые",
|
|
68
|
+
"patterns-stripes": "Паттерны: Полосы",
|
|
69
|
+
"patterns-dots": "Паттерны: Точки",
|
|
70
|
+
"patterns-grid": "Паттерны: Сетка",
|
|
71
|
+
"patterns-checkerboard": "Паттерны: Шахматка",
|
|
72
|
+
"patterns-noise": "Паттерны: Шум",
|
|
73
|
+
"patterns-utils": "Паттерны: Утилиты",
|
|
74
|
+
"patterns-pseudo": "Паттерны: Псевдоэлементы",
|
|
75
|
+
"utilities": "Утилиты (индекс)",
|
|
76
|
+
"utilities-visibility": "Утилиты: Видимость",
|
|
77
|
+
"utilities-spacing": "Утилиты: Отступы",
|
|
78
|
+
"utilities-text": "Утилиты: Текст",
|
|
79
|
+
"components": "Компоненты (индекс)",
|
|
80
|
+
"components-chip": "Компоненты → Chip"
|
|
81
|
+
"section-title": "Section Title",
|
|
82
|
+
"section-title-variables": "Section Title → Переменные",
|
|
83
|
+
"section-title-base": "Section Title → Базовые"
|
|
84
|
+
}
|
|
85
|
+
}
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
/* stylelint-disable */
|
|
2
|
+
////
|
|
3
|
+
/// Переменные шрифтов (без @font-face)
|
|
4
|
+
///
|
|
5
|
+
/// Этот файл генерируется автоматически таском `gulp fonts`.
|
|
6
|
+
/// **Не редактируйте вручную!**
|
|
7
|
+
///
|
|
8
|
+
/// Используйте этот файл в компонентах, где нужны только переменные.
|
|
9
|
+
/// Для полного подключения шрифтов используйте _fonts.scss
|
|
10
|
+
///
|
|
11
|
+
/// @group fonts
|
|
12
|
+
/// @author Gulp fonts task
|
|
13
|
+
/// Generated: 2026-01-31T10:24:19.279Z
|
|
14
|
+
////
|
|
15
|
+
|
|
16
|
+
/// Шрифт golos text
|
|
17
|
+
/// @type String
|
|
18
|
+
/// @group fonts
|
|
19
|
+
$font-golos-text: 'golos text', sans-serif;
|
|
20
|
+
|
|
21
|
+
/// Шрифт literata
|
|
22
|
+
/// @type String
|
|
23
|
+
/// @group fonts
|
|
24
|
+
$font-literata: 'literata', sans-serif;
|
|
25
|
+
|
package/scss/_fonts.scss
ADDED
|
@@ -0,0 +1,139 @@
|
|
|
1
|
+
/* stylelint-disable */
|
|
2
|
+
////
|
|
3
|
+
/// Автоматически сгенерированные @font-face правила
|
|
4
|
+
///
|
|
5
|
+
/// Этот файл генерируется автоматически таском `gulp fonts`.
|
|
6
|
+
/// **Не редактируйте вручную!**
|
|
7
|
+
///
|
|
8
|
+
/// @group fonts
|
|
9
|
+
/// @author Gulp fonts task
|
|
10
|
+
/// @since 1.0.0
|
|
11
|
+
///
|
|
12
|
+
/// Generated: 2026-01-31T10:24:19.281Z
|
|
13
|
+
/// Font base path: /local/common/theme-moexp/fonts
|
|
14
|
+
/// Total font families: 14
|
|
15
|
+
////
|
|
16
|
+
|
|
17
|
+
// Re-export переменных для обратной совместимости
|
|
18
|
+
@forward "font-vars";
|
|
19
|
+
|
|
20
|
+
@font-face {
|
|
21
|
+
font-family: 'golos text';
|
|
22
|
+
font-style: normal;
|
|
23
|
+
font-weight: 900;
|
|
24
|
+
font-display: swap;
|
|
25
|
+
src: url('/local/common/theme-moexp/fonts/Golos-Text/golos-text_black.woff2') format('woff2');
|
|
26
|
+
}
|
|
27
|
+
|
|
28
|
+
@font-face {
|
|
29
|
+
font-family: 'golos text';
|
|
30
|
+
font-style: normal;
|
|
31
|
+
font-weight: 700;
|
|
32
|
+
font-display: swap;
|
|
33
|
+
src: url('/local/common/theme-moexp/fonts/Golos-Text/golos-text_bold.woff2') format('woff2');
|
|
34
|
+
}
|
|
35
|
+
|
|
36
|
+
@font-face {
|
|
37
|
+
font-family: 'golos text';
|
|
38
|
+
font-style: normal;
|
|
39
|
+
font-weight: 600;
|
|
40
|
+
font-display: swap;
|
|
41
|
+
src: url('/local/common/theme-moexp/fonts/Golos-Text/golos-text_demibold.woff2') format('woff2');
|
|
42
|
+
}
|
|
43
|
+
|
|
44
|
+
@font-face {
|
|
45
|
+
font-family: 'golos text';
|
|
46
|
+
font-style: normal;
|
|
47
|
+
font-weight: 500;
|
|
48
|
+
font-display: swap;
|
|
49
|
+
src: url('/local/common/theme-moexp/fonts/Golos-Text/golos-text_medium.woff2') format('woff2');
|
|
50
|
+
}
|
|
51
|
+
|
|
52
|
+
@font-face {
|
|
53
|
+
font-family: 'golos text';
|
|
54
|
+
font-style: normal;
|
|
55
|
+
font-weight: 400;
|
|
56
|
+
font-display: swap;
|
|
57
|
+
src: url('/local/common/theme-moexp/fonts/Golos-Text/golos-text_regular.woff2') format('woff2');
|
|
58
|
+
}
|
|
59
|
+
|
|
60
|
+
@font-face {
|
|
61
|
+
font-family: 'golos text';
|
|
62
|
+
font-style: normal;
|
|
63
|
+
font-weight: 1 999;
|
|
64
|
+
font-display: swap;
|
|
65
|
+
src: url('/local/common/theme-moexp/fonts/Golos-Text/golos-text_vf.woff2') format('woff2');
|
|
66
|
+
}
|
|
67
|
+
|
|
68
|
+
@font-face {
|
|
69
|
+
font-family: 'literata';
|
|
70
|
+
font-style: normal;
|
|
71
|
+
font-weight: 700;
|
|
72
|
+
font-display: swap;
|
|
73
|
+
src: url('/local/common/theme-moexp/fonts/Literata/literata_bold.woff2') format('woff2'),
|
|
74
|
+
url('/local/common/theme-moexp/fonts/Literata/literata_bold.woff') format('woff');
|
|
75
|
+
}
|
|
76
|
+
|
|
77
|
+
@font-face {
|
|
78
|
+
font-family: 'literata';
|
|
79
|
+
font-style: italic;
|
|
80
|
+
font-weight: 700;
|
|
81
|
+
font-display: swap;
|
|
82
|
+
src: url('/local/common/theme-moexp/fonts/Literata/literata_bold-italic.woff2') format('woff2'),
|
|
83
|
+
url('/local/common/theme-moexp/fonts/Literata/literata_bold-italic.woff') format('woff');
|
|
84
|
+
}
|
|
85
|
+
|
|
86
|
+
@font-face {
|
|
87
|
+
font-family: 'literata';
|
|
88
|
+
font-style: italic;
|
|
89
|
+
font-weight: 400;
|
|
90
|
+
font-display: swap;
|
|
91
|
+
src: url('/local/common/theme-moexp/fonts/Literata/literata_italic.woff2') format('woff2'),
|
|
92
|
+
url('/local/common/theme-moexp/fonts/Literata/literata_italic.woff') format('woff');
|
|
93
|
+
}
|
|
94
|
+
|
|
95
|
+
@font-face {
|
|
96
|
+
font-family: 'literata';
|
|
97
|
+
font-style: normal;
|
|
98
|
+
font-weight: 500;
|
|
99
|
+
font-display: swap;
|
|
100
|
+
src: url('/local/common/theme-moexp/fonts/Literata/literata_medium.woff2') format('woff2'),
|
|
101
|
+
url('/local/common/theme-moexp/fonts/Literata/literata_medium.woff') format('woff');
|
|
102
|
+
}
|
|
103
|
+
|
|
104
|
+
@font-face {
|
|
105
|
+
font-family: 'literata';
|
|
106
|
+
font-style: italic;
|
|
107
|
+
font-weight: 500;
|
|
108
|
+
font-display: swap;
|
|
109
|
+
src: url('/local/common/theme-moexp/fonts/Literata/literata_medium-italic.woff2') format('woff2'),
|
|
110
|
+
url('/local/common/theme-moexp/fonts/Literata/literata_medium-italic.woff') format('woff');
|
|
111
|
+
}
|
|
112
|
+
|
|
113
|
+
@font-face {
|
|
114
|
+
font-family: 'literata';
|
|
115
|
+
font-style: normal;
|
|
116
|
+
font-weight: 400;
|
|
117
|
+
font-display: swap;
|
|
118
|
+
src: url('/local/common/theme-moexp/fonts/Literata/literata_regular.woff2') format('woff2'),
|
|
119
|
+
url('/local/common/theme-moexp/fonts/Literata/literata_regular.woff') format('woff');
|
|
120
|
+
}
|
|
121
|
+
|
|
122
|
+
@font-face {
|
|
123
|
+
font-family: 'literata';
|
|
124
|
+
font-style: normal;
|
|
125
|
+
font-weight: 600;
|
|
126
|
+
font-display: swap;
|
|
127
|
+
src: url('/local/common/theme-moexp/fonts/Literata/literata_semibold.woff2') format('woff2'),
|
|
128
|
+
url('/local/common/theme-moexp/fonts/Literata/literata_semibold.woff') format('woff');
|
|
129
|
+
}
|
|
130
|
+
|
|
131
|
+
@font-face {
|
|
132
|
+
font-family: 'literata';
|
|
133
|
+
font-style: italic;
|
|
134
|
+
font-weight: 600;
|
|
135
|
+
font-display: swap;
|
|
136
|
+
src: url('/local/common/theme-moexp/fonts/Literata/literata_semibold-italic.woff2') format('woff2'),
|
|
137
|
+
url('/local/common/theme-moexp/fonts/Literata/literata_semibold-italic.woff') format('woff');
|
|
138
|
+
}
|
|
139
|
+
|