resme 2.0.0 → 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.
- checksums.yaml +4 -4
- data/CHANGELOG.org +7 -2
- data/README.org +2 -2
- data/exe/resme +0 -0
- data/lib/resme/cli.rb +24 -13
- data/lib/resme/document.rb +5 -17
- data/lib/resme/document_validator.rb +166 -209
- data/lib/resme/executor.rb +34 -7
- data/lib/resme/helper.rb +13 -9
- data/lib/resme/json_resume.rb +90 -87
- data/lib/resme/version.rb +1 -1
- data/lib/resme.rb +0 -2
- data/templates/html.erb +337 -0
- data/templates/org.erb +4 -0
- data/templates/resume-bauhaus.css +354 -0
- data/templates/resume-default.css +346 -0
- data/templates/resume-futurism.css +336 -0
- data/templates/resume-kyver.css +346 -0
- data/templates/resume-modern-light.css +305 -0
- data/templates/resume-modern.css +306 -0
- data/templates/resume-shair.tech.css +309 -0
- data/templates/resume-timeline.css +372 -0
- metadata +13 -5
- data/TAGS +0 -83
|
@@ -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
|
+
}
|
|
@@ -0,0 +1,336 @@
|
|
|
1
|
+
/* Europass Template - 1920s Futurism Avant-Garde Style */
|
|
2
|
+
|
|
3
|
+
@import url('https://fonts.googleapis.com/css2?family=Chakra+Petch:ital,wght@0,500;0,700;1,700&family=Space+Grotesk:wght@400;600;700&display=swap');
|
|
4
|
+
|
|
5
|
+
:root {
|
|
6
|
+
/* Futurist Dynamic Palette */
|
|
7
|
+
--futurist-red: #d90429; /* Speed Red */
|
|
8
|
+
--futurist-yellow: #ffb703; /* Kinetic Yellow */
|
|
9
|
+
--futurist-blue: #023e8a; /* Dynamic Deep Blue */
|
|
10
|
+
--futurist-dark: #111111; /* Industrial Charcoal */
|
|
11
|
+
--futurist-cream: #f4f1de; /* Vintage 1920s Paper Fill */
|
|
12
|
+
--futurist-gray: #e5e5e5; /* Steel Divider Gray */
|
|
13
|
+
|
|
14
|
+
--text-main: #111111;
|
|
15
|
+
--text-muted: #4a4a4a;
|
|
16
|
+
--white: #ffffff;
|
|
17
|
+
}
|
|
18
|
+
|
|
19
|
+
* {
|
|
20
|
+
box-sizing: border-box;
|
|
21
|
+
margin: 0;
|
|
22
|
+
padding: 0;
|
|
23
|
+
}
|
|
24
|
+
|
|
25
|
+
body {
|
|
26
|
+
font-family: 'Space Grotesk', system-ui, sans-serif;
|
|
27
|
+
font-size: 13.5px;
|
|
28
|
+
line-height: 1.5;
|
|
29
|
+
color: var(--text-main);
|
|
30
|
+
background-color: #2b2d42;
|
|
31
|
+
/* Dynamic Speed Stripes Background Pattern */
|
|
32
|
+
background-image: repeating-linear-gradient(
|
|
33
|
+
-45deg,
|
|
34
|
+
#2b2d42,
|
|
35
|
+
#2b2d42 20px,
|
|
36
|
+
#212338 20px,
|
|
37
|
+
#212338 40px
|
|
38
|
+
);
|
|
39
|
+
padding: 20px 0;
|
|
40
|
+
}
|
|
41
|
+
|
|
42
|
+
/* Structural Container: Skewed, Geometric Asymmetry */
|
|
43
|
+
.container {
|
|
44
|
+
display: flex;
|
|
45
|
+
flex-direction: column-reverse; /* Places Title Header on Top */
|
|
46
|
+
max-width: 880px;
|
|
47
|
+
margin: 30px auto;
|
|
48
|
+
background-color: var(--futurist-cream);
|
|
49
|
+
box-shadow: -15px 15px 0px var(--futurist-dark), -25px 25px 0px var(--futurist-red);
|
|
50
|
+
position: relative;
|
|
51
|
+
overflow: hidden;
|
|
52
|
+
border: 4px solid var(--futurist-dark);
|
|
53
|
+
}
|
|
54
|
+
|
|
55
|
+
/* Futurist Dynamic Header Block */
|
|
56
|
+
.main {
|
|
57
|
+
width: 100%;
|
|
58
|
+
padding: 40px 40px 0 40px;
|
|
59
|
+
}
|
|
60
|
+
|
|
61
|
+
/* Bold Angular Title Typography */
|
|
62
|
+
.main .fullname-title {
|
|
63
|
+
font-family: 'Chakra Petch', sans-serif;
|
|
64
|
+
font-size: 38px;
|
|
65
|
+
font-weight: 700;
|
|
66
|
+
font-style: italic;
|
|
67
|
+
text-transform: uppercase;
|
|
68
|
+
color: var(--futurist-cream);
|
|
69
|
+
background-color: var(--futurist-red);
|
|
70
|
+
padding: 12px 25px;
|
|
71
|
+
letter-spacing: 2px;
|
|
72
|
+
margin-bottom: 25px;
|
|
73
|
+
display: inline-block;
|
|
74
|
+
/* Dynamic Skew Angle */
|
|
75
|
+
transform: skewX(-12deg);
|
|
76
|
+
box-shadow: 6px 6px 0px var(--futurist-dark);
|
|
77
|
+
text-shadow: 2px 2px 0px var(--futurist-dark);
|
|
78
|
+
}
|
|
79
|
+
|
|
80
|
+
/* Angular Top Contact Box */
|
|
81
|
+
.contact-information {
|
|
82
|
+
width: 100%;
|
|
83
|
+
background-color: var(--futurist-yellow);
|
|
84
|
+
border: 3px solid var(--futurist-dark);
|
|
85
|
+
padding: 22px;
|
|
86
|
+
margin-bottom: 35px;
|
|
87
|
+
position: relative;
|
|
88
|
+
/* Sharp Mechanical Clip Corner */
|
|
89
|
+
clip-path: polygon(0 0, 100% 0, 97% 100%, 0% 100%);
|
|
90
|
+
box-shadow: 5px 5px 0px var(--futurist-blue);
|
|
91
|
+
}
|
|
92
|
+
|
|
93
|
+
.contact-information .fullname-title {
|
|
94
|
+
display: none;
|
|
95
|
+
}
|
|
96
|
+
|
|
97
|
+
.contact-information h2 {
|
|
98
|
+
font-family: 'Chakra Petch', sans-serif;
|
|
99
|
+
font-size: 13px;
|
|
100
|
+
font-weight: 700;
|
|
101
|
+
text-transform: uppercase;
|
|
102
|
+
letter-spacing: 1.5px;
|
|
103
|
+
color: var(--white);
|
|
104
|
+
background-color: var(--futurist-dark);
|
|
105
|
+
padding: 4px 10px;
|
|
106
|
+
display: inline-block;
|
|
107
|
+
transform: skewX(-10deg);
|
|
108
|
+
margin-bottom: 15px;
|
|
109
|
+
}
|
|
110
|
+
|
|
111
|
+
.contact-information .section {
|
|
112
|
+
display: flex;
|
|
113
|
+
flex-wrap: wrap;
|
|
114
|
+
gap: 16px 30px;
|
|
115
|
+
}
|
|
116
|
+
|
|
117
|
+
.contact-information .item {
|
|
118
|
+
min-width: 190px;
|
|
119
|
+
flex: 1 1 190px;
|
|
120
|
+
}
|
|
121
|
+
|
|
122
|
+
.contact-information .label {
|
|
123
|
+
display: block;
|
|
124
|
+
font-family: 'Chakra Petch', sans-serif;
|
|
125
|
+
font-size: 10.5px;
|
|
126
|
+
font-weight: 700;
|
|
127
|
+
text-transform: uppercase;
|
|
128
|
+
color: var(--futurist-blue);
|
|
129
|
+
letter-spacing: 1px;
|
|
130
|
+
}
|
|
131
|
+
|
|
132
|
+
.contact-information .value {
|
|
133
|
+
font-size: 13px;
|
|
134
|
+
font-weight: 700;
|
|
135
|
+
color: var(--futurist-dark);
|
|
136
|
+
}
|
|
137
|
+
|
|
138
|
+
.contact-information .value .street,
|
|
139
|
+
.contact-information .value .postal-code,
|
|
140
|
+
.contact-information .value .city {
|
|
141
|
+
display: inline;
|
|
142
|
+
margin-right: 4px;
|
|
143
|
+
}
|
|
144
|
+
|
|
145
|
+
/* Futurist Kinetic Section Headings */
|
|
146
|
+
.main .section {
|
|
147
|
+
margin-bottom: 35px;
|
|
148
|
+
}
|
|
149
|
+
|
|
150
|
+
.main h2 {
|
|
151
|
+
font-family: 'Chakra Petch', sans-serif;
|
|
152
|
+
font-size: 16px;
|
|
153
|
+
font-weight: 700;
|
|
154
|
+
font-style: italic;
|
|
155
|
+
text-transform: uppercase;
|
|
156
|
+
letter-spacing: 1.5px;
|
|
157
|
+
color: var(--white);
|
|
158
|
+
background-color: var(--futurist-blue);
|
|
159
|
+
padding: 8px 18px;
|
|
160
|
+
display: inline-block;
|
|
161
|
+
transform: skewX(-12deg);
|
|
162
|
+
border-left: 6px solid var(--futurist-yellow);
|
|
163
|
+
margin-bottom: 20px;
|
|
164
|
+
box-shadow: 4px 4px 0px var(--futurist-dark);
|
|
165
|
+
}
|
|
166
|
+
|
|
167
|
+
/* Item Formatting with Jagged / Diagonal Accents */
|
|
168
|
+
.main .item,
|
|
169
|
+
.main .visit {
|
|
170
|
+
margin-bottom: 22px;
|
|
171
|
+
padding-bottom: 16px;
|
|
172
|
+
border-bottom: 2px solid var(--futurist-dark);
|
|
173
|
+
position: relative;
|
|
174
|
+
}
|
|
175
|
+
|
|
176
|
+
.main .item:last-child,
|
|
177
|
+
.main .visit:last-child {
|
|
178
|
+
border-bottom: none;
|
|
179
|
+
}
|
|
180
|
+
|
|
181
|
+
/* Angular Date / Speed Badges */
|
|
182
|
+
.period,
|
|
183
|
+
.year,
|
|
184
|
+
.date {
|
|
185
|
+
display: inline-block;
|
|
186
|
+
font-family: 'Chakra Petch', sans-serif;
|
|
187
|
+
font-weight: 700;
|
|
188
|
+
font-size: 11.5px;
|
|
189
|
+
color: var(--white);
|
|
190
|
+
background-color: var(--futurist-dark);
|
|
191
|
+
padding: 3px 12px;
|
|
192
|
+
transform: skewX(-10deg);
|
|
193
|
+
margin-bottom: 8px;
|
|
194
|
+
letter-spacing: 0.5px;
|
|
195
|
+
border-right: 3px solid var(--futurist-red);
|
|
196
|
+
}
|
|
197
|
+
|
|
198
|
+
.position,
|
|
199
|
+
.degree,
|
|
200
|
+
.subject {
|
|
201
|
+
font-size: 16px;
|
|
202
|
+
font-weight: 700;
|
|
203
|
+
text-transform: uppercase;
|
|
204
|
+
color: var(--futurist-red);
|
|
205
|
+
letter-spacing: -0.2px;
|
|
206
|
+
}
|
|
207
|
+
|
|
208
|
+
.name,
|
|
209
|
+
.school,
|
|
210
|
+
.venue,
|
|
211
|
+
.publisher {
|
|
212
|
+
font-size: 13.5px;
|
|
213
|
+
font-weight: 700;
|
|
214
|
+
color: var(--futurist-blue);
|
|
215
|
+
}
|
|
216
|
+
|
|
217
|
+
.authors {
|
|
218
|
+
font-style: italic;
|
|
219
|
+
color: var(--text-muted);
|
|
220
|
+
}
|
|
221
|
+
|
|
222
|
+
.address {
|
|
223
|
+
font-size: 12px;
|
|
224
|
+
color: var(--text-muted);
|
|
225
|
+
}
|
|
226
|
+
|
|
227
|
+
.summary {
|
|
228
|
+
margin-top: 8px;
|
|
229
|
+
font-size: 13px;
|
|
230
|
+
color: var(--text-main);
|
|
231
|
+
border-left: 3px solid var(--futurist-yellow);
|
|
232
|
+
padding-left: 10px;
|
|
233
|
+
}
|
|
234
|
+
|
|
235
|
+
.summary p {
|
|
236
|
+
margin-bottom: 6px;
|
|
237
|
+
}
|
|
238
|
+
|
|
239
|
+
.summary p:last-child {
|
|
240
|
+
margin-bottom: 0;
|
|
241
|
+
}
|
|
242
|
+
|
|
243
|
+
/* Languages Block */
|
|
244
|
+
.languages .item {
|
|
245
|
+
border-bottom: none;
|
|
246
|
+
padding-bottom: 0;
|
|
247
|
+
margin-bottom: 10px;
|
|
248
|
+
}
|
|
249
|
+
|
|
250
|
+
.mother-tongue,
|
|
251
|
+
.foreign-language {
|
|
252
|
+
display: flex;
|
|
253
|
+
align-items: center;
|
|
254
|
+
justify-content: space-between;
|
|
255
|
+
background-color: var(--white);
|
|
256
|
+
border: 2px solid var(--futurist-dark);
|
|
257
|
+
padding: 8px 14px;
|
|
258
|
+
margin-bottom: 8px;
|
|
259
|
+
transform: skewX(-6deg);
|
|
260
|
+
}
|
|
261
|
+
|
|
262
|
+
.language {
|
|
263
|
+
font-family: 'Chakra Petch', sans-serif;
|
|
264
|
+
font-weight: 700;
|
|
265
|
+
text-transform: uppercase;
|
|
266
|
+
color: var(--futurist-dark);
|
|
267
|
+
}
|
|
268
|
+
|
|
269
|
+
.level {
|
|
270
|
+
font-family: 'Chakra Petch', sans-serif;
|
|
271
|
+
font-size: 11px;
|
|
272
|
+
font-weight: 700;
|
|
273
|
+
color: var(--white);
|
|
274
|
+
background-color: var(--futurist-red);
|
|
275
|
+
padding: 2px 10px;
|
|
276
|
+
transform: skewX(-6deg);
|
|
277
|
+
}
|
|
278
|
+
|
|
279
|
+
.level:empty {
|
|
280
|
+
display: none;
|
|
281
|
+
}
|
|
282
|
+
|
|
283
|
+
/* Committee Items */
|
|
284
|
+
.committee.item {
|
|
285
|
+
display: flex;
|
|
286
|
+
justify-content: space-between;
|
|
287
|
+
align-items: center;
|
|
288
|
+
border-bottom: 2px solid var(--futurist-dark);
|
|
289
|
+
padding-bottom: 8px;
|
|
290
|
+
}
|
|
291
|
+
|
|
292
|
+
.committee .editions {
|
|
293
|
+
font-family: 'Chakra Petch', sans-serif;
|
|
294
|
+
font-size: 12px;
|
|
295
|
+
font-weight: 700;
|
|
296
|
+
color: var(--futurist-red);
|
|
297
|
+
}
|
|
298
|
+
|
|
299
|
+
/* Print Optimization */
|
|
300
|
+
@media print {
|
|
301
|
+
@page {
|
|
302
|
+
size: A4;
|
|
303
|
+
margin: 10mm;
|
|
304
|
+
}
|
|
305
|
+
|
|
306
|
+
body {
|
|
307
|
+
background: none;
|
|
308
|
+
background-color: var(--white);
|
|
309
|
+
color: var(--futurist-dark);
|
|
310
|
+
font-size: 11px;
|
|
311
|
+
-webkit-print-color-adjust: exact;
|
|
312
|
+
print-color-adjust: exact;
|
|
313
|
+
}
|
|
314
|
+
|
|
315
|
+
.container {
|
|
316
|
+
max-width: 100%;
|
|
317
|
+
margin: 0;
|
|
318
|
+
box-shadow: none;
|
|
319
|
+
border: 2px solid var(--futurist-dark);
|
|
320
|
+
}
|
|
321
|
+
|
|
322
|
+
.main {
|
|
323
|
+
padding: 20px;
|
|
324
|
+
}
|
|
325
|
+
|
|
326
|
+
.fullname-title,
|
|
327
|
+
.main h2,
|
|
328
|
+
.period,
|
|
329
|
+
.year,
|
|
330
|
+
.date,
|
|
331
|
+
.level,
|
|
332
|
+
.contact-information {
|
|
333
|
+
transform: none !important; /* Flatten angles slightly for pristine print alignment */
|
|
334
|
+
clip-path: none !important;
|
|
335
|
+
}
|
|
336
|
+
}
|