wagtail-enap-designsystem 1.2.1.122__py3-none-any.whl → 1.2.1.125__py3-none-any.whl

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.

Potentially problematic release.


This version of wagtail-enap-designsystem might be problematic. Click here for more details.

Files changed (22) hide show
  1. enap_designsystem/blocks/__init__.py +4 -0
  2. enap_designsystem/blocks/form.py +101 -6
  3. enap_designsystem/blocks/html_blocks.py +199 -10
  4. enap_designsystem/blocks/semana_inovacao.py +7 -1
  5. enap_designsystem/middleware/aluno_sso.py +16 -0
  6. enap_designsystem/migrations/0382_alter_areaaluno_body_alter_cursoeadpage_curso_and_more.py +51080 -0
  7. enap_designsystem/migrations/0383_alter_areaaluno_body_alter_enapcomponentes_body_and_more.py +50922 -0
  8. enap_designsystem/migrations/0384_alter_areaaluno_body_alter_enapcomponentes_body_and_more.py +51606 -0
  9. enap_designsystem/migrations/0385_alter_areaaluno_body_alter_enapcomponentes_body_and_more.py +51947 -0
  10. enap_designsystem/migrations/0386_alter_areaaluno_body_alter_enapcomponentes_body_and_more.py +51809 -0
  11. enap_designsystem/templates/custom_404.html +372 -0
  12. enap_designsystem/templates/enap_designsystem/blocks/apresentacao_block.html +116 -0
  13. enap_designsystem/templates/enap_designsystem/blocks/apresentacao_simple_block.html +236 -0
  14. enap_designsystem/templates/enap_designsystem/form_templates/formulario_page.html +490 -13
  15. enap_designsystem/templates/enap_designsystem/includes/form_field.html +661 -4
  16. enap_designsystem/templates/enap_designsystem/pages/mba_especializacao.html +10 -0
  17. enap_designsystem/templates/enap_designsystem/sistema_votacao_page.html +33 -25
  18. {wagtail_enap_designsystem-1.2.1.122.dist-info → wagtail_enap_designsystem-1.2.1.125.dist-info}/METADATA +1 -1
  19. {wagtail_enap_designsystem-1.2.1.122.dist-info → wagtail_enap_designsystem-1.2.1.125.dist-info}/RECORD +22 -13
  20. {wagtail_enap_designsystem-1.2.1.122.dist-info → wagtail_enap_designsystem-1.2.1.125.dist-info}/WHEEL +0 -0
  21. {wagtail_enap_designsystem-1.2.1.122.dist-info → wagtail_enap_designsystem-1.2.1.125.dist-info}/licenses/LICENSE +0 -0
  22. {wagtail_enap_designsystem-1.2.1.122.dist-info → wagtail_enap_designsystem-1.2.1.125.dist-info}/top_level.txt +0 -0
@@ -0,0 +1,372 @@
1
+ <!DOCTYPE html>
2
+ <html lang="pt-BR">
3
+ <head>
4
+ <meta charset="UTF-8">
5
+ <meta name="viewport" content="width=device-width, initial-scale=1.0">
6
+ <title>Erro 400 - Página não encontrada</title>
7
+ <style>
8
+ * {
9
+ margin: 0;
10
+ padding: 0;
11
+ box-sizing: border-box;
12
+ }
13
+
14
+ body {
15
+ font-family: 'Segoe UI', Tahoma, Geneva, Verdana, sans-serif;
16
+ background: linear-gradient(135deg, #f5f7fa 0%, #c3cfe2 100%);
17
+ min-height: 100vh;
18
+ display: flex;
19
+ align-items: center;
20
+ justify-content: center;
21
+ padding: 20px;
22
+ }
23
+
24
+ .error-container {
25
+ text-align: center;
26
+ max-width: 600px;
27
+ width: 100%;
28
+ }
29
+
30
+ .error-title {
31
+ font-size: 2.5rem;
32
+ color: #4a5568;
33
+ margin-bottom: 3rem;
34
+ font-weight: 300;
35
+ letter-spacing: 1px;
36
+ }
37
+
38
+ .error-illustration {
39
+ margin-bottom: 3rem;
40
+ position: relative;
41
+ display: inline-block;
42
+ }
43
+
44
+ .computer {
45
+ width: 200px;
46
+ height: 150px;
47
+ background: linear-gradient(145deg, #7dd3fc, #38bdf8);
48
+ border-radius: 15px;
49
+ position: relative;
50
+ margin: 0 auto;
51
+ box-shadow: 0 20px 40px rgba(56, 189, 248, 0.3);
52
+ }
53
+
54
+ .computer::before {
55
+ content: '';
56
+ position: absolute;
57
+ top: 15px;
58
+ left: 15px;
59
+ right: 15px;
60
+ height: 8px;
61
+ background: rgba(255, 255, 255, 0.3);
62
+ border-radius: 4px;
63
+ }
64
+
65
+ .screen {
66
+ position: absolute;
67
+ top: 30px;
68
+ left: 15px;
69
+ right: 15px;
70
+ bottom: 25px;
71
+ background: white;
72
+ border-radius: 8px;
73
+ display: flex;
74
+ flex-direction: column;
75
+ align-items: center;
76
+ justify-content: center;
77
+ padding: 20px;
78
+ }
79
+
80
+ .error-code {
81
+ font-size: 3rem;
82
+ font-weight: bold;
83
+ color: #9ca3af;
84
+ margin-bottom: 10px;
85
+ }
86
+
87
+ .error-lines {
88
+ display: flex;
89
+ flex-direction: column;
90
+ gap: 4px;
91
+ width: 100%;
92
+ }
93
+
94
+ .line {
95
+ height: 4px;
96
+ background: #e5e7eb;
97
+ border-radius: 2px;
98
+ }
99
+
100
+ .line:first-child {
101
+ width: 80%;
102
+ }
103
+
104
+ .line:nth-child(2) {
105
+ width: 60%;
106
+ }
107
+
108
+ .line:last-child {
109
+ width: 40%;
110
+ }
111
+
112
+ .computer-base {
113
+ position: absolute;
114
+ bottom: -15px;
115
+ left: 50%;
116
+ transform: translateX(-50%);
117
+ width: 40px;
118
+ height: 15px;
119
+ background: linear-gradient(145deg, #64748b, #475569);
120
+ border-radius: 0 0 10px 10px;
121
+ }
122
+
123
+ .computer-stand {
124
+ position: absolute;
125
+ bottom: -25px;
126
+ left: 50%;
127
+ transform: translateX(-50%);
128
+ width: 80px;
129
+ height: 10px;
130
+ background: linear-gradient(145deg, #64748b, #475569);
131
+ border-radius: 20px;
132
+ }
133
+
134
+ .warning-icon {
135
+ position: absolute;
136
+ bottom: -10px;
137
+ right: -10px;
138
+ width: 60px;
139
+ height: 60px;
140
+ background: linear-gradient(145deg, #fbbf24, #f59e0b);
141
+ border-radius: 50%;
142
+ display: flex;
143
+ align-items: center;
144
+ justify-content: center;
145
+ box-shadow: 0 10px 25px rgba(245, 158, 11, 0.4);
146
+ }
147
+
148
+ .warning-icon::before {
149
+ content: '!';
150
+ color: white;
151
+ font-size: 1.8rem;
152
+ font-weight: bold;
153
+ }
154
+
155
+ .error-message-title {
156
+ font-size: 2rem;
157
+ color: #374151;
158
+ margin-bottom: 1rem;
159
+ font-weight: 500;
160
+ }
161
+
162
+ .error-message-text {
163
+ font-size: 1.1rem;
164
+ color: #6b7280;
165
+ line-height: 1.6;
166
+ margin-bottom: 3rem;
167
+ max-width: 500px;
168
+ margin-left: auto;
169
+ margin-right: auto;
170
+ }
171
+
172
+ .action-buttons {
173
+ display: flex;
174
+ gap: 1rem;
175
+ justify-content: center;
176
+ flex-wrap: wrap;
177
+ }
178
+
179
+ .btn-primary {
180
+ background: #007D7A;
181
+ color: white;
182
+ box-shadow: 0 4px 15px rgba(59, 130, 246, 0.3);
183
+ }
184
+
185
+ .btn-primary:hover {
186
+ transform: translateY(-2px);
187
+ box-shadow: 0 6px 20px rgba(59, 130, 246, 0.4);
188
+ color: white;
189
+ text-decoration: none;
190
+ }
191
+
192
+ .btn-secondary {
193
+ background: white;
194
+ color: #6b7280;
195
+ border: 2px solid #e5e7eb;
196
+ box-shadow: 0 2px 8px rgba(0, 0, 0, 0.1);
197
+ }
198
+
199
+ .btn-secondary:hover {
200
+ transform: translateY(-2px);
201
+ border-color: #3b82f6;
202
+ color: #3b82f6;
203
+ box-shadow: 0 4px 15px rgba(0, 0, 0, 0.15);
204
+ }
205
+
206
+ .floating-circles {
207
+ position: absolute;
208
+ width: 100%;
209
+ height: 100%;
210
+ overflow: hidden;
211
+ z-index: -1;
212
+ }
213
+
214
+ .circle {
215
+ position: absolute;
216
+ border-radius: 50%;
217
+ background: rgba(59, 130, 246, 0.1);
218
+ animation: float 6s ease-in-out infinite;
219
+ }
220
+
221
+ .circle:nth-child(1) {
222
+ width: 80px;
223
+ height: 80px;
224
+ top: 20%;
225
+ left: 10%;
226
+ animation-delay: 0s;
227
+ }
228
+
229
+ .circle:nth-child(2) {
230
+ width: 120px;
231
+ height: 120px;
232
+ top: 60%;
233
+ right: 15%;
234
+ animation-delay: 2s;
235
+ }
236
+
237
+ .circle:nth-child(3) {
238
+ width: 60px;
239
+ height: 60px;
240
+ bottom: 20%;
241
+ left: 20%;
242
+ animation-delay: 4s;
243
+ }
244
+
245
+ @keyframes float {
246
+ 0%, 100% {
247
+ transform: translateY(0px) rotate(0deg);
248
+ opacity: 0.7;
249
+ }
250
+ 50% {
251
+ transform: translateY(-20px) rotate(180deg);
252
+ opacity: 1;
253
+ }
254
+ }
255
+
256
+ @media (max-width: 768px) {
257
+ .error-title {
258
+ font-size: 2rem;
259
+ }
260
+
261
+ .error-message-title {
262
+ font-size: 1.5rem;
263
+ }
264
+
265
+ .error-message-text {
266
+ font-size: 1rem;
267
+ padding: 0 1rem;
268
+ }
269
+
270
+ .computer {
271
+ width: 160px;
272
+ height: 120px;
273
+ }
274
+
275
+ .error-code {
276
+ font-size: 2rem;
277
+ }
278
+
279
+ .warning-icon {
280
+ width: 45px;
281
+ height: 45px;
282
+ }
283
+
284
+ .warning-icon::before {
285
+ font-size: 1.3rem;
286
+ }
287
+
288
+ .action-buttons {
289
+ flex-direction: column;
290
+ align-items: center;
291
+ }
292
+
293
+ .btn {
294
+ width: 200px;
295
+ justify-content: center;
296
+ }
297
+ }
298
+ </style>
299
+ </head>
300
+ <body>
301
+ <div class="floating-circles">
302
+ <div class="circle"></div>
303
+ <div class="circle"></div>
304
+ <div class="circle"></div>
305
+ </div>
306
+
307
+ <div class="error-container">
308
+ <h1 class="error-title">Erro 400</h1>
309
+
310
+ <div class="error-illustration">
311
+ <div class="computer">
312
+ <div class="screen">
313
+ <div class="error-code">404</div>
314
+ <div class="error-lines">
315
+ <div class="line"></div>
316
+ <div class="line"></div>
317
+ <div class="line"></div>
318
+ </div>
319
+ </div>
320
+ <div class="computer-base"></div>
321
+ <div class="computer-stand"></div>
322
+ </div>
323
+ <div class="warning-icon"></div>
324
+ </div>
325
+
326
+ <h2 class="error-message-title">A página não foi encontrada</h2>
327
+
328
+ <p class="error-message-text">
329
+ Ocorreu um erro ao processar sua solicitação. Você pode ter digitado
330
+ o endereço errado ou não tem permissão para ver esta página.
331
+ </p>
332
+
333
+ <div class="action-buttons">
334
+ <a href="/" class="btn btn-primary">
335
+ <span>🏠</span>
336
+ Página Inicial
337
+ </a>
338
+ <button onclick="history.back()" class="btn btn-secondary">
339
+ <span>←</span>
340
+ Voltar
341
+ </button>
342
+ </div>
343
+ </div>
344
+
345
+ <script>
346
+ // Adiciona uma pequena animação ao carregar
347
+ window.addEventListener('load', function() {
348
+ const container = document.querySelector('.error-container');
349
+ container.style.opacity = '0';
350
+ container.style.transform = 'translateY(20px)';
351
+ container.style.transition = 'all 0.8s ease';
352
+
353
+ setTimeout(() => {
354
+ container.style.opacity = '1';
355
+ container.style.transform = 'translateY(0)';
356
+ }, 100);
357
+ });
358
+
359
+ // Adiciona efeito hover nos círculos flutuantes
360
+ document.querySelectorAll('.circle').forEach(circle => {
361
+ circle.addEventListener('mouseenter', function() {
362
+ this.style.transform = 'scale(1.2)';
363
+ this.style.transition = 'transform 0.3s ease';
364
+ });
365
+
366
+ circle.addEventListener('mouseleave', function() {
367
+ this.style.transform = 'scale(1)';
368
+ });
369
+ });
370
+ </script>
371
+ </body>
372
+ </html>
@@ -0,0 +1,116 @@
1
+ <!-- templates/blocks/apresentacao_block.html -->
2
+ {% load wagtailcore_tags %}
3
+
4
+ <section class="apresentacao-secao py-16"
5
+ style="background-color: {{ value.cor_fundo }};">
6
+
7
+ <div class="apresentacao-container mx-auto px-4">
8
+ <div class="apresentacao-wrapper mx-auto text-center">
9
+
10
+ <!-- Título -->
11
+ <h2 class="apresentacao-titulo font-bold mb-8"
12
+ style="color: {{ value.cor_titulo }};">
13
+ {{ value.titulo }}
14
+ </h2>
15
+
16
+ <!-- Quadrado de conteúdo -->
17
+ <div class="apresentacao-conteudo-box rounded-lg mb-8 shadow-lg text-left"
18
+ style="background-color: {{ value.cor_quadrado }};">
19
+ <div class="apresentacao-texto leading-relaxed"
20
+ style="color: {{ value.cor_titulo }};">
21
+ {{ value.conteudo|richtext }}
22
+ </div>
23
+ </div>
24
+
25
+ <!-- Botão -->
26
+ {% if value.botao_texto and value.botao_url %}
27
+ <div class="apresentacao-botao-wrapper flex justify-center">
28
+ <a href="{{ value.botao_url }}"
29
+ class="apresentacao-botao inline-flex items-center justify-center
30
+ px-8 font-semibold rounded-full
31
+ text-white transition-all duration-300"
32
+ style="background-color: {{ value.cor_botao }};"
33
+ onmouseover="this.style.backgroundColor='{{ value.cor_botao_hover }}'"
34
+ onmouseout="this.style.backgroundColor='{{ value.cor_botao }}'">
35
+
36
+ {% if value.botao_icone %}
37
+ <i class="apresentacao-icone {{ value.botao_icone }} mr-2"></i>
38
+ {% endif %}
39
+
40
+ {{ value.botao_texto }}
41
+ </a>
42
+ </div>
43
+ {% endif %}
44
+
45
+ </div>
46
+ </div>
47
+ </section>
48
+
49
+ <style>
50
+ .apresentacao-botao {
51
+ box-shadow: 0 4px 15px rgba(0,0,0,0.2);
52
+ font-size: 1.125rem;
53
+ padding: 12px 16px;
54
+ border-radius: 32px;
55
+ width: 200px;
56
+ gap: 20px;
57
+ }
58
+
59
+ .apresentacao-titulo {
60
+ font-size: 2.25rem;
61
+ margin-bottom: 0px;
62
+ }
63
+
64
+ @media (min-width: 768px) {
65
+ .apresentacao-titulo {
66
+ font-size: 3rem;
67
+ }
68
+ }
69
+
70
+ .apresentacao-container {
71
+ max-width: 1200px;
72
+ }
73
+
74
+ .apresentacao-wrapper {
75
+ max-width: 1142px;
76
+ display: flex;
77
+ flex-direction: column;
78
+ align-items: center;
79
+ gap: 2rem;
80
+ }
81
+
82
+ .apresentacao-conteudo-box {
83
+ padding: 60px 120px;
84
+ }
85
+
86
+ @media (min-width: 768px) {
87
+ .apresentacao-conteudo-box {
88
+ padding: 3rem;
89
+ }
90
+ }
91
+
92
+ .apresentacao-botao:hover {
93
+ transform: translateY(-2px);
94
+ box-shadow: 0 6px 20px rgba(0,0,0,0.3);
95
+ }
96
+
97
+ /* Forçar cores do richtext */
98
+ .apresentacao-secao .apresentacao-texto * {
99
+ color: inherit !important;
100
+ text-align: left;
101
+ }
102
+
103
+ .apresentacao-secao {
104
+ padding: 90px 0;
105
+ }
106
+
107
+ .apresentacao-texto {
108
+ font-size: 1.125rem;
109
+ }
110
+
111
+ .apresentacao-secao .apresentacao-texto p,
112
+ .apresentacao-secao .apresentacao-texto div,
113
+ .apresentacao-secao .apresentacao-texto span {
114
+ color: inherit !important;
115
+ }
116
+ </style>
@@ -0,0 +1,236 @@
1
+ <!-- templates/blocks/apresentacao_simple_block.html -->
2
+ {% load wagtailcore_tags %}
3
+
4
+ <section class="secao-display py-16"
5
+ style="background-color: {{ value.cor_fundo }};">
6
+
7
+ <div class="container mx-auto px-4">
8
+ <div class="max-w-6xl mx-auto">
9
+
10
+ <!-- Título -->
11
+ <h2 class="secao-cabecalho text-center font-bold mb-8"
12
+ style="color: {{ value.cor_titulo }};">
13
+ {{ value.titulo }}
14
+ </h2>
15
+
16
+ <!-- Quadrado de conteúdo -->
17
+ <div class="secao-conteudo-cartoes rounded-lg p-8 mb-12 shadow-lg"
18
+ style="background-color: {{ value.cor_quadrado }};">
19
+ <div class="secao-texto text-lg leading-relaxed"
20
+ style="color: {{ value.cor_texto }};">
21
+ {{ value.conteudo|richtext }}
22
+ </div>
23
+
24
+ <!-- Grid de Cards -->
25
+ {% if value.cards %}
26
+ <div class="secao-cartoes {{ value.grid_tipo }}">
27
+ {% for card_block in value.cards %}
28
+ {% if card_block.block_type == 'card' %}
29
+ <div class="secao-cartao">
30
+ <!-- Ícone -->
31
+ {% if card_block.value.icone %}
32
+ <div class="cartao-simbolo" style="background: {{ value.cor_texto }};">
33
+ <i class="{{ card_block.value.icone }}"></i>
34
+ </div>
35
+ {% endif %}
36
+
37
+ <!-- Título do Card -->
38
+ <h3 class="cartao-cabecalho" style="color: {{ value.cor_texto }};">
39
+ {{ card_block.value.titulo }}
40
+ </h3>
41
+
42
+ <!-- Descrição -->
43
+ <p class="cartao-texto" style="color: {{ value.cor_texto }};">
44
+ {{ card_block.value.descricao }}
45
+ </p>
46
+ </div>
47
+ {% endif %}
48
+ {% endfor %}
49
+ </div>
50
+ {% endif %}
51
+ </div>
52
+ </div>
53
+ </div>
54
+ </section>
55
+
56
+ <style>
57
+ /* Estilos gerais */
58
+ .secao-display {
59
+ padding: 90px 0;
60
+ }
61
+
62
+ .secao-cabecalho {
63
+ font-size: 2.5rem;
64
+ margin-bottom: 2rem;
65
+ }
66
+
67
+ @media (min-width: 768px) {
68
+ .secao-cabecalho {
69
+ font-size: 3.5rem;
70
+ }
71
+ }
72
+
73
+ .secao-conteudo-cartoes {
74
+ max-width: 1142px;
75
+ margin: 0 auto;
76
+ padding: 60px 30px;
77
+ }
78
+
79
+ .secao-texto {
80
+ font-size: 1.125rem;
81
+ line-height: 1.75;
82
+ }
83
+
84
+ /* Forçar cores do richtext */
85
+ .secao-display .secao-texto * {
86
+ color: inherit !important;
87
+ }
88
+
89
+ /* Grid de Cards */
90
+ .secao-cartoes {
91
+ display: grid;
92
+ gap: 2rem;
93
+ margin-top: 3rem;
94
+ }
95
+
96
+ /* Grid responsivo baseado na escolha */
97
+ .cards-grid-1 {
98
+ grid-template-columns: 1fr;
99
+ max-width: 600px;
100
+ margin-left: auto;
101
+ margin-right: auto;
102
+ }
103
+
104
+ .cards-grid-2 {
105
+ grid-template-columns: 1fr;
106
+ max-width: 800px;
107
+ margin-left: auto;
108
+ margin-right: auto;
109
+ }
110
+
111
+ @media (min-width: 768px) {
112
+ .cards-grid-2 {
113
+ grid-template-columns: repeat(2, 1fr);
114
+ }
115
+ }
116
+
117
+ .cards-grid-3 {
118
+ grid-template-columns: 1fr;
119
+ }
120
+
121
+ @media (min-width: 768px) {
122
+ .cards-grid-3 {
123
+ grid-template-columns: repeat(2, 1fr);
124
+ }
125
+ }
126
+
127
+ @media (min-width: 1024px) {
128
+ .cards-grid-3 {
129
+ grid-template-columns: repeat(3, 1fr);
130
+ }
131
+ }
132
+
133
+ .cards-grid-4 {
134
+ grid-template-columns: 1fr;
135
+ }
136
+
137
+ @media (min-width: 768px) {
138
+ .cards-grid-4 {
139
+ grid-template-columns: repeat(2, 1fr);
140
+ }
141
+ }
142
+
143
+ @media (min-width: 1024px) {
144
+ .cards-grid-4 {
145
+ grid-template-columns: repeat(4, 1fr);
146
+ }
147
+ }
148
+
149
+ .cards-grid-5 {
150
+ grid-template-columns: 1fr;
151
+ }
152
+
153
+ @media (min-width: 640px) {
154
+ .cards-grid-5 {
155
+ grid-template-columns: repeat(2, 1fr);
156
+ }
157
+ }
158
+
159
+ @media (min-width: 768px) {
160
+ .cards-grid-5 {
161
+ grid-template-columns: repeat(3, 1fr);
162
+ }
163
+ }
164
+
165
+ @media (min-width: 1024px) {
166
+ .cards-grid-5 {
167
+ grid-template-columns: repeat(4, 1fr);
168
+ }
169
+ }
170
+
171
+ @media (min-width: 1280px) {
172
+ .cards-grid-5 {
173
+ grid-template-columns: repeat(5, 1fr);
174
+ }
175
+ }
176
+
177
+ /* Estilos do Card */
178
+ .secao-cartao {
179
+ text-align: center;
180
+ padding: 1.5rem;
181
+ }
182
+
183
+ .cartao-simbolo {
184
+ margin-bottom: 1.5rem;
185
+ width: 60px;
186
+ height: 60px;
187
+ border-radius: 50%;
188
+ }
189
+
190
+ .cartao-simbolo i {
191
+ font-size: 2rem;
192
+ color: #FFFFFF;
193
+ width: 60px;
194
+ height: 60px;
195
+ border-radius: 50%;
196
+ display: flex;
197
+ align-items: center;
198
+ justify-content: center;
199
+ margin: 0 auto;
200
+ }
201
+
202
+ .cartao-cabecalho {
203
+ font-size: 1.25rem;
204
+ font-weight: 600;
205
+ color: #FFFFFF;
206
+ margin-bottom: 1rem;
207
+ line-height: 1.4;
208
+ text-align: left;
209
+ }
210
+
211
+ .cartao-texto {
212
+ font-size: 0.95rem;
213
+ color: rgba(255, 255, 255, 0.9);
214
+ line-height: 1.6;
215
+ margin: 0;
216
+ text-align: left;
217
+ }
218
+
219
+ /* Responsividade mobile */
220
+ @media (max-width: 767px) {
221
+ .secao-conteudo-cartoes {
222
+ padding: 2rem;
223
+ }
224
+
225
+ .secao-cartoes {
226
+ gap: 2.5rem;
227
+ margin-top: 2rem;
228
+ }
229
+
230
+ .cartao-simbolo i {
231
+ font-size: 2.5rem;
232
+ width: 70px;
233
+ height: 70px;
234
+ }
235
+ }
236
+ </style>