PluginProbe ʕ •ᴥ•ʔ
ECS – Ele Custom Skin for Elementor / 4.3.8
ECS – Ele Custom Skin for Elementor v4.3.8
4.3.11 4.3.10 4.3.9 4.3.8 4.3.7 4.3.6 4.3.5 4.3.4 4.3.3 4.3.2 4.3.1 4.3.0 4.2.0 4.1.11 4.1.10 4.1.9 4.1.8 4.1.6 4.1.7 4.1.5 4.1.4 4.1.1 4.1.2 trunk 1.0.0 1.0.1 1.0.9 1.1.3 1.1.4 1.1.5 1.2.0 1.2.1 1.2.4 1.2.5 1.3.10 1.3.11 1.3.3 1.3.4 1.3.6 1.3.7 1.3.9 1.4.0 2.0.2 2.1.0 2.2.0 2.2.1 2.2.2 3.0.0 3.1.0 3.1.1 3.1.2 3.1.3 3.1.4 3.1.5 3.1.6 3.1.7 4.1.0
ele-custom-skin / modules / editorial-text / assets / css / ecs-editorial-text.css
ele-custom-skin / modules / editorial-text / assets / css Last commit date
ecs-editorial-text.css 4 months ago
ecs-editorial-text.css
289 lines
1 /* ============================================================
2 ECS Editorial Text Module
3 ============================================================ */
4
5 /* ── Figure ───────────────────────────────────────────────── */
6
7 .ecs-et-figure {
8 margin: 0; /* Reset browser default <figure> margin */
9 line-height: 0; /* Prevents inline-block gap below img */
10 }
11
12 .ecs-et-figure img {
13 display: block;
14 max-width: 100%;
15 height: auto;
16 }
17
18 /* ── Text ─────────────────────────────────────────────────── */
19
20 .ecs-et-text > *:first-child { margin-top: 0; }
21 .ecs-et-text > *:last-child { margin-bottom: 0; }
22
23 /* ============================================================
24 Image Position — desktop base rules
25 Classes are added to the Elementor widget wrapper via prefix_class.
26
27 Gap margin specificity note
28 ───────────────────────────
29 Elementor's frontend.min.css contains:
30 .elementor .elementor-widget:not(...):not(...) figure { margin: 0 }
31 which has specificity (0,4,1) and resets all figure margins.
32
33 Rules that only set float / display / order use short selectors
34 (no conflict). Rules that set the gap margin use the longer form
35 .elementor-widget.elementor-widget-ecs_editorial_text.e-et-flow-X figure.ecs-et-figure
36 which also reaches (0,4,1) and wins by source order (our stylesheet
37 is enqueued after Elementor's frontend CSS).
38 ============================================================ */
39
40 /* none / before — layout */
41 .e-et-flow-none .ecs-et-figure,
42 .e-et-flow-before .ecs-et-figure { display: block; }
43
44 /* none / before — gap */
45 .elementor-widget.elementor-widget-ecs_editorial_text.e-et-flow-none figure.ecs-et-figure,
46 .elementor-widget.elementor-widget-ecs_editorial_text.e-et-flow-before figure.ecs-et-figure {
47 margin-bottom: var(--ecs-et-gap, 1em);
48 }
49
50 /* after — layout */
51 .e-et-flow-after .ecs-editorial-text {
52 display: flex;
53 flex-direction: column;
54 }
55 .e-et-flow-after .ecs-et-figure { order: 2; }
56 .e-et-flow-after .ecs-et-text { order: 1; }
57
58 /* after — gap */
59 .elementor-widget.elementor-widget-ecs_editorial_text.e-et-flow-after figure.ecs-et-figure {
60 margin-top: var(--ecs-et-gap, 1em);
61 }
62
63 /* float_left — layout */
64 .e-et-flow-float_left .ecs-et-figure { float: left; }
65
66 /* float_left — gap */
67 .elementor-widget.elementor-widget-ecs_editorial_text.e-et-flow-float_left figure.ecs-et-figure {
68 margin-right: var(--ecs-et-gap, 1.5em);
69 }
70
71 /* float_right — layout */
72 .e-et-flow-float_right .ecs-et-figure { float: right; }
73
74 /* float_right — gap */
75 .elementor-widget.elementor-widget-ecs_editorial_text.e-et-flow-float_right figure.ecs-et-figure {
76 margin-left: var(--ecs-et-gap, 1.5em);
77 }
78
79 /* Clearfix — CSS ::after replaces the old <div class="ecs-et-clearfix"> */
80 .e-et-flow-float_left .ecs-editorial-text::after,
81 .e-et-flow-float_right .ecs-editorial-text::after {
82 content: '';
83 display: table;
84 clear: both;
85 }
86
87 /* ============================================================
88 Content Align — desktop base rules
89 ============================================================ */
90
91 /*
92 * text-align cascades into .ecs-et-text.
93 * align-items activates only in 'after' flex mode.
94 * display:inline-block on the figure lets it respond to text-align
95 * in block layout; float overrides it in float modes.
96 */
97
98 .e-et-align-left .ecs-editorial-text { text-align: left; align-items: flex-start; }
99
100 .e-et-align-center .ecs-editorial-text { text-align: center; align-items: center; }
101 .e-et-align-center .ecs-et-figure { display: inline-block; }
102
103 .e-et-align-right .ecs-editorial-text { text-align: right; align-items: flex-end; }
104 .e-et-align-right .ecs-et-figure { display: inline-block; }
105
106 .e-et-align-justify .ecs-editorial-text { text-align: justify; align-items: flex-start; }
107
108 /* ============================================================
109 Tablet overrides (≤ 1024px)
110 ============================================================ */
111
112 @media (max-width: 1024px) {
113
114 /* none / before — layout */
115 .e-et-tablet-flow-none .ecs-et-figure,
116 .e-et-tablet-flow-before .ecs-et-figure {
117 float: none;
118 order: unset;
119 }
120 .e-et-tablet-flow-none .ecs-editorial-text,
121 .e-et-tablet-flow-before .ecs-editorial-text { display: block; }
122
123 /* none / before — gap */
124 .elementor-widget.elementor-widget-ecs_editorial_text.e-et-tablet-flow-none figure.ecs-et-figure,
125 .elementor-widget.elementor-widget-ecs_editorial_text.e-et-tablet-flow-before figure.ecs-et-figure {
126 margin-top: 0;
127 margin-right: 0;
128 margin-left: 0;
129 margin-bottom: var(--ecs-et-gap, 1em);
130 }
131
132 /* after — layout */
133 .e-et-tablet-flow-after .ecs-editorial-text {
134 display: flex;
135 flex-direction: column;
136 }
137 .e-et-tablet-flow-after .ecs-et-figure { float: none; order: 2; }
138 .e-et-tablet-flow-after .ecs-et-text { order: 1; }
139
140 /* after — gap */
141 .elementor-widget.elementor-widget-ecs_editorial_text.e-et-tablet-flow-after figure.ecs-et-figure {
142 margin-bottom: 0;
143 margin-right: 0;
144 margin-left: 0;
145 margin-top: var(--ecs-et-gap, 1em);
146 }
147
148 /* float_left — layout */
149 .e-et-tablet-flow-float_left .ecs-et-figure { float: left; order: unset; }
150 .e-et-tablet-flow-float_left .ecs-editorial-text { display: block; }
151
152 /* float_left — gap */
153 .elementor-widget.elementor-widget-ecs_editorial_text.e-et-tablet-flow-float_left figure.ecs-et-figure {
154 margin-top: 0;
155 margin-bottom: 0;
156 margin-left: 0;
157 margin-right: var(--ecs-et-gap, 1.5em);
158 }
159
160 /* float_right — layout */
161 .e-et-tablet-flow-float_right .ecs-et-figure { float: right; order: unset; }
162 .e-et-tablet-flow-float_right .ecs-editorial-text { display: block; }
163
164 /* float_right — gap */
165 .elementor-widget.elementor-widget-ecs_editorial_text.e-et-tablet-flow-float_right figure.ecs-et-figure {
166 margin-top: 0;
167 margin-bottom: 0;
168 margin-right: 0;
169 margin-left: var(--ecs-et-gap, 1.5em);
170 }
171
172 /* Clearfix for tablet floats */
173 .e-et-tablet-flow-float_left .ecs-editorial-text::after,
174 .e-et-tablet-flow-float_right .ecs-editorial-text::after {
175 content: '';
176 display: table;
177 clear: both;
178 }
179
180 /* Remove clearfix for tablet non-float modes */
181 .e-et-tablet-flow-none .ecs-editorial-text::after,
182 .e-et-tablet-flow-before .ecs-editorial-text::after,
183 .e-et-tablet-flow-after .ecs-editorial-text::after {
184 content: none;
185 }
186
187 /* Content align — tablet */
188 .e-et-tablet-align-left .ecs-editorial-text { text-align: left; align-items: flex-start; }
189
190 .e-et-tablet-align-center .ecs-editorial-text { text-align: center; align-items: center; }
191 .e-et-tablet-align-center .ecs-et-figure { display: inline-block; }
192
193 .e-et-tablet-align-right .ecs-editorial-text { text-align: right; align-items: flex-end; }
194 .e-et-tablet-align-right .ecs-et-figure { display: inline-block; }
195
196 .e-et-tablet-align-justify .ecs-editorial-text { text-align: justify; align-items: flex-start; }
197 }
198
199 /* ============================================================
200 Mobile overrides (≤ 767px)
201 ============================================================ */
202
203 @media (max-width: 767px) {
204
205 /* none / before — layout */
206 .e-et-mobile-flow-none .ecs-et-figure,
207 .e-et-mobile-flow-before .ecs-et-figure {
208 float: none;
209 order: unset;
210 }
211 .e-et-mobile-flow-none .ecs-editorial-text,
212 .e-et-mobile-flow-before .ecs-editorial-text { display: block; }
213
214 /* none / before — gap */
215 .elementor-widget.elementor-widget-ecs_editorial_text.e-et-mobile-flow-none figure.ecs-et-figure,
216 .elementor-widget.elementor-widget-ecs_editorial_text.e-et-mobile-flow-before figure.ecs-et-figure {
217 margin-top: 0;
218 margin-right: 0;
219 margin-left: 0;
220 margin-bottom: var(--ecs-et-gap, 1em);
221 }
222
223 /* after — layout */
224 .e-et-mobile-flow-after .ecs-editorial-text {
225 display: flex;
226 flex-direction: column;
227 }
228 .e-et-mobile-flow-after .ecs-et-figure { float: none; order: 2; }
229 .e-et-mobile-flow-after .ecs-et-text { order: 1; }
230
231 /* after — gap */
232 .elementor-widget.elementor-widget-ecs_editorial_text.e-et-mobile-flow-after figure.ecs-et-figure {
233 margin-bottom: 0;
234 margin-right: 0;
235 margin-left: 0;
236 margin-top: var(--ecs-et-gap, 1em);
237 }
238
239 /* float_left — layout */
240 .e-et-mobile-flow-float_left .ecs-et-figure { float: left; order: unset; }
241 .e-et-mobile-flow-float_left .ecs-editorial-text { display: block; }
242
243 /* float_left — gap */
244 .elementor-widget.elementor-widget-ecs_editorial_text.e-et-mobile-flow-float_left figure.ecs-et-figure {
245 margin-top: 0;
246 margin-bottom: 0;
247 margin-left: 0;
248 margin-right: var(--ecs-et-gap, 1.5em);
249 }
250
251 /* float_right — layout */
252 .e-et-mobile-flow-float_right .ecs-et-figure { float: right; order: unset; }
253 .e-et-mobile-flow-float_right .ecs-editorial-text { display: block; }
254
255 /* float_right — gap */
256 .elementor-widget.elementor-widget-ecs_editorial_text.e-et-mobile-flow-float_right figure.ecs-et-figure {
257 margin-top: 0;
258 margin-bottom: 0;
259 margin-right: 0;
260 margin-left: var(--ecs-et-gap, 1.5em);
261 }
262
263 /* Clearfix for mobile floats */
264 .e-et-mobile-flow-float_left .ecs-editorial-text::after,
265 .e-et-mobile-flow-float_right .ecs-editorial-text::after {
266 content: '';
267 display: table;
268 clear: both;
269 }
270
271 /* Remove clearfix for mobile non-float modes */
272 .e-et-mobile-flow-none .ecs-editorial-text::after,
273 .e-et-mobile-flow-before .ecs-editorial-text::after,
274 .e-et-mobile-flow-after .ecs-editorial-text::after {
275 content: none;
276 }
277
278 /* Content align — mobile */
279 .e-et-mobile-align-left .ecs-editorial-text { text-align: left; align-items: flex-start; }
280
281 .e-et-mobile-align-center .ecs-editorial-text { text-align: center; align-items: center; }
282 .e-et-mobile-align-center .ecs-et-figure { display: inline-block; }
283
284 .e-et-mobile-align-right .ecs-editorial-text { text-align: right; align-items: flex-end; }
285 .e-et-mobile-align-right .ecs-et-figure { display: inline-block; }
286
287 .e-et-mobile-align-justify .ecs-editorial-text { text-align: justify; align-items: flex-start; }
288 }
289