PluginProbe
Page Builder: Pagelayer – Drag and Drop website builder / 2.2.2
Page Builder: Pagelayer – Drag and Drop website builder v2.2.2
2.2.2 2.2.1 2.2.0 2.1.9 2.1.8 2.1.7 2.1.6 2.1.5 2.1.4 2.1.3 trunk 0.9.0 0.9.1 0.9.2 0.9.3 0.9.4 0.9.5 0.9.6 0.9.7 0.9.8 0.9.9 1.0.0 1.0.2 1.0.3 1.0.4 All 130 releases
pagelayer / templates / pagelayer-canvas.php

pagelayer-canvas.php in Page Builder: Pagelayer – Drag and Drop website builder 2.2.2, at templates/pagelayer-canvas.php

612 lines 26.1 KB
No matching file
Up and down to move Enter to open Esc to close
Raw Download Zip
1 <?php
2 /**
3 * Pagelayer Canvas — blank full-width page template.
4 * No theme header/footer, post title, breadcrumbs, author, or post nav.
5 */
6 if (!defined('ABSPATH')) {
7 exit;
8 }
9
10 $pagelayer_canvas_kind = '';
11 $pagelayer_canvas_type = '';
12 if (is_singular()) {
13 $pagelayer_canvas_id = get_queried_object_id();
14 if ($pagelayer_canvas_id) {
15 $pagelayer_canvas_kind = (string) get_post_meta($pagelayer_canvas_id, 'pagelayer_ai_layout_kind', true);
16 $pagelayer_canvas_type = (string) get_post_meta($pagelayer_canvas_id, 'pagelayer_template_type', true);
17 if ($pagelayer_canvas_kind === '' && $pagelayer_canvas_type !== '') {
18 $pagelayer_canvas_kind = $pagelayer_canvas_type;
19 }
20 if ($pagelayer_canvas_kind === '' && $pagelayer_canvas_type === 'single') {
21 $conds = get_post_meta($pagelayer_canvas_id, 'pagelayer_template_conditions', true);
22 if (is_array($conds)) {
23 foreach ($conds as $c) {
24 if (!empty($c['sub_template']) && $c['sub_template'] === '404') {
25 $pagelayer_canvas_kind = '404';
26 break;
27 }
28 }
29 }
30 }
31 }
32 }
33
34 $pagelayer_canvas_classes = array('pagelayer-canvas-body');
35 if ($pagelayer_canvas_kind !== '') {
36 $pagelayer_canvas_classes[] = 'pagelayer-ai-kind-' . sanitize_html_class($pagelayer_canvas_kind);
37 }
38 if ($pagelayer_canvas_type !== '') {
39 $pagelayer_canvas_classes[] = 'pagelayer-template-' . sanitize_html_class($pagelayer_canvas_type);
40 }
41 ?><!DOCTYPE html>
42 <html <?php language_attributes(); ?>>
43 <head>
44 <meta charset="<?php bloginfo('charset'); ?>">
45 <meta name="viewport" content="width=device-width, initial-scale=1">
46 <?php wp_head(); ?>
47 <style id="pagelayer-canvas-hide-theme">
48 .pagelayer-canvas-body .entry-title,
49 .pagelayer-canvas-body .page-title,
50 .pagelayer-canvas-body .entry-header,
51 .pagelayer-canvas-body .entry-meta,
52 .pagelayer-canvas-body .post-author,
53 .pagelayer-canvas-body .author-box,
54 .pagelayer-canvas-body .post-navigation,
55 .pagelayer-canvas-body .nav-links,
56 .pagelayer-canvas-body .breadcrumb,
57 .pagelayer-canvas-body .breadcrumbs,
58 .pagelayer-canvas-body .yoast-breadcrumb,
59 .pagelayer-canvas-body .rank-math-breadcrumb,
60 .pagelayer-canvas-body .posted-on,
61 .pagelayer-canvas-body .cat-links,
62 .pagelayer-canvas-body .tags-links { display: none !important; }
63 .pagelayer-canvas-body, .pagelayer-canvas-body .site, .pagelayer-canvas-body #page,
64 .pagelayer-canvas-body .site-content, .pagelayer-canvas-body .entry-content,
65 .pagelayer-canvas-body .pagelayer-content { margin: 0; padding: 0; max-width: none; width: 100%; }
66 /* Canvas Body Background & Dark Canvas Support */
67 body.pagelayer-canvas-body {
68 background-color: var(--pagelayer-color-bg, #ffffff);
69 color: var(--pagelayer-color-text, #111827);
70 transition: background-color 0.25s ease, color 0.25s ease;
71 }
72 body.pagelayer-canvas-body.pagelayer-canvas-dark,
73 body.pagelayer-canvas-body.pagelayer-ai-dark-canvas,
74 body.pagelayer-canvas-body.pagelayer-canvas-dark .site,
75 body.pagelayer-canvas-body.pagelayer-canvas-dark #page,
76 body.pagelayer-canvas-body.pagelayer-canvas-dark .site-content,
77 body.pagelayer-canvas-body.pagelayer-canvas-dark .entry-content,
78 body.pagelayer-canvas-body.pagelayer-canvas-dark .pagelayer-content,
79 body.pagelayer-canvas-body.pagelayer-ai-dark-canvas .site,
80 body.pagelayer-canvas-body.pagelayer-ai-dark-canvas #page,
81 body.pagelayer-canvas-body.pagelayer-ai-dark-canvas .site-content,
82 body.pagelayer-canvas-body.pagelayer-ai-dark-canvas .entry-content,
83 body.pagelayer-canvas-body.pagelayer-ai-dark-canvas .pagelayer-content {
84 background-color: var(--pagelayer-color-bg, #0f172a) !important;
85 color: #ffffff !important;
86 }
87 body.pagelayer-canvas-body.pagelayer-canvas-dark h1:not(.pagelayer-ai-on-light *),
88 body.pagelayer-canvas-body.pagelayer-canvas-dark h2:not(.pagelayer-ai-on-light *),
89 body.pagelayer-canvas-body.pagelayer-canvas-dark h3:not(.pagelayer-ai-on-light *),
90 body.pagelayer-canvas-body.pagelayer-canvas-dark h4:not(.pagelayer-ai-on-light *),
91 body.pagelayer-canvas-body.pagelayer-canvas-dark h5:not(.pagelayer-ai-on-light *),
92 body.pagelayer-canvas-body.pagelayer-canvas-dark h6:not(.pagelayer-ai-on-light *),
93 body.pagelayer-canvas-body.pagelayer-canvas-dark p:not(.pagelayer-ai-on-light *),
94 body.pagelayer-canvas-body.pagelayer-canvas-dark li:not(.pagelayer-ai-on-light *),
95 body.pagelayer-canvas-body.pagelayer-canvas-dark span:not(.pagelayer-ai-on-light *),
96 body.pagelayer-canvas-body.pagelayer-canvas-dark .pagelayer-heading-holder *:not(.pagelayer-ai-on-light *),
97 body.pagelayer-canvas-body.pagelayer-canvas-dark .pagelayer-text-holder *:not(.pagelayer-ai-on-light *),
98 body.pagelayer-canvas-body.pagelayer-canvas-dark .pagelayer-service-heading:not(.pagelayer-ai-on-light *),
99 body.pagelayer-canvas-body.pagelayer-canvas-dark .pagelayer-service-text:not(.pagelayer-ai-on-light *),
100 body.pagelayer-canvas-body.pagelayer-ai-dark-canvas h1:not(.pagelayer-ai-on-light *),
101 body.pagelayer-canvas-body.pagelayer-ai-dark-canvas h2:not(.pagelayer-ai-on-light *),
102 body.pagelayer-canvas-body.pagelayer-ai-dark-canvas h3:not(.pagelayer-ai-on-light *),
103 body.pagelayer-canvas-body.pagelayer-ai-dark-canvas h4:not(.pagelayer-ai-on-light *),
104 body.pagelayer-canvas-body.pagelayer-ai-dark-canvas h5:not(.pagelayer-ai-on-light *),
105 body.pagelayer-canvas-body.pagelayer-ai-dark-canvas h6:not(.pagelayer-ai-on-light *),
106 body.pagelayer-canvas-body.pagelayer-ai-dark-canvas p:not(.pagelayer-ai-on-light *),
107 body.pagelayer-canvas-body.pagelayer-ai-dark-canvas li:not(.pagelayer-ai-on-light *),
108 body.pagelayer-canvas-body.pagelayer-ai-dark-canvas span:not(.pagelayer-ai-on-light *),
109 body.pagelayer-canvas-body.pagelayer-ai-dark-canvas .pagelayer-heading-holder *:not(.pagelayer-ai-on-light *),
110 body.pagelayer-canvas-body.pagelayer-ai-dark-canvas .pagelayer-text-holder *:not(.pagelayer-ai-on-light *),
111 body.pagelayer-canvas-body.pagelayer-ai-dark-canvas .pagelayer-service-heading:not(.pagelayer-ai-on-light *),
112 body.pagelayer-canvas-body.pagelayer-ai-dark-canvas .pagelayer-service-text:not(.pagelayer-ai-on-light *) {
113 color: #ffffff !important;
114 }
115 /* Dark AI bands: theme body/heading ink is usually black, which disappears
116 on navy/charcoal section backgrounds. Light cards nested inside keep dark text. */
117 .pagelayer-canvas-body .pagelayer-ai-on-dark,
118 .pagelayer-canvas-body .pagelayer-ai-on-dark h1,
119 .pagelayer-canvas-body .pagelayer-ai-on-dark h2,
120 .pagelayer-canvas-body .pagelayer-ai-on-dark h3,
121 .pagelayer-canvas-body .pagelayer-ai-on-dark h4,
122 .pagelayer-canvas-body .pagelayer-ai-on-dark h5,
123 .pagelayer-canvas-body .pagelayer-ai-on-dark h6,
124 .pagelayer-canvas-body .pagelayer-ai-on-dark p,
125 .pagelayer-canvas-body .pagelayer-ai-on-dark li,
126 .pagelayer-canvas-body .pagelayer-ai-on-dark span,
127 .pagelayer-canvas-body .pagelayer-ai-on-dark .pagelayer-heading-holder,
128 .pagelayer-canvas-body .pagelayer-ai-on-dark .pagelayer-heading-holder *,
129 .pagelayer-canvas-body .pagelayer-ai-on-dark .pagelayer-text-holder,
130 .pagelayer-canvas-body .pagelayer-ai-on-dark .pagelayer-text-holder *,
131 .pagelayer-canvas-body .pagelayer-ai-on-dark .pagelayer-service-heading,
132 .pagelayer-canvas-body .pagelayer-ai-on-dark .pagelayer-service-text,
133 .pagelayer-canvas-body .pagelayer-ai-on-dark .pagelayer-service-details,
134 .pagelayer-canvas-body .pagelayer-ai-on-dark .pagelayer-testimonial-content,
135 .pagelayer-canvas-body .pagelayer-ai-on-dark .pagelayer-testimonial-author,
136 .pagelayer-canvas-body .pagelayer-ai-on-dark .pagelayer-quote-content,
137 .pagelayer-canvas-body .pagelayer-ai-on-dark .pagelayer-cite-holder,
138 .pagelayer-canvas-body .pagelayer-ai-on-dark .pagelayer-list-item,
139 .pagelayer-canvas-body .pagelayer-ai-on-dark .pagelayer-counter-text,
140 .pagelayer-canvas-body .pagelayer-ai-on-dark .pagelayer-counter-display,
141 .pagelayer-canvas-body .pagelayer-ai-on-dark .pagelayer-accordion-tab,
142 .pagelayer-canvas-body .pagelayer-ai-on-dark .pagelayer-accordion-tabs,
143 .pagelayer-canvas-body .pagelayer-ai-on-dark .pagelayer-accordion-title,
144 .pagelayer-canvas-body .pagelayer-ai-on-dark .pagelayer-accordion-panel {
145 color: #ffffff !important;
146 }
147 .pagelayer-canvas-body .pagelayer-ai-on-dark .pagelayer-ai-on-light,
148 .pagelayer-canvas-body .pagelayer-ai-on-dark .pagelayer-ai-on-light h1,
149 .pagelayer-canvas-body .pagelayer-ai-on-dark .pagelayer-ai-on-light h2,
150 .pagelayer-canvas-body .pagelayer-ai-on-dark .pagelayer-ai-on-light h3,
151 .pagelayer-canvas-body .pagelayer-ai-on-dark .pagelayer-ai-on-light h4,
152 .pagelayer-canvas-body .pagelayer-ai-on-dark .pagelayer-ai-on-light h5,
153 .pagelayer-canvas-body .pagelayer-ai-on-dark .pagelayer-ai-on-light h6,
154 .pagelayer-canvas-body .pagelayer-ai-on-dark .pagelayer-ai-on-light p,
155 .pagelayer-canvas-body .pagelayer-ai-on-dark .pagelayer-ai-on-light li,
156 .pagelayer-canvas-body .pagelayer-ai-on-dark .pagelayer-ai-on-light span,
157 .pagelayer-canvas-body .pagelayer-ai-on-dark .pagelayer-ai-on-light .pagelayer-heading-holder,
158 .pagelayer-canvas-body .pagelayer-ai-on-dark .pagelayer-ai-on-light .pagelayer-heading-holder *,
159 .pagelayer-canvas-body .pagelayer-ai-on-dark .pagelayer-ai-on-light .pagelayer-text-holder,
160 .pagelayer-canvas-body .pagelayer-ai-on-dark .pagelayer-ai-on-light .pagelayer-text-holder *,
161 .pagelayer-canvas-body .pagelayer-ai-on-dark .pagelayer-ai-on-light .pagelayer-service-heading,
162 .pagelayer-canvas-body .pagelayer-ai-on-dark .pagelayer-ai-on-light .pagelayer-service-text {
163 color: #111827 !important;
164 }
165 /* Light bands: never leave white/near-white copy on a white/surface background. */
166 .pagelayer-canvas-body .pagelayer-ai-on-light h1,
167 .pagelayer-canvas-body .pagelayer-ai-on-light h2,
168 .pagelayer-canvas-body .pagelayer-ai-on-light h3,
169 .pagelayer-canvas-body .pagelayer-ai-on-light h4,
170 .pagelayer-canvas-body .pagelayer-ai-on-light h5,
171 .pagelayer-canvas-body .pagelayer-ai-on-light h6,
172 .pagelayer-canvas-body .pagelayer-ai-on-light .pagelayer-heading-holder,
173 .pagelayer-canvas-body .pagelayer-ai-on-light .pagelayer-heading-holder *,
174 .pagelayer-canvas-body .pagelayer-ai-on-light .pagelayer-service-heading,
175 .pagelayer-canvas-body .pagelayer-ai-on-light .pagelayer-counter-text,
176 .pagelayer-canvas-body .pagelayer-ai-on-light .pagelayer-counter-display {
177 color: var(--pagelayer-color-primary, #111827) !important;
178 }
179 .pagelayer-canvas-body .pagelayer-ai-on-light p,
180 .pagelayer-canvas-body .pagelayer-ai-on-light li,
181 .pagelayer-canvas-body .pagelayer-ai-on-light .pagelayer-text-holder,
182 .pagelayer-canvas-body .pagelayer-ai-on-light .pagelayer-text-holder *,
183 .pagelayer-canvas-body .pagelayer-ai-on-light .pagelayer-service-text,
184 .pagelayer-canvas-body .pagelayer-ai-on-light .pagelayer-service-details,
185 .pagelayer-canvas-body .pagelayer-ai-on-light .pagelayer-testimonial-content,
186 .pagelayer-canvas-body .pagelayer-ai-on-light .pagelayer-testimonial-author,
187 .pagelayer-canvas-body .pagelayer-ai-on-light .pagelayer-quote-content,
188 .pagelayer-canvas-body .pagelayer-ai-on-light .pagelayer-cite-holder,
189 .pagelayer-canvas-body .pagelayer-ai-on-light .pagelayer-list-item,
190 .pagelayer-canvas-body .pagelayer-ai-on-light .pagelayer-accordion-tab,
191 .pagelayer-canvas-body .pagelayer-ai-on-light .pagelayer-accordion-tabs,
192 .pagelayer-canvas-body .pagelayer-ai-on-light .pagelayer-accordion-title,
193 .pagelayer-canvas-body .pagelayer-ai-on-light .pagelayer-accordion-panel,
194 .pagelayer-canvas-body .pagelayer-ai-on-light .pagelayer-address,
195 .pagelayer-canvas-body .pagelayer-ai-on-light .pagelayer-phone,
196 .pagelayer-canvas-body .pagelayer-ai-on-light .pagelayer-email {
197 color: var(--pagelayer-color-text, #111827) !important;
198 }
199 /* Accordion / Tabs: tab chrome and panel always contrast. */
200 .pagelayer-canvas-body .pagelayer-accordion-tabs,
201 .pagelayer-accordion-tabs {
202 background-color: #f1f5f9 !important;
203 color: #111827 !important;
204 }
205 .pagelayer-canvas-body .pagelayer-ai-on-dark .pagelayer-accordion-tabs,
206 .pagelayer-ai-on-dark .pagelayer-accordion-tabs {
207 background-color: rgba(255,255,255,0.14) !important;
208 color: #ffffff !important;
209 }
210 .pagelayer-canvas-body .pagelayer-accordion_item.active .pagelayer-accordion-tabs,
211 .pagelayer-accordion_item.active .pagelayer-accordion-tabs,
212 .pagelayer-canvas-body .active .pagelayer-accordion-tabs,
213 .active .pagelayer-accordion-tabs {
214 background-color: var(--pagelayer-color-primary, #4f46e5) !important;
215 color: #ffffff !important;
216 }
217 .pagelayer-canvas-body .pagelayer-accordion-panel,
218 .pagelayer-accordion-panel {
219 background-color: #ffffff !important;
220 color: #111827 !important;
221 }
222 .pagelayer-canvas-body .pagelayer-ai-on-dark .pagelayer-accordion-panel,
223 .pagelayer-ai-on-dark .pagelayer-accordion-panel {
224 background-color: rgba(255,255,255,0.08) !important;
225 color: #ffffff !important;
226 }
227 /* Social Profile: white glyph on brand circle so icon never matches its fill. */
228 .pagelayer-canvas-body .pagelayer-social_grp .pagelayer-icon-holder,
229 .pagelayer-social_grp .pagelayer-icon-holder {
230 background-color: var(--pagelayer-color-primary, #4f46e5) !important;
231 }
232 .pagelayer-canvas-body .pagelayer-social_grp .pagelayer-social-fa,
233 .pagelayer-social_grp .pagelayer-social-fa {
234 color: #ffffff !important;
235 }
236 /* AI icon / image boxes: centered icon, heading, and copy. */
237 .pagelayer-canvas-body .pagelayer-iconbox .pagelayer-service-icon,
238 .pagelayer-iconbox .pagelayer-service-icon,
239 .pagelayer-canvas-body .pagelayer-iconbox .pagelayer-service-heading,
240 .pagelayer-iconbox .pagelayer-service-heading,
241 .pagelayer-canvas-body .pagelayer-iconbox .pagelayer-service-details,
242 .pagelayer-iconbox .pagelayer-service-details,
243 .pagelayer-canvas-body .pagelayer-iconbox .pagelayer-service-text,
244 .pagelayer-iconbox .pagelayer-service-text,
245 .pagelayer-canvas-body .pagelayer-service .pagelayer-service-image,
246 .pagelayer-service .pagelayer-service-image,
247 .pagelayer-service-image,
248 .pagelayer-canvas-body .pagelayer-service .pagelayer-service-heading,
249 .pagelayer-service .pagelayer-service-heading,
250 .pagelayer-canvas-body .pagelayer-service .pagelayer-service-details,
251 .pagelayer-service .pagelayer-service-details,
252 .pagelayer-canvas-body .pagelayer-service .pagelayer-service-text,
253 .pagelayer-service .pagelayer-service-text {
254 text-align: center;
255 }
256 .pagelayer-canvas-body .pagelayer-iconbox .pagelayer-service-heading,
257 .pagelayer-iconbox .pagelayer-service-heading,
258 .pagelayer-canvas-body .pagelayer-service .pagelayer-service-heading,
259 .pagelayer-service .pagelayer-service-heading {
260 font-weight: 700;
261 line-height: 1.3;
262 margin-bottom: 8px;
263 }
264 .pagelayer-canvas-body .pagelayer-iconbox .pagelayer-service-text,
265 .pagelayer-iconbox .pagelayer-service-text,
266 .pagelayer-canvas-body .pagelayer-iconbox .pagelayer-service-text p,
267 .pagelayer-iconbox .pagelayer-service-text p,
268 .pagelayer-canvas-body .pagelayer-service .pagelayer-service-text,
269 .pagelayer-service .pagelayer-service-text,
270 .pagelayer-canvas-body .pagelayer-service .pagelayer-service-text p,
271 .pagelayer-service .pagelayer-service-text p {
272 font-size: 15px;
273 line-height: 1.7;
274 font-weight: 400;
275 }
276 /* AI Image Box / Service Card: uniform image sizing and equal card height */
277 .pagelayer-canvas-body .pagelayer-service .pagelayer-service-image,
278 .pagelayer-service .pagelayer-service-image,
279 .pagelayer-service-image {
280 width: 100% !important;
281 overflow: hidden !important;
282 margin: 0 auto 16px auto !important;
283 border-radius: 8px !important;
284 }
285 .pagelayer-canvas-body .pagelayer-service .pagelayer-service-image img,
286 .pagelayer-service .pagelayer-service-image img,
287 .pagelayer-canvas-body .pagelayer-service img.pagelayer-img,
288 .pagelayer-service img.pagelayer-img,
289 .pagelayer-canvas-body .pagelayer-service-image img,
290 .pagelayer-service-image img {
291 width: 100% !important;
292 height: 220px !important;
293 max-height: 220px !important;
294 min-height: 220px !important;
295 object-fit: cover !important;
296 object-position: center !important;
297 display: block !important;
298 margin: 0 auto !important;
299 border-radius: 8px !important;
300 }
301 .pagelayer-canvas-body .pagelayer-service-container,
302 .pagelayer-service-container {
303 display: flex !important;
304 flex-direction: column !important;
305 height: 100% !important;
306 }
307 .pagelayer-canvas-body .pagelayer-service-details,
308 .pagelayer-service-details {
309 display: flex !important;
310 flex-direction: column !important;
311 flex-grow: 1 !important;
312 }
313 .pagelayer-canvas-body .pagelayer-service-text,
314 .pagelayer-service-text {
315 flex-grow: 1 !important;
316 margin-bottom: 16px !important;
317 }
318 .pagelayer-canvas-body .pagelayer-service-btn,
319 .pagelayer-service-btn {
320 margin-top: auto !important;
321 align-self: center !important;
322 }
323
324 /* AI Icon Box: uniform icon sizing and equal card height */
325 .pagelayer-canvas-body .pagelayer-iconbox .pagelayer-service-icon,
326 .pagelayer-iconbox .pagelayer-service-icon {
327 display: inline-flex !important;
328 align-items: center !important;
329 justify-content: center !important;
330 width: 64px !important;
331 height: 64px !important;
332 min-width: 64px !important;
333 min-height: 64px !important;
334 margin: 0 auto 16px auto !important;
335 line-height: 1 !important;
336 }
337 .pagelayer-canvas-body .pagelayer-iconbox .pagelayer-service-icon i,
338 .pagelayer-iconbox .pagelayer-service-icon i,
339 .pagelayer-canvas-body .pagelayer-iconbox .pagelayer-service-icon svg,
340 .pagelayer-iconbox .pagelayer-service-icon svg {
341 font-size: 28px !important;
342 width: 28px !important;
343 height: 28px !important;
344 line-height: 28px !important;
345 display: inline-block !important;
346 }
347 .pagelayer-canvas-body .pagelayer-iconbox .pagelayer-service-container,
348 .pagelayer-iconbox .pagelayer-service-container {
349 display: flex !important;
350 flex-direction: column !important;
351 height: 100% !important;
352 }
353 .pagelayer-canvas-body .pagelayer-iconbox .pagelayer-service-details,
354 .pagelayer-iconbox .pagelayer-service-details {
355 display: flex !important;
356 flex-direction: column !important;
357 flex-grow: 1 !important;
358 }
359 .pagelayer-canvas-body .pagelayer-iconbox .pagelayer-service-text,
360 .pagelayer-iconbox .pagelayer-service-text {
361 flex-grow: 1 !important;
362 margin-bottom: 16px !important;
363 }
364 .pagelayer-canvas-body .pagelayer-iconbox .pagelayer-service-btn,
365 .pagelayer-iconbox .pagelayer-service-btn {
366 margin-top: auto !important;
367 align-self: center !important;
368 }
369
370 /* AI Image Slider: professional constrained sizing and aspect ratio */
371 .pagelayer-canvas-body .pagelayer-image_slider,
372 .pagelayer-canvas-body .pagelayer-image-slider-div,
373 .pagelayer-image_slider,
374 .pagelayer-image-slider-div {
375 max-width: 1000px !important;
376 margin-left: auto !important;
377 margin-right: auto !important;
378 overflow: visible !important;
379 border-radius: 12px !important;
380 }
381 .pagelayer-canvas-body .pagelayer-owl-prev,
382 .pagelayer-canvas-body .pagelayer-owl-next,
383 .pagelayer-owl-prev,
384 .pagelayer-owl-next {
385 width: 48px !important;
386 height: 48px !important;
387 min-width: 48px !important;
388 min-height: 48px !important;
389 border-radius: 50% !important;
390 background: rgba(15, 23, 42, 0.72) !important;
391 color: #ffffff !important;
392 display: flex !important;
393 align-items: center !important;
394 justify-content: center !important;
395 opacity: 1 !important;
396 z-index: 5 !important;
397 }
398 .pagelayer-canvas-body .pagelayer-owl-prev span,
399 .pagelayer-canvas-body .pagelayer-owl-next span,
400 .pagelayer-canvas-body .pagelayer-owl-prev i,
401 .pagelayer-canvas-body .pagelayer-owl-next i,
402 .pagelayer-owl-prev span,
403 .pagelayer-owl-next span,
404 .pagelayer-owl-prev i,
405 .pagelayer-owl-next i {
406 font-size: 28px !important;
407 line-height: 1 !important;
408 color: #ffffff !important;
409 }
410 .pagelayer-canvas-body .pagelayer-image-slider-ul,
411 .pagelayer-image-slider-ul {
412 margin: 0 auto !important;
413 }
414 .pagelayer-canvas-body .pagelayer-slider-item,
415 .pagelayer-slider-item {
416 overflow: hidden !important;
417 border-radius: 12px !important;
418 }
419 .pagelayer-canvas-body .pagelayer-image-slider-div img,
420 .pagelayer-canvas-body .pagelayer-image_slider img,
421 .pagelayer-canvas-body .pagelayer-slider-item img,
422 .pagelayer-canvas-body .pagelayer-image-slider-ul img,
423 .pagelayer-image-slider-div img,
424 .pagelayer-image_slider img,
425 .pagelayer-slider-item img,
426 .pagelayer-image-slider-ul img {
427 width: 100% !important;
428 height: 420px !important;
429 max-height: 440px !important;
430 min-height: 280px !important;
431 object-fit: cover !important;
432 object-position: center !important;
433 display: block !important;
434 margin: 0 auto !important;
435 border-radius: 12px !important;
436 }
437 .pagelayer-canvas-body .pagelayer-image-slider-ul[data-slides-items="2"] img,
438 .pagelayer-canvas-body .pagelayer-image-slider-ul[data-slides-items="3"] img,
439 .pagelayer-canvas-body .pagelayer-image-slider-ul[data-slides-items="4"] img,
440 .pagelayer-image-slider-ul[data-slides-items="2"] img,
441 .pagelayer-image-slider-ul[data-slides-items="3"] img,
442 .pagelayer-image-slider-ul[data-slides-items="4"] img {
443 height: 280px !important;
444 max-height: 300px !important;
445 }
446 @media (max-width: 768px) {
447 .pagelayer-canvas-body .pagelayer-image-slider-div img,
448 .pagelayer-canvas-body .pagelayer-image_slider img,
449 .pagelayer-canvas-body .pagelayer-slider-item img,
450 .pagelayer-image-slider-div img,
451 .pagelayer-image_slider img,
452 .pagelayer-slider-item img {
453 height: 260px !important;
454 max-height: 280px !important;
455 }
456 }
457
458 /* Multi-column Card Grids: columns stretch to equal height */
459 .pagelayer-canvas-body .pagelayer-row:not(.pagelayer-row-holder) > .pagelayer-row-holder,
460 .pagelayer-row:not(.pagelayer-row-holder) > .pagelayer-row-holder {
461 display: flex !important;
462 flex-wrap: wrap !important;
463 }
464 .pagelayer-canvas-body .pagelayer-col,
465 .pagelayer-col {
466 display: flex !important;
467 flex-direction: column !important;
468 }
469 .pagelayer-canvas-body .pagelayer-col > .pagelayer-col-holder,
470 .pagelayer-col > .pagelayer-col-holder {
471 display: flex !important;
472 flex-direction: column !important;
473 flex-grow: 1 !important;
474 height: 100% !important;
475 }
476 .pagelayer-canvas-body .pagelayer-col-holder > .pagelayer-ele-wrap,
477 .pagelayer-col-holder > .pagelayer-ele-wrap {
478 flex-grow: 1 !important;
479 display: flex !important;
480 flex-direction: column !important;
481 }
482 .pagelayer-canvas-body .pagelayer-col-holder > .pagelayer-ele-wrap > .pagelayer-ele,
483 .pagelayer-col-holder > .pagelayer-ele-wrap > .pagelayer-ele {
484 flex-grow: 1 !important;
485 height: 100% !important;
486 }
487
488 /* AI Call To Action (pl_call): ensure robust internal padding and breathing room */
489 .pagelayer-canvas-body .pagelayer-cta-content,
490 .pagelayer-cta-content {
491 box-sizing: border-box !important;
492 padding-left: 36px !important;
493 padding-right: 36px !important;
494 padding-top: 32px !important;
495 padding-bottom: 32px !important;
496 }
497 .pagelayer-canvas-body .pagelayer-cta-content-holder,
498 .pagelayer-cta-content-holder {
499 box-sizing: border-box !important;
500 display: flex !important;
501 align-items: center !important;
502 }
503 @media (max-width: 768px) {
504 .pagelayer-canvas-body .pagelayer-cta-content,
505 .pagelayer-cta-content {
506 padding-left: 20px !important;
507 padding-right: 20px !important;
508 padding-top: 24px !important;
509 padding-bottom: 24px !important;
510 }
511 }
512
513 /* AI Flipbox (pl_flipbox): prevent text spilling out of the card */
514 .pagelayer-canvas-body .pagelayer-flipbox-flipper,
515 .pagelayer-flipbox-flipper {
516 min-height: 380px !important;
517 box-sizing: border-box !important;
518 }
519 .pagelayer-canvas-body .pagelayer-flipbox-box,
520 .pagelayer-flipbox-box {
521 box-sizing: border-box !important;
522 overflow: hidden !important;
523 }
524 .pagelayer-canvas-body .pagelayer-flipbox-box-overlay,
525 .pagelayer-flipbox-box-overlay {
526 box-sizing: border-box !important;
527 padding: 24px 28px !important;
528 overflow: hidden !important;
529 }
530 .pagelayer-canvas-body .pagelayer-flipbox-content,
531 .pagelayer-flipbox-content {
532 box-sizing: border-box !important;
533 width: 100% !important;
534 max-width: 100% !important;
535 padding: 0 !important;
536 margin: 0 auto !important;
537 overflow: hidden !important;
538 display: flex !important;
539 flex-direction: column !important;
540 align-items: center !important;
541 justify-content: center !important;
542 word-break: break-word !important;
543 overflow-wrap: break-word !important;
544 }
545 .pagelayer-canvas-body .pagelayer-flipbox-front-heading,
546 .pagelayer-canvas-body .pagelayer-flipbox-back-heading,
547 .pagelayer-flipbox-front-heading,
548 .pagelayer-flipbox-back-heading {
549 max-width: 100% !important;
550 word-break: break-word !important;
551 overflow-wrap: break-word !important;
552 margin-bottom: 12px !important;
553 }
554 .pagelayer-canvas-body .pagelayer-flipbox-front-content,
555 .pagelayer-canvas-body .pagelayer-flipbox-back-content,
556 .pagelayer-flipbox-front-content,
557 .pagelayer-flipbox-back-content {
558 max-width: 100% !important;
559 word-break: break-word !important;
560 overflow-wrap: break-word !important;
561 line-height: 1.5 !important;
562 margin-bottom: 16px !important;
563 }
564 .pagelayer-canvas-body .pagelayer-flipbox-content .pagelayer-service-btn,
565 .pagelayer-flipbox-content .pagelayer-service-btn {
566 max-width: 100% !important;
567 white-space: normal !important;
568 word-break: break-word !important;
569 margin-top: 8px !important;
570 }
571
572 /* Theme-template chrome: header/footer/404 must not render as a full-viewport photo hero. */
573 body.pagelayer-ai-kind-header .pagelayer-row:not(.pagelayer-row-holder),
574 body.pagelayer-template-header .pagelayer-row:not(.pagelayer-row-holder) {
575 min-height: 0 !important;
576 }
577 body.pagelayer-ai-kind-footer .pagelayer-row:not(.pagelayer-row-holder),
578 body.pagelayer-template-footer .pagelayer-row:not(.pagelayer-row-holder) {
579 min-height: 0 !important;
580 }
581 body.pagelayer-ai-kind-404 .pagelayer-content,
582 body.pagelayer-ai-kind-404 .entry-content {
583 min-height: 70vh;
584 display: flex;
585 flex-direction: column;
586 justify-content: center;
587 }
588 body.pagelayer-ai-kind-404 .pagelayer-row:not(.pagelayer-row-holder) {
589 width: 100%;
590 }
591 body.pagelayer-ai-kind-404 .pagelayer-heading-holder h1,
592 body.pagelayer-ai-kind-404 h1 {
593 letter-spacing: -0.04em;
594 }
595 </style>
596 </head>
597 <body <?php body_class(implode(' ', $pagelayer_canvas_classes)); ?>>
598 <?php
599 if (function_exists('wp_body_open')) {
600 wp_body_open();
601 }
602 if (have_posts()) {
603 while (have_posts()) {
604 the_post();
605 the_content();
606 }
607 }
608 wp_footer();
609 ?>
610 </body>
611 </html>
612