resme 2.0.1 → 2.1.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.
@@ -0,0 +1,354 @@
1
+ /* Europass Template - Bauhaus Modernist Art Movement Style */
2
+
3
+ @import url('https://fonts.googleapis.com/css2?family=Plus+Jakarta+Sans:ital,wght@0,400;0,500;0,600;0,700;0,800;1,400&display=swap');
4
+
5
+ :root {
6
+ /* Bauhaus Primary Color Accents */
7
+ --bau-blue: #1d3557; /* Primary Structural Blue */
8
+ --bau-red: #e63946; /* Dynamic Focal Red */
9
+ --bau-yellow: #f4a261; /* Warm Secondary Ochre */
10
+ --bau-dark: #1d1e22; /* Off-Black Ink */
11
+ --bau-bg-light: #f8f9fa; /* Clean Minimal Canvas */
12
+ --bau-surface: #edf2f4; /* Geometric Header Block */
13
+ --bau-border: #d8e2dc; /* Subtle Alignment Line */
14
+
15
+ --text-main: #2b2d42;
16
+ --text-muted: #6c757d;
17
+ --white: #ffffff;
18
+ --radius-sharp: 2px;
19
+ }
20
+
21
+ * {
22
+ box-sizing: border-box;
23
+ margin: 0;
24
+ padding: 0;
25
+ }
26
+
27
+ body {
28
+ font-family: 'Plus Jakarta Sans', system-ui, -apple-system, sans-serif;
29
+ font-size: 13.5px;
30
+ line-height: 1.6;
31
+ color: var(--text-main);
32
+ background-color: #d8e2dc;
33
+ }
34
+
35
+ /* Main Single-Column Container */
36
+ .container {
37
+ display: flex;
38
+ flex-direction: column-reverse; /* Keeps Title top, Contact below, Main sections following */
39
+ max-width: 860px;
40
+ margin: 40px auto;
41
+ background-color: var(--white);
42
+ box-shadow: 0 12px 32px rgba(29, 30, 34, 0.08);
43
+ border-radius: var(--radius-sharp);
44
+ position: relative;
45
+ overflow: hidden;
46
+ border-top: 6px solid var(--bau-blue);
47
+ }
48
+
49
+ /* Europass Top Right Logo Alignment */
50
+ .container::after {
51
+ content: "";
52
+ position: absolute;
53
+ top: 35px;
54
+ right: 40px;
55
+ width: 155px;
56
+ height: 36px;
57
+ background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 320 60'%3E%3Crect width='60' height='40' y='10' fill='%231d3557' rx='2'/%3E%3Cg fill='%23f4a261'%3E%3Cpolygon points='30,14 30.8,16.5 33.4,16.5 31.3,18 32.1,20.5 30,19 27.9,20.5 28.7,18 26.6,16.5 29.2,16.5'/%3E%3Cpolygon points='30,40 30.8,42.5 33.4,42.5 31.3,44 32.1,46.5 30,45 27.9,46.5 28.7,44 26.6,42.5 29.2,42.5'/%3E%3Cpolygon points='17,27 17.8,29.5 20.4,29.5 18.3,31 19.1,33.5 17,32 14.9,33.5 15.7,31 13.6,29.5 16.2,29.5'/%3E%3Cpolygon points='43,27 43.8,29.5 46.4,29.5 44.3,31 45.1,33.5 43,32 40.9,33.5 41.7,31 39.6,29.5 42.2,29.5'/%3E%3Cpolygon points='20.5,17.5 21.3,20 23.9,20 21.8,21.5 22.6,24 20.5,22.5 18.4,24 19.2,21.5 17.1,20 19.7,20'/%3E%3Cpolygon points='39.5,17.5 40.3,20 42.9,20 40.8,21.5 41.6,24 39.5,22.5 37.4,24 38.2,21.5 36.1,20 38.7,20'/%3E%3Cpolygon points='20.5,36.5 21.3,39 23.9,39 21.8,40.5 22.6,43 20.5,41.5 18.4,43 19.2,40.5 17.1,39 19.7,39'/%3E%3Cpolygon points='39.5,36.5 40.3,39 42.9,39 40.8,40.5 41.6,43 39.5,41.5 37.4,43 38.2,40.5 36.1,39 38.7,39'/%3E%3Cpolygon points='13.5,21 14.3,23.5 16.9,23.5 14.8,25 15.6,27.5 13.5,26 11.4,27.5 12.2,25 10.1,23.5 12.7,23.5'/%3E%3Cpolygon points='46.5,21 47.3,23.5 49.9,23.5 47.8,25 48.6,27.5 46.5,26 44.4,27.5 45.2,25 43.1,23.5 45.7,23.5'/%3E%3Cpolygon points='13.5,33 14.3,35.5 16.9,35.5 14.8,37 15.6,39.5 13.5,38 11.4,39.5 12.2,37 10.1,35.5 12.7,35.5'/%3E%3Cpolygon points='46.5,33 47.3,35.5 49.9,35.5 47.8,37 48.6,39.5 46.5,38 44.4,39.5 45.2,37 43.1,35.5 45.7,35.5'/%3E%3C/g%3E%3Cg transform='translate(75, 2)'%3E%3Cpath fill='%23e63946' d='M23.1 11.2C13.2 11.2 5 18.3 3.2 28h13.2c1.5-3.3 5-5.6 9-5.6 5.5 0 10 4.5 10 10s-4.5 10-10 10c-4 0-7.5-2.3-9-5.6H3.2c1.8 9.7 10 16.8 19.9 16.8 11.2 0 20.3-9.1 20.3-20.3S34.3 11.2 23.1 11.2z'/%3E%3Cpath fill='%231d3557' d='M62.4 12.1h-8.8v31.1h8.8V12.1zm21.3 0h-8.8v18.7c0 4.1-2.9 6.2-6.2 6.2s-6.2-2.1-6.2-6.2V12.1h-8.8v19.4c0 8.3 5.9 12.4 15 12.4s15-4.1 15-12.4V12.1zm17.9 11.7c-5.3 0-8.8 3.8-8.8 9.5s3.5 9.5 8.8 9.5 8.8-3.8 8.8-9.5zm0-6.6c10.1 0 17.6 7 17.6 16.1s-7.5 16.1-17.6 16.1S84 32.4 84 23.3s7.5-16.1 17.6-16.1zm29.8 6.6c-4.8 0-8 3.5-8 8.8s3.2 8.8 8 8.8 8-3.5 8-8.8-3.2-8.8-8-8.8zm-16.8-11.7h8.8v4.5c2.3-3.4 6.2-5.1 10.7-5.1 8.5 0 14.8 6.2 14.8 15.6s-6.3 15.6-14.8 15.6c-4.5 0-8.4-1.7-10.7-5.1v12h-8.8V12.1zm59.2 11.7c-4.8 0-8 3.5-8 8.8s3.2 8.8 8 8.8 8-3.5 8-8.8-3.2-8.8-8-8.8zm-16.8-11.7h8.8v4.5c2.3-3.4 6.2-5.1 10.7-5.1 8.5 0 14.8 6.2 14.8 15.6s-6.3 15.6-14.8 15.6c-4.5 0-8.4-1.7-10.7-5.1v4.5h-8.8V12.1z'/%3E%3C/g%3E%3C/svg%3E");
58
+ background-repeat: no-repeat;
59
+ background-size: contain;
60
+ z-index: 10;
61
+ }
62
+
63
+ .main {
64
+ width: 100%;
65
+ padding: 40px 45px 0 45px;
66
+ }
67
+
68
+ /* Bold Architectural Title Header */
69
+ .main .fullname-title {
70
+ font-size: 32px;
71
+ font-weight: 800;
72
+ color: var(--bau-dark);
73
+ letter-spacing: -0.5px;
74
+ padding-right: 180px;
75
+ margin-bottom: 24px;
76
+ text-transform: uppercase;
77
+ position: relative;
78
+ display: inline-block;
79
+ }
80
+
81
+ .main .fullname-title::after {
82
+ content: "";
83
+ display: block;
84
+ width: 60px;
85
+ height: 5px;
86
+ background-color: var(--bau-red);
87
+ margin-top: 10px;
88
+ }
89
+
90
+ /* Clean Structured Contact Block */
91
+ .contact-information {
92
+ width: 100%;
93
+ background-color: var(--bau-surface);
94
+ border-left: 5px solid var(--bau-blue);
95
+ border-radius: var(--radius-sharp);
96
+ padding: 22px 26px;
97
+ margin-bottom: 32px;
98
+ }
99
+
100
+ .contact-information .fullname-title {
101
+ display: none;
102
+ }
103
+
104
+ .contact-information h2 {
105
+ font-size: 11px;
106
+ font-weight: 800;
107
+ text-transform: uppercase;
108
+ letter-spacing: 1px;
109
+ color: var(--bau-blue);
110
+ margin-bottom: 14px;
111
+ }
112
+
113
+ .contact-information .section {
114
+ display: flex;
115
+ flex-wrap: wrap;
116
+ gap: 16px 32px;
117
+ margin-bottom: 0;
118
+ }
119
+
120
+ .contact-information .item {
121
+ margin-bottom: 0;
122
+ min-width: 180px;
123
+ flex: 1 1 180px;
124
+ }
125
+
126
+ .contact-information .label {
127
+ display: block;
128
+ font-size: 10px;
129
+ font-weight: 800;
130
+ text-transform: uppercase;
131
+ color: var(--bau-red);
132
+ letter-spacing: 0.5px;
133
+ }
134
+
135
+ .contact-information .value {
136
+ font-size: 13px;
137
+ color: var(--text-main);
138
+ font-weight: 600;
139
+ }
140
+
141
+ .contact-information .value .street,
142
+ .contact-information .value .postal-code,
143
+ .contact-information .value .city {
144
+ display: inline;
145
+ margin-right: 4px;
146
+ }
147
+
148
+ /* Section Structure */
149
+ .main .section {
150
+ margin-bottom: 32px;
151
+ }
152
+
153
+ /* Geometric Bauhaus Section Headings */
154
+ .main h2 {
155
+ font-size: 13px;
156
+ font-weight: 800;
157
+ text-transform: uppercase;
158
+ letter-spacing: 1px;
159
+ color: var(--white);
160
+ background-color: var(--bau-blue);
161
+ padding: 7px 14px;
162
+ display: inline-block;
163
+ border-radius: var(--radius-sharp);
164
+ margin-bottom: 20px;
165
+ border-left: 4px solid var(--bau-yellow);
166
+ }
167
+
168
+ /* Clean Separators for Main Content Items */
169
+ .main .item,
170
+ .main .visit {
171
+ margin-bottom: 20px;
172
+ padding-bottom: 16px;
173
+ border-bottom: 1px solid var(--bau-border);
174
+ }
175
+
176
+ .main .item:last-child,
177
+ .main .visit:last-child {
178
+ border-bottom: none;
179
+ padding-bottom: 0;
180
+ }
181
+
182
+ /* Modern Date Badges */
183
+ .period,
184
+ .year,
185
+ .date {
186
+ display: inline-block;
187
+ font-weight: 700;
188
+ font-size: 11px;
189
+ color: var(--bau-dark);
190
+ background-color: var(--bau-surface);
191
+ border-left: 3px solid var(--bau-red);
192
+ padding: 3px 10px;
193
+ margin-bottom: 8px;
194
+ letter-spacing: 0.3px;
195
+ }
196
+
197
+ .position,
198
+ .degree,
199
+ .subject {
200
+ font-size: 15px;
201
+ font-weight: 700;
202
+ color: var(--bau-dark);
203
+ }
204
+
205
+ .name,
206
+ .school,
207
+ .venue,
208
+ .publisher {
209
+ font-size: 13.5px;
210
+ font-weight: 600;
211
+ color: var(--bau-blue);
212
+ }
213
+
214
+ .authors {
215
+ font-style: italic;
216
+ color: var(--text-muted);
217
+ }
218
+
219
+ .address {
220
+ font-size: 12px;
221
+ color: var(--text-muted);
222
+ }
223
+
224
+ .summary {
225
+ margin-top: 8px;
226
+ font-size: 13px;
227
+ color: var(--text-main);
228
+ }
229
+
230
+ .summary p {
231
+ margin-bottom: 6px;
232
+ }
233
+
234
+ .summary p:last-child {
235
+ margin-bottom: 0;
236
+ }
237
+
238
+ /* Structured Language Grid Row */
239
+ .languages .item {
240
+ border-bottom: none;
241
+ padding-bottom: 0;
242
+ margin-bottom: 8px;
243
+ }
244
+
245
+ .mother-tongue,
246
+ .foreign-language {
247
+ display: flex;
248
+ align-items: center;
249
+ justify-content: space-between;
250
+ background-color: var(--bau-bg-light);
251
+ border: 1px solid var(--bau-border);
252
+ border-left: 4px solid var(--bau-blue);
253
+ padding: 8px 14px;
254
+ margin-bottom: 6px;
255
+ }
256
+
257
+ .language {
258
+ font-weight: 700;
259
+ color: var(--bau-dark);
260
+ text-transform: capitalize;
261
+ }
262
+
263
+ .level {
264
+ font-size: 10.5px;
265
+ font-weight: 800;
266
+ text-transform: uppercase;
267
+ color: var(--white);
268
+ background-color: var(--bau-red);
269
+ padding: 2px 8px;
270
+ border-radius: var(--radius-sharp);
271
+ }
272
+
273
+ .level:empty {
274
+ display: none;
275
+ }
276
+
277
+ /* Committee Section */
278
+ .committee.item {
279
+ display: flex;
280
+ justify-content: space-between;
281
+ align-items: center;
282
+ border-bottom: 1px solid var(--bau-border);
283
+ padding-bottom: 8px;
284
+ }
285
+
286
+ .committee .editions {
287
+ font-size: 12px;
288
+ font-weight: 700;
289
+ color: var(--bau-blue);
290
+ }
291
+
292
+ /* Print Optimization */
293
+ @media print {
294
+ @page {
295
+ size: A4;
296
+ margin: 12mm 15mm;
297
+ }
298
+
299
+ body {
300
+ background-color: var(--white);
301
+ font-size: 11px;
302
+ -webkit-print-color-adjust: exact;
303
+ print-color-adjust: exact;
304
+ }
305
+
306
+ .container {
307
+ max-width: 100%;
308
+ margin: 0;
309
+ box-shadow: none;
310
+ border: none;
311
+ border-top: 4px solid var(--bau-blue);
312
+ }
313
+
314
+ .main {
315
+ padding: 0;
316
+ }
317
+
318
+ .contact-information {
319
+ background-color: var(--bau-surface) !important;
320
+ padding: 12px 16px;
321
+ margin-bottom: 20px;
322
+ }
323
+
324
+ .main .fullname-title {
325
+ font-size: 22px;
326
+ padding-right: 140px;
327
+ margin-bottom: 18px;
328
+ }
329
+
330
+ .main h2 {
331
+ background-color: var(--bau-blue) !important;
332
+ }
333
+
334
+ .main .section {
335
+ margin-bottom: 16px;
336
+ page-break-inside: avoid;
337
+ }
338
+
339
+ .main .item,
340
+ .main .visit {
341
+ page-break-inside: avoid;
342
+ margin-bottom: 12px;
343
+ }
344
+
345
+ .period,
346
+ .year,
347
+ .date {
348
+ background-color: var(--bau-surface) !important;
349
+ }
350
+
351
+ .level {
352
+ background-color: var(--bau-red) !important;
353
+ }
354
+ }
@@ -0,0 +1,346 @@
1
+ /* Europass "Kyvernetes" Template - Full Width Header & Top Contact Block */
2
+
3
+ @import url('https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700&display=swap');
4
+
5
+ :root {
6
+ /* Template Palette Custom Variables */
7
+ --kyv-primary: #0f172a; /* Dark Slate Navy */
8
+ --kyv-secondary: #334155; /* Medium Charcoal */
9
+ --kyv-accent: #2563eb; /* Classic Royal Blue */
10
+ --kyv-highlight: #0284c7; /* Sky/Cyan Accent */
11
+ --kyv-badge-bg: #f0f9ff; /* Light Blue Tint for Badges */
12
+ --kyv-bg-card: #f8fafc; /* Neutral Card Background */
13
+ --kyv-bg-header: #f1f5f9; /* Light Block Header Background */
14
+ --kyv-border: #cbd5e1; /* Divider Line Color */
15
+
16
+ --text-dark: #1e293b;
17
+ --text-muted: #64748b;
18
+ --white: #ffffff;
19
+ }
20
+
21
+ * {
22
+ box-sizing: border-box;
23
+ margin: 0;
24
+ padding: 0;
25
+ }
26
+
27
+ body {
28
+ font-family: 'Inter', system-ui, -apple-system, sans-serif;
29
+ font-size: 13px;
30
+ line-height: 1.55;
31
+ color: var(--text-dark);
32
+ background-color: #e2e8f0;
33
+ }
34
+
35
+ /* Container Switch to Single Column Stack */
36
+ .container {
37
+ display: flex;
38
+ flex-direction: column-reverse; /* Reorders DOM: .main on top for header, .contact-information below */
39
+ max-width: 880px;
40
+ margin: 30px auto;
41
+ background-color: var(--white);
42
+ box-shadow: 0 10px 25px -5px rgba(15, 23, 42, 0.12);
43
+ border-radius: 4px;
44
+ position: relative;
45
+ padding: 40px;
46
+ overflow: hidden;
47
+ }
48
+
49
+ /* Top Right Europass Logo */
50
+ .container::after {
51
+ content: "";
52
+ position: absolute;
53
+ top: 35px;
54
+ right: 40px;
55
+ width: 175px;
56
+ height: 40px;
57
+ background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 320 60'%3E%3Crect width='60' height='40' y='10' fill='%230f172a' rx='2'/%3E%3Cg fill='%230284c7'%3E%3Cpolygon points='30,14 30.8,16.5 33.4,16.5 31.3,18 32.1,20.5 30,19 27.9,20.5 28.7,18 26.6,16.5 29.2,16.5'/%3E%3Cpolygon points='30,40 30.8,42.5 33.4,42.5 31.3,44 32.1,46.5 30,45 27.9,46.5 28.7,44 26.6,42.5 29.2,42.5'/%3E%3Cpolygon points='17,27 17.8,29.5 20.4,29.5 18.3,31 19.1,33.5 17,32 14.9,33.5 15.7,31 13.6,29.5 16.2,29.5'/%3E%3Cpolygon points='43,27 43.8,29.5 46.4,29.5 44.3,31 45.1,33.5 43,32 40.9,33.5 41.7,31 39.6,29.5 42.2,29.5'/%3E%3Cpolygon points='20.5,17.5 21.3,20 23.9,20 21.8,21.5 22.6,24 20.5,22.5 18.4,24 19.2,21.5 17.1,20 19.7,20'/%3E%3Cpolygon points='39.5,17.5 40.3,20 42.9,20 40.8,21.5 41.6,24 39.5,22.5 37.4,24 38.2,21.5 36.1,20 38.7,20'/%3E%3Cpolygon points='20.5,36.5 21.3,39 23.9,39 21.8,40.5 22.6,43 20.5,41.5 18.4,43 19.2,40.5 17.1,39 19.7,39'/%3E%3Cpolygon points='39.5,36.5 40.3,39 42.9,39 40.8,40.5 41.6,43 39.5,41.5 37.4,43 38.2,40.5 36.1,39 38.7,39'/%3E%3Cpolygon points='13.5,21 14.3,23.5 16.9,23.5 14.8,25 15.6,27.5 13.5,26 11.4,27.5 12.2,25 10.1,23.5 12.7,23.5'/%3E%3Cpolygon points='46.5,21 47.3,23.5 49.9,23.5 47.8,25 48.6,27.5 46.5,26 44.4,27.5 45.2,25 43.1,23.5 45.7,23.5'/%3E%3Cpolygon points='13.5,33 14.3,35.5 16.9,35.5 14.8,37 15.6,39.5 13.5,38 11.4,39.5 12.2,37 10.1,35.5 12.7,35.5'/%3E%3Cpolygon points='46.5,33 47.3,35.5 49.9,35.5 47.8,37 48.6,39.5 46.5,38 44.4,39.5 45.2,37 43.1,35.5 45.7,35.5'/%3E%3C/g%3E%3Cg transform='translate(75, 2)'%3E%3Cpath fill='%230284c7' d='M23.1 11.2C13.2 11.2 5 18.3 3.2 28h13.2c1.5-3.3 5-5.6 9-5.6 5.5 0 10 4.5 10 10s-4.5 10-10 10c-4 0-7.5-2.3-9-5.6H3.2c1.8 9.7 10 16.8 19.9 16.8 11.2 0 20.3-9.1 20.3-20.3S34.3 11.2 23.1 11.2z'/%3E%3Cpath fill='%230f172a' d='M62.4 12.1h-8.8v31.1h8.8V12.1zm21.3 0h-8.8v18.7c0 4.1-2.9 6.2-6.2 6.2s-6.2-2.1-6.2-6.2V12.1h-8.8v19.4c0 8.3 5.9 12.4 15 12.4s15-4.1 15-12.4V12.1zm17.9 11.7c-5.3 0-8.8 3.8-8.8 9.5s3.5 9.5 8.8 9.5 8.8-3.8 8.8-9.5zm0-6.6c10.1 0 17.6 7 17.6 16.1s-7.5 16.1-17.6 16.1S84 32.4 84 23.3s7.5-16.1 17.6-16.1zm29.8 6.6c-4.8 0-8 3.5-8 8.8s3.2 8.8 8 8.8 8-3.5 8-8.8-3.2-8.8-8-8.8zm-16.8-11.7h8.8v4.5c2.3-3.4 6.2-5.1 10.7-5.1 8.5 0 14.8 6.2 14.8 15.6s-6.3 15.6-14.8 15.6c-4.5 0-8.4-1.7-10.7-5.1v12h-8.8V12.1zm59.2 11.7c-4.8 0-8 3.5-8 8.8s3.2 8.8 8 8.8 8-3.5 8-8.8-3.2-8.8-8-8.8zm-16.8-11.7h8.8v4.5c2.3-3.4 6.2-5.1 10.7-5.1 8.5 0 14.8 6.2 14.8 15.6s-6.3 15.6-14.8 15.6c-4.5 0-8.4-1.7-10.7-5.1v4.5h-8.8V12.1z'/%3E%3C/g%3E%3C/svg%3E");
58
+ background-repeat: no-repeat;
59
+ background-size: contain;
60
+ z-index: 10;
61
+ }
62
+
63
+ /* Main Section Wrapper */
64
+ .main {
65
+ width: 100%;
66
+ }
67
+
68
+ .main .fullname-title {
69
+ font-size: 32px;
70
+ font-weight: 700;
71
+ color: var(--kyv-primary);
72
+ letter-spacing: -0.4px;
73
+ margin-bottom: 25px;
74
+ padding-right: 185px;
75
+ border-bottom: 3px solid var(--kyv-highlight);
76
+ padding-bottom: 12px;
77
+ }
78
+
79
+ /* Contact Information Block (Moved Below Header, Displayed Horizontally) */
80
+ .contact-information {
81
+ width: 100%;
82
+ background-color: var(--kyv-bg-card);
83
+ border: 1px solid var(--kyv-border);
84
+ border-radius: 4px;
85
+ padding: 20px 24px;
86
+ margin-bottom: 30px;
87
+ }
88
+
89
+ .contact-information .fullname-title {
90
+ display: none;
91
+ }
92
+
93
+ .contact-information h2 {
94
+ font-size: 12px;
95
+ font-weight: 700;
96
+ text-transform: uppercase;
97
+ letter-spacing: 0.8px;
98
+ color: var(--kyv-primary);
99
+ border-left: 3px solid var(--kyv-highlight);
100
+ padding-left: 8px;
101
+ margin-bottom: 12px;
102
+ }
103
+
104
+ .contact-information .section {
105
+ display: flex;
106
+ flex-wrap: wrap;
107
+ gap: 16px 30px;
108
+ margin-bottom: 0;
109
+ }
110
+
111
+ .contact-information .item {
112
+ margin-bottom: 0;
113
+ min-width: 200px;
114
+ flex: 1 1 200px;
115
+ }
116
+
117
+ .contact-information .label {
118
+ display: block;
119
+ font-size: 10.5px;
120
+ font-weight: 700;
121
+ text-transform: uppercase;
122
+ color: var(--kyv-accent);
123
+ letter-spacing: 0.3px;
124
+ }
125
+
126
+ .contact-information .value {
127
+ font-size: 12.5px;
128
+ color: var(--text-dark);
129
+ font-weight: 500;
130
+ }
131
+
132
+ .contact-information .value .street,
133
+ .contact-information .value .postal-code,
134
+ .contact-information .value .city {
135
+ display: inline;
136
+ margin-right: 4px;
137
+ }
138
+
139
+ /* Main Content Section Formatting */
140
+ .main .section {
141
+ margin-bottom: 28px;
142
+ }
143
+
144
+ /* Kyvernetes Section Header Bars */
145
+ .main h2 {
146
+ font-size: 13.5px;
147
+ font-weight: 700;
148
+ text-transform: uppercase;
149
+ letter-spacing: 0.8px;
150
+ color: var(--kyv-primary);
151
+ background-color: var(--kyv-bg-header);
152
+ padding: 8px 12px;
153
+ border-left: 4px solid var(--kyv-highlight);
154
+ border-bottom: 1px solid var(--kyv-border);
155
+ margin-bottom: 18px;
156
+ }
157
+
158
+ /* Items */
159
+ .main .item,
160
+ .main .visit {
161
+ margin-bottom: 18px;
162
+ padding-bottom: 14px;
163
+ border-bottom: 1px dashed #e2e8f0;
164
+ }
165
+
166
+ .main .item:last-child,
167
+ .main .visit:last-child {
168
+ border-bottom: none;
169
+ padding-bottom: 0;
170
+ }
171
+
172
+ /* Dates & Badges */
173
+ .period,
174
+ .year,
175
+ .date {
176
+ display: inline-block;
177
+ font-weight: 600;
178
+ font-size: 11px;
179
+ color: var(--kyv-primary);
180
+ background-color: var(--kyv-badge-bg);
181
+ border: 1px solid rgba(2, 132, 199, 0.3);
182
+ padding: 2px 10px;
183
+ border-radius: 3px;
184
+ margin-bottom: 6px;
185
+ letter-spacing: 0.2px;
186
+ }
187
+
188
+ .position,
189
+ .degree,
190
+ .subject {
191
+ font-size: 14.5px;
192
+ font-weight: 700;
193
+ color: var(--kyv-primary);
194
+ }
195
+
196
+ .name,
197
+ .school,
198
+ .venue,
199
+ .publisher {
200
+ font-size: 13px;
201
+ font-weight: 600;
202
+ color: var(--kyv-accent);
203
+ }
204
+
205
+ .authors {
206
+ font-style: italic;
207
+ color: var(--text-muted);
208
+ }
209
+
210
+ .address {
211
+ font-size: 12px;
212
+ color: var(--text-muted);
213
+ }
214
+
215
+ .summary {
216
+ margin-top: 6px;
217
+ font-size: 12.5px;
218
+ color: var(--text-dark);
219
+ }
220
+
221
+ .summary p {
222
+ margin-bottom: 6px;
223
+ }
224
+
225
+ .summary p:last-child {
226
+ margin-bottom: 0;
227
+ }
228
+
229
+ /* Languages Area */
230
+ .languages .item {
231
+ border-bottom: none;
232
+ padding-bottom: 0;
233
+ margin-bottom: 10px;
234
+ }
235
+
236
+ .mother-tongue,
237
+ .foreign-language {
238
+ display: flex;
239
+ align-items: center;
240
+ justify-content: space-between;
241
+ border-bottom: 1px solid #f1f5f9;
242
+ padding: 6px 0;
243
+ }
244
+
245
+ .language {
246
+ font-weight: 600;
247
+ color: var(--kyv-primary);
248
+ text-transform: capitalize;
249
+ }
250
+
251
+ .level {
252
+ font-size: 10.5px;
253
+ font-weight: 700;
254
+ text-transform: uppercase;
255
+ color: var(--kyv-primary);
256
+ background-color: var(--kyv-badge-bg);
257
+ border: 1px solid rgba(2, 132, 199, 0.3);
258
+ padding: 2px 8px;
259
+ border-radius: 3px;
260
+ }
261
+
262
+ .level:empty {
263
+ display: none;
264
+ }
265
+
266
+ /* Committee Section */
267
+ .committee.item {
268
+ display: flex;
269
+ justify-content: space-between;
270
+ align-items: center;
271
+ border-bottom: 1px dashed var(--kyv-border);
272
+ padding-bottom: 6px;
273
+ }
274
+
275
+ .committee .editions {
276
+ font-size: 12px;
277
+ font-weight: 600;
278
+ color: var(--kyv-accent);
279
+ }
280
+
281
+ /* Print Rules */
282
+ @media print {
283
+ @page {
284
+ size: A4;
285
+ margin: 12mm 15mm;
286
+ }
287
+
288
+ body {
289
+ background-color: var(--white);
290
+ font-size: 11px;
291
+ -webkit-print-color-adjust: exact;
292
+ print-color-adjust: exact;
293
+ }
294
+
295
+ .container {
296
+ max-width: 100%;
297
+ margin: 0;
298
+ padding: 0;
299
+ box-shadow: none;
300
+ border: none;
301
+ border-radius: 0;
302
+ }
303
+
304
+ .container::after {
305
+ top: 0;
306
+ right: 0;
307
+ width: 140px;
308
+ height: 32px;
309
+ }
310
+
311
+ .contact-information {
312
+ background-color: var(--white) !important;
313
+ border: 1px solid var(--kyv-border);
314
+ padding: 12px 16px;
315
+ margin-bottom: 20px;
316
+ }
317
+
318
+ .main .fullname-title {
319
+ font-size: 22px;
320
+ padding-right: 140px;
321
+ margin-bottom: 18px;
322
+ }
323
+
324
+ .main h2 {
325
+ background-color: var(--kyv-bg-header) !important;
326
+ }
327
+
328
+ .main .section {
329
+ margin-bottom: 16px;
330
+ page-break-inside: avoid;
331
+ }
332
+
333
+ .main .item,
334
+ .main .visit {
335
+ page-break-inside: avoid;
336
+ margin-bottom: 12px;
337
+ }
338
+
339
+ .period,
340
+ .year,
341
+ .date,
342
+ .level {
343
+ background-color: var(--kyv-badge-bg) !important;
344
+ border: 1px solid rgba(2, 132, 199, 0.3) !important;
345
+ }
346
+ }