1<!DOCTYPE html> 2<html lang="en-GB"> 3<head> 4 <meta charset="UTF-8"> 5 <meta name="viewport" content="width=device-width, initial-scale=1"> 6 <title>Gallery â KARDO App | Play Smart. Play Sorted.</title> 7 <title>Gallery – KARDO</title> 8<meta name='robots' content='max-image-preview:large' />
9<script>Object.defineProperty(window,"angiePlugin",{value:{"schemaVersion":1,"available":true,"version":"1.1.17"},writable:false,configurable:false});</script>
9<link rel='dns-prefetch' href='//fonts.googleapis.com' /> 10<link rel="alternate" title="oEmbed (JSON)" type="application/json+oembed" href="https://kardo-app.com/wp-json/oembed/1.0/embed?url=https%3A%2F%2Fkardo-app.com%2Fgallery%2F" /> 11<link rel="alternate" title="oEmbed (XML)" type="text/xml+oembed" href="https://kardo-app.com/wp-json/oembed/1.0/embed?url=https%3A%2F%2Fkardo-app.com%2Fgallery%2F&format=xml" /> 12<style id="wp-img-auto-sizes-contain-inline-css"> 13img:is([sizes=auto i],[sizes^="auto," i]){contain-intrinsic-size:3000px 1500px} 14/*# sourceURL=wp-img-auto-sizes-contain-inline-css */ 15</style> 16<style id="wp-emoji-styles-inline-css"> 17 18 img.wp-smiley, img.emoji { 19 display: inline !important; 20 border: none !important; 21 box-shadow: none !important; 22 height: 1em !important; 23 width: 1em !important; 24 margin: 0 0.07em !important; 25 vertical-align: -0.1em !important; 26 background: none !important; 27 padding: 0 !important; 28 } 29/*# sourceURL=wp-emoji-styles-inline-css */ 30</style> 31<link rel='stylesheet' id='wp-block-library-css' href='https://kardo-app.com/wp-includes/css/dist/block-library/style.min.css?ver=7.1.2' media='all' /> 32<style id="classic-theme-styles-inline-css"> 33/*! This file is auto-generated */ 34.wp-block-button__link{color:#fff;background-color:#32373c;border-radius:9999px;box-shadow:none;text-decoration:none;padding:calc(.667em + 2px) calc(1.333em + 2px);font-size:1.125em}.wp-block-file__button{background:#32373c;color:#fff;text-decoration:none} 35/*# sourceURL=/wp-includes/css/classic-themes.min.css */ 36</style>
37<style id="site-designer-shared-pattern-classes-inline-css"> 38/* Dark cover/section overlay + on-dark text. */ 39body .wp-site-blocks .is-style-overlay-dark .wp-block-cover__background { background-color: var(--wp--preset--color--base-3); color: var(--wp--preset--color--contrast-3); } 40.wp-block-cover.is-style-overlay-dark .wp-block-cover__background.has-background-dim { opacity: 0.50 !important; } 41:is(.wp-block-designsetgo-section, .wp-block-designsetgo-scroll-slides).is-style-overlay-dark { --dsgo-overlay-color: var(--wp--preset--color--base-3); --dsgo-overlay-opacity: 0.50; color: var(--wp--preset--color--contrast-3); } 42.dsgo-image-accordion-item.is-style-overlay-dark { --dsgo-overlay-color: var(--wp--preset--color--base-3); } 43.wp-block-group.has-background.is-style-overlay-dark { box-shadow: inset 0 0 0 9999px color-mix(in srgb, var(--wp--preset--color--base-3) 50%, transparent); } 44body .wp-site-blocks .is-style-overlay-dark, body .wp-site-blocks .is-style-on-dark { --dsgo-text-color: var(--wp--preset--color--contrast-3); color: var(--wp--preset--color--contrast-3) !important; } 45body .wp-site-blocks .is-style-overlay-dark :is(h1,h2,h3,h4,h5,h6,p,li,blockquote,cite), body .wp-site-blocks .is-style-on-dark :is(h1,h2,h3,h4,h5,h6,p,li,blockquote,cite) { color: var(--wp--preset--color--contrast-3) !important; } 46 47/* Solid dark section background + light text. */ 48.is-style-bg-dark { background-color: var(--wp--preset--color--contrast); color: var(--wp--preset--color--base); } 49.is-style-bg-dark a { color: var(--wp--preset--color--base); }
50/*# sourceURL=site-designer-shared-pattern-classes-inline-css */ 51</style> 52<style id="global-styles-inline-css"> 53:root{--wp--preset--aspect-ratio--square: 1;--wp--preset--aspect-ratio--4-3: 4/3;--wp--preset--aspect-ratio--3-4: 3/4;--wp--preset--aspect-ratio--3-2: 3/2;--wp--preset--aspect-ratio--2-3: 2/3;--wp--preset--aspect-ratio--16-9: 16/9;--wp--preset--aspect-ratio--9-16: 9/16;--wp--preset--color--black: #000000;--wp--preset--color--cyan-bluish-gray: #abb8c3;--wp--preset--color--white: #ffffff;--wp--preset--color--pale-pink: #f78da7;--wp--preset--color--vivid-red: #cf2e2e;--wp--preset--color--luminous-vivid-orange: #ff6900;--wp--preset--color--luminous-vivid-amber: #fcb900;--wp--preset--color--light-green-cyan: #7bdcb5;--wp--preset--color--vivid-green-cyan: #00d084;--wp--preset--color--pale-cyan-blue: #8ed1fc;--wp--preset--color--vivid-cyan-blue: #0693e3;--wp--preset--color--vivid-purple: #9b51e0;--wp--preset--gradient--vivid-cyan-blue-to-vivid-purple: linear-gradient(135deg,rgb(6,147,227) 0%,rgb(155,81,224) 100%);--wp--preset--gradient--light-green-cyan-to-vivid-green-cyan: linear-gradient(135deg,rgb(122,220,180) 0%,rgb(0,208,130) 100%);--wp--preset--gradient--luminous-vivid-amber-to-luminous-vivid-orange: linear-gradient(135deg,rgb(252,185,0) 0%,rgb(255,105,0) 100%);--wp--preset--gradient--luminous-vivid-orange-to-vivid-red: linear-gradient(135deg,rgb(255,105,0) 0%,rgb(207,46,46) 100%);--wp--preset--gradient--very-light-gray-to-cyan-bluish-gray: linear-gradient(135deg,rgb(238,238,238) 0%,rgb(169,184,195) 100%);
53--wp--preset--gradient--cool-to-warm-spectrum: linear-gradient(135deg,rgb(74,234,220) 0%,rgb(151,120,209) 20%,rgb(207,42,186) 40%,rgb(238,44,130) 60%,rgb(251,105,98) 80%,rgb(254,248,76) 100%);--wp--preset--gradient--blush-light-purple: linear-gradient(135deg,rgb(255,206,236) 0%,rgb(152,150,240) 100%);--wp--preset--gradient--blush-bordeaux: linear-gradient(135deg,rgb(254,205,165) 0%,rgb(254,45,45) 50%,rgb(107,0,62) 100%);--wp--preset--gradient--luminous-dusk: linear-gradient(135deg,rgb(255,203,112) 0%,rgb(199,81,192) 50%,rgb(65,88,208) 100%);--wp--preset--gradient--pale-ocean: linear-gradient(135deg,rgb(255,245,203) 0%,rgb(182,227,212) 50%,rgb(51,167,181) 100%);--wp--preset--gradient--electric-grass: linear-gradient(135deg,rgb(202,248,128) 0%,rgb(113,206,126) 100%);--wp--preset--gradient--midnight: linear-gradient(135deg,rgb(2,3,129) 0%,rgb(40,116,252) 100%);--wp--preset--font-size--small: 13px;--wp--preset--font-size--medium: 20px;--wp--preset--font-size--large: 36px;--wp--preset--font-size--x-large: 42px;--wp--preset--spacing--20: 0.44rem;--wp--preset--spacing--30: 0.67rem;--wp--preset--spacing--40: 1rem;--wp--preset--spacing--50: 1.5rem;--wp--preset--spacing--60: 2.25rem;--wp--preset--spacing--70: 3.38rem;--wp--preset--spacing--80: 5.06rem;--wp--preset--shadow--natural: 6px 6px 9px rgba(0, 0, 0, 0.2);--wp--preset--shadow--deep: 12px 12px 50px rgba(0, 0, 0, 0.4);--wp--preset--shadow--sharp: 6px 6px 0px rgba(0, 0, 0, 0.2);--wp--preset--shadow--outlined: 6px 6px 0px -3px rgb(255, 255, 255), 6px 6px rgb(0, 0, 0);--wp--preset--shadow--crisp: 6px 6px 0px rgb(0, 0, 0);}.wp-block-button{--wp--preset--dimension--25: 25%;--wp--preset--dimension--50: 50%;--wp--preset--dimension--75: 75%;--wp--preset--dimension--100: 100%;}:where(body) { margin: 0; }:where(.is-layout-flex){gap: 0.5em;}:where(.is-layout-grid){gap: 0.5em;}body .is-layout-flex{display: flex;}.is-layout-flex{flex-wrap: wrap;align-items: center;}.is-layout-flex > :is(*, div){margin: 0;}body .is-layout-grid{display: grid;}.is-layout-grid > :is(*, div){margin: 0;}body{padding-top: 0px;padding-right: 0px;padding-bottom: 0px;padding-left: 0px;}:root :where(.wp-element-button, .wp-block-button__link){background-color: #32373c;border-width: 0;color: #fff;font-family: inherit;font-size: inherit;font-style: inherit;font-weight: inherit;letter-spacing: inherit;line-height: inherit;padding-top: calc(0.667em + 2px);padding-right: calc(1.333em + 2px);padding-bottom: calc(0.667em + 2px);padding-left: calc(1.333em + 2px);text-decoration: none;text-transform: inherit;}.has-black-color{color: var(--wp--preset--color--black) !important;}.has-cyan-bluish-gray-color{color: var(--wp--preset--color--cyan-bluish-gray) !important;}.has-white-color{color: var(--wp--preset--color--white) !important;}.has-pale-pink-color{color: var(--wp--preset--color--pale-pink) !important;}.has-vivid-red-color{color: var(--wp--preset--color--vivid-red) !important;}.has-luminous-vivid-orange-color{color: var(--wp--preset--color--luminous-vivid-orange) !important;}.has-luminous-vivid-amber-color{color: var(--wp--preset--color--luminous-vivid-amber) !important;}.has-light-green-cyan-color{color: var(--wp--preset--color--light-green-cyan) !important;}.has-vivid-green-cyan-color{color: var(--wp--preset--color--vivid-green-cyan) !important;}.has-pale-cyan-blue-color{color: var(--wp--preset--color--pale-cyan-blue) !important;}.has-vivid-cyan-blue-color{color: var(--wp--preset--color--vivid-cyan-blue) !important;}.has-vivid-purple-color{color: var(--wp--preset--color--vivid-purple) !important;}.has-black-background-color{background-color: var(--wp--preset--color--black) !important;}.has-cyan-bluish-gray-background-color{background-color: var(--wp--preset--color--cyan-bluish-gray) !important;}.has-white-background-color{background-color: var(--wp--preset--color--white) !important;}.has-pale-pink-background-color{background-color: var(--wp--preset--color--pale-pink) !important;}.has-vivid-red-background-color{background-color: var(--wp--preset--color--vivid-red) !important;}.has-luminous-vivid-orange-background-color{background-color: var(--wp--preset--color--luminous-vivid-orange) !important;}.has-luminous-vivid-amber-background-color{background-color: var(--wp--preset--color--luminous-vivid-amber) !important;}.has-light-green-cyan-background-color{background-color: var(--wp--preset--color--light-green-cyan) !important;}.has-vivid-green-cyan-background-color{background-color: var(--wp--preset--color--vivid-green-cyan) !important;}.has-pale-cyan-blue-background-color{background-color: var(--wp--preset--color--pale-cyan-blue) !important;}.has-vivid-cyan-blue-background-color{background-color: var(--wp--preset--color--vivid-cyan-blue) !important;}.has-vivid-purple-background-color{background-color: var(--wp--preset--color--vivid-purple) !important;}.has-black-border-color{border-color: var(--wp--preset--color--black) !important;}.has-cyan-bluish-gray-border-color{border-color: var(--wp--preset--color--cyan-bluish-gray) !important;}.has-white-border-color{border-color: var(--wp--preset--color--white) !important;}.has-pale-pink-border-color{border-color: var(--wp--preset--color--pale-pink) !important;}.has-vivid-red-border-color{border-color: var(--wp--preset--color--vivid-red) !important;}.has-luminous-vivid-orange-border-color{border-color: var(--wp--preset--color--luminous-vivid-orange) !important;}.has-luminous-vivid-amber-border-color{border-color: var(--wp--preset--color--luminous-vivid-amber) !important;}.has-light-green-cyan-border-color{border-color: var(--wp--preset--color--light-green-cyan) !important;}.has-vivid-green-cyan-border-color{border-color: var(--wp--preset--color--vivid-green-cyan) !important;}.has-pale-cyan-blue-border-color{border-color: var(--wp--preset--color--pale-cyan-blue) !important;}.has-vivid-cyan-blue-border-color{border-color: var(--wp--preset--color--vivid-cyan-blue) !important;}.has-vivid-purple-border-color{border-color: var(--wp--preset--color--vivid-purple) !important;}.has-vivid-cyan-blue-to-vivid-purple-gradient-background{background: var(--wp--preset--gradient--vivid-cyan-blue-to-vivid-purple) !important;}.has-light-green-cyan-to-vivid-green-cyan-gradient-background{background: var(--wp--preset--gradient--light-green-cyan-to-vivid-green-cyan) !important;}.has-luminous-vivid-amber-to-luminous-vivid-orange-gradient-background{background: var(--wp--preset--gradient--luminous-vivid-amber-to-luminous-vivid-orange) !important;}.has-luminous-vivid-orange-to-vivid-red-gradient-background{background: var(--wp--preset--gradient--luminous-vivid-orange-to-vivid-red) !important;}
53.has-very-light-gray-to-cyan-bluish-gray-gradient-background{background: var(--wp--preset--gradient--very-light-gray-to-cyan-bluish-gray) !important;}.has-cool-to-warm-spectrum-gradient-background{background: var(--wp--preset--gradient--cool-to-warm-spectrum) !important;}.has-blush-light-purple-gradient-background{background: var(--wp--preset--gradient--blush-light-purple) !important;}.has-blush-bordeaux-gradient-background{background: var(--wp--preset--gradient--blush-bordeaux) !important;}.has-luminous-dusk-gradient-background{background: var(--wp--preset--gradient--luminous-dusk) !important;}.has-pale-ocean-gradient-background{background: var(--wp--preset--gradient--pale-ocean) !important;}.has-electric-grass-gradient-background{background: var(--wp--preset--gradient--electric-grass) !important;}.has-midnight-gradient-background{background: var(--wp--preset--gradient--midnight) !important;}.has-small-font-size{font-size: var(--wp--preset--font-size--small) !important;}.has-medium-font-size{font-size: var(--wp--preset--font-size--medium) !important;}.has-large-font-size{font-size: var(--wp--preset--font-size--large) !important;}.has-x-large-font-size{font-size: var(--wp--preset--font-size--x-large) !important;} 54:root :where(.wp-block-icon svg){width: 24px;} 55:where(.wp-block-gallery.is-layout-flex){gap: var( --wp--style--gallery-gap-default, var( --gallery-block--gutter-size, var( --wp--style--block-gap, 0.5em ) ) );}:where(.wp-block-gallery.is-layout-grid){gap: var( --wp--style--gallery-gap-default, var( --gallery-block--gutter-size, var( --wp--style--block-gap, 0.5em ) ) );} 56:where(.wp-block-latest-posts.is-layout-flex){gap: 1.25em;}:where(.wp-block-latest-posts.is-layout-grid){gap: 1.25em;} 57:where(.wp-block-post-template.is-layout-flex){gap: 1.25em;}:where(.wp-block-post-template.is-layout-grid){gap: 1.25em;} 58:where(.wp-block-term-template.is-layout-flex){gap: 1.25em;}:where(.wp-block-term-template.is-layout-grid){gap: 1.25em;} 59:where(.wp-block-columns.is-layout-flex){gap: 2em;}:where(.wp-block-columns.is-layout-grid){gap: 2em;} 60:root :where(.wp-block-pullquote){font-size: 1.5em;line-height: 1.6;} 61/*# sourceURL=global-styles-inline-css */ 62</style> 63<link rel='stylesheet' id='wp-theme-css' href='https://kardo-app.com/wp-includes/css/dist/theme/design-tokens.min.css?ver=7.1.2' media='all' /> 64<link rel='stylesheet' id='wp-components-css' href='https://kardo-app.com/wp-includes/css/dist/components/style.min.css?ver=7.1.2' media='all' /> 65<link rel='stylesheet' id='godaddy-styles-css' href='https://kardo-app.com/wp-content/mu-plugins/vendor/wpex/godaddy-launch/includes/Dependencies/GoDaddy/Styles/build/latest.css?ver=2.0.2' media='all' /> 66<link rel='stylesheet' id='kardo-style-css' href='https://kardo-app.com/wp-content/themes/kardo-theme/style.css?ver=1.0.0' media='all' /> 67<link rel='stylesheet' id='kardo-google-fonts-css' href='https://fonts.googleapis.com/css2?family=Archivo:wght@400;500;600;700;800;900&family=Instrument+Sans:wght@400;500;600;700&family=Space+Mono:wght@400;700&display=swap' media='all' /> 68<link rel='stylesheet' id='elementor-frontend-css' href='https://kardo-app.com/wp-content/plugins/elementor/assets/css/frontend.min.css?ver=4.3.1' media='all' /> 69<link rel='stylesheet' id='widget-image-css' href='https://kardo-app.com/wp-content/plugins/elementor/assets/css/widget-image.min.css?ver=4.3.1' media='all' /> 70<link rel='stylesheet' id='widget-nav-menu-css' href='https://kardo-app.com/wp-content/plugins/elementor-pro/assets/css/widget-nav-menu.min.css?ver=4.3.0' media='all' /> 71<link rel='stylesheet' id='widget-heading-css' href='https://kardo-app.com/wp-content/plugins/elementor/assets/css/widget-heading.min.css?ver=4.3.1' media='all' /> 72<link rel='stylesheet' id='widget-icon-list-css' href='https://kardo-app.com/wp-content/plugins/elementor/assets/css/widget-icon-list.min.css?ver=4.3.1' media='all' /> 73<link rel='stylesheet' id='elementor-post-12-css' href='https://kardo-app.com/wp-content/uploads/elementor/css/post-12.css?ver=1790227855' media='all' /> 74<link rel='stylesheet' id='elementor-post-245-css' href='https://kardo-app.com/wp-content/uploads/elementor/css/post-245.css?ver=1790227855' media='all' /> 75<link rel='stylesheet' id='elementor-post-249-css' href='https://kardo-app.com/wp-content/uploads/elementor/css/post-249.css?ver=1790227855' media='all' /> 76<link rel='stylesheet' id='elementor-gf-local-montserrat-css' href='https://kardo-app.com/wp-content/uploads/elementor/google-fonts/css/montserrat.css?ver=1753807419' media='all' /> 77<link rel='stylesheet' id='elementor-gf-poppins-css' href='https://fonts.googleapis.com/css?family=Poppins:100,100italic,200,200italic,300,300italic,400,400italic,500,500italic,600,600italic,700,700italic,800,800italic,900,900italic&display=swap' media='all' /> 78<link rel='stylesheet' id='elementor-gf-figtree-css' href='https://fonts.googleapis.com/css?family=
78Figtree:100,100italic,200,200italic,300,300italic,400,400italic,500,500italic,600,600italic,700,700italic,800,800italic,900,900italic&display=swap' media='all' />
79<script id="jquery-core-js" src="https://kardo-app.com/wp-includes/js/jquery/jquery.min.js?ver=3.7.1"></script>
vendor: 1 bytes, line 79
79
80<script id="jquery-migrate-js" src="https://kardo-app.com/wp-includes/js/jquery/jquery-migrate.min.js?ver=3.4.1"></script>
80 81<link rel="https://api.w.org/" href="https://kardo-app.com/wp-json/" /><link rel="alternate" title="JSON" type="application/json" href="https://kardo-app.com/wp-json/wp/v2/pages/368" /><link rel="EditURI" type="application/rsd+xml" title="RSD" href="https://kardo-app.com/xmlrpc.php?rsd" /> 82<meta name="generator" content="WordPress 7.1.2" /> 83<link rel="canonical" href="https://kardo-app.com/gallery/" /> 84<link rel='shortlink' href='https://kardo-app.com/?p=368' /> 85<meta name="generator" content="Elementor 4.3.1; features: e_font_icon_svg, additional_custom_breakpoints; settings: css_print_method-external, google_font-enabled, font_display-swap"> 86 <style> 87 .e-con.e-parent:nth-of-type(n+4):not(.e-lazyloaded):not(.e-no-lazyload), 88 .e-con.e-parent:nth-of-type(n+4):not(.e-lazyloaded):not(.e-no-lazyload) * { 89 background-image: none !important; 90 } 91 @media screen and (max-height: 1024px) { 92 .e-con.e-parent:nth-of-type(n+3):not(.e-lazyloaded):not(.e-no-lazyload), 93 .e-con.e-parent:nth-of-type(n+3):not(.e-lazyloaded):not(.e-no-lazyload) * { 94 background-image: none !important; 95 } 96 } 97 @media screen and (max-height: 640px) { 98 .e-con.e-parent:nth-of-type(n+2):not(.e-lazyloaded):not(.e-no-lazyload), 99 .e-con.e-parent:nth-of-type(n+2):not(.e-lazyloaded):not(.e-no-lazyload) * { 100 background-image: none !important; 101 } 102 } 103 </style> 104 <link rel="icon" href="https://kardo-app.com/wp-content/uploads/2024/08/cropped-CMYK_White-768x907-2-32x32.png" sizes="32x32" /> 105<link rel="icon" href="https://kardo-app.com/wp-content/uploads/2024/08/cropped-CMYK_White-768x907-2-192x192.png" sizes="192x192" /> 106<link rel="apple-touch-icon" href="https://kardo-app.com/wp-content/uploads/2024/08/cropped-CMYK_White-768x907-2-180x180.png" /> 107<meta name="msapplication-TileImage" content="https://kardo-app.com/wp-content/uploads/2024/08/cropped-CMYK_White-768x907-2-270x270.png" /> 108<style id="wp-site-designer-contrast-fallback"> .wp-block-group:not([data-dsgo-inline-bg]),.wp-block-column:not([data-dsgo-inline-bg]),.wp-block-columns:not([data-dsgo-inline-bg]){--dsgo-text-color:initial;} :is(.wp-block-designsetgo-section,.wp-block-group,.wp-block-column).has-background:not([class*="-background-color"]):not(.has-text-color):not(.is-style-footer-section):not(.is-style-header-section),.wp-block-cover:not(.has-text-color){color:var(--wp--preset--color--contrast-3) !important;--dsgo-text-color:var(--wp--preset--color--contrast-3);} body .wp-site-blocks :is(:is(.wp-block-designsetgo-section,.wp-block-group,.wp-block-column).has-background:not([class*="-background-color"]):not(.has-text-color):not(.is-style-footer-section):not(.is-style-header-section),.wp-block-cover) h1:not(.has-text-color):where(:not(.elementor *):not([data-elementor-type] *)),body .wp-site-blocks :is(:is(.wp-block-designsetgo-section,.wp-block-group,.wp-block-column).has-background:not([class*="-background-color"]):not(.has-text-color):not(.is-style-footer-section):not(.is-style-header-section),.wp-block-cover) h2:not(.has-text-color):where(:not(.elementor *):not([data-elementor-type] *)),body .wp-site-blocks :is(:is(.wp-block-designsetgo-section,.wp-block-group,.wp-block-column).has-background:not([class*="-background-color"]):not(.has-text-color):not(.is-style-footer-section):not(.is-style-header-section),.wp-block-cover) h3:not(.has-text-color):where(:not(.elementor *):not([data-elementor-type] *)),body .wp-site-blocks :is(:is(.wp-block-designsetgo-section,.wp-block-group,.wp-block-column).has-background:not([class*="-background-color"]):not(.has-text-color):not(.is-style-footer-section):not(.is-style-header-section),.wp-block-cover) h4:not(.has-text-color):where(:not(.elementor *):not([data-elementor-type] *)),body .wp-site-blocks :is(:is(.wp-block-designsetgo-section,.wp-block-group,.wp-block-column).has-background:not([class*="-background-color"]):not(.has-text-color):not(.is-style-footer-section):not(.is-style-header-section),.wp-block-cover) h5:not(.has-text-color):where(:not(.elementor *):not([data-elementor-type] *)),body .wp-site-blocks :is(:is(.wp-block-designsetgo-section,.wp-block-group,.wp-block-column).has-background:not([class*="-background-color"]):not(.has-text-color):not(.is-style-footer-section):not(.is-style-header-section),.wp-block-cover) h6:not(.has-text-color):where(:not
108(.elementor *):not([data-elementor-type] *)),body .wp-site-blocks :is(:is(.wp-block-designsetgo-section,.wp-block-group,.wp-block-column).has-background:not([class*="-background-color"]):not(.has-text-color):not(.is-style-footer-section):not(.is-style-header-section),.wp-block-cover) p:not(.has-text-color):where(:not(.elementor *):not([data-elementor-type] *)),body .wp-site-blocks :is(:is(.wp-block-designsetgo-section,.wp-block-group,.wp-block-column).has-background:not([class*="-background-color"]):not(.has-text-color):not(.is-style-footer-section):not(.is-style-header-section),.wp-block-cover) a:where(:not(.wp-element-button):not(.wp-block-social-link-anchor)):not(.has-text-color):where(:not(.elementor *):not([data-elementor-type] *)),body .wp-site-blocks :is(:is(.wp-block-designsetgo-section,.wp-block-group,.wp-block-column).has-background:not([class*="-background-color"]):not(.has-text-color):not(.is-style-footer-section):not(.is-style-header-section),.wp-block-cover) .wp-element-caption:not(.has-text-color):where(:not(.elementor *):not([data-elementor-type] *)){color:var(--dsgo-text-color,inherit) !important;} body .wp-site-blocks :is(.wp-block-designsetgo-section,.wp-block-group,.wp-block-column)[data-dsgo-inline-bg] .wp-block-button:is([class*="is-style-outline"],[class*="is-style-secondary"]) .wp-element-button{color:var(--dsgo-text-color,inherit) !important;border-color:currentColor !important;}body .wp-site-blocks :is(.wp-block-designsetgo-section,.wp-block-group,.wp-block-column)[data-dsgo-inline-bg] .wp-block-button:is([class*="is-style-outline"],[class*="is-style-secondary"]) .wp-element-button:hover{opacity:0.75;} body .wp-site-blocks [data-dsgo-inline-bg] h1:not(.has-text-color):where(:not(.elementor *):not([data-elementor-type] *)),body .wp-site-blocks [data-dsgo-inline-bg] h2:not(.has-text-color):where(:not(.elementor *):not([data-elementor-type] *)),body .wp-site-blocks [data-dsgo-inline-bg] h3:not(.has-text-color):where(:not(.elementor *):not([data-elementor-type] *)),body .wp-site-blocks [data-dsgo-inline-bg] h4:not(.has-text-color):where(:not(.elementor *):not([data-elementor-type] *)),body .wp-site-blocks [data-dsgo-inline-bg] h5:not(.has-text-color):where(:not(.elementor *):not([data-elementor-type] *)),body .wp-site-blocks [data-dsgo-inline-bg] h6:not(.has-text-color):where(:not(.elementor *):not([data-elementor-type] *)),body .wp-site-blocks [data-dsgo-inline-bg] p:not(.has-text-color):where(:not(.elementor *):not([data-elementor-type] *)),body .wp-site-blocks [data-dsgo-inline-bg] a:where(:not(.wp-element-button):not(.wp-block-social-link-anchor)):not(.has-text-color):where(:not(.elementor *):not([data-elementor-type] *)),body .wp-site-blocks [data-dsgo-inline-bg] .wp-element-caption:not(.has-text-color):where(:not(.elementor *):not([data-elementor-type] *)){color:var(--dsgo-text-color,inherit) !important;} .wp-block-designsetgo-section.has-background:not([data-dsgo-inline-bg]):not(.has-text-color){color:var(--wp--preset--color--contrast);--dsgo-text-color:var(--wp--preset--color--contrast);} :is(.wp-block-group,.wp-block-column).is-style-section-1:not(:is(.has-white-background-color,.has-black-background-color)),.has-background:is(.wp-block-group,.wp-block-column).is-style-section-1:not(:is(.has-white-background-color,.has-black-background-color)),.has-text-color:is(.wp-block-group,.wp-block-column).is-style-section-1:not(:is(.has-white-background-color,.has-black-background-color)){background-color:var(--wp--preset--color--accent-5);color:var(--wp--preset--color--contrast);} body .wp-site-blocks :is(.wp-block-group,.wp-block-column).is-style-section-1:not(:is(.has-white-background-color,.has-black-background-color)) h1:where(:not(.elementor *):not([data-elementor-type] *)),body .wp-site-blocks :is(.wp-block-group,.wp-block-column).is-style-section-1:not(:is(.has-white-background-color,.has-black-background-color)) h2:where(:not(.elementor *):not([data-elementor-type] *)),body .wp-site-blocks :is(.wp-block-group,.wp-block-column).is-style-section-1:not(:is(.has-white-background-color,.has-black-background-color)) h3:where(:not
108(.elementor *):not([data-elementor-type] *)),body .wp-site-blocks :is(.wp-block-group,.wp-block-column).is-style-section-1:not(:is(.has-white-background-color,.has-black-background-color)) h4:where(:not(.elementor *):not([data-elementor-type] *)),body .wp-site-blocks :is(.wp-block-group,.wp-block-column).is-style-section-1:not(:is(.has-white-background-color,.has-black-background-color)) h5:where(:not(.elementor *):not([data-elementor-type] *)),body .wp-site-blocks :is(.wp-block-group,.wp-block-column).is-style-section-1:not(:is(.has-white-background-color,.has-black-background-color)) h6:where(:not(.elementor *):not([data-elementor-type] *)),body .wp-site-blocks :is(.wp-block-group,.wp-block-column).is-style-section-1:not(:is(.has-white-background-color,.has-black-background-color)) p:where(:not(.elementor *):not([data-elementor-type] *)),body .wp-site-blocks :is(.wp-block-group,.wp-block-column).is-style-section-1:not(:is(.has-white-background-color,.has-black-background-color)) a:where(:not(.wp-element-button):not(.wp-block-social-link-anchor)):where(:not(.elementor *):not([data-elementor-type] *)),body .wp-site-blocks :is(.wp-block-group,.wp-block-column).is-style-section-1:not(:is(.has-white-background-color,.has-black-background-color)) .wp-element-caption:where(:not(.elementor *):not([data-elementor-type] *)){color:var(--wp--preset--color--contrast);} :is(.wp-block-group,.wp-block-column).is-style-section-2:not(:is(.has-white-background-color,.has-black-background-color)),.has-background:is(.wp-block-group,.wp-block-column).is-style-section-2:not(:is(.has-white-background-color,.has-black-background-color)),.has-text-color:is(.wp-block-group,.wp-block-column).is-style-section-2:not(:is(.has-white-background-color,.has-black-background-color)){background-color:var(--wp--preset--color--accent-2);color:var(--wp--preset--color--contrast);} body .wp-site-blocks :is(.wp-block-group,.wp-block-column).is-style-section-2:not(:is(.has-white-background-color,.has-black-background-color)) h1:where(:not(.elementor *):not([data-elementor-type] *)),body .wp-site-blocks :is(.wp-block-group,.wp-block-column).is-style-section-2:not(:is(.has-white-background-color,.has-black-background-color)) h2:where(:not(.elementor *):not([data-elementor-type] *)),body .wp-site-blocks :is(.wp-block-group,.wp-block-column).is-style-section-2:not(:is(.has-white-background-color,.has-black-background-color)) h3:where(:not(.elementor *):not([data-elementor-type] *)),body .wp-site-blocks :is(.wp-block-group,.wp-block-column).is-style-section-2:not(:is(.has-white-background-color,.has-black-background-color)) h4:where(:not(.elementor *):not([data-elementor-type] *)),body .wp-site-blocks :is(.wp-block-group,.wp-block-column).is-style-section-2:not(:is(.has-white-background-color,.has-black-background-color)) h5:where(:not(.elementor *):not([data-elementor-type] *)),body .wp-site-blocks :is(.wp-block-group,.wp-block-column).is-style-section-2:not(:is(.has-white-background-color,.has-black-background-color)) h6:where(:not(.elementor *):not([data-elementor-type] *)),body .wp-site-blocks :is(.wp-block-group,.wp-block-column).is-style-section-2:not(:is(.has-white-background-color,.has-black-background-color)) p:where(:not(.elementor *):not([data-elementor-type] *)),body .wp-site-blocks :is(.wp-block-group,.wp-block-column).is-style-section-2:not(:is(.has-white-background-color,.has-black-background-color)) a:where(:not(.wp-element-button):not(.wp-block-social-link-anchor)):where(:not(.elementor *):not([data-elementor-type] *)),body .wp-site-blocks :is(.wp-block-group,.wp-block-column).is-style-section-2:not(:is(.has-white-background-color,.has-black-background-color)) .wp-element-caption:where(:not(.elementor *):not([data-elementor-type] *)){color:var(--wp--preset--color--contrast);} :is(.wp-block-group,.wp-block-column).is-style-section-3:not(:is(.has-white-background-color,.has-black-background-color)),.has-background:is(.wp-block-group,.wp-block-column).is-style-section-3:not(:is(.has-white-background-color,.has-black-background-color)),.has-text-color:is(.wp-block-group,.wp-block-column).is-style-section-3:not(:is(.has-white-background-color,.has-black-background-color)){background-color:var(--wp--preset--color--accent-1);color:var(--wp--preset--color--contrast);} body .wp-site-blocks :is(.wp-block-group,.wp-block-column).is-style-section-3:not(:is(.has-white-background-color,.has-black-background-color)) h1:where(:not
108(.elementor *):not([data-elementor-type] *)),body .wp-site-blocks :is(.wp-block-group,.wp-block-column).is-style-section-3:not(:is(.has-white-background-color,.has-black-background-color)) h2:where(:not(.elementor *):not([data-elementor-type] *)),body .wp-site-blocks :is(.wp-block-group,.wp-block-column).is-style-section-3:not(:is(.has-white-background-color,.has-black-background-color)) h3:where(:not(.elementor *):not([data-elementor-type] *)),body .wp-site-blocks :is(.wp-block-group,.wp-block-column).is-style-section-3:not(:is(.has-white-background-color,.has-black-background-color)) h4:where(:not(.elementor *):not([data-elementor-type] *)),body .wp-site-blocks :is(.wp-block-group,.wp-block-column).is-style-section-3:not(:is(.has-white-background-color,.has-black-background-color)) h5:where(:not(.elementor *):not([data-elementor-type] *)),body .wp-site-blocks :is(.wp-block-group,.wp-block-column).is-style-section-3:not(:is(.has-white-background-color,.has-black-background-color)) h6:where(:not(.elementor *):not([data-elementor-type] *)),body .wp-site-blocks :is(.wp-block-group,.wp-block-column).is-style-section-3:not(:is(.has-white-background-color,.has-black-background-color)) p:where(:not(.elementor *):not([data-elementor-type] *)),body .wp-site-blocks :is(.wp-block-group,.wp-block-column).is-style-section-3:not(:is(.has-white-background-color,.has-black-background-color)) a:where(:not(.wp-element-button):not(.wp-block-social-link-anchor)):where(:not(.elementor *):not([data-elementor-type] *)),body .wp-site-blocks :is(.wp-block-group,.wp-block-column).is-style-section-3:not(:is(.has-white-background-color,.has-black-background-color)) .wp-element-caption:where(:not(.elementor *):not([data-elementor-type] *)){color:var(--wp--preset--color--contrast);} :is(.wp-block-group,.wp-block-column).is-style-section-4:not(:is(.has-white-background-color,.has-black-background-color)),.has-background:is(.wp-block-group,.wp-block-column).is-style-section-4:not(:is(.has-white-background-color,.has-black-background-color)),.has-text-color:is(.wp-block-group,.wp-block-column).is-style-section-4:not(:is(.has-white-background-color,.has-black-background-color)){background-color:var(--wp--preset--color--accent-3);color:var(--wp--preset--color--accent-2);} body .wp-site-blocks :is(.wp-block-group,.wp-block-column).is-style-section-4:not(:is(.has-white-background-color,.has-black-background-color)) h1:where(:not(.elementor *):not([data-elementor-type] *)),body .wp-site-blocks :is(.wp-block-group,.wp-block-column).is-style-section-4:not(:is(.has-white-background-color,.has-black-background-color)) h2:where(:not(.elementor *):not([data-elementor-type] *)),body .wp-site-blocks :is(.wp-block-group,.wp-block-column).is-style-section-4:not(:is(.has-white-background-color,.has-black-background-color)) h3:where(:not(.elementor *):not([data-elementor-type] *)),body .wp-site-blocks :is(.wp-block-group,.wp-block-column).is-style-section-4:not(:is(.has-white-background-color,.has-black-background-color)) h4:where(:not(.elementor *):not([data-elementor-type] *)),body .wp-site-blocks :is(.wp-block-group,.wp-block-column).is-style-section-4:not(:is(.has-white-background-color,.has-black-background-color)) h5:where(:not(.elementor *):not([data-elementor-type] *)),body .wp-site-blocks :is(.wp-block-group,.wp-block-column).is-style-section-4:not(:is(.has-white-background-color,.has-black-background-color)) h6:where(:not(.elementor *):not([data-elementor-type] *)),body .wp-site-blocks :is(.wp-block-group,.wp-block-column).is-style-section-4:not(:is(.has-white-background-color,.has-black-background-color)) p:where(:not(.elementor *):not([data-elementor-type] *)),body .wp-site-blocks :is(.wp-block-group,.wp-block-column).is-style-section-4:not(:is(.has-white-background-color,.has-black-background-color)) a:where(:not(.wp-element-button):not(.wp-block-social-link-anchor)):where(:not(.elementor *):not([data-elementor-type] *)),body .wp-site-blocks :is(.wp-block-group,.wp-block-column).is-style-section-4:not(:is(.has-white-background-color,.has-black-background-color)) .wp-element-caption:where(:not
108(.elementor *):not([data-elementor-type] *)){color:var(--wp--preset--color--accent-2);} :is(.wp-block-group,.wp-block-column).is-style-section-5:not(:is(.has-white-background-color,.has-black-background-color)),.has-background:is(.wp-block-group,.wp-block-column).is-style-section-5:not(:is(.has-white-background-color,.has-black-background-color)),.has-text-color:is(.wp-block-group,.wp-block-column).is-style-section-5:not(:is(.has-white-background-color,.has-black-background-color)){background-color:var(--wp--preset--color--contrast);color:var(--wp--preset--color--base);} body .wp-site-blocks :is(.wp-block-group,.wp-block-column).is-style-section-5:not(:is(.has-white-background-color,.has-black-background-color)) h1:where(:not(.elementor *):not([data-elementor-type] *)),body .wp-site-blocks :is(.wp-block-group,.wp-block-column).is-style-section-5:not(:is(.has-white-background-color,.has-black-background-color)) h2:where(:not(.elementor *):not([data-elementor-type] *)),body .wp-site-blocks :is(.wp-block-group,.wp-block-column).is-style-section-5:not(:is(.has-white-background-color,.has-black-background-color)) h3:where(:not(.elementor *):not([data-elementor-type] *)),body .wp-site-blocks :is(.wp-block-group,.wp-block-column).is-style-section-5:not(:is(.has-white-background-color,.has-black-background-color)) h4:where(:not(.elementor *):not([data-elementor-type] *)),body .wp-site-blocks :is(.wp-block-group,.wp-block-column).is-style-section-5:not(:is(.has-white-background-color,.has-black-background-color)) h5:where(:not(.elementor *):not([data-elementor-type] *)),body .wp-site-blocks :is(.wp-block-group,.wp-block-column).is-style-section-5:not(:is(.has-white-background-color,.has-black-background-color)) h6:where(:not(.elementor *):not([data-elementor-type] *)),body .wp-site-blocks :is(.wp-block-group,.wp-block-column).is-style-section-5:not(:is(.has-white-background-color,.has-black-background-color)) p:where(:not(.elementor *):not([data-elementor-type] *)),body .wp-site-blocks :is(.wp-block-group,.wp-block-column).is-style-section-5:not(:is(.has-white-background-color,.has-black-background-color)) a:where(:not(.wp-element-button):not(.wp-block-social-link-anchor)):where(:not(.elementor *):not([data-elementor-type] *)),body .wp-site-blocks :is(.wp-block-group,.wp-block-column).is-style-section-5:not(:is(.has-white-background-color,.has-black-background-color)) .wp-element-caption:where(:not(.elementor *):not([data-elementor-type] *)){color:var(--wp--preset--color--base);} .wp-block-designsetgo-section.is-style-section-1:not(:is(.has-white-background-color,.has-black-background-color)),.has-background.wp-block-designsetgo-section.is-style-section-1:not(:is(.has-white-background-color,.has-black-background-color)),.has-text-color.wp-block-designsetgo-section.is-style-section-1:not(:is(.has-white-background-color,.has-black-background-color)){background-color:var(--wp--preset--color--base);color:var(--wp--preset--color--contrast);} body .wp-site-blocks .wp-block-designsetgo-section.is-style-section-1:not(:is(.has-white-background-color,.has-black-background-color)) h1:where(:not(.elementor *):not([data-elementor-type] *)),body .wp-site-blocks .wp-block-designsetgo-section.is-style-section-1:not(:is(.has-white-background-color,.has-black-background-color)) h2:where(:not(.elementor *):not([data-elementor-type] *)),body .wp-site-blocks .wp-block-designsetgo-section.is-style-section-1:not(:is(.has-white-background-color,.has-black-background-color)) h3:where(:not(.elementor *):not([data-elementor-type] *)),body .wp-site-blocks .wp-block-designsetgo-section.is-style-section-1:not(:is(.has-white-background-color,.has-black-background-color)) h4:where(:not(.elementor *):not([data-elementor-type] *)),body .wp-site-blocks .wp-block-designsetgo-section.is-style-section-1:not(:is(.has-white-background-color,.has-black-background-color)) h5:where(:not(.elementor *):not([data-elementor-type] *)),body .wp-site-blocks .wp-block-designsetgo-section.is-style-section-1:not(:is(.has-white-background-color,.has-black-background-color)) h6:where(:not
108(.elementor *):not([data-elementor-type] *)),body .wp-site-blocks .wp-block-designsetgo-section.is-style-section-1:not(:is(.has-white-background-color,.has-black-background-color)) p:where(:not(.elementor *):not([data-elementor-type] *)),body .wp-site-blocks .wp-block-designsetgo-section.is-style-section-1:not(:is(.has-white-background-color,.has-black-background-color)) a:where(:not(.wp-element-button):not(.wp-block-social-link-anchor)):where(:not(.elementor *):not([data-elementor-type] *)),body .wp-site-blocks .wp-block-designsetgo-section.is-style-section-1:not(:is(.has-white-background-color,.has-black-background-color)) .wp-element-caption:where(:not(.elementor *):not([data-elementor-type] *)){color:var(--wp--preset--color--contrast);} .wp-block-designsetgo-section.is-style-section-2:not(:is(.has-white-background-color,.has-black-background-color)),.has-background.wp-block-designsetgo-section.is-style-section-2:not(:is(.has-white-background-color,.has-black-background-color)),.has-text-color.wp-block-designsetgo-section.is-style-section-2:not(:is(.has-white-background-color,.has-black-background-color)){background-color:var(--wp--preset--color--base-2);color:var(--wp--preset--color--contrast-2);} body .wp-site-blocks .wp-block-designsetgo-section.is-style-section-2:not(:is(.has-white-background-color,.has-black-background-color)) h1:where(:not(.elementor *):not([data-elementor-type] *)),body .wp-site-blocks .wp-block-designsetgo-section.is-style-section-2:not(:is(.has-white-background-color,.has-black-background-color)) h2:where(:not(.elementor *):not([data-elementor-type] *)),body .wp-site-blocks .wp-block-designsetgo-section.is-style-section-2:not(:is(.has-white-background-color,.has-black-background-color)) h3:where(:not(.elementor *):not([data-elementor-type] *)),body .wp-site-blocks .wp-block-designsetgo-section.is-style-section-2:not(:is(.has-white-background-color,.has-black-background-color)) h4:where(:not(.elementor *):not([data-elementor-type] *)),body .wp-site-blocks .wp-block-designsetgo-section.is-style-section-2:not(:is(.has-white-background-color,.has-black-background-color)) h5:where(:not(.elementor *):not([data-elementor-type] *)),body .wp-site-blocks .wp-block-designsetgo-section.is-style-section-2:not(:is(.has-white-background-color,.has-black-background-color)) h6:where(:not(.elementor *):not([data-elementor-type] *)),body .wp-site-blocks .wp-block-designsetgo-section.is-style-section-2:not(:is(.has-white-background-color,.has-black-background-color)) p:where(:not(.elementor *):not([data-elementor-type] *)),body .wp-site-blocks .wp-block-designsetgo-section.is-style-section-2:not(:is(.has-white-background-color,.has-black-background-color)) a:where(:not(.wp-element-button):not(.wp-block-social-link-anchor)):where(:not(.elementor *):not([data-elementor-type] *)),body .wp-site-blocks .wp-block-designsetgo-section.is-style-section-2:not(:is(.has-white-background-color,.has-black-background-color)) .wp-element-caption:where(:not(.elementor *):not([data-elementor-type] *)){color:var(--wp--preset--color--contrast-2);} .wp-block-designsetgo-section.is-style-section-4:not(:is(.has-white-background-color,.has-black-background-color)),.has-background.wp-block-designsetgo-section.is-style-section-4:not(:is(.has-white-background-color,.has-black-background-color)),.has-text-color.wp-block-designsetgo-section.is-style-section-4:not(:is(.has-white-background-color,.has-black-background-color)){background-color:var(--wp--preset--color--base-3);color:var(--wp--preset--color--contrast);} body .wp-site-blocks .wp-block-designsetgo-section.is-style-section-4:not(:is(.has-white-background-color,.has-black-background-color)) h1:where(:not(.elementor *):not([data-elementor-type] *)),body .wp-site-blocks .wp-block-designsetgo-section.is-style-section-4:not(:is(.has-white-background-color,.has-black-background-color)) h2:where(:not(.elementor *):not([data-elementor-type] *)),body .wp-site-blocks .wp-block-designsetgo-section.is-style-section-4:not(:is(.has-white-background-color,.has-black-background-color)) h3:where(:not
108(.elementor *):not([data-elementor-type] *)),body .wp-site-blocks .wp-block-designsetgo-section.is-style-section-4:not(:is(.has-white-background-color,.has-black-background-color)) h4:where(:not(.elementor *):not([data-elementor-type] *)),body .wp-site-blocks .wp-block-designsetgo-section.is-style-section-4:not(:is(.has-white-background-color,.has-black-background-color)) h5:where(:not(.elementor *):not([data-elementor-type] *)),body .wp-site-blocks .wp-block-designsetgo-section.is-style-section-4:not(:is(.has-white-background-color,.has-black-background-color)) h6:where(:not(.elementor *):not([data-elementor-type] *)),body .wp-site-blocks .wp-block-designsetgo-section.is-style-section-4:not(:is(.has-white-background-color,.has-black-background-color)) p:where(:not(.elementor *):not([data-elementor-type] *)),body .wp-site-blocks .wp-block-designsetgo-section.is-style-section-4:not(:is(.has-white-background-color,.has-black-background-color)) a:where(:not(.wp-element-button):not(.wp-block-social-link-anchor)):where(:not(.elementor *):not([data-elementor-type] *)),body .wp-site-blocks .wp-block-designsetgo-section.is-style-section-4:not(:is(.has-white-background-color,.has-black-background-color)) .wp-element-caption:where(:not(.elementor *):not([data-elementor-type] *)){color:var(--wp--preset--color--contrast);} .wp-block-designsetgo-section.is-style-section-5:not(:is(.has-white-background-color,.has-black-background-color)),.has-background.wp-block-designsetgo-section.is-style-section-5:not(:is(.has-white-background-color,.has-black-background-color)),.has-text-color.wp-block-designsetgo-section.is-style-section-5:not(:is(.has-white-background-color,.has-black-background-color)){background-color:var(--wp--preset--color--contrast);color:var(--wp--preset--color--base);} body .wp-site-blocks .wp-block-designsetgo-section.is-style-section-5:not(:is(.has-white-background-color,.has-black-background-color)) h1:where(:not(.elementor *):not([data-elementor-type] *)),body .wp-site-blocks .wp-block-designsetgo-section.is-style-section-5:not(:is(.has-white-background-color,.has-black-background-color)) h2:where(:not(.elementor *):not([data-elementor-type] *)),body .wp-site-blocks .wp-block-designsetgo-section.is-style-section-5:not(:is(.has-white-background-color,.has-black-background-color)) h3:where(:not(.elementor *):not([data-elementor-type] *)),body .wp-site-blocks .wp-block-designsetgo-section.is-style-section-5:not(:is(.has-white-background-color,.has-black-background-color)) h4:where(:not(.elementor *):not([data-elementor-type] *)),body .wp-site-blocks .wp-block-designsetgo-section.is-style-section-5:not(:is(.has-white-background-color,.has-black-background-color)) h5:where(:not(.elementor *):not([data-elementor-type] *)),body .wp-site-blocks .wp-block-designsetgo-section.is-style-section-5:not(:is(.has-white-background-color,.has-black-background-color)) h6:where(:not(.elementor *):not([data-elementor-type] *)),body .wp-site-blocks .wp-block-designsetgo-section.is-style-section-5:not(:is(.has-white-background-color,.has-black-background-color)) p:where(:not(.elementor *):not([data-elementor-type] *)),body .wp-site-blocks .wp-block-designsetgo-section.is-style-section-5:not(:is(.has-white-background-color,.has-black-background-color)) a:where(:not(.wp-element-button):not(.wp-block-social-link-anchor)):where(:not(.elementor *):not([data-elementor-type] *)),body .wp-site-blocks .wp-block-designsetgo-section.is-style-section-5:not(:is(.has-white-background-color,.has-black-background-color)) .wp-element-caption:where(:not(.elementor *):not([data-elementor-type] *)){color:var(--wp--preset--color--base);} body .wp-site-blocks input:not([type="submit"]):not([type="button"]):not([type="reset"]):not([type="checkbox"]):not([type="radio"]):not([type="file"]):not([type="image"]):not([type="hidden"]),body .wp-site-blocks textarea,body .wp-site-blocks select{background-color:var(--wp--preset--color--base);color:var(--wp--preset--color--contrast);border:1px solid color-mix(in srgb, var(--wp--preset--color--contrast) 30%, transparent);} .wp-site-blocks input[type="submit"]:not(.wp-element-button),.wp-site-blocks button[type="submit"]:not(.wp-element-button){background-color:var(--wp--preset--color--accent-2);color:var(--wp--preset--color--base);border-width:0;padding:12px 30px;font-family:inherit;font-size:var(--wp--preset--font-size--medium, 1rem);line-height:inherit;cursor:pointer;}</style> 109 <style id="site-designer-logo-constraints"> 110 .wp-block-site-logo.is-default-size img { 111 width: auto; 112 height: auto; 113 max-width: 180px; 114 max-height: 80px; 115 } 116 .wp-block-site-logo img { 117 height: auto; 118 } 119 </style> 120 <style> 121 * { box-sizing: border-box; } 122 body { margin: 0; padding: 0; background: #08080A; color: #fff; font-family: 'Instrument Sans', sans-serif; line-height: 1.6; } 123 124 header.kardo-nav { display: flex; align-items: center; justify-content: space-between; padding: 20px 48px; border-bottom: 1px solid rgba(255,255,255,.08); background: rgba(8,8,10,.95); backdrop-filter: blur(10px); position: sticky; top: 0; z-index: 100; } 125 .logo { height: 48px; width: auto; } 126 .back-link { font-family: 'Space Mono', monospace; font-size: 13px; font-weight: 700; color: #FF9A3D; text-decoration: none; display: inline-flex; align-items: center; gap: 8px; } 127 .back-link:hover { color: #FF6B1A; } 128 129 .hero { max-width: 1200px; margin: 60px auto 40px; padding: 0 24px; text-align: center; position: relative; } 130 .eyebrow { font-family: 'Space Mono', monospace; font-size: 12px; letter-spacing: .16em; color: #FF6B1A; margin-bottom: 12px; } 131 .title { font-family: 'Archivo', sans-serif; font-size: 42px; font-weight: 900; margin: 0 0 16px; letter-spacing: -.02em; } 132 .subtitle { font-size: 17px; color: #a2a2ab; max-width: 680px; margin: 0 auto 36px; } 133 134 /* Filters */ 135 .filter-bar { display: flex; justify-content: center; gap: 10px; flex-wrap: wrap; margin-bottom: 40px; } 136 .filter-btn { padding: 10px 20px; border-radius: 999px; font-size: 13px; font-weight: 700; font-family: 'Space Mono', monospace; background: rgba(255,255,255,.05); border: 1px solid rgba(255,255,255,.1); color: #b6b6bd; cursor: pointer; transition: all .2s; } 137 .filter-btn:hover, .filter-btn.active { background: rgba(255,107,26,.15); border-color: #FF6B1A;
137 color: #FF9A3D; } 138 139 /* Gallery Grid */ 140 .gallery-grid { max-width: 1200px; margin: 0 auto; padding: 0 24px 80px; display: grid; grid-template-columns: repeat(3, 1fr); gap: 20px; } 141 @media (max-width: 900px) { .gallery-grid { grid-template-columns: repeat(2, 1fr); } header.kardo-nav { padding: 16px 20px; } } 142 @media (max-width: 768px) { .gallery-grid { grid-template-columns: 1fr; } .title { font-size: 32px; } } 143 144 .card { background: linear-gradient(180deg,#131316,#0d0d10); border: 1px solid rgba(255,255,255,.08); border-radius: 18px; overflow: hidden; position: relative; cursor: pointer; transition: transform .3s, border-color .3s; } 145 .card:hover { transform: translateY(-4px); border-color: rgba(255,107,26,.4); } 146 147 .card-img-wrap { position: relative; width: 100%; height: 240px; overflow: hidden; background: #1a1a1f; } 148 .card-img-wrap img { width: 100%; height: 100%; object-fit: cover; transition: transform .5s; } 149 .card:hover .card-img-wrap img { transform: scale(1.05); } 150 151 .badge-cat { position: absolute; top: 12px; left: 12px; background: rgba(8,8,10,.85); border: 1px solid rgba(255,255,255,.15); backdrop-filter: blur(4px); font-family: 'Space Mono', monospace; font-size: 10px; font-weight: 700; color: #FF9A3D; padding: 4px 10px; border-radius: 999px; } 152 .video-play-overlay { position: absolute; inset: 0; background: rgba(0,0,0,.35); display: flex; align-items: center; justify-content: center; } 153 .play-icon { width: 50px; height: 50px; border-radius: 50%; background: #FF6B1A; color: #fff; display: flex; align-items: center; justify-content: center; font-size: 20px; box-shadow: 0 10px 25px rgba(255,107,26,.6); } 154 155 .card-body { padding: 18px; } 156 .card-title { font-family: 'Archivo', sans-serif; font-size: 16px; font-weight: 800; margin: 0 0 6px; color: #fff; } 157 .card-meta { display: flex; justify-content: space-between; font-size: 12px; color: #8a8a92; font-family: 'Space Mono', monospace; } 158 159 /* Lightbox Modal */ 160 .lightbox { position: fixed; inset: 0; background: rgba(4,4,5,.92); z-index: 9999; display: none; align-items: center; justify-content: center; padding: 24px; } 161 .lightbox.open { display: flex; } 162 .lightbox-content { max-width: 800px; width: 100%; background: #121215; border: 1px solid rgba(255,255,255,.12); border-radius: 20px; overflow: hidden; position: relative; padding: 24px; text-align: center; } 163 .lightbox-close { position: absolute; top: 16px; right: 16px; width: 36px; height: 36px; border-radius: 50%; background: rgba(255,255,255,.1); border: none; color: #fff; font-size: 18px; cursor: pointer; } 164 .lightbox-media { max-height: 480px; width: 100%; object-fit: contain; border-radius: 12px; margin-bottom: 16px; } 165 166 .upload-cta { max-width: 1200px; margin: 40px auto 80px; padding: 40px; background: linear-gradient(180deg, rgba(255,107,26,.12), rgba(13,13,16,1)); border: 1px solid rgba(255,107,26,.3); border-radius: 24px; text-align: center; } 167 .upload-cta h3 { font-family: 'Archivo', sans-serif; font-size: 24px; font-weight: 800; margin: 0 0 10px; } 168 .upload-cta p { font-size: 15px; color: #a2a2ab; margin: 0 0 20px; } 169 .btn-upload { display: inline-block; padding: 12px 28px; background: #FF6B1A; color: #fff; font-weight: 700; font-family: 'Space Mono', monospace; font-size: 13px; text-decoration: none; border-radius: 999px; box-shadow: 0 10px 30px rgba(255,107,26,.4); } 170 171 .lightbox-nav { 172 position: absolute; 173 top: 50%; 174 transform: translateY(-50%); 175 width: 52px; 176 height: 52px; 177 border-radius: 50%; 178 background: rgba(255,255,255,.14); 179 border: 1px solid rgba(255,255,255,.2); 180 color: #ffffff; 181 font-size: 24px; 182 display: flex; 183 align-items: center; 184 justify-content: center; 185 cursor: pointer; 186 z-index: 1000002; 187 transition: all .2s ease; 188 } 189 .lightbox-nav:hover { 190 background: rgba(255,107,26,.85); 191 border-color: #FF6B1A; 192 transform: translateY(-50%) scale(1.1); 193 } 194 .lightbox-prev { left: 24px; } 195 .lightbox-next { right: 24px; } 196 @media (max-width: 768px) {
197 .lightbox-prev { left: 10px; width: 42px; height: 42px; font-size: 18px; } 198 .lightbox-next { right: 10px; width: 42px; height: 42px; font-size: 18px; } 199 } 200 201 202/* GLOBAL MOBILE BREAKPOINT & VIEWPORT STANDARDS (375px base, 360px min, <768px mobile) */ 203*, *:before, *:after { 204 box-sizing: border-box !important; 205} 206html, body { 207 max-width: 100vw !important; 208 overflow-x: hidden !important; 209} 210 211@media (max-width: 768px) { 212 /* Enforce mobile container boundaries down to 360px */ 213 .container, .kardo-container, .wrapper, .section, #kardoTpModal, #kardoPsModal, .kardo-modal-box { 214 width: 100% !important; 215 max-width: 100% !important; 216 box-sizing: border-box !important; 217 } 218 219 /* Ensure all flex & grid layouts adapt cleanly under 768px */ 220 .grid-2col, .grid-3col, .grid-4col, .kardoGrid2Col, .kardo-two-ways-grid, .kardo-topics-grid { 221 grid-template-columns: 1fr !important; 222 } 223 224 /* Ensure inputs and option pills wrap cleanly on 360px-375px viewports */ 225 input, select, textarea, .kardoOptionBtn { 226 max-width: 100% !important; 227 box-sizing: border-box !important; 228 } 229} 230 231 232/* COOKIE BANNER & PREFERENCES SYSTEM STYLING */ 233.kardo-switch { 234 position: relative; 235 display: inline-block; 236 width: 48px; 237 height: 26px; 238 flex-shrink: 0; 239} 240.kardo-switch input { 241 opacity: 0; 242 width: 0; 243 height: 0; 244} 245.kardo-slider { 246 position: absolute; 247 cursor: pointer; 248 inset: 0; 249 background-color: rgba(255, 255, 255, 0.2); 250 transition: .3s; 251 border-radius: 999px; 252 border: 1px solid rgba(255, 255, 255, 0.15); 253} 254.kardo-slider:before { 255 position: absolute; 256 content: ""; 257 height: 20px; 258 width: 20px; 259 left: 2px; 260 bottom: 2px; 261 background-color: white; 262 transition: .3s; 263 border-radius: 50%; 264} 265input:checked + .kardo-slider { 266 background-color: #FF6B1A; 267 border-color: #FF6B1A; 268} 269input:checked + .kardo-slider:before { 270 transform: translateX(22px); 271} 272 273 274/* ============================================================ 275 SMARTPHONE ULTRA-OPTIMIZATION ENGINE (360px - 768px Viewports) 276 ============================================================ */ 277 278/* Global Box Sizing & Overflows */ 279*, *:before, *:after { 280 box-sizing: border-box !important; 281} 282 283html, body { 284 max-width: 100vw !important; 285 overflow-x: hidden !important; 286 -webkit-text-size-adjust: 100% !important; 287 touch-action: manipulation; 288} 289 290/* Touch targets & Button active state feedback */ 291button, a.kardo-btn, .kardoOptionBtn, .kardo-style-btn, .kardo-skill-btn, .kardo-focus-btn, .kardo-time-btn { 292 touch-action: manipulation; 293 -webkit-tap-highlight-color: transparent; 294} 295 296button:active, a.kardo-btn:active, .kardoOptionBtn:active { 297 transform: scale(0.97) !important; 298} 299 300/* Mobile Breakpoint Optimizations (< 768px) */ 301@media (max-width: 768px) { 302 /* Section Padding & Spacing */ 303 .rSec, section, header, footer { 304 padding-left: 16px !important; 305 padding-right: 16px !important; 306 padding-top: 40px !important; 307 padding-bottom: 40px !important; 308 } 309 310 /* Fluid Typography for Mobile */ 311 h1, .rH1 { 312 font-size: clamp(28px, 8vw, 44px) !important; 313 line-height: 1.15 !important; 314 letter-spacing: -0.02em !important; 315 } 316 317 h2, .rH2 { 318 font-size: clamp(22px, 6vw, 32px) !important; 319 line-height: 1.25 !important; 320 letter-spacing: -0.01em !important; 321 } 322 323 h3 { 324 font-size: clamp(18px, 5vw, 24px) !important; 325 line-height: 1.3 !important; 326 } 327 328 p, li { 329 font-size: 14.5px !important; 330 line-height: 1.6 !important; 331 } 332 333 /* Structural Grid Collapse for Smartphones */ 334 .rHero, .rGrid2, .rFeat, .rTwo, .rThree, .kardoGrid2Col, .kardo-topics-grid, .kardo-two-ways-grid, .kardo-support-grid { 335 grid-template-columns: 1fr !important; 336 gap: 20px !important; 337 } 338 339 /* Card Padding Adjustments for Mobile */ 340 .rFeat, .rCta, div[style*="border-radius: 22px"], div[style*="border-radius: 24px"], div[style*="border-radius: 18px"] { 341 padding: 20px 16px !important; 342 border-radius: 18px !important; 343 } 344 345 /* Header & Logo Optimization */ 346 .rLogo, header img { 347 height: 42px !important; 348 width: auto !important; 349 } 350 351 /* Feature Screenshots & Images */ 352 img[data-shot], .rFeat img, .shot-card img { 353 width: 100% !important; 354 height: auto !important; 355 max-height: 420px !important; 356 object-fit: contain !important; 357 border-radius: 12px !important; 358 } 359
360 /* Interactive Canvas (Court Heatmap) Scaling */ 361 #kardoCourtCanvas { 362 width: 100% !important; 363 height: auto !important; 364 max-height: 240px !important; 365 display: block !important; 366 } 367 368 /* Form Range Sliders Optimization */ 369 input[type=range] { 370 height: 32px !important; 371 cursor: pointer; 372 } 373 374 /* Option Buttons Wrapping on 360px screens */ 375 .kardoOptions { 376 display: grid !important; 377 grid-template-columns: repeat(2, 1fr) !important; 378 gap: 8px !important; 379 } 380 381 .kardoOptionBtn { 382 width: 100% !important; 383 min-width: 0 !important; 384 padding: 10px 8px !important; 385 font-size: 13px !important; 386 text-align: center !important; 387 } 388 389 /* Modals Smartphone Adjustments */ 390 #kardoTpModal, #kardoPsModal, .kardo-modal-box, #kardoQuizModal > div { 391 width: 96% !important; 392 max-width: 100% !important; 393 padding: 20px 14px !important; 394 margin: 0 auto !important; 395 border-radius: 18px !important; 396 max-height: 92vh !important; 397 } 398 399 /* Cookie Banner Mobile Alignment */ 400 #kardoCookieBanner { 401 width: 95% !important; 402 bottom: 12px !important; 403 padding: 18px 14px !important; 404 border-radius: 16px !important; 405 } 406 407 #kardoCookieBanner > div[style*="display: flex"] { 408 flex-direction: column !important; 409 gap: 8px !important; 410 } 411 412 #kardoCookieBanner button { 413 width: 100% !important; 414 } 415 416 /* Mobile Sticky App Bar */ 417 #kardoMobileBottomBar { 418 display: flex !important; 419 } 420} 421 422/* Hide Mobile Bottom Bar on Desktop */ 423#kardoMobileBottomBar { 424 display: none; 425} 426 427</style> 428 <!-- Open Graph / WhatsApp / Facebook Meta Tags --> 429 <meta property="og:type" content="website"> 430 <meta property="og:url" content="https://kardo-app.com"> 431 <meta property="og:site_name" content="KARDO App"> 432 <meta property="og:title" content="KARDO App â Play Smart. Play Sorted."> 433 <meta property="og:description" content="The world's 1st all-in-one badminton app for grassroots and semi-pro players, coaches, academies, and tournament hosts."> 434 <meta property="og:image" content="https://kardo-app.com/wp-content/themes/kardo-theme/assets/og-kardo-square.png"> 435 <meta property="og:image:secure_url" content="https://kardo-app.com/wp-content/themes/kardo-theme/assets/og-kardo-square.png"> 436 <meta property="og:image:type" content="image/png"> 437 <meta property="og:image:width" content="600"> 438 <meta property="og:image:height" content="600"> 439 <meta property="og:image:alt" content="KARDO App â Play Smart. Play Sorted."> 440 441 <!-- Twitter Card Meta Tags --> 442 <meta name="twitter:card" content="summary_large_image"> 443 <meta name="twitter:url" content="https://kardo-app.com"> 444 <meta name="twitter:title" content="KARDO App â Play Smart. Play Sorted."> 445 <meta name="twitter:description" content="The world's 1st all-in-one badminton app for grassroots and semi-pro players, coaches, academies, and tournament hosts."> 446 <meta name="twitter:image" content="https://kardo-app.com/wp-content/themes/kardo-theme/assets/og-kardo-share.png"> 447 448 <!-- Favicon & Apple Touch Icons (Vibrant Orange Badge for Light/Dark Tab Contrast) --> 449 <link rel="shortcut icon" href="https://kardo-app.com/wp-content/themes/kardo-theme/assets/favicon.ico" type="image/x-icon"> 450 <link rel="icon" type="image/x-icon" href="https://kardo-app.com/wp-content/themes/kardo-theme/assets/favicon.ico"> 451 <link rel="icon" type="image/png" sizes="32x32" href="https://kardo-app.com/wp-content/themes/kardo-theme/assets/favicon-32x32.png"> 452 <link rel="icon" type="image/png" sizes="16x16" href="https://kardo-app.com/wp-content/themes/kardo-theme/assets/favicon-16x16.png"> 453 <link rel="icon" type="image/png" sizes="64x64" href="https://kardo-app.com/wp-content/themes/kardo-theme/assets/favicon.png"> 454 <link rel="apple-touch-icon" sizes="180x180" href="https://kardo-app.com/wp-content/themes/kardo-theme/assets/apple-touch-icon.png"> 455</head> 456<body> 457 <header class="kardo-nav"> 458 <a href="https://kardo-app.com/"><img src="https://kardo-app.com/wp-content/themes/kardo-theme/assets/kardo-full.png" alt="KARDO App" class="logo"></a> 459 <a href="https://kardo-app.com/#media" class="back-link">â Return to Website</a> 460 </header> 461 462 <div class="hero"> 463 <div class="eyebrow">COMMUNITY & TOURNAMENT GALLERY</div> 464 <h1 class="title">Relive the Action, Passion & Celebrations</h1> 465 <p class="subtitle">Curated photos and videos from KARDO tournaments, academies, epic court rallies, and celebration dances.</p> 466 467 <div class="filter-bar"> 468 <button class="filter-btn active" onclick="filterGallery('all')">ð All Moments</button> 469 <button class="filter-btn" onclick="filterGallery('tournament')">ð¸ Tournaments</button> 470 <button class="filter-btn" onclick="filterGallery('videos')">ð¥ Epic Rallies & Reels</button> 471 <button class="filter-btn" onclick="filterGallery('celebrations')">ð Celebration Dances</button> 472 <button class="filter-btn" onclick="filterGallery('podium')">ð¥ Winners & Podiums</button> 473 </div> 474 </div> 475 476 <div class="gallery-grid" id="galleryContainer"> 477 <div class="card" data-cat="tournament" onclick="openLightbox('https://kardo-app.com/wp-content/themes/kardo-theme/assets/contest-smash.webp', 'Smash Shot Challenge 2026', 'Finals match point smash from C
477ourt 1')"> 478 <div class="card-img-wrap"> 479 <span class="badge-cat">TOURNAMENT</span> 480 <img src="https://kardo-app.com/wp-content/themes/kardo-theme/assets/contest-smash.webp" alt="Smash Shot Challenge"> 481 </div> 482 <div class="card-body"> 483 <div class="card-title">Smash Shot Challenge 2026</div> 484 <div class="card-meta"><span>Karnataka Open</span><span>â¤ï¸ 512</span></div> 485 </div> 486 </div> 487 488 <div class="card" data-cat="videos" onclick="openLightbox('https://kardo-app.com/wp-content/themes/kardo-theme/assets/contest-smash.webp', '38-Shot Championship Rally (Video)', 'Unbelievable defensive recovery & jump smash recap')"> 489 <div class="card-img-wrap"> 490 <span class="badge-cat">VIDEO REEL</span> 491 <img src="https://kardo-app.com/wp-content/themes/kardo-theme/assets/contest-smash.webp" alt="Rally Video"> 492 <div class="video-play-overlay"><div class="play-icon">â¶</div></div> 493 </div> 494 <div class="card-body"> 495 <div class="card-title">38-Shot Championship Rally</div> 496 <div class="card-meta"><span>duration 0:48</span><span>ðï¸ 1.8k views</span></div> 497 </div> 498 </div> 499 500 <div class="card" data-cat="celebrations" onclick="openLightbox('https://kardo-app.com/wp-content/themes/kardo-theme/assets/contest-photo.jpeg', 'Victorious Match Celebration', 'Post-match victory dance after winning the doubles final')"> 501 <div class="card-img-wrap"> 502 <span class="badge-cat">CELEBRATIONS</span> 503 <img src="https://kardo-app.com/wp-content/themes/kardo-theme/assets/contest-photo.jpeg" alt="Celebration Dance"> 504 </div> 505 <div class="card-body"> 506 <div class="card-title">Victorious Match Celebration</div> 507 <div class="card-meta"><span>User Submission</span><span>â¤ï¸ 389</span></div> 508 </div> 509 </div> 510 511 <div class="card" data-cat="podium" onclick="openLightbox('https://kardo-app.com/wp-content/themes/kardo-theme/assets/contest-giveaway.jpeg', 'KARDO Open Trophy Ceremony', 'Singles & Doubles champions receiving official trophies')"> 512 <div class="card-img-wrap"> 513 <span class="badge-cat">PODIUM</span> 514 <img src="https://kardo-app.com/wp-content/themes/kardo-theme/assets/contest-giveaway.jpeg" alt="Trophy Ceremony"> 515 </div> 516 <div class="card-body"> 517 <div class="card-title">KARDO Open Trophy Ceremony</div> 518 <div class="card-meta"><span>Bengaluru</span><span>â¤ï¸ 640</span></div> 519 </div> 520 </div> 521 </div> 522 523 <div class="upload-cta"> 524 <h3>Got Legendary Court Moments or Celebration Reels?</h3> 525 <p>Submit your photos and video highlights to get featured in the KARDO Community Gallery & win official merchandise!</p> 526 <a href="mailto:[email protected]?subject=Gallery Submission" class="btn-upload">â Submit Photo / Reel</a> 527 </div> 528 529 <div class="lightbox" id="lightboxModal" onclick="closeLightbox(event)"> 530 <div class="lightbox-content" onclick="event.stopPropagation()"> 531 <button class="lightbox-close" onclick="closeLightbox()">â</button> 532 <img id="lightboxImg" class="lightbox-media" src="" alt="Gallery Detail"> 533 <h3 id="lightboxTitle" style="font-family:'Archivo';font-size:22px;color:#fff;margin:0 0 8px;"></h3> 534 <p id="lightboxDesc" style="font-size:14px;color:#a2a2ab;margin:0;"></p> 535 </div> 536 </div> 537 538
538<script> 539 function filterGallery(cat) { 540 document.querySelectorAll('.filter-btn').forEach(btn => btn.classList.remove('active')); 541 event.target.classList.add('active'); 542 const cards = document.querySelectorAll('.card'); 543 cards.forEach(card => { 544 if (cat === 'all' || card.dataset.cat === cat) { 545 card.style.display = 'block'; 546 } else { 547 card.style.display = 'none'; 548 } 549 }); 550 } 551 552 let galleryCards = []; 553 let currentGalleryIdx = 0; 554 555 function openLightbox(src, title, desc) { 556 galleryCards = Array.from(document.querySelectorAll('.card')).filter(card => card.style.display !== 'none'); 557 558 currentGalleryIdx = galleryCards.findIndex(card => { 559 const img = card.querySelector('img'); 560 return img && (img.getAttribute('src') === src || img.src.includes(src)); 561 }); 562 if (currentGalleryIdx === -1) currentGalleryIdx = 0; 563 564 updateGalleryModalState(src, title, desc); 565 document.getElementById('lightboxModal').classList.add('open'); 566 } 567 568 function updateGalleryModalState(fallbackSrc, fallbackTitle, fallbackDesc) { 569 if (galleryCards.length > 0 && currentGalleryIdx < galleryCards.length) { 570 const activeCard = galleryCards[currentGalleryIdx]; 571 const img = activeCard.querySelector('img'); 572 const h3 = activeCard.querySelector('h3, .card-title'); 573 const p = activeCard.querySelector('p, .card-desc'); 574 575 document.getElementById('lightboxImg').src = img ? img.src : fallbackSrc; 576 document.getElementById('lightboxTitle').textContent = h3 ? h3.textContent : (fallbackTitle || ''); 577 document.getElementById('lightboxDesc').textContent = p ? p.textContent : (fallbackDesc || ''); 578 579 const counter = document.getElementById('lightboxCounter'); 580 if (counter) { 581 counter.textContent = `Moment ${currentGalleryIdx + 1} of ${galleryCards.length}`; 582 } 583 } else { 584 document.getElementById('lightboxImg').src = fallbackSrc || ''; 585 document.getElementById('lightboxTitle').textContent = fallbackTitle || ''; 586 document.getElementById('lightboxDesc').textContent = fallbackDesc || ''; 587 } 588 } 589 590 function navGallery(dir, e) { 591 if (e) e.stopPropagation(); 592 if (galleryCards.length === 0) return; 593 currentGalleryIdx = (currentGalleryIdx + dir + galleryCards.length) % galleryCards.length; 594 updateGalleryModalState(); 595 } 596 597 function closeLightbox() { 598 document.getElementById('lightboxModal').classList.remove('open'); 599 } 600 601 window.addEventListener('keydown', function(e) { 602 const modal = document.getElementById('lightboxModal'); 603 if (modal && modal.classList.contains('open')) { 604 if (e.key === 'ArrowRight') navGallery(1); 605 if (e.key === 'ArrowLeft') navGallery(-1); 606 } 607 }); 608 </script>
608 609
609<script type="speculationrules"> 610{"prefetch":[{"source":"document","where":{"and":[{"href_matches":"/*"},{"not":{"href_matches":["/wp-*.php","/wp-admin/*","/wp-content/uploads/*","/wp-content/*","/wp-content/plugins/*","/wp-content/themes/kardo-theme/*","/*\\?(.+)"]}},{"not":{"selector_matches":"a[rel~=\"nofollow\"]"}},{"not":{"selector_matches":".no-prefetch, .no-prefetch a"}}]},"eagerness":"conservative"}]} 611</script>
611 612
612<script> 613 const registerAllyAction = () => { 614 if ( ! window?.ElementorProFrontendConfig || ! window?.elementorFrontend?.utils?.urlActions ) { 615 return; 616 } 617 618 elementorFrontend.utils.urlActions.addAction( 'allyWidget:open', () => { 619 if (window?.ea11yWidget?.widget?.open) { 620 return window.ea11yWidget.widget.isOpen() 621 ? window.ea11yWidget.widget.close() 622 : window.ea11yWidget.widget.open(); 623 } 624 } ); 625 }; 626 627 const waitingLimit = 30; 628 let retryCounter = 0; 629 630 const waitForElementorPro = () => { 631 return new Promise( ( resolve ) => { 632 const intervalId = setInterval( () => { 633 if ( retryCounter === waitingLimit ) { 634 resolve( null ); 635 } 636 637 retryCounter++; 638 639 if ( window.elementorFrontend && window?.elementorFrontend?.utils?.urlActions ) { 640 clearInterval( intervalId ); 641 resolve( window.elementorFrontend ); 642 } 643 }, 100 ); // Check every 100 milliseconds for availability of elementorFrontend 644 }); 645 }; 646 647 waitForElementorPro().then( () => { registerAllyAction(); }); 648 </script>
648 649
649<script> 650 ( () => { 651 const lazyloadRunObserver = () => { 652 const lazyloadBackgrounds = document.querySelectorAll( `.e-con.e-parent:not(.e-lazyloaded)` ); 653 const lazyloadBackgroundObserver = new IntersectionObserver( ( entries ) => { 654 entries.forEach( ( entry ) => { 655 if ( entry.isIntersecting ) { 656 let lazyloadBackground = entry.target; 657 if( lazyloadBackground ) { 658 lazyloadBackground.classList.add( 'e-lazyloaded' ); 659 } 660 lazyloadBackgroundObserver.unobserve( entry.target ); 661 } 662 }); 663 }, { rootMargin: '200px 0px 200px 0px' } ); 664 lazyloadBackgrounds.forEach( ( lazyloadBackground ) => { 665 lazyloadBackgroundObserver.observe( lazyloadBackground ); 666 } ); 667 }; 668 const events = [ 669 'DOMContentLoaded', 670 'elementor/lazyload/observe', 671 ]; 672 events.forEach( ( event ) => { 673 document.addEventListener( event, lazyloadRunObserver ); 674 } ); 675 } )(); 676 </script>
676 677
677<script id="angie-canvas-template-js-before"> 678angieCanvasTemplateData = {"templateSlug":"angie-canvas"}; 679//# sourceURL=angie-canvas-template-js-before 680</script>
vendor: 1 bytes, line 680
680
681<script id="elementor-webpack-runtime-js" src="https://kardo-app.com/wp-content/plugins/elementor/assets/js/webpack.runtime.min.js?ver=4.3.1"></script>
vendor: 1 bytes, line 681
681
682<script id="elementor-frontend-modules-js" src="https://kardo-app.com/wp-content/plugins/elementor/assets/js/frontend-modules.min.js?ver=4.3.1"></script>
vendor: 1 bytes, line 682
682
683<script id="jquery-ui-core-js-before"> 684jQuery.uiBackCompat = true; 685//# sourceURL=jquery-ui-core-js-before 686</script>
vendor: 1 bytes, line 686
686
687<script id="jquery-ui-core-js" src="https://kardo-app.com/wp-includes/js/jquery/ui/core.min.js?ver=1.14.2"></script>
vendor: 1 bytes, line 687
687
688<script id="elementor-frontend-js" src="https://kardo-app.com/wp-content/plugins/elementor/assets/js/frontend.min.js?ver=4.3.1"></script>
vendor: 1 bytes, line 688
688
689<script id="smartmenus-js" src="https://kardo-app.com/wp-content/plugins/elementor-pro/assets/lib/smartmenus/jquery.smartmenus.min.js?ver=1.2.1"></script>
vendor: 1 bytes, line 689
689
690<script id="wp-emoji-settings" type="application/json"> 691{"baseUrl":"https://s.w.org/images/core/emoji/17.0.2/72x72/","ext":".png","svgUrl":"https://s.w.org/images/core/emoji/17.0.2/svg/","svgExt":".svg","source":{"concatemoji":"https://kardo-app.com/wp-includes/js/wp-emoji-release.min.js?ver=7.1.2"}} 692</script>
vendor: 1 bytes, line 692
692
693<script type="module"> 694/*! This file is auto-generated */ 695var e="script#wp-emoji-settings",t=document.querySelector(e);if(!(t instanceof HTMLScriptElement))throw new Error("Element missing: "+e);const r=JSON.parse(t.text),s=(window._wpemojiSettings=r,"wpEmojiSettingsSupports"),o=["flag","emoji"];function i(e){try{var t={supportTests:e,timestamp:(new Date).valueOf()};sessionStorage.setItem(s,JSON.stringify(t))}catch(e){}}function c(e,t,n){e.clearRect(0,0,e.canvas.width,e.canvas.height),e.fillText(t,0,0);t=new Uint32Array(e.getImageData(0,0,e.canvas.width,e.canvas.height).data);e.clearRect(0,0,e.canvas.width,e.canvas.height),e.fillText(n,0,0);const r=new Uint32Array(e.getImageData(0,0,e.canvas.width,e.canvas.height).data);return t.every((e,t)=>e===r[t])}function p(e,t){e.clearRect(0,0,e.canvas.width,e.canvas.height),e.fillText(t,0,0);var n=e.getImageData(16,16,1,1);for(let e=0;e<n.data.length;e++)if(0!==n.data[e])return!1;return!0}function u(e,t,n,r){switch(t){case"flag":return n(e,"\ud83c\udff3\ufe0f\u200d\u26a7\ufe0f","\ud83c\udff3\ufe0f\u200b\u26a7\ufe0f")?!1:!n(e,"\ud83c\udde8\ud83c\uddf6","\ud83c\udde8\u200b\ud83c\uddf6")&&!n(e,"\ud83c\udff4\udb40\udc67\udb40\udc62\udb40\udc65\udb40\udc6e\udb40\udc67\udb40\udc7f","\ud83c\udff4\u200b\udb40\udc67\u200b\udb40\udc62\u200b\udb40\udc65\u200b\udb40\udc6e\u200b\udb40\udc67\u200b\udb40\udc7f");case"emoji":return!r(e,"\ud83e\u1fac8")}return!1}function f(e,t,n,r){let a;const s=(a="undefined"!=typeof WorkerGlobalScope&&self instanceof WorkerGlobalScope?new OffscreenCanvas(300,150):document.createElement("canvas")).getContext("2d",{willReadFrequently:!0}),o=(s.textBaseline="top",s.font="600 32px Arial",{});return e.forEach(e=>{o[e]=t(s,e,n,r)}),o}function a(e){var t=document.createElement("script");t.src=e,t.defer=!0,document.head.appendChild(t)}r.supports={everything:!0,everythingExceptFlag:!0},new Promise(t=>{let n=function(){try{var e=JSON.parse(sessionStorage.getItem(s));if("object"==typeof e&&"number"==typeof e.timestamp&&(new Date).valueOf()<e.timestamp+604800&&"object"==typeof e.supportTests)return e.supportTests}catch(e){}return null}();if(!n){if("undefined"!=typeof Worker&&"undefined"!=typeof OffscreenCanvas&&"undefined"!=typeof URL&&URL.createObjectURL&&"undefined"!=typeof Blob)try{var e="postMessage("+f.toString()+"("+[JSON.stringify(o),u.toString(),c.toString(),p.toString()].join(",")+"));",r=new Blob([e],{type:"text/javascript"});const a=new Worker(URL.createObjectURL(r),{name:"wpTestEmojiSupports"});return void(a.onmessage=e=>{i(n=e.data),a.terminate(),t(n)})}catch(e){}i(n=f(o,u,c,p))}t(n)}).then(e=>{for(const n in e)r.supports[n]=e[n],r.supports.everything=r.supports.everything&&r.supports[n],"flag"!==n&&(r.supports.everythingExceptFlag=r.supports.everythingExceptFlag&&r.supports[n]);var t;r.supports.everythingExceptFlag=r.supports.everythingExceptFlag&&!r.supports.flag,r.supports.everything||((t=r.source||{}).concatemoji?a(t.concatemoji):t.wpemoji&&t.twemoji&&(a(t.twemoji),a(t.wpemoji)))}); 696//# sourceURL=https://kardo-app.com/wp-includes/js/wp-emoji-loader.min.js 697</script>
697 698
698<script>'undefined'=== typeof _trfq || (window._trfq = []);'undefined'=== typeof _trfd && (window._trfd=[]), 699 _trfd.push({'tccl.baseHost':'secureserver.net'}), 700 _trfd.push({'ap':'wpaas_v2'}, 701 {'server':'a8d0140c8338'}, 702 {'pod':'c21-prod-p3-us-west-2'}, 703 {'xid':'45530230'}, 704 {'wp':'7.1.2'}, 705 {'php':'8.2.33'}, 706 {'loggedin':'0'}, 707 {'cdn':'1'}, 708 {'builder':''}, 709 {'theme':'kardo-theme'}, 710 {'wds':'0'}, 711 {'wp_alloptions_count':'249'}, 712 {'wp_alloptions_bytes':'77568'}, 713 {'gdl_coming_soon_page':'0'} 714 , {'appid':'432547'} ); 715 var trafficScript = document.createElement('script'); trafficScript.src = 'https://img1.wsimg.com/signals/js/clients/scc-c2/scc-c2.min.js'; window.document.head.appendChild(trafficScript);</script>
715 716
716<script>window.addEventListener('click', function (elem) { var _elem$target, _elem$target$dataset, _window, _window$_trfq; return (elem === null || elem === void 0 ? void 0 : (_elem$target = elem.target) === null || _elem$target === void 0 ? void 0 : (_elem$target$dataset = _elem$target.dataset) === null || _elem$target$dataset === void 0 ? void 0 : _elem$target$dataset.eid) && ((_window = window) === null || _window === void 0 ? void 0 : (_window$_trfq = _window._trfq) === null || _window$_trfq === void 0 ? void 0 : _window$_trfq.push(["cmdLogEvent", "click", elem.target.dataset.eid]));});</script>
716 717
717<script src='https://img1.wsimg.com/traffic-assets/js/tccl-tti.min.js' onload="window.tti.calculateTTI()"></script>
717 718
719<script> 720// Global Escape key listener to close all pop-ups, modals, lightboxes, and drawers 721window.addEventListener('keydown', function(e) { 722 if (e.key === 'Escape' || e.key === 'Esc' || e.keyCode === 27) { 723 const ids = ['kardoTpOverlay', 'kardoPsOverlay', 'kardoAiChatPanel', 'kardoAiChatModal', 'lightboxModal']; 724 ids.forEach(id => { 725 const el = document.getElementById(id); 726 if (el && el.classList.contains('open')) { 727 el.classList.remove('open'); 728 } 729 }); 730 document.querySelectorAll('.open').forEach(el => { 731 if (el.classList.contains('overlay') || el.classList.contains('modal') || el.classList.contains('lightbox') || el.id.indexOf('Modal') > -1 || el.id.indexOf('Overlay') > -1) { 732 el.classList.remove('open'); 733 } 734 }); 735 } 736}); 737</script>
737 738 739 740 <!-- STATE 1: FIRST VISIT COOKIE BANNER --> 741 <div id="kardoCookieBanner" style="position: fixed; bottom: 20px; left: 50%; transform: translateX(-50%); width: 92%; max-width: 860px; z-index: 9999999; background: rgba(19, 19, 22, 0.98); border: 1px solid rgba(255, 255, 255, 0.18); border-radius: 18px; padding: 24px; box-shadow: 0 20px 60px rgba(0,0,0,0.9); backdrop-filter: blur(14px); -webkit-backdrop-filter: blur(14px); font-family: 'Instrument Sans', sans-serif; color: #fff; display: none; box-sizing: border-box;"> 742 <h3 style="font-family: 'Archivo', sans-serif; font-size: 18px; font-weight: 800; color: #ffffff; margin: 0 0 10px;">Cookies on kardo-app.com</h3> 743 <p style="font-size: 14px; line-height: 1.6; color: #a2a2ab; margin: 0 0 20px;">We use necessary cookies to make the site work. Weâd also like to set analytics and marketing cookies, and load maps and video â but only if you agree. You can change your choice any time.</p> 744 745 <div style="display: flex; gap: 12px; flex-wrap: wrap; align-items: center; margin-bottom: 16px;"> 746 <button onclick="acceptAllCookies()" style="flex: 1; min-width: 130px; padding: 12px 20px; background: linear-gradient(135deg, #FF6B1A, #FF9A3D); color: #ffffff; border: none; border-radius: 12px; font-family: 'Instrument Sans', sans-serif; font-size: 14px; font-weight: 700; cursor: pointer; transition: transform 0.15s;">Accept all</button> 747 748 <button onclick="rejectAllCookies()" style="flex: 1; min-width: 130px; padding: 12px 20px; background: rgba(255,255,255,0.06); border: 1px solid rgba(255,255,255,0.2); color: #ffffff; border-radius: 12px; font-family: 'Instrument Sans', sans-serif; font-size: 14px; font-weight: 600; cursor: pointer; transition: background 0.15s;">Reject all</button> 749 750 <button onclick="openCookiePreferencesModal()" style="flex: 1; min-width: 160px; padding: 12px 20px; background: rgba(255,255,255,0.06); border: 1px solid rgba(255,255,255,0.2); color: #ffffff; border-radius: 12px; font-family: 'Instrument Sans', sans-serif; font-size: 14px; font-weight: 600; cursor: pointer; transition: background 0.15s;">Manage preferences</button> 751 </div> 752 753 <div> 754 <a href="privacy-policy.html" style="color: #FF9A3D; font-size: 13px; font-weight: 600; text-decoration: underline;">Website Privacy Policy</a> 755 </div> 756 </div> 757 758 <!-- STATE 2: MANAGE COOKIE PREFERENCES MODAL --> 759 <div id="kardoCookiePreferencesModal" onclick="closeCookiePreferencesModal(event)" style="position: fixed; inset: 0; z-index: 10000000; background: rgba(4,4,5,0.88); backdrop-filter: blur(10px); -webkit-backdrop-filter: blur(10px); display: none; align-items: center; justify-content: center; padding: 16px; box-sizing: border-box;"> 760 <div onclick="event.stopPropagation()" style="background: #131316; border: 1px solid rgba(255,255,255,0.15); border-radius: 22px; max-width: 640px; width: 100%; max-height: 90vh; overflow-y: auto; padding: 28px; box-shadow: 0 24px 70px rgba(0,0,0,0.9); font-family: 'Instrument Sans', sans-serif; color: #fff; position: relative; box-sizing: border-box;"> 761 762 <button onclick="closeCookiePreferencesModal()" aria-label="Close" style="position: absolute; top: 20px; right: 20px; width: 36px; height: 36px; border-radius: 50%; background: rgba(255,255,255,0.1); border: 1px solid rgba(255,255,255,0.2); color: #fff; font-size: 16px; cursor: pointer; display: flex; align-items: center; justify-content: center; font-weight: 700;">â</button> 763 764 <h3 style="font-family: 'Archivo', sans-serif; font-size: 22px; font-weight: 800; color: #ffffff; margin: 0 0 6px;">Manage cookie preferences</h3> 765 <p style="font-size: 13.5px; color: #9a9aa2; margin: 0 0 24px;">Four categories, all optional ones off by default.</p> 766 767 <div style="display: flex; flex-direction: column; gap: 16px; margin-bottom: 28px;"> 768 769 <!-- Category 1: Strictly necessary --> 770 <div style="background: rgba(255,255,255,0.03); border: 1px solid rgba(255,255,255,0.08); border-radius: 14px; padding: 16px; display: flex; justify-content: space-between; align-items: flex-start; gap: 16px;"> 771 <div> 772 <div style="font-family: 'Archivo', sans-serif; font-size: 15.5px; font-weight: 700; color: #ffffff; margin-bottom: 4px;">Strictly necessary</div> 773 <div style="font-size: 13px; color: #9a9aa2; line-height: 1.5;">Session, security, load balancing, and remembering this choice.</div> 774 </div>
775 <span style="font-family: 'Space Mono', monospace; font-size: 11px; font-weight: 700; color: #72bf44; background: rgba(114,191,68,0.15); border: 1px solid rgba(114,191,68,0.3); padding: 4px 10px; border-radius: 999px; white-space: nowrap;">Always on</span> 776 </div> 777 778 <!-- Category 2: Analytics --> 779 <div style="background: rgba(255,255,255,0.03); border: 1px solid rgba(255,255,255,0.08); border-radius: 14px; padding: 16px; display: flex; justify-content: space-between; align-items: flex-start; gap: 16px;"> 780 <div> 781 <div style="font-family: 'Archivo', sans-serif; font-size: 15.5px; font-weight: 700; color: #ffffff; margin-bottom: 4px;">Analytics</div> 782 <div style="font-size: 13px; color: #9a9aa2; line-height: 1.5;">Which pages get read, where visitors drop off, crash reports.</div> 783 </div> 784 <label class="kardo-switch"> 785 <input type="checkbox" id="cookieAnalyticsToggle"> 786 <span class="kardo-slider"></span> 787 </label> 788 </div> 789 790 <!-- Category 3: Marketing --> 791 <div style="background: rgba(255,255,255,0.03); border: 1px solid rgba(255,255,255,0.08); border-radius: 14px; padding: 16px; display: flex; justify-content: space-between; align-items: flex-start; gap: 16px;"> 792 <div> 793 <div style="font-family: 'Archivo', sans-serif; font-size: 15.5px; font-weight: 700; color: #ffffff; margin-bottom: 4px;">Marketing</div> 794 <div style="font-size: 13px; color: #9a9aa2; line-height: 1.5;">Whether an ad brought you here, and ad frequency capping.</div> 795 </div> 796 <label class="kardo-switch"> 797 <input type="checkbox" id="cookieMarketingToggle"> 798 <span class="kardo-slider"></span> 799 </label> 800 </div> 801 802 <!-- Category 4: Third-party embeds --> 803 <div style="background: rgba(255,255,255,0.03); border: 1px solid rgba(255,255,255,0.08); border-radius: 14px; padding: 16px; display: flex; justify-content: space-between; align-items: flex-start; gap: 16px;"> 804 <div> 805 <div style="font-family: 'Archivo', sans-serif; font-size: 15.5px; font-weight: 700; color: #ffffff; margin-bottom: 4px;">Third-party embeds</div> 806 <div style="font-size: 13px; color: #9a9aa2; line-height: 1.5;">Maps, video, chat widget. These providers get your IP when they load.</div> 807 </div> 808 <label class="kardo-switch"> 809 <input type="checkbox" id="cookieEmbedsToggle"> 810 <span class="kardo-slider"></span> 811 </label> 812 </div> 813 814 </div> 815 816 <!-- Buttons Row --> 817 <div style="display: flex; gap: 12px; flex-wrap: wrap; align-items: center; margin-bottom: 20px;"> 818 <button onclick="saveCookiePreferences()" style="flex: 1; min-width: 140px; padding: 12px 18px; background: rgba(255,255,255,0.08); border: 1px solid rgba(255,255,255,0.2); color: #ffffff; border-radius: 12px; font-family: 'Instrument Sans', sans-serif; font-size: 14px; font-weight: 600; cursor: pointer;">Save preferences</button> 819 820 <button onclick="acceptAllCookies()" style="flex: 1; min-width: 130px; padding: 12px 18px; background: linear-gradient(135deg, #FF6B1A, #FF9A3D); color: #ffffff; border: none; border-radius: 12px; font-family: 'Instrument Sans', sans-serif; font-size: 14px; font-weight: 700; cursor: pointer;">Accept all</button> 821 822 <button onclick="rejectAllCookies()" style="flex: 1; min-width: 130px; padding: 12px 18px; background: rgba(255,255,255,0.06); border: 1px solid rgba(255,255,255,0.2); color: #ffffff; border-radius: 12px; font-family: 'Instrument Sans', sans-serif; font-size: 14px; font-weight: 600; cursor: pointer;">Reject all</button> 823 </div> 824 825 <div> 826 <a href="privacy-policy.html#cookies" style="color: #FF9A3D; font-size: 13px; font-weight: 600; text-decoration: underline;">See the full cookie list</a> 827 </div> 828 829 </div> 830 </div> 831 832
832<script> 833 window.initKardoCookieManager = function() { 834 const savedConsent = localStorage.getItem('kardoCookieConsent'); 835 const banner = document.getElementById('kardoCookieBanner'); 836 837 if (!savedConsent && banner) { 838 banner.style.display = 'block'; 839 } else if (savedConsent) { 840 try { 841 const consent = JSON.parse(savedConsent); 842 const a = document.getElementById('cookieAnalyticsToggle'); 843 const m = document.getElementById('cookieMarketingToggle'); 844 const e = document.getElementById('cookieEmbedsToggle'); 845 if (a) a.checked = !!consent.analytics; 846 if (m) m.checked = !!consent.marketing; 847 if (e) e.checked = !!consent.embeds; 848 } catch(err) {} 849 } 850 }; 851 852 window.acceptAllCookies = function() { 853 const consent = { necessary: true, analytics: true, marketing: true, embeds: true, date: new Date().toISOString() }; 854 localStorage.setItem('kardoCookieConsent', JSON.stringify(consent)); 855 closeCookieBanners(); 856 }; 857 858 window.rejectAllCookies = function() { 859 const consent = { necessary: true, analytics: false, marketing: false, embeds: false, date: new Date().toISOString() }; 860 localStorage.setItem('kardoCookieConsent', JSON.stringify(consent)); 861 closeCookieBanners(); 862 }; 863 864 window.saveCookiePreferences = function() { 865 const a = document.getElementById('cookieAnalyticsToggle')?.checked || false; 866 const m = document.getElementById('cookieMarketingToggle')?.checked || false; 867 const e = document.getElementById('cookieEmbedsToggle')?.checked || false; 868 const consent = { necessary: true, analytics: a, marketing: m, embeds: e, date: new Date().toISOString() }; 869 localStorage.setItem('kardoCookieConsent', JSON.stringify(consent)); 870 closeCookieBanners(); 871 }; 872 873 window.openCookiePreferencesModal = function() { 874 const modal = document.getElementById('kardoCookiePreferencesModal'); 875 if (modal) modal.style.display = 'flex'; 876 }; 877 878 window.closeCookiePreferencesModal = function(e) { 879 if (e && e.target && e.target.id !== 'kardoCookiePreferencesModal' && !e.target.classList.contains('kardo-modal-close')) { 880 return; 881 } 882 const modal = document.getElementById('kardoCookiePreferencesModal'); 883 if (modal) modal.style.display = 'none'; 884 }; 885 886 function closeCookieBanners() { 887 const banner = document.getElementById('kardoCookieBanner'); 888 const modal = document.getElementById('kardoCookiePreferencesModal'); 889 if (banner) banner.style.display = 'none'; 890 if (modal) modal.style.display = 'none'; 891 } 892 893 if (document.readyState === 'loading') { 894 document.addEventListener('DOMContentLoaded', window.initKardoCookieManager); 895 } else { 896 window.initKardoCookieManager(); 897 } 898 </script>
898 899 900 901 <!-- LIGHTBOX OVERLAY WITH PREV/NEXT ARROWS --> 902 <div id="kardoLightbox" style="position: fixed; inset: 0; z-index: 1000000; background: rgba(4,4,5,.94); display: none; align-items: center; justify-content: center; padding: 40px; cursor: zoom-out;"> 903 <button id="kardoLightboxPrev" aria-label="Previous Screenshot" style="position: absolute; left: 24px; top: 50%; transform: translateY(-50%); width: 52px; height: 52px; border-radius: 50%; background: rgba(255,255,255,.14); border: 1px solid rgba(255,255,255,.2); color: #fff; display: flex; align-items: center; justify-content: center; font-size: 24px; cursor: pointer; z-index: 1000002; transition: all .2s;">â®</button> 904 905 <img id="kardoLightboxImg" src="" style="max-width: 90%; max-height: 85vh; border-radius: 16px; box-shadow: 0 24px 70px rgba(0,0,0,.85); cursor: default;" onclick="event.stopPropagation()"> 906 907 <button id="kardoLightboxNext" aria-label="Next Screenshot" style="position: absolute; right: 24px; top: 50%; transform: translateY(-50%); width: 52px; height: 52px; border-radius: 50%; background: rgba(255,255,255,.14); border: 1px solid rgba(255,255,255,.2); color: #fff; display: flex; align-items: center; justify-content: center; font-size: 24px; cursor: pointer; z-index: 1000002; transition: all .2s;">â¯</button> 908 909 <div id="kardoLightboxCounter" style="position: absolute; bottom: 24px; left: 50%; transform: translateX(-50%); font-family: 'Space Mono', monospace; font-size: 12px; font-weight: 700; letter-spacing: .1em; color: #fff; background: rgba(0,0,0,.6); border: 1px solid rgba(255,255,255,.15); padding: 6px 16px; border-radius: 999px; pointer-events: none;">1 / 12</div> 910 911 <div id="kardoLightboxClose" style="position: absolute; top: 24px; right: 24px; width: 42px; height: 42px; border-radius: 50%; background: rgba(255,255,255,.14); color: #fff; display: flex; align-items: center; justify-content: center; font-size: 18px; font-weight: 600; cursor: pointer; z-index: 1000002;">â</div> 912 </div> 913 914
914<script> 915 (function() { 916 function initLightbox() { 917 const lightbox = document.getElementById('kardoLightbox'); 918 const lightboxImg = document.getElementById('kardoLightboxImg'); 919 const prevBtn = document.getElementById('kardoLightboxPrev'); 920 const nextBtn = document.getElementById('kardoLightboxNext'); 921 const closeBtn = document.getElementById('kardoLightboxClose'); 922 const counterEl = document.getElementById('kardoLightboxCounter'); 923 924 if (!lightbox || !lightboxImg) return; 925 926 let shotImages = []; 927 let currentShotIdx = 0; 928 929 function refreshShotList() { 930 const imgs = Array.from(document.querySelectorAll('img[data-shot], .shot-card img, .gallery-item img, img.kardoShot, .rFeat img')); 931 shotImages = imgs.filter(img => img.src && !img.src.includes('data:image') && !img.classList.contains('rLogo')); 932 shotImages.forEach(img => { 933 img.style.cursor = 'pointer'; 934 }); 935 } 936 937 refreshShotList(); 938 939 function updateLightboxState() { 940 if (shotImages.length === 0) return; 941 const imgEl = shotImages[currentShotIdx]; 942 lightboxImg.src = imgEl.currentSrc || imgEl.src; 943 if (counterEl) { 944 counterEl.textContent = 'Screenshot ' + (currentShotIdx + 1) + ' of ' + shotImages.length; 945 } 946 } 947 948 function showNextShot() { 949 if (shotImages.length === 0) return; 950 currentShotIdx = (currentShotIdx + 1) % shotImages.length; 951 updateLightboxState(); 952 } 953 954 function showPrevShot() { 955 if (shotImages.length === 0) return; 956 currentShotIdx = (currentShotIdx - 1 + shotImages.length) % shotImages.length; 957 updateLightboxState(); 958 } 959 960 function closeLightbox() { 961 lightbox.style.display = 'none'; 962 lightboxImg.src = ''; 963 } 964 965 document.addEventListener('click', function(e) { 966 const target = e.target; 967 if (!target || target.tagName !== 'IMG') return; 968 969 refreshShotList(); 970 const idx = shotImages.indexOf(target); 971 972 if (idx !== -1 || target.hasAttribute('data-shot') || target.classList.contains('kardoShot') || target.closest('.shot-card, .gallery-item, .rFeat')) { 973 currentShotIdx = idx !== -1 ? idx : 0; 974 lightbox.style.display = 'flex'; 975 updateLightboxState(); 976 } 977 }); 978 979 if (prevBtn) prevBtn.addEventListener('click', function(e) { e.stopPropagation(); showPrevShot(); }); 980 if (nextBtn) nextBtn.addEventListener('click', function(e) { e.stopPropagation(); showNextShot(); }); 981 if (closeBtn) closeBtn.addEventListener('click', function(e) { e.stopPropagation(); closeLightbox(); }); 982 if (lightbox) lightbox.addEventListener('click', function(e) { if (e.target === lightbox) closeLightbox(); }); 983 984 window.addEventListener('keydown', function(e) { 985 if (lightbox && lightbox.style.display === 'flex') { 986 if (e.key === 'ArrowRight') showNextShot(); 987 if (e.key === 'ArrowLeft') showPrevShot(); 988 if (e.key === 'Escape') closeLightbox(); 989 } 990 }); 991 } 992 993 if (document.readyState === 'loading') { 994 document.addEventListener('DOMContentLoaded', initLightbox); 995 } else { 996 initLightbox(); 997 } 998 })(); 999 </script>
999 1000 1001</body> 1002</html>
Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.