Browse through 52,865 code programming interface illustrations & vectors or explore more binary code or digital tools vectors to complete your project with stunning visuals.

The image features a sleek, modern laptop with a silver body and black keyboard. The laptop is open, displaying a screen with lines of code and a vibrant purple background. The screen shows a coding interface with various files and folders listed. The laptop is positioned on a flat surface, angled slightly to the right, providing a clear view of the keyboard and screen. The overall setting appears. Code programming interface illustrations
The image features a sleek, modern laptop with a silver body and black keyboard. The laptop is open, displaying a screen with lines of code and a vibrant purple background. The screen shows a coding interface with various files and folders listed. The laptop is positioned on a flat surface, angled slightly to the right, providing a clear view of the keyboard and screen. The overall setting appears. Code programming interface illustrations
Cybersecurity, data monitoring, digital interfaces, coding, online privacy, technology trends. Binary code, a digital window and an eye icon combine. Cybersecurity and data monitoring concepts. Code programming interface vectors
Cybersecurity, data monitoring, digital interfaces, coding, online privacy, technology trends. Binary code, a digital window and an eye icon combine. Cybersecurity and data monitoring concepts. Code programming interface vectors
A dark, futuristic scene with a glowing blue digital globe at the center, surrounded by a network of lines and nodes. Multiple screens display lines of code, including terms like ENCRYPT, DECRYPT, ACCESS GRANTED, and FIREWALL. Other screens show bar charts, graphs, and numerical data, with a command prompt interface visible. The overall aesthetic is dark blue with bright blue and green accents. Code programming interface illustrations
A dark, futuristic scene with a glowing blue digital globe at the center, surrounded by a network of lines and nodes. Multiple screens display lines of code, including terms like ENCRYPT, DECRYPT, ACCESS GRANTED, and FIREWALL. Other screens show bar charts, graphs, and numerical data, with a command prompt interface visible. The overall aesthetic is dark blue with bright blue and green accents. Code programming interface illustrations
A vibrant collection of flat design icons representing various aspects of web development and programming. The set includes symbols for code, JavaScript, CSS, databases, globes, folders, gears, and documents. These versatile icons are perfect for websites, applications, presentations, and educational materials related to technology, software engineering, and digital services. Code programming interface illustrations
A vibrant collection of flat design icons representing various aspects of web development and programming. The set includes symbols for code, JavaScript, CSS, databases, globes, folders, gears, and documents. These versatile icons are perfect for websites, applications, presentations, and educational materials related to technology, software engineering, and digital services. Code programming interface illustrations
AI Code Gen Robot Laptop logo provides a robust identity for companies prioritizing automated programming, and this AI Code Gen Robot Laptop logo ensures trust. As a dedicated AI Code Gen Robot Laptop logo, the emblem effectively conveys reliability to clients seeking innovative solutions. Every AI Code Gen Robot Laptop logo features a sleek, technical aesthetic suitable for software development, automated systems, or programming agencies needing a professional, clean, and strong visual mark. Code programming interface vectors
AI Code Gen Robot Laptop logo provides a robust identity for companies prioritizing automated programming, and this AI Code Gen Robot Laptop logo ensures trust. As a dedicated AI Code Gen Robot Laptop logo, the emblem effectively conveys reliability to clients seeking innovative solutions. Every AI Code Gen Robot Laptop logo features a sleek, technical aesthetic suitable for software development, automated systems, or programming agencies needing a professional, clean, and strong visual mark. Code programming interface vectors
Collection of minimalist solid black glyph icons depicting software engineering, web programming, cloud computing, cybersecurity, debugging, and project deployment symbols isolated on white background. Code programming interface vectors
Collection of minimalist solid black glyph icons depicting software engineering, web programming, cloud computing, cybersecurity, debugging, and project deployment symbols isolated on white background. Code programming interface vectors
Set of web development interface elements HTML code, gear settings, and equalizer sliders for landing page banners. Software engineering, coding, digital tools, UI design, backend, optimization. Code programming interface vectors
Set of web development interface elements HTML code, gear settings, and equalizer sliders for landing page banners. Software engineering, coding, digital tools, UI design, backend, optimization. Code programming interface vectors
Graphic design, digital tools, technology interface, creativity, communication, and coding. Microphone, chat bubbles binary code heart pencil imagery. Digital communication and creativity. Code programming interface vectors
Graphic design, digital tools, technology interface, creativity, communication, and coding. Microphone, chat bubbles binary code heart pencil imagery. Digital communication and creativity. Code programming interface vectors
Binary code inside a speech bubble with cloud and lightning icons for technology landing page banners. Programming, data communication, digital network, software development, cloud computing. Code programming interface illustrations
Binary code inside a speech bubble with cloud and lightning icons for technology landing page banners. Programming, data communication, digital network, software development, cloud computing. Code programming interface illustrations
A close-up shot focuses on a dark-skinned hand interacting with a laptop screen displaying a complex interface. The screen is filled with glowing code and graphical elements, suggesting an environment of programming, data analysis, or cybersecurity. The bright light adds a futuristic feel to the sce. Code programming interface illustrations
A close-up shot focuses on a dark-skinned hand interacting with a laptop screen displaying a complex interface. The screen is filled with glowing code and graphical elements, suggesting an environment of programming, data analysis, or cybersecurity. The bright light adds a futuristic feel to the sce. Code programming interface illustrations
Automotive technology, electric vehicles, programming, software development, future mobility, engineering. Orange car, gear icon coding interface. Automotive technology and electric vehicles concept. Code programming interface vectors
Automotive technology, electric vehicles, programming, software development, future mobility, engineering. Orange car, gear icon coding interface. Automotive technology and electric vehicles concept. Code programming interface vectors
A stylized 3D rendering depicts a computer screen displaying code, centrally positioned on a minimalist, white circuit board design. The scene is clean and modern, emphasizing technology and programming. Code programming interface illustrations
A stylized 3D rendering depicts a computer screen displaying code, centrally positioned on a minimalist, white circuit board design. The scene is clean and modern, emphasizing technology and programming. Code programming interface illustrations
Computer screen displaying lines of code and programming symbols. Illustrates software development, digital technology, and the process of writing code for applications and websites. Represents abstract concept of technology. Code programming interface illustrations
Computer screen displaying lines of code and programming symbols. Illustrates software development, digital technology, and the process of writing code for applications and websites. Represents abstract concept of technology. Code programming interface illustrations
Speech bubble displaying binary code alongside abstract lines representing data transmission, coding, and digital communication. Ideal for technology, coding, data, AI, communication, programming. Code programming interface vectors
Speech bubble displaying binary code alongside abstract lines representing data transmission, coding, and digital communication. Ideal for technology, coding, data, AI, communication, programming. Code programming interface vectors
Workers building a website interface on a laptop screen with binary code puzzle pieces, vector illustration. Programming, web development, digital finance, online communication, software engineering. Code programming interface vectors
Workers building a website interface on a laptop screen with binary code puzzle pieces, vector illustration. Programming, web development, digital finance, online communication, software engineering. Code programming interface vectors
Binary code inside a speech bubble with directional arrows for technology landing page banner. Programming, data processing, digital communication, software development, information, network. Code programming interface vectors
Binary code inside a speech bubble with directional arrows for technology landing page banner. Programming, data processing, digital communication, software development, information, network. Code programming interface vectors
Digital identity, coding, web development, interface design, software engineering, online authentication. Circular user icon with programming symbols and interface card. Digital identity and coding. Code programming interface illustrations
Digital identity, coding, web development, interface design, software engineering, online authentication. Circular user icon with programming symbols and interface card. Digital identity and coding. Code programming interface illustrations
Software development, coding education, virtual collaboration, gesture control, user interface design, programming guidance. Interactive coding interface, hand gesture control, and online. Code programming interface vectors
Software development, coding education, virtual collaboration, gesture control, user interface design, programming guidance. Interactive coding interface, hand gesture control, and online. Code programming interface vectors
HTML coding web development landing page banner a folder with binary code. Software engineering, programming language, website creation, digital technology, data storage, internet. Web design. Code programming interface vectors
HTML coding web development landing page banner a folder with binary code. Software engineering, programming language, website creation, digital technology, data storage, internet. Web design. Code programming interface vectors
Software development, teamwork, coding, UI design, IT services, collaboration. A coding interface alongside a gear icon and a smiling person. Software development and teamwork concept. Code programming interface vectors
Software development, teamwork, coding, UI design, IT services, collaboration. A coding interface alongside a gear icon and a smiling person. Software development and teamwork concept. Code programming interface vectors
Web development icons set cloud computing symbol HTML code block and circular puzzle diagram for landing page banner. Programming, software engineering, cloud storage, data structure, network. Code programming interface vectors
Web development icons set cloud computing symbol HTML code block and circular puzzle diagram for landing page banner. Programming, software engineering, cloud storage, data structure, network. Code programming interface vectors
Vector illustration code brackets and a game controller for a web landing page banner. Programming, software development, gaming, technology, digital interface, creative design. Coding symbols. Code programming interface vectors
Vector illustration code brackets and a game controller for a web landing page banner. Programming, software development, gaming, technology, digital interface, creative design. Coding symbols. Code programming interface vectors
A clean set of black solid programming and software development icons on white background, suitable for web design, tech apps, and user interface concepts. Code programming interface vectors
A clean set of black solid programming and software development icons on white background, suitable for web design, tech apps, and user interface concepts. Code programming interface vectors
A set of vector illustrations a computer bug, a tree, and binary code for a web landing page banner. Debugging, software development, programming, technology, error, IT solutions. Digital insect. Code programming interface vectors
A set of vector illustrations a computer bug, a tree, and binary code for a web landing page banner. Debugging, software development, programming, technology, error, IT solutions. Digital insect. Code programming interface vectors
This conceptual digital visualization features a central AI agent icon within a glass-morphism style interface, branching out to represent connections with search, database, code, and cloud computing services. The clean, minimalist design employs a dark aesthetic with glowing blue neon lines, symbolizing modern artificial intelligence integration and connectivity. Code programming interface illustrations
This conceptual digital visualization features a central AI agent icon within a glass-morphism style interface, branching out to represent connections with search, database, code, and cloud computing services. The clean, minimalist design employs a dark aesthetic with glowing blue neon lines, symbolizing modern artificial intelligence integration and connectivity. Code programming interface illustrations
Programming development icons code brackets, growth arrows, and data charts for a landing page banner. Software engineering, web design, digital growth, analytics, coding, technology. Developer. Code programming interface vectors
Programming development icons code brackets, growth arrows, and data charts for a landing page banner. Software engineering, web design, digital growth, analytics, coding, technology. Developer. Code programming interface vectors
Technology, programming, content creation, web development, AI tools, automation. A laptop screen displaying HTML code, media elements and a circular AI logo. Technology and programming concept. Code programming interface illustrations
Technology, programming, content creation, web development, AI tools, automation. A laptop screen displaying HTML code, media elements and a circular AI logo. Technology and programming concept. Code programming interface illustrations
Evocative digital artwork showing the meeting point between human and artificial intelligence through nearly touching hands. Flowing data streams and holographic programming code emphasize the collaborative relationship between humanity and technology in the modern era. Code programming interface illustrations
Evocative digital artwork showing the meeting point between human and artificial intelligence through nearly touching hands. Flowing data streams and holographic programming code emphasize the collaborative relationship between humanity and technology in the modern era. Code programming interface illustrations
Hands holding a tablet with HTML code and interface elements for a website landing page banner. Software development, web programming, digital technology, coding education, interface design, IT. Code programming interface vectors
Hands holding a tablet with HTML code and interface elements for a website landing page banner. Software development, web programming, digital technology, coding education, interface design, IT. Code programming interface vectors
A clean, organized workspace featuring a desktop computer displaying a coding interface, a tablet with wireframe designs, a keyboard, mouse, coffee mug with code symbol, potted plant, and icons representing settings, bugs, files, email, and cloud storage, all set against a blue background. Code programming interface illustrations
A clean, organized workspace featuring a desktop computer displaying a coding interface, a tablet with wireframe designs, a keyboard, mouse, coffee mug with code symbol, potted plant, and icons representing settings, bugs, files, email, and cloud storage, all set against a blue background. Code programming interface illustrations
Web development, coding, software testing, programming, digital media, design process. Laptop displaying code, files media icons and bug icon. Web development and coding concept. Code programming interface vectors
Web development, coding, software testing, programming, digital media, design process. Laptop displaying code, files media icons and bug icon. Web development and coding concept. Code programming interface vectors
A woman examines binary code on a digital gauge for a technology website landing page banner. Data analysis, software development, programming, digital transformation, information technology. Code programming interface vectors
A woman examines binary code on a digital gauge for a technology website landing page banner. Data analysis, software development, programming, digital transformation, information technology. Code programming interface vectors
Close-up of a person working on a laptop, surrounded by digital code and design elements. The image suggests programming, software development, or a similar creative process. Code programming interface illustrations
Close-up of a person working on a laptop, surrounded by digital code and design elements. The image suggests programming, software development, or a similar creative process. Code programming interface illustrations
Laptop with code, magnifying glass, and gear icons vector illustration. Software development, business analysis, technical support, digital strategy, web optimization, system maintenance. Computer. Code programming interface vectors
Laptop with code, magnifying glass, and gear icons vector illustration. Software development, business analysis, technical support, digital strategy, web optimization, system maintenance. Computer. Code programming interface vectors
A blurry close-up view of lines of computer code in various colors on a dark background. the code appears to be written in a programming language and features a mix of yellow, blue, and white text. Code programming interface illustrations
A blurry close-up view of lines of computer code in various colors on a dark background. the code appears to be written in a programming language and features a mix of yellow, blue, and white text. Code programming interface illustrations
A bunch of screens with a dark background showing a holographic programming interface floating in mid-air with interactive code panels, stock photography style. Code programming interface illustrations
A bunch of screens with a dark background showing a holographic programming interface floating in mid-air with interactive code panels, stock photography style. Code programming interface illustrations
A woman kneeling and holding a code block next to books for a web landing page banner. Education, software development, programming, learning, technology, digital skills. Female developer studying. Code programming interface vectors
A woman kneeling and holding a code block next to books for a web landing page banner. Education, software development, programming, learning, technology, digital skills. Female developer studying. Code programming interface vectors
Colorful stickers and icons related to coding and software development are arranged around a laptop displaying code, creating a playful and tech-focused mood ideal for website design or digital marketing. Code programming interface vectors
Colorful stickers and icons related to coding and software development are arranged around a laptop displaying code, creating a playful and tech-focused mood ideal for website design or digital marketing. Code programming interface vectors
A set of vector illustrations a paintbrush, magnifying glass, and binary code for a landing page banner. Creativity, digital art, programming, data analysis, design, technology. Artistic tools. Code programming interface vectors
A set of vector illustrations a paintbrush, magnifying glass, and binary code for a landing page banner. Creativity, digital art, programming, data analysis, design, technology. Artistic tools. Code programming interface vectors
Software development, coding process, global connectivity, data mining, programming tools, digital innovation. Person mining code with pickaxe, emphasis on global network and coding. Data mining. Code programming interface vectors
Software development, coding process, global connectivity, data mining, programming tools, digital innovation. Person mining code with pickaxe, emphasis on global network and coding. Data mining. Code programming interface vectors
Programming code and financial growth bar chart icons for web landing page banner. Software development, business analytics, digital marketing, investment strategy, data analysis, profit growth. Code programming interface vectors
Programming code and financial growth bar chart icons for web landing page banner. Software development, business analytics, digital marketing, investment strategy, data analysis, profit growth. Code programming interface vectors
A person using biometric facial recognition to unlock a door with software code interface for landing page banner. Cybersecurity, digital identity, authentication, programming, technology. Code programming interface illustrations
A person using biometric facial recognition to unlock a door with software code interface for landing page banner. Cybersecurity, digital identity, authentication, programming, technology. Code programming interface illustrations
Woman kneeling and interacting with digital code and data elements for a website landing page banner. Software engineering, web development, programming, data analysis, technology, digital interface. Code programming interface vectors
Woman kneeling and interacting with digital code and data elements for a website landing page banner. Software engineering, web development, programming, data analysis, technology, digital interface. Code programming interface vectors
A modern computer monitor displays lines of code and data visualizations, bathed in vibrant neon blue and purple light. The background features abstract, flowing shapes in complementary colors, creating a futuristic and tech-oriented atmosphere. This image is ideal for representing concepts like programming, data analysis, artificial intelligence, cybersecurity, and digital innovation. Code programming interface illustrations
A modern computer monitor displays lines of code and data visualizations, bathed in vibrant neon blue and purple light. The background features abstract, flowing shapes in complementary colors, creating a futuristic and tech-oriented atmosphere. This image is ideal for representing concepts like programming, data analysis, artificial intelligence, cybersecurity, and digital innovation. Code programming interface illustrations
A robot holding a magnifying glass examines digital data charts and HTML code for a website landing page banner. Technology, automation, programming, analytics, development, machine learning. droid. Code programming interface vectors
A robot holding a magnifying glass examines digital data charts and HTML code for a website landing page banner. Technology, automation, programming, analytics, development, machine learning. droid. Code programming interface vectors
A command prompt interface displayed on a dark blue background with a white border features a grid-like arrangement of colorful command lines in white text, including labeled entries in green and blue such as 'Grasteléo' and 'Schie, thitteisom' with alphanumeric sequences like 'N Y Con-15', 'Bhrtcesk10', 'FirteFR3-Spce', 'GristSt 1869', 'Arzisiu00', 'Sthebes, Tares sorgör', 'Ste, up Cherkis, 94. Code programming interface illustrations
A command prompt interface displayed on a dark blue background with a white border features a grid-like arrangement of colorful command lines in white text, including labeled entries in green and blue such as 'Grasteléo' and 'Schie, thitteisom' with alphanumeric sequences like 'N Y Con-15', 'Bhrtcesk10', 'FirteFR3-Spce', 'GristSt 1869', 'Arzisiu00', 'Sthebes, Tares sorgör', 'Ste, up Cherkis, 94. Code programming interface illustrations
A minimalist, high-contrast black and white illustration of a laptop screen filled with software code, set against a dark background representing modern software development. Code programming interface illustrations
A minimalist, high-contrast black and white illustration of a laptop screen filled with software code, set against a dark background representing modern software development. Code programming interface illustrations
Web development, software coding, teamwork, idea generation, frontend development, innovation. Code interface, HTML tag lightbulb and handshake symbol. Web development and software coding concept. Code programming interface illustrations
Web development, software coding, teamwork, idea generation, frontend development, innovation. Code interface, HTML tag lightbulb and handshake symbol. Web development and software coding concept. Code programming interface illustrations
Three computer monitors display lines of code in shades of blue and orange. A keyboard and mouse are partially visible in the foreground. The background is blurred, showing warm-toned lighting. Code programming interface illustrations
Three computer monitors display lines of code in shades of blue and orange. A keyboard and mouse are partially visible in the foreground. The background is blurred, showing warm-toned lighting. Code programming interface illustrations
Laptop displaying website code and data charts for a professional web development landing page banner. Programming, software engineering, digital technology, coding, internet, web design. Computer. Code programming interface illustrations
Laptop displaying website code and data charts for a professional web development landing page banner. Programming, software engineering, digital technology, coding, internet, web design. Computer. Code programming interface illustrations
A flat vector illustration of an open laptop displaying complex programming code on the screen, accompanied by a cup of coffee on a dark background. Created AI. Code programming interface illustrations
A flat vector illustration of an open laptop displaying complex programming code on the screen, accompanied by a cup of coffee on a dark background. Created AI. Code programming interface illustrations
A bold solid black laptop development icon in a clean glyph style. This symbol features simple shapes and a clear silhouette, making it easy to recognize at any size. It works well for software development, coding and programming, mobile apps, websites, presentations, infographics and user interface projects. Related ideas include gear, code, settings. The minimal pictogram is isolated on a. Code programming interface vectors
A bold solid black laptop development icon in a clean glyph style. This symbol features simple shapes and a clear silhouette, making it easy to recognize at any size. It works well for software development, coding and programming, mobile apps, websites, presentations, infographics and user interface projects. Related ideas include gear, code, settings. The minimal pictogram is isolated on a. Code programming interface vectors
Web development, coding, content creation, software design, user interface, digital marketing. A computer with media files, HTML code and icons. Web development and coding concept. Code programming interface vectors
Web development, coding, content creation, software design, user interface, digital marketing. A computer with media files, HTML code and icons. Web development and coding concept. Code programming interface vectors
Set of digital technology icons including voice recognition and binary code for web landing page banner. Audio processing, data security, virtual reality, software development, user interface. Code programming interface vectors
Set of digital technology icons including voice recognition and binary code for web landing page banner. Audio processing, data security, virtual reality, software development, user interface. Code programming interface vectors
A computer monitor displays HTML code on the left side, featuring tags nested within a black interface. The code includes typical HTML elements like `<html>`, `<head>`, and `<title>`. On the right side of the screen, there's an image of snow-covered mountains under a sunrise or sunset, showcasing a scenic view. The monitor has a sleek design with a metal-like frame and a vibrant orange stand. Code programming interface illustrations
A computer monitor displays HTML code on the left side, featuring tags nested within a black interface. The code includes typical HTML elements like ``, ``, and ``. On the right side of the screen, there's an image of snow-covered mountains under a sunrise or sunset, showcasing a scenic view. The monitor has a sleek design with a metal-like frame and a vibrant orange stand. Code programming interface illustrations</figcaption> </figure> </a> <div class="item__info"> <p class="item__title js-item-title"> <a href="https://www.dreamstime.com/computer-monitor-displays-html-code-left-side-featuring-tags-nested-black-interface-includes-typical-elements-like-image461385037" > Computer Monitor with HTML Code and Mountain Image. A computer monitor displays HTML code on the left side, featuring tags nested within a black interface. The. A computer monitor displays HTML code on the left side, featuring tags nested within a black interface. The code includes typical HTML elements like `<html>`, `<head>`, and `<title>`. On the right side of the screen, there's an image of snow-covered mountains under a sunrise or sunset, showcasing a scenic view. The monitor has a sleek design with a metal-like frame and a vibrant orange stand. </a> </p> </div> </article> <article class="item item71 item-photo js-listing-item" data-id="405898542" data-type="image" data-dt-id="#ilc1" data-dt-on-mouseenter="" data-dt-on-touchstart="" > <div class="item__actions"> <a href="https://www.dreamstime.com/search.php?srh_field=image+showcases+futuristic+interface&s_il=y" class="item__similars-link js-similars-link" rel="nofollow" target="_blank" aria-label="Show similar results" data-dt-id="item-similars-link" data-dt-on-mouseenter="" data-dt-on-touchstart=""><svg xmlns="http://www.w3.org/2000/svg" width="16" height="16"><path fill="#fff" fill-rule="evenodd" d="M0 1a1 1 0 0 1 1-1h14a1 1 0 0 1 1 1v10a1 1 0 0 1-1 1H1a1 1 0 0 1-1-1zm4 4.072c0 1.694 1.404 3.071 3.13 3.071l.178-.004c.55-.03 1.061-.2 1.5-.474l2.16 2.166a.625.625 0 0 0 .855 0 .585.585 0 0 0 0-.838L9.685 6.847a3 3 0 0 0 .576-1.775C10.261 3.378 8.857 2 7.131 2 5.403 2 4 3.378 4 5.072m1.208 0c0-1.04.863-1.887 1.922-1.887l.15.006c.99.076 1.773.89 1.773 1.881 0 .528-.223 1.007-.58 1.35l-.039.028a.1.1 0 0 0-.016.021 1.94 1.94 0 0 1-1.288.487c-1.06 0-1.922-.846-1.922-1.886M2 13h12a1 1 0 0 1-1 1H3a1 1 0 0 1-1-1m2 2h8a1 1 0 0 1-1 1H5a1 1 0 0 1-1-1"/></svg></a> <button class="item__lightbox-btn js-item-lightbox-add-btn" type="button" data-id="405898542" data-lb-state="add" aria-label="Add to lightbox" data-aria-label-add="Add to lightbox" data-aria-label-remove="Remove from lightbox" data-dt-id="item-lightbox-btn" data-dt-on-click="" data-dt-on-mouseenter="" data-dt-on-touchstart=""><svg xmlns="http://www.w3.org/2000/svg"><path fill="#fff" d="M6 0h4v16H6V0Z"/><path fill="#fff" d="m0 10-1.7e-7-4 16-7e-7 1.7e-7 4L0 10Z"/></svg></button> <a class="item-btn-trial btn btn--green" href="https://www.dreamstime.com/securecredits2.php?subscriptionid=816&packagetype=0" rel="nofollow" aria-label="Free with trial"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 14 13.998"><path fill-rule="evenodd" d="M14 13.998H0v-3h1.5v1.5h11v-1.5H14v3ZM6.2 0v4.904H3.528L7 9.996l3.472-5.092H7.8V0H6.2Z"/></svg><span>Free with trial</span></a> </div> <a href="https://www.dreamstime.com/code-data-visualization-future-science-image-showcases-futuristic-interface-where-hands-type-laptop-image405898542" class="item__url js-item-title-wrapper" aria-label="Code and Data Visualization: The Future of Data Science. This image showcases a futuristic interface where hands type on a laptop, with code and data" target="_blank"> <figure> <img class="item__thumb" src="https://thumbs.dreamstime.com/b/code-data-visualization-future-science-image-showcases-futuristic-interface-where-hands-type-laptop-405898542.jpg" loading="lazy" alt="This image showcases a futuristic interface where hands type on a laptop, with code and data visualizations in the background. Perfect for tech blogs, data science tutorials, and presentations. The image highlights the intersection of coding and data analysis, making it ideal for content related to software development, data analytics, and digital transformation. Code programming interface illustrations" srcset="https://thumbs.dreamstime.com/b/code-data-visualization-future-science-image-showcases-futuristic-interface-where-hands-type-laptop-405898542.jpg?w=360 360w, https://thumbs.dreamstime.com/b/code-data-visualization-future-science-image-showcases-futuristic-interface-where-hands-type-laptop-405898542.jpg?w=400 400w, https://thumbs.dreamstime.com/b/code-data-visualization-future-science-image-showcases-futuristic-interface-where-hands-type-laptop-405898542.jpg?w=450 450w, https://thumbs.dreamstime.com/b/code-data-visualization-future-science-image-showcases-futuristic-interface-where-hands-type-laptop-405898542.jpg?w=576 576w, https://thumbs.dreamstime.com/b/code-data-visualization-future-science-image-showcases-futuristic-interface-where-hands-type-laptop-405898542.jpg?w=768 768w, https://thumbs.dreamstime.com/b/code-data-visualization-future-science-image-showcases-futuristic-interface-where-hands-type-laptop-405898542.jpg?w=992 992w" sizes="(max-width: 359.98px) 360px, (min-width: 360px) and (max-width: 399.98px) 400px, (min-width: 400px) and (max-width: 449.98px) 450px, (min-width: 450px) and (max-width: 575.98px) 576px, (min-width: 576px) and (max-width: 767.98px) 768px, 992px"> <figcaption class="item__caption">This image showcases a futuristic interface where hands type on a laptop, with code and data visualizations in the background. Perfect for tech blogs, data science tutorials, and presentations. The image highlights the intersection of coding and data analysis, making it ideal for content related to software development, data analytics, and digital transformation. Code programming interface illustrations</figcaption> </figure> </a> <div class="item__info"> <p class="item__title js-item-title"> <a href="https://www.dreamstime.com/code-data-visualization-future-science-image-showcases-futuristic-interface-where-hands-type-laptop-image405898542" > Code and Data Visualization: The Future of Data Science. This image showcases a futuristic interface where hands type on a laptop, with code and data. This image showcases a futuristic interface where hands type on a laptop, with code and data visualizations in the background. Perfect for tech blogs, data science tutorials, and presentations. The image highlights the intersection of coding and data analysis, making it ideal for content related to software development, data analytics, and digital transformation. </a> </p> </div> </article> <article class="item item72 item-photo js-listing-item" data-id="477558814" data-type="image" data-dt-id="#ilc1" data-dt-on-mouseenter="" data-dt-on-touchstart="" > <div class="item__actions"> <a href="https://www.dreamstime.com/search.php?srh_field=minimalist+black+vector+icon&s_il=y" class="item__similars-link js-similars-link" rel="nofollow" target="_blank" aria-label="Show similar results" data-dt-id="item-similars-link" data-dt-on-mouseenter="" data-dt-on-touchstart=""><svg xmlns="http://www.w3.org/2000/svg" width="16" height="16"><path fill="#fff" fill-rule="evenodd" d="M0 1a1 1 0 0 1 1-1h14a1 1 0 0 1 1 1v10a1 1 0 0 1-1 1H1a1 1 0 0 1-1-1zm4 4.072c0 1.694 1.404 3.071 3.13 3.071l.178-.004c.55-.03 1.061-.2 1.5-.474l2.16 2.166a.625.625 0 0 0 .855 0 .585.585 0 0 0 0-.838L9.685 6.847a3 3 0 0 0 .576-1.775C10.261 3.378 8.857 2 7.131 2 5.403 2 4 3.378 4 5.072m1.208 0c0-1.04.863-1.887 1.922-1.887l.15.006c.99.076 1.773.89 1.773 1.881 0 .528-.223 1.007-.58 1.35l-.039.028a.1.1 0 0 0-.016.021 1.94 1.94 0 0 1-1.288.487c-1.06 0-1.922-.846-1.922-1.886M2 13h12a1 1 0 0 1-1 1H3a1 1 0 0 1-1-1m2 2h8a1 1 0 0 1-1 1H5a1 1 0 0 1-1-1"/></svg></a> <button class="item__lightbox-btn js-item-lightbox-add-btn" type="button" data-id="477558814" data-lb-state="add" aria-label="Add to lightbox" data-aria-label-add="Add to lightbox" data-aria-label-remove="Remove from lightbox" data-dt-id="item-lightbox-btn" data-dt-on-click="" data-dt-on-mouseenter="" data-dt-on-touchstart=""><svg xmlns="http://www.w3.org/2000/svg"><path fill="#fff" d="M6 0h4v16H6V0Z"/><path fill="#fff" d="m0 10-1.7e-7-4 16-7e-7 1.7e-7 4L0 10Z"/></svg></button> <a class="item-btn-trial btn btn--green" href="https://www.dreamstime.com/securecredits2.php?subscriptionid=816&packagetype=0" rel="nofollow" aria-label="Free with trial"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 14 13.998"><path fill-rule="evenodd" d="M14 13.998H0v-3h1.5v1.5h11v-1.5H14v3ZM6.2 0v4.904H3.528L7 9.996l3.472-5.092H7.8V0H6.2Z"/></svg><span>Free with trial</span></a> </div> <a href="https://www.dreamstime.com/black-location-pin-icon-combined-code-angle-brackets-symbol-vector-illustration-minimalist-black-vector-icon-featuring-image477558814" class="item__url js-item-title-wrapper" aria-label="Black Location Pin Icon Combined With Code Angle Brackets Symbol Vector Illustration. A minimalist black vector icon featuring a location map marker nested" target="_blank"> <figure> <img class="item__thumb" src="https://thumbs.dreamstime.com/b/black-location-pin-icon-combined-code-angle-brackets-symbol-vector-illustration-minimalist-black-vector-icon-featuring-477558814.jpg" loading="lazy" alt="A minimalist black vector icon featuring a location map marker nested inside programming code brackets. Code programming interface vectors" srcset="https://thumbs.dreamstime.com/b/black-location-pin-icon-combined-code-angle-brackets-symbol-vector-illustration-minimalist-black-vector-icon-featuring-477558814.jpg?w=360 360w, https://thumbs.dreamstime.com/b/black-location-pin-icon-combined-code-angle-brackets-symbol-vector-illustration-minimalist-black-vector-icon-featuring-477558814.jpg?w=400 400w, https://thumbs.dreamstime.com/b/black-location-pin-icon-combined-code-angle-brackets-symbol-vector-illustration-minimalist-black-vector-icon-featuring-477558814.jpg?w=450 450w, https://thumbs.dreamstime.com/b/black-location-pin-icon-combined-code-angle-brackets-symbol-vector-illustration-minimalist-black-vector-icon-featuring-477558814.jpg?w=576 576w, https://thumbs.dreamstime.com/b/black-location-pin-icon-combined-code-angle-brackets-symbol-vector-illustration-minimalist-black-vector-icon-featuring-477558814.jpg?w=768 768w, https://thumbs.dreamstime.com/b/black-location-pin-icon-combined-code-angle-brackets-symbol-vector-illustration-minimalist-black-vector-icon-featuring-477558814.jpg?w=992 992w" sizes="(max-width: 359.98px) 360px, (min-width: 360px) and (max-width: 399.98px) 400px, (min-width: 400px) and (max-width: 449.98px) 450px, (min-width: 450px) and (max-width: 575.98px) 576px, (min-width: 576px) and (max-width: 767.98px) 768px, 992px"> <figcaption class="item__caption">A minimalist black vector icon featuring a location map marker nested inside programming code brackets. Code programming interface vectors</figcaption> </figure> </a> <div class="item__info"> <p class="item__title js-item-title"> <a href="https://www.dreamstime.com/black-location-pin-icon-combined-code-angle-brackets-symbol-vector-illustration-minimalist-black-vector-icon-featuring-image477558814" > Black Location Pin Icon Combined With Code Angle Brackets Symbol Vector Illustration. A minimalist black vector icon featuring a location map marker nested. A minimalist black vector icon featuring a location map marker nested inside programming code brackets </a> </p> </div> </article> <article class="item item73 item-photo js-listing-item" data-id="482936731" data-type="image" data-dt-id="#ilc1" data-dt-on-mouseenter="" data-dt-on-touchstart="" > <div class="item__actions"> <a href="https://www.dreamstime.com/search.php?srh_field=glowing+neon+blue+purple&s_il=y" class="item__similars-link js-similars-link" rel="nofollow" target="_blank" aria-label="Show similar results" data-dt-id="item-similars-link" data-dt-on-mouseenter="" data-dt-on-touchstart=""><svg xmlns="http://www.w3.org/2000/svg" width="16" height="16"><path fill="#fff" fill-rule="evenodd" d="M0 1a1 1 0 0 1 1-1h14a1 1 0 0 1 1 1v10a1 1 0 0 1-1 1H1a1 1 0 0 1-1-1zm4 4.072c0 1.694 1.404 3.071 3.13 3.071l.178-.004c.55-.03 1.061-.2 1.5-.474l2.16 2.166a.625.625 0 0 0 .855 0 .585.585 0 0 0 0-.838L9.685 6.847a3 3 0 0 0 .576-1.775C10.261 3.378 8.857 2 7.131 2 5.403 2 4 3.378 4 5.072m1.208 0c0-1.04.863-1.887 1.922-1.887l.15.006c.99.076 1.773.89 1.773 1.881 0 .528-.223 1.007-.58 1.35l-.039.028a.1.1 0 0 0-.016.021 1.94 1.94 0 0 1-1.288.487c-1.06 0-1.922-.846-1.922-1.886M2 13h12a1 1 0 0 1-1 1H3a1 1 0 0 1-1-1m2 2h8a1 1 0 0 1-1 1H5a1 1 0 0 1-1-1"/></svg></a> <button class="item__lightbox-btn js-item-lightbox-add-btn" type="button" data-id="482936731" data-lb-state="add" aria-label="Add to lightbox" data-aria-label-add="Add to lightbox" data-aria-label-remove="Remove from lightbox" data-dt-id="item-lightbox-btn" data-dt-on-click="" data-dt-on-mouseenter="" data-dt-on-touchstart=""><svg xmlns="http://www.w3.org/2000/svg"><path fill="#fff" d="M6 0h4v16H6V0Z"/><path fill="#fff" d="m0 10-1.7e-7-4 16-7e-7 1.7e-7 4L0 10Z"/></svg></button> <a class="item-btn-trial btn btn--green" href="https://www.dreamstime.com/securecredits2.php?subscriptionid=816&packagetype=0" rel="nofollow" aria-label="Free with trial"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 14 13.998"><path fill-rule="evenodd" d="M14 13.998H0v-3h1.5v1.5h11v-1.5H14v3ZM6.2 0v4.904H3.528L7 9.996l3.472-5.092H7.8V0H6.2Z"/></svg><span>Free with trial</span></a> </div> <a href="https://www.dreamstime.com/glowing-neon-cloud-data-storage-hologram-projecting-digital-tablet-generative-ai-blue-purple-made-swirling-fiber-image482936731" class="item__url js-item-title-wrapper" aria-label="Glowing Neon Cloud Data Storage Hologram Projecting from Digital Tablet - Generative AI. A glowing neon blue and purple cloud hologram made of swirling fiber" target="_blank"> <figure> <img class="item__thumb" src="https://thumbs.dreamstime.com/b/glowing-neon-cloud-data-storage-hologram-projecting-digital-tablet-generative-ai-blue-purple-made-swirling-fiber-482936731.jpg" loading="lazy" alt="A glowing neon blue and purple cloud hologram made of swirling fiber optic light trails and the text DATA STORAGE projects upwards from a modern digital tablet screen displaying a futuristic user interface. Set indoors against a dark cyber grid background with floating programming code and blurred server racks, this 3D digital creates an advanced, high-tech atmosphere, symbolizing cloud computing, big data management, virtual database backup, wireless file transfer, and modern IT infrastructure. Generative AI. Code programming interface illustrations" srcset="https://thumbs.dreamstime.com/b/glowing-neon-cloud-data-storage-hologram-projecting-digital-tablet-generative-ai-blue-purple-made-swirling-fiber-482936731.jpg?w=360 360w, https://thumbs.dreamstime.com/b/glowing-neon-cloud-data-storage-hologram-projecting-digital-tablet-generative-ai-blue-purple-made-swirling-fiber-482936731.jpg?w=400 400w, https://thumbs.dreamstime.com/b/glowing-neon-cloud-data-storage-hologram-projecting-digital-tablet-generative-ai-blue-purple-made-swirling-fiber-482936731.jpg?w=450 450w, https://thumbs.dreamstime.com/b/glowing-neon-cloud-data-storage-hologram-projecting-digital-tablet-generative-ai-blue-purple-made-swirling-fiber-482936731.jpg?w=576 576w, https://thumbs.dreamstime.com/b/glowing-neon-cloud-data-storage-hologram-projecting-digital-tablet-generative-ai-blue-purple-made-swirling-fiber-482936731.jpg?w=768 768w" sizes="(max-width: 359.98px) 360px, (min-width: 360px) and (max-width: 399.98px) 400px, (min-width: 400px) and (max-width: 449.98px) 450px, (min-width: 450px) and (max-width: 575.98px) 576px, 768px"> <figcaption class="item__caption">A glowing neon blue and purple cloud hologram made of swirling fiber optic light trails and the text DATA STORAGE projects upwards from a modern digital tablet screen displaying a futuristic user interface. Set indoors against a dark cyber grid background with floating programming code and blurred server racks, this 3D digital creates an advanced, high-tech atmosphere, symbolizing cloud computing, big data management, virtual database backup, wireless file transfer, and modern IT infrastructure. Generative AI. Code programming interface illustrations</figcaption> </figure> </a> <div class="item__info"> <p class="item__title js-item-title"> <a href="https://www.dreamstime.com/glowing-neon-cloud-data-storage-hologram-projecting-digital-tablet-generative-ai-blue-purple-made-swirling-fiber-image482936731" > Glowing Neon Cloud Data Storage Hologram Projecting from Digital Tablet - Generative AI. A glowing neon blue and purple cloud hologram made of swirling fiber. A glowing neon blue and purple cloud hologram made of swirling fiber optic light trails and the text DATA STORAGE projects upwards from a modern digital tablet screen displaying a futuristic user interface. Set indoors against a dark cyber grid background with floating programming code and blurred server racks, this 3D digital creates an advanced, high-tech atmosphere, symbolizing cloud computing, big data management, virtual database backup, wireless file transfer, and modern IT infrastructure. Generative AI. </a> </p> </div> </article> <article class="item item74 item-photo js-listing-item" data-id="431464668" data-type="image" data-dt-id="#ilc1" data-dt-on-mouseenter="" data-dt-on-touchstart="" > <div class="item__actions"> <a href="https://www.dreamstime.com/search.php?srh_field=image+showcasing+futuristic+technology&s_il=y" class="item__similars-link js-similars-link" rel="nofollow" target="_blank" aria-label="Show similar results" data-dt-id="item-similars-link" data-dt-on-mouseenter="" data-dt-on-touchstart=""><svg xmlns="http://www.w3.org/2000/svg" width="16" height="16"><path fill="#fff" fill-rule="evenodd" d="M0 1a1 1 0 0 1 1-1h14a1 1 0 0 1 1 1v10a1 1 0 0 1-1 1H1a1 1 0 0 1-1-1zm4 4.072c0 1.694 1.404 3.071 3.13 3.071l.178-.004c.55-.03 1.061-.2 1.5-.474l2.16 2.166a.625.625 0 0 0 .855 0 .585.585 0 0 0 0-.838L9.685 6.847a3 3 0 0 0 .576-1.775C10.261 3.378 8.857 2 7.131 2 5.403 2 4 3.378 4 5.072m1.208 0c0-1.04.863-1.887 1.922-1.887l.15.006c.99.076 1.773.89 1.773 1.881 0 .528-.223 1.007-.58 1.35l-.039.028a.1.1 0 0 0-.016.021 1.94 1.94 0 0 1-1.288.487c-1.06 0-1.922-.846-1.922-1.886M2 13h12a1 1 0 0 1-1 1H3a1 1 0 0 1-1-1m2 2h8a1 1 0 0 1-1 1H5a1 1 0 0 1-1-1"/></svg></a> <button class="item__lightbox-btn js-item-lightbox-add-btn" type="button" data-id="431464668" data-lb-state="add" aria-label="Add to lightbox" data-aria-label-add="Add to lightbox" data-aria-label-remove="Remove from lightbox" data-dt-id="item-lightbox-btn" data-dt-on-click="" data-dt-on-mouseenter="" data-dt-on-touchstart=""><svg xmlns="http://www.w3.org/2000/svg"><path fill="#fff" d="M6 0h4v16H6V0Z"/><path fill="#fff" d="m0 10-1.7e-7-4 16-7e-7 1.7e-7 4L0 10Z"/></svg></button> <a class="item-btn-trial btn btn--green" href="https://www.dreamstime.com/securecredits2.php?subscriptionid=816&packagetype=0" rel="nofollow" aria-label="Free with trial"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 14 13.998"><path fill-rule="evenodd" d="M14 13.998H0v-3h1.5v1.5h11v-1.5H14v3ZM6.2 0v4.904H3.528L7 9.996l3.472-5.092H7.8V0H6.2Z"/></svg><span>Free with trial</span></a> </div> <a href="https://www.dreamstime.com/advanced-technology-concept-code-gears-image-showcasing-futuristic-interface-digital-elements-symbolizing-innovation-image431464668" class="item__url js-item-title-wrapper" aria-label="Advanced technology concept with code and gears. An image showcasing a futuristic technology interface with code, gears, and digital elements symbolizing" target="_blank"> <figure> <img class="item__thumb" src="https://thumbs.dreamstime.com/b/advanced-technology-concept-code-gears-image-showcasing-futuristic-interface-digital-elements-symbolizing-innovation-431464668.jpg" loading="lazy" alt="An image showcasing a futuristic technology interface with code, gears, and digital elements symbolizing innovation and development. Code programming interface illustrations" srcset="https://thumbs.dreamstime.com/b/advanced-technology-concept-code-gears-image-showcasing-futuristic-interface-digital-elements-symbolizing-innovation-431464668.jpg?w=360 360w, https://thumbs.dreamstime.com/b/advanced-technology-concept-code-gears-image-showcasing-futuristic-interface-digital-elements-symbolizing-innovation-431464668.jpg?w=400 400w, https://thumbs.dreamstime.com/b/advanced-technology-concept-code-gears-image-showcasing-futuristic-interface-digital-elements-symbolizing-innovation-431464668.jpg?w=450 450w, https://thumbs.dreamstime.com/b/advanced-technology-concept-code-gears-image-showcasing-futuristic-interface-digital-elements-symbolizing-innovation-431464668.jpg?w=576 576w, https://thumbs.dreamstime.com/b/advanced-technology-concept-code-gears-image-showcasing-futuristic-interface-digital-elements-symbolizing-innovation-431464668.jpg?w=768 768w, https://thumbs.dreamstime.com/b/advanced-technology-concept-code-gears-image-showcasing-futuristic-interface-digital-elements-symbolizing-innovation-431464668.jpg?w=992 992w" sizes="(max-width: 359.98px) 360px, (min-width: 360px) and (max-width: 399.98px) 400px, (min-width: 400px) and (max-width: 449.98px) 450px, (min-width: 450px) and (max-width: 575.98px) 576px, (min-width: 576px) and (max-width: 767.98px) 768px, 992px"> <figcaption class="item__caption">An image showcasing a futuristic technology interface with code, gears, and digital elements symbolizing innovation and development. Code programming interface illustrations</figcaption> </figure> </a> <div class="item__info"> <p class="item__title js-item-title"> <a href="https://www.dreamstime.com/advanced-technology-concept-code-gears-image-showcasing-futuristic-interface-digital-elements-symbolizing-innovation-image431464668" > Advanced technology concept with code and gears. An image showcasing a futuristic technology interface with code, gears, and digital elements symbolizing. An image showcasing a futuristic technology interface with code, gears, and digital elements symbolizing innovation and development </a> </p> </div> </article> <article class="item item75 item-photo js-listing-item" data-id="446417673" data-type="image" data-dt-id="#ilc1" data-dt-on-mouseenter="" data-dt-on-touchstart="" data-vertical-icons="" > <div class="item__actions"> <a href="https://www.dreamstime.com/search.php?srh_field=illustration+programming+code+window&s_il=y" class="item__similars-link js-similars-link" rel="nofollow" target="_blank" aria-label="Show similar results" data-dt-id="item-similars-link" data-dt-on-mouseenter="" data-dt-on-touchstart=""><svg xmlns="http://www.w3.org/2000/svg" width="16" height="16"><path fill="#fff" fill-rule="evenodd" d="M0 1a1 1 0 0 1 1-1h14a1 1 0 0 1 1 1v10a1 1 0 0 1-1 1H1a1 1 0 0 1-1-1zm4 4.072c0 1.694 1.404 3.071 3.13 3.071l.178-.004c.55-.03 1.061-.2 1.5-.474l2.16 2.166a.625.625 0 0 0 .855 0 .585.585 0 0 0 0-.838L9.685 6.847a3 3 0 0 0 .576-1.775C10.261 3.378 8.857 2 7.131 2 5.403 2 4 3.378 4 5.072m1.208 0c0-1.04.863-1.887 1.922-1.887l.15.006c.99.076 1.773.89 1.773 1.881 0 .528-.223 1.007-.58 1.35l-.039.028a.1.1 0 0 0-.016.021 1.94 1.94 0 0 1-1.288.487c-1.06 0-1.922-.846-1.922-1.886M2 13h12a1 1 0 0 1-1 1H3a1 1 0 0 1-1-1m2 2h8a1 1 0 0 1-1 1H5a1 1 0 0 1-1-1"/></svg></a> <button class="item__lightbox-btn js-item-lightbox-add-btn" type="button" data-id="446417673" data-lb-state="add" aria-label="Add to lightbox" data-aria-label-add="Add to lightbox" data-aria-label-remove="Remove from lightbox" data-dt-id="item-lightbox-btn" data-dt-on-click="" data-dt-on-mouseenter="" data-dt-on-touchstart=""><svg xmlns="http://www.w3.org/2000/svg"><path fill="#fff" d="M6 0h4v16H6V0Z"/><path fill="#fff" d="m0 10-1.7e-7-4 16-7e-7 1.7e-7 4L0 10Z"/></svg></button> <a class="item-btn-trial btn btn--green" href="https://www.dreamstime.com/securecredits2.php?subscriptionid=816&packagetype=0" rel="nofollow" aria-label="Free with trial"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 14 13.998"><path fill-rule="evenodd" d="M14 13.998H0v-3h1.5v1.5h11v-1.5H14v3ZM6.2 0v4.904H3.528L7 9.996l3.472-5.092H7.8V0H6.2Z"/></svg><span>Free with trial</span></a> </div> <a href="https://www.dreamstime.com/code-window-displaying-icon-vector-stock-image-illustration-programming-flat-style-design-featuring-light-blue-gray-image446417673" class="item__url js-item-title-wrapper" aria-label="Code window displaying code icon vector stock image. Illustration of a programming code window. Flat style design featuring light blue and gray elements on a" target="_blank"> <figure> <img class="item__thumb" src="https://thumbs.dreamstime.com/b/code-window-displaying-icon-vector-stock-image-illustration-programming-flat-style-design-featuring-light-blue-gray-446417673.jpg" loading="lazy" alt="Illustration of a programming code window. Flat style design featuring light blue and gray elements on a black background. Code programming interface vectors" srcset="https://thumbs.dreamstime.com/b/code-window-displaying-icon-vector-stock-image-illustration-programming-flat-style-design-featuring-light-blue-gray-446417673.jpg?w=360 360w, https://thumbs.dreamstime.com/b/code-window-displaying-icon-vector-stock-image-illustration-programming-flat-style-design-featuring-light-blue-gray-446417673.jpg?w=400 400w, https://thumbs.dreamstime.com/b/code-window-displaying-icon-vector-stock-image-illustration-programming-flat-style-design-featuring-light-blue-gray-446417673.jpg?w=450 450w, https://thumbs.dreamstime.com/b/code-window-displaying-icon-vector-stock-image-illustration-programming-flat-style-design-featuring-light-blue-gray-446417673.jpg?w=576 576w, https://thumbs.dreamstime.com/b/code-window-displaying-icon-vector-stock-image-illustration-programming-flat-style-design-featuring-light-blue-gray-446417673.jpg?w=768 768w" sizes="(max-width: 359.98px) 360px, (min-width: 360px) and (max-width: 399.98px) 400px, (min-width: 400px) and (max-width: 449.98px) 450px, (min-width: 450px) and (max-width: 575.98px) 576px, 768px"> <figcaption class="item__caption">Illustration of a programming code window. Flat style design featuring light blue and gray elements on a black background. Code programming interface vectors</figcaption> </figure> </a> <div class="item__info"> <p class="item__title js-item-title"> <a href="https://www.dreamstime.com/code-window-displaying-icon-vector-stock-image-illustration-programming-flat-style-design-featuring-light-blue-gray-image446417673" > Code window displaying code icon vector stock image. Illustration of a programming code window. Flat style design featuring light blue and gray elements on a. Illustration of a programming code window. Flat style design featuring light blue and gray elements on a black background. </a> </p> </div> </article> <article class="item item76 item-photo js-listing-item" data-id="475733179" data-type="image" data-dt-id="#ilc1" data-dt-on-mouseenter="" data-dt-on-touchstart="" > <div class="item__actions"> <a href="https://www.dreamstime.com/search.php?srh_field=artificial+intelligence+digital+technology&s_il=y" class="item__similars-link js-similars-link" rel="nofollow" target="_blank" aria-label="Show similar results" data-dt-id="item-similars-link" data-dt-on-mouseenter="" data-dt-on-touchstart=""><svg xmlns="http://www.w3.org/2000/svg" width="16" height="16"><path fill="#fff" fill-rule="evenodd" d="M0 1a1 1 0 0 1 1-1h14a1 1 0 0 1 1 1v10a1 1 0 0 1-1 1H1a1 1 0 0 1-1-1zm4 4.072c0 1.694 1.404 3.071 3.13 3.071l.178-.004c.55-.03 1.061-.2 1.5-.474l2.16 2.166a.625.625 0 0 0 .855 0 .585.585 0 0 0 0-.838L9.685 6.847a3 3 0 0 0 .576-1.775C10.261 3.378 8.857 2 7.131 2 5.403 2 4 3.378 4 5.072m1.208 0c0-1.04.863-1.887 1.922-1.887l.15.006c.99.076 1.773.89 1.773 1.881 0 .528-.223 1.007-.58 1.35l-.039.028a.1.1 0 0 0-.016.021 1.94 1.94 0 0 1-1.288.487c-1.06 0-1.922-.846-1.922-1.886M2 13h12a1 1 0 0 1-1 1H3a1 1 0 0 1-1-1m2 2h8a1 1 0 0 1-1 1H5a1 1 0 0 1-1-1"/></svg></a> <button class="item__lightbox-btn js-item-lightbox-add-btn" type="button" data-id="475733179" data-lb-state="add" aria-label="Add to lightbox" data-aria-label-add="Add to lightbox" data-aria-label-remove="Remove from lightbox" data-dt-id="item-lightbox-btn" data-dt-on-click="" data-dt-on-mouseenter="" data-dt-on-touchstart=""><svg xmlns="http://www.w3.org/2000/svg"><path fill="#fff" d="M6 0h4v16H6V0Z"/><path fill="#fff" d="m0 10-1.7e-7-4 16-7e-7 1.7e-7 4L0 10Z"/></svg></button> <a class="item-btn-trial btn btn--green" href="https://www.dreamstime.com/securecredits2.php?subscriptionid=816&packagetype=0" rel="nofollow" aria-label="Free with trial"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 14 13.998"><path fill-rule="evenodd" d="M14 13.998H0v-3h1.5v1.5h11v-1.5H14v3ZM6.2 0v4.904H3.528L7 9.996l3.472-5.092H7.8V0H6.2Z"/></svg><span>Free with trial</span></a> </div> <a href="https://www.dreamstime.com/artificial-intelligence-digital-technology-programming-innovation-computer-interface-data-processing-large-screen-ai-chip-image475733179" class="item__url js-item-title-wrapper" aria-label="Computer Screen with AI Technology Graphics Digital Interface and Artificial Intelligence Concepts. Artificial intelligence, digital technology, programming" target="_blank"> <figure> <img class="item__thumb" src="https://thumbs.dreamstime.com/b/artificial-intelligence-digital-technology-programming-innovation-computer-interface-data-processing-large-screen-ai-chip-475733179.jpg" loading="lazy" alt="Artificial intelligence, digital technology, programming, innovation, computer interface, data processing. Large screen with AI chip icon and smaller monitor. Artificial intelligence and digital. Code programming interface illustrations" srcset="https://thumbs.dreamstime.com/b/artificial-intelligence-digital-technology-programming-innovation-computer-interface-data-processing-large-screen-ai-chip-475733179.jpg?w=360 360w, https://thumbs.dreamstime.com/b/artificial-intelligence-digital-technology-programming-innovation-computer-interface-data-processing-large-screen-ai-chip-475733179.jpg?w=400 400w, https://thumbs.dreamstime.com/b/artificial-intelligence-digital-technology-programming-innovation-computer-interface-data-processing-large-screen-ai-chip-475733179.jpg?w=450 450w, https://thumbs.dreamstime.com/b/artificial-intelligence-digital-technology-programming-innovation-computer-interface-data-processing-large-screen-ai-chip-475733179.jpg?w=576 576w, https://thumbs.dreamstime.com/b/artificial-intelligence-digital-technology-programming-innovation-computer-interface-data-processing-large-screen-ai-chip-475733179.jpg?w=768 768w, https://thumbs.dreamstime.com/b/artificial-intelligence-digital-technology-programming-innovation-computer-interface-data-processing-large-screen-ai-chip-475733179.jpg?w=992 992w" sizes="(max-width: 359.98px) 360px, (min-width: 360px) and (max-width: 399.98px) 400px, (min-width: 400px) and (max-width: 449.98px) 450px, (min-width: 450px) and (max-width: 575.98px) 576px, (min-width: 576px) and (max-width: 767.98px) 768px, 992px"> <figcaption class="item__caption">Artificial intelligence, digital technology, programming, innovation, computer interface, data processing. Large screen with AI chip icon and smaller monitor. Artificial intelligence and digital. Code programming interface illustrations</figcaption> </figure> </a> <div class="item__info"> <p class="item__title js-item-title"> <a href="https://www.dreamstime.com/artificial-intelligence-digital-technology-programming-innovation-computer-interface-data-processing-large-screen-ai-chip-image475733179" > Computer Screen with AI Technology Graphics Digital Interface and Artificial Intelligence Concepts. Artificial intelligence, digital technology, programming. Artificial intelligence, digital technology, programming, innovation, computer interface, data processing. Large screen with AI chip icon and smaller monitor. Artificial intelligence and digital </a> </p> </div> </article> <article class="item item77 item-photo js-listing-item" data-id="404249403" data-type="image" data-dt-id="#ilc1" data-dt-on-mouseenter="" data-dt-on-touchstart="" > <div class="item__actions"> <a href="https://www.dreamstime.com/search.php?srh_field=developers+collaborating+code+laptops&s_il=y" class="item__similars-link js-similars-link" rel="nofollow" target="_blank" aria-label="Show similar results" data-dt-id="item-similars-link" data-dt-on-mouseenter="" data-dt-on-touchstart=""><svg xmlns="http://www.w3.org/2000/svg" width="16" height="16"><path fill="#fff" fill-rule="evenodd" d="M0 1a1 1 0 0 1 1-1h14a1 1 0 0 1 1 1v10a1 1 0 0 1-1 1H1a1 1 0 0 1-1-1zm4 4.072c0 1.694 1.404 3.071 3.13 3.071l.178-.004c.55-.03 1.061-.2 1.5-.474l2.16 2.166a.625.625 0 0 0 .855 0 .585.585 0 0 0 0-.838L9.685 6.847a3 3 0 0 0 .576-1.775C10.261 3.378 8.857 2 7.131 2 5.403 2 4 3.378 4 5.072m1.208 0c0-1.04.863-1.887 1.922-1.887l.15.006c.99.076 1.773.89 1.773 1.881 0 .528-.223 1.007-.58 1.35l-.039.028a.1.1 0 0 0-.016.021 1.94 1.94 0 0 1-1.288.487c-1.06 0-1.922-.846-1.922-1.886M2 13h12a1 1 0 0 1-1 1H3a1 1 0 0 1-1-1m2 2h8a1 1 0 0 1-1 1H5a1 1 0 0 1-1-1"/></svg></a> <button class="item__lightbox-btn js-item-lightbox-add-btn" type="button" data-id="404249403" data-lb-state="add" aria-label="Add to lightbox" data-aria-label-add="Add to lightbox" data-aria-label-remove="Remove from lightbox" data-dt-id="item-lightbox-btn" data-dt-on-click="" data-dt-on-mouseenter="" data-dt-on-touchstart=""><svg xmlns="http://www.w3.org/2000/svg"><path fill="#fff" d="M6 0h4v16H6V0Z"/><path fill="#fff" d="m0 10-1.7e-7-4 16-7e-7 1.7e-7 4L0 10Z"/></svg></button> <a class="item-btn-trial btn btn--green" href="https://www.dreamstime.com/securecredits2.php?subscriptionid=816&packagetype=0" rel="nofollow" aria-label="Free with trial"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 14 13.998"><path fill-rule="evenodd" d="M14 13.998H0v-3h1.5v1.5h11v-1.5H14v3ZM6.2 0v4.904H3.528L7 9.996l3.472-5.092H7.8V0H6.2Z"/></svg><span>Free with trial</span></a> </div> <a href="https://www.dreamstime.com/teamwork-coding-programming-concept-illustration-developers-collaborating-code-laptops-magnifying-glass-surrounded-image404249403" class="item__url js-item-title-wrapper" aria-label="Teamwork Coding and Programming Concept Illustration. Developers collaborating on code with laptops and magnifying glass, surrounded by programming symbols" target="_blank"> <figure> <img class="item__thumb" src="https://thumbs.dreamstime.com/b/teamwork-coding-programming-concept-illustration-developers-collaborating-code-laptops-magnifying-glass-surrounded-404249403.jpg" loading="lazy" alt="Developers collaborating on code with laptops and magnifying glass, surrounded by programming symbols, gears, and security icons, perfect for software development and teamwork topics vector illustration. Code programming interface vectors" srcset="https://thumbs.dreamstime.com/b/teamwork-coding-programming-concept-illustration-developers-collaborating-code-laptops-magnifying-glass-surrounded-404249403.jpg?w=360 360w, https://thumbs.dreamstime.com/b/teamwork-coding-programming-concept-illustration-developers-collaborating-code-laptops-magnifying-glass-surrounded-404249403.jpg?w=400 400w, https://thumbs.dreamstime.com/b/teamwork-coding-programming-concept-illustration-developers-collaborating-code-laptops-magnifying-glass-surrounded-404249403.jpg?w=450 450w, https://thumbs.dreamstime.com/b/teamwork-coding-programming-concept-illustration-developers-collaborating-code-laptops-magnifying-glass-surrounded-404249403.jpg?w=576 576w, https://thumbs.dreamstime.com/b/teamwork-coding-programming-concept-illustration-developers-collaborating-code-laptops-magnifying-glass-surrounded-404249403.jpg?w=768 768w" sizes="(max-width: 359.98px) 360px, (min-width: 360px) and (max-width: 399.98px) 400px, (min-width: 400px) and (max-width: 449.98px) 450px, (min-width: 450px) and (max-width: 575.98px) 576px, 768px"> <figcaption class="item__caption">Developers collaborating on code with laptops and magnifying glass, surrounded by programming symbols, gears, and security icons, perfect for software development and teamwork topics vector illustration. Code programming interface vectors</figcaption> </figure> </a> <div class="item__info"> <p class="item__title js-item-title"> <a href="https://www.dreamstime.com/teamwork-coding-programming-concept-illustration-developers-collaborating-code-laptops-magnifying-glass-surrounded-image404249403" > Teamwork Coding and Programming Concept Illustration. Developers collaborating on code with laptops and magnifying glass, surrounded by programming symbols. Developers collaborating on code with laptops and magnifying glass, surrounded by programming symbols, gears, and security icons, perfect for software development and teamwork topics vector illustration </a> </p> </div> </article> <article class="item item78 item-photo js-listing-item" data-id="452549085" data-type="image" data-dt-id="#ilc1" data-dt-on-mouseenter="" data-dt-on-touchstart="" > <div class="item__actions"> <a href="https://www.dreamstime.com/search.php?srh_field=showing+central+luminous+green&s_il=y" class="item__similars-link js-similars-link" rel="nofollow" target="_blank" aria-label="Show similar results" data-dt-id="item-similars-link" data-dt-on-mouseenter="" data-dt-on-touchstart=""><svg xmlns="http://www.w3.org/2000/svg" width="16" height="16"><path fill="#fff" fill-rule="evenodd" d="M0 1a1 1 0 0 1 1-1h14a1 1 0 0 1 1 1v10a1 1 0 0 1-1 1H1a1 1 0 0 1-1-1zm4 4.072c0 1.694 1.404 3.071 3.13 3.071l.178-.004c.55-.03 1.061-.2 1.5-.474l2.16 2.166a.625.625 0 0 0 .855 0 .585.585 0 0 0 0-.838L9.685 6.847a3 3 0 0 0 .576-1.775C10.261 3.378 8.857 2 7.131 2 5.403 2 4 3.378 4 5.072m1.208 0c0-1.04.863-1.887 1.922-1.887l.15.006c.99.076 1.773.89 1.773 1.881 0 .528-.223 1.007-.58 1.35l-.039.028a.1.1 0 0 0-.016.021 1.94 1.94 0 0 1-1.288.487c-1.06 0-1.922-.846-1.922-1.886M2 13h12a1 1 0 0 1-1 1H3a1 1 0 0 1-1-1m2 2h8a1 1 0 0 1-1 1H5a1 1 0 0 1-1-1"/></svg></a> <button class="item__lightbox-btn js-item-lightbox-add-btn" type="button" data-id="452549085" data-lb-state="add" aria-label="Add to lightbox" data-aria-label-add="Add to lightbox" data-aria-label-remove="Remove from lightbox" data-dt-id="item-lightbox-btn" data-dt-on-click="" data-dt-on-mouseenter="" data-dt-on-touchstart=""><svg xmlns="http://www.w3.org/2000/svg"><path fill="#fff" d="M6 0h4v16H6V0Z"/><path fill="#fff" d="m0 10-1.7e-7-4 16-7e-7 1.7e-7 4L0 10Z"/></svg></button> <a class="item-btn-trial btn btn--green" href="https://www.dreamstime.com/securecredits2.php?subscriptionid=816&packagetype=0" rel="nofollow" aria-label="Free with trial"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 14 13.998"><path fill-rule="evenodd" d="M14 13.998H0v-3h1.5v1.5h11v-1.5H14v3ZM6.2 0v4.904H3.528L7 9.996l3.472-5.092H7.8V0H6.2Z"/></svg><span>Free with trial</span></a> </div> <a href="https://www.dreamstime.com/showing-central-luminous-green-ribbon-flowing-across-dashboard-hex-icons-grid-code-text-sustainability-data-visualization-image452549085" class="item__url js-item-title-wrapper" aria-label="Showing central luminous green ribbon flowing across dashboard, with hex icons, grid, code text. Sustainability, data, visualization, neon, interface" target="_blank"> <figure> <img class="item__thumb" src="https://thumbs.dreamstime.com/b/showing-central-luminous-green-ribbon-flowing-across-dashboard-hex-icons-grid-code-text-sustainability-data-visualization-452549085.jpg" loading="lazy" alt="Showing central luminous green ribbon flowing across dashboard, with hex icons, grid, code text. Sustainability, data, visualization, neon, interface, analytics, energy. Code programming interface illustrations" srcset="https://thumbs.dreamstime.com/b/showing-central-luminous-green-ribbon-flowing-across-dashboard-hex-icons-grid-code-text-sustainability-data-visualization-452549085.jpg?w=360 360w, https://thumbs.dreamstime.com/b/showing-central-luminous-green-ribbon-flowing-across-dashboard-hex-icons-grid-code-text-sustainability-data-visualization-452549085.jpg?w=400 400w, https://thumbs.dreamstime.com/b/showing-central-luminous-green-ribbon-flowing-across-dashboard-hex-icons-grid-code-text-sustainability-data-visualization-452549085.jpg?w=450 450w, https://thumbs.dreamstime.com/b/showing-central-luminous-green-ribbon-flowing-across-dashboard-hex-icons-grid-code-text-sustainability-data-visualization-452549085.jpg?w=576 576w, https://thumbs.dreamstime.com/b/showing-central-luminous-green-ribbon-flowing-across-dashboard-hex-icons-grid-code-text-sustainability-data-visualization-452549085.jpg?w=768 768w, https://thumbs.dreamstime.com/b/showing-central-luminous-green-ribbon-flowing-across-dashboard-hex-icons-grid-code-text-sustainability-data-visualization-452549085.jpg?w=992 992w" sizes="(max-width: 359.98px) 360px, (min-width: 360px) and (max-width: 399.98px) 400px, (min-width: 400px) and (max-width: 449.98px) 450px, (min-width: 450px) and (max-width: 575.98px) 576px, (min-width: 576px) and (max-width: 767.98px) 768px, 992px"> <figcaption class="item__caption">Showing central luminous green ribbon flowing across dashboard, with hex icons, grid, code text. Sustainability, data, visualization, neon, interface, analytics, energy. Code programming interface illustrations</figcaption> </figure> </a> <div class="item__info"> <p class="item__title js-item-title"> <a href="https://www.dreamstime.com/showing-central-luminous-green-ribbon-flowing-across-dashboard-hex-icons-grid-code-text-sustainability-data-visualization-image452549085" > Showing central luminous green ribbon flowing across dashboard, with hex icons, grid, code text. Sustainability, data, visualization, neon, interface </a> </p> </div> </article> <article class="item item79 item-photo js-listing-item" data-id="449677806" data-type="image" data-dt-id="#ilc1" data-dt-on-mouseenter="" data-dt-on-touchstart="" > <div class="item__actions"> <a href="https://www.dreamstime.com/search.php?srh_field=displaying+composite+dashboard+filling&s_il=y" class="item__similars-link js-similars-link" rel="nofollow" target="_blank" aria-label="Show similar results" data-dt-id="item-similars-link" data-dt-on-mouseenter="" data-dt-on-touchstart=""><svg xmlns="http://www.w3.org/2000/svg" width="16" height="16"><path fill="#fff" fill-rule="evenodd" d="M0 1a1 1 0 0 1 1-1h14a1 1 0 0 1 1 1v10a1 1 0 0 1-1 1H1a1 1 0 0 1-1-1zm4 4.072c0 1.694 1.404 3.071 3.13 3.071l.178-.004c.55-.03 1.061-.2 1.5-.474l2.16 2.166a.625.625 0 0 0 .855 0 .585.585 0 0 0 0-.838L9.685 6.847a3 3 0 0 0 .576-1.775C10.261 3.378 8.857 2 7.131 2 5.403 2 4 3.378 4 5.072m1.208 0c0-1.04.863-1.887 1.922-1.887l.15.006c.99.076 1.773.89 1.773 1.881 0 .528-.223 1.007-.58 1.35l-.039.028a.1.1 0 0 0-.016.021 1.94 1.94 0 0 1-1.288.487c-1.06 0-1.922-.846-1.922-1.886M2 13h12a1 1 0 0 1-1 1H3a1 1 0 0 1-1-1m2 2h8a1 1 0 0 1-1 1H5a1 1 0 0 1-1-1"/></svg></a> <button class="item__lightbox-btn js-item-lightbox-add-btn" type="button" data-id="449677806" data-lb-state="add" aria-label="Add to lightbox" data-aria-label-add="Add to lightbox" data-aria-label-remove="Remove from lightbox" data-dt-id="item-lightbox-btn" data-dt-on-click="" data-dt-on-mouseenter="" data-dt-on-touchstart=""><svg xmlns="http://www.w3.org/2000/svg"><path fill="#fff" d="M6 0h4v16H6V0Z"/><path fill="#fff" d="m0 10-1.7e-7-4 16-7e-7 1.7e-7 4L0 10Z"/></svg></button> <a class="item-btn-trial btn btn--green" href="https://www.dreamstime.com/securecredits2.php?subscriptionid=816&packagetype=0" rel="nofollow" aria-label="Free with trial"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 14 13.998"><path fill-rule="evenodd" d="M14 13.998H0v-3h1.5v1.5h11v-1.5H14v3ZM6.2 0v4.904H3.528L7 9.996l3.472-5.092H7.8V0H6.2Z"/></svg><span>Free with trial</span></a> </div> <a href="https://www.dreamstime.com/displaying-composite-dashboard-filling-frame-pc-showing-bar-charts-waveform-pie-chart-code-neon-analytics-visualization-image449677806" class="item__url js-item-title-wrapper" aria-label="Displaying composite dashboard filling frame on PC, showing bar charts, waveform, pie chart, code. Neon, analytics, visualization, telemetry, data, interface" target="_blank"> <figure> <img class="item__thumb" src="https://thumbs.dreamstime.com/b/displaying-composite-dashboard-filling-frame-pc-showing-bar-charts-waveform-pie-chart-code-neon-analytics-visualization-449677806.jpg" loading="lazy" alt="Displaying composite dashboard filling frame on PC, showing bar charts, waveform, pie chart, code. Neon, analytics, visualization, telemetry, data, interface, grid. Code programming interface illustrations" srcset="https://thumbs.dreamstime.com/b/displaying-composite-dashboard-filling-frame-pc-showing-bar-charts-waveform-pie-chart-code-neon-analytics-visualization-449677806.jpg?w=360 360w, https://thumbs.dreamstime.com/b/displaying-composite-dashboard-filling-frame-pc-showing-bar-charts-waveform-pie-chart-code-neon-analytics-visualization-449677806.jpg?w=400 400w, https://thumbs.dreamstime.com/b/displaying-composite-dashboard-filling-frame-pc-showing-bar-charts-waveform-pie-chart-code-neon-analytics-visualization-449677806.jpg?w=450 450w, https://thumbs.dreamstime.com/b/displaying-composite-dashboard-filling-frame-pc-showing-bar-charts-waveform-pie-chart-code-neon-analytics-visualization-449677806.jpg?w=576 576w, https://thumbs.dreamstime.com/b/displaying-composite-dashboard-filling-frame-pc-showing-bar-charts-waveform-pie-chart-code-neon-analytics-visualization-449677806.jpg?w=768 768w, https://thumbs.dreamstime.com/b/displaying-composite-dashboard-filling-frame-pc-showing-bar-charts-waveform-pie-chart-code-neon-analytics-visualization-449677806.jpg?w=992 992w" sizes="(max-width: 359.98px) 360px, (min-width: 360px) and (max-width: 399.98px) 400px, (min-width: 400px) and (max-width: 449.98px) 450px, (min-width: 450px) and (max-width: 575.98px) 576px, (min-width: 576px) and (max-width: 767.98px) 768px, 992px"> <figcaption class="item__caption">Displaying composite dashboard filling frame on PC, showing bar charts, waveform, pie chart, code. Neon, analytics, visualization, telemetry, data, interface, grid. Code programming interface illustrations</figcaption> </figure> </a> <div class="item__info"> <p class="item__title js-item-title"> <a href="https://www.dreamstime.com/displaying-composite-dashboard-filling-frame-pc-showing-bar-charts-waveform-pie-chart-code-neon-analytics-visualization-image449677806" > Displaying composite dashboard filling frame on PC, showing bar charts, waveform, pie chart, code. Neon, analytics, visualization, telemetry, data, interface </a> </p> </div> </article> <article class="item item80 item-photo js-listing-item" data-id="449206422" data-type="image" data-dt-id="#ilc1" data-dt-on-mouseenter="" data-dt-on-touchstart="" > <div class="item__actions"> <a href="https://www.dreamstime.com/search.php?srh_field=detailed+view+programming+code&s_il=y" class="item__similars-link js-similars-link" rel="nofollow" target="_blank" aria-label="Show similar results" data-dt-id="item-similars-link" data-dt-on-mouseenter="" data-dt-on-touchstart=""><svg xmlns="http://www.w3.org/2000/svg" width="16" height="16"><path fill="#fff" fill-rule="evenodd" d="M0 1a1 1 0 0 1 1-1h14a1 1 0 0 1 1 1v10a1 1 0 0 1-1 1H1a1 1 0 0 1-1-1zm4 4.072c0 1.694 1.404 3.071 3.13 3.071l.178-.004c.55-.03 1.061-.2 1.5-.474l2.16 2.166a.625.625 0 0 0 .855 0 .585.585 0 0 0 0-.838L9.685 6.847a3 3 0 0 0 .576-1.775C10.261 3.378 8.857 2 7.131 2 5.403 2 4 3.378 4 5.072m1.208 0c0-1.04.863-1.887 1.922-1.887l.15.006c.99.076 1.773.89 1.773 1.881 0 .528-.223 1.007-.58 1.35l-.039.028a.1.1 0 0 0-.016.021 1.94 1.94 0 0 1-1.288.487c-1.06 0-1.922-.846-1.922-1.886M2 13h12a1 1 0 0 1-1 1H3a1 1 0 0 1-1-1m2 2h8a1 1 0 0 1-1 1H5a1 1 0 0 1-1-1"/></svg></a> <button class="item__lightbox-btn js-item-lightbox-add-btn" type="button" data-id="449206422" data-lb-state="add" aria-label="Add to lightbox" data-aria-label-add="Add to lightbox" data-aria-label-remove="Remove from lightbox" data-dt-id="item-lightbox-btn" data-dt-on-click="" data-dt-on-mouseenter="" data-dt-on-touchstart=""><svg xmlns="http://www.w3.org/2000/svg"><path fill="#fff" d="M6 0h4v16H6V0Z"/><path fill="#fff" d="m0 10-1.7e-7-4 16-7e-7 1.7e-7 4L0 10Z"/></svg></button> <a class="item-btn-trial btn btn--green" href="https://www.dreamstime.com/securecredits2.php?subscriptionid=816&packagetype=0" rel="nofollow" aria-label="Free with trial"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 14 13.998"><path fill-rule="evenodd" d="M14 13.998H0v-3h1.5v1.5h11v-1.5H14v3ZM6.2 0v4.904H3.528L7 9.996l3.472-5.092H7.8V0H6.2Z"/></svg><span>Free with trial</span></a> </div> <a href="https://www.dreamstime.com/cybersecurity-code-data-analysis-dark-tech-environment-neon-glow-detailed-view-programming-screen-highlights-image449206422" class="item__url js-item-title-wrapper" aria-label="Cybersecurity code data analysis in dark tech environment with neon glow. Detailed view of programming code and cybersecurity data on a dark screen with neon" target="_blank"> <figure> <img class="item__thumb" src="https://thumbs.dreamstime.com/b/cybersecurity-code-data-analysis-dark-tech-environment-neon-glow-detailed-view-programming-screen-highlights-449206422.jpg" loading="lazy" alt="Detailed view of programming code and cybersecurity data on a dark screen with neon highlights, ideal for tech, IT, and digital security marketing. Code programming interface illustrations" srcset="https://thumbs.dreamstime.com/b/cybersecurity-code-data-analysis-dark-tech-environment-neon-glow-detailed-view-programming-screen-highlights-449206422.jpg?w=360 360w, https://thumbs.dreamstime.com/b/cybersecurity-code-data-analysis-dark-tech-environment-neon-glow-detailed-view-programming-screen-highlights-449206422.jpg?w=400 400w, https://thumbs.dreamstime.com/b/cybersecurity-code-data-analysis-dark-tech-environment-neon-glow-detailed-view-programming-screen-highlights-449206422.jpg?w=450 450w, https://thumbs.dreamstime.com/b/cybersecurity-code-data-analysis-dark-tech-environment-neon-glow-detailed-view-programming-screen-highlights-449206422.jpg?w=576 576w, https://thumbs.dreamstime.com/b/cybersecurity-code-data-analysis-dark-tech-environment-neon-glow-detailed-view-programming-screen-highlights-449206422.jpg?w=768 768w, https://thumbs.dreamstime.com/b/cybersecurity-code-data-analysis-dark-tech-environment-neon-glow-detailed-view-programming-screen-highlights-449206422.jpg?w=992 992w" sizes="(max-width: 359.98px) 360px, (min-width: 360px) and (max-width: 399.98px) 400px, (min-width: 400px) and (max-width: 449.98px) 450px, (min-width: 450px) and (max-width: 575.98px) 576px, (min-width: 576px) and (max-width: 767.98px) 768px, 992px"> <figcaption class="item__caption">Detailed view of programming code and cybersecurity data on a dark screen with neon highlights, ideal for tech, IT, and digital security marketing. Code programming interface illustrations</figcaption> </figure> </a> <div class="item__info"> <p class="item__title js-item-title"> <a href="https://www.dreamstime.com/cybersecurity-code-data-analysis-dark-tech-environment-neon-glow-detailed-view-programming-screen-highlights-image449206422" > Cybersecurity code data analysis in dark tech environment with neon glow. Detailed view of programming code and cybersecurity data on a dark screen with neon. Detailed view of programming code and cybersecurity data on a dark screen with neon highlights, ideal for tech, IT, and digital security marketing </a> </p> </div> </article> <article class="item-last js-item-last"></article> </div> </div> <div class="search-btm"> <div class="container-fluid"> <div class="col-12 swiper-btm"> <div aria-keyshortcuts="ArrowLeft ArrowRight" class="swiper-row js-swipe-row swiper-row--mask" id="swiper-row-6ae572879be9d" data-use-buttons="" data-inline-buttons="" tabindex="0" aria-label="Related searches"> <div class="swiper-mask-container"> <ul class="swipe-row__container js-swipe-row-container swipe-row__container--mask" data-dt-id="swiper-row" data-dt-root="" data-dt-on-pointerdown="" data-dt-on-dragstart-preventdefault="" data-dt-on-wheel="" data-dt-on-key-arrowright="" data-dt-on-wheel-preventdefault="" data-dt-on-key-tab="" data-dt-js-order="31,32"> <li class="swipe-row__item js-swipe-row-item"><a class="js-related-searches-item related-searches__item related-searches__item--plain" draggable="false" href="https://www.dreamstime.com/illustration/icon-set.html" aria-label="Icon set illustrations" target="_blank" itemtype="http://schema.org/relatedLink" itemscope > <h3 class="related-searches__keyword">Icon Set</h3> </a> </li> <li class="swipe-row__item js-swipe-row-item"><a class="js-related-searches-item related-searches__item related-searches__item--plain" draggable="false" href="https://www.dreamstime.com/illustration/page-banners.html" aria-label="Page banners illustrations" target="_blank" itemtype="http://schema.org/relatedLink" itemscope > <h3 class="related-searches__keyword">Page Banners</h3> </a> </li> <li class="swipe-row__item js-swipe-row-item"><a class="js-related-searches-item related-searches__item related-searches__item--plain" draggable="false" href="https://www.dreamstime.com/illustration/cloud-computing.html" aria-label="Cloud computing illustrations" target="_blank" itemtype="http://schema.org/relatedLink" itemscope > <h3 class="related-searches__keyword">Cloud Computing</h3> </a> </li> <li class="swipe-row__item js-swipe-row-item"><a class="js-related-searches-item related-searches__item related-searches__item--plain" draggable="false" href="https://www.dreamstime.com/illustration/software-development.html" aria-label="Software development illustrations" target="_blank" itemtype="http://schema.org/relatedLink" itemscope > <h3 class="related-searches__keyword">Software Development</h3> </a> </li> <li class="swipe-row__item js-swipe-row-item"><a class="js-related-searches-item related-searches__item related-searches__item--plain" draggable="false" href="https://www.dreamstime.com/illustration/pencil-imagery.html" aria-label="Pencil imagery illustrations" target="_blank" itemtype="http://schema.org/relatedLink" itemscope > <h3 class="related-searches__keyword">Pencil Imagery</h3> </a> </li> <li class="swipe-row__item js-swipe-row-item"><a class="js-related-searches-item related-searches__item related-searches__item--plain" draggable="false" href="https://www.dreamstime.com/illustration/shape-icons.html" aria-label="Shape icons illustrations" target="_blank" itemtype="http://schema.org/relatedLink" itemscope > <h3 class="related-searches__keyword">Shape Icons</h3> </a> </li> <li class="swipe-row__item js-swipe-row-item"><a class="js-related-searches-item related-searches__item related-searches__item--plain" draggable="false" href="https://www.dreamstime.com/illustration/technology-interface.html" aria-label="Technology interface illustrations" target="_blank" itemtype="http://schema.org/relatedLink" itemscope > <h3 class="related-searches__keyword">Technology Interface</h3> </a> </li> <li class="swipe-row__item js-swipe-row-item"><a class="js-related-searches-item related-searches__item related-searches__item--plain" draggable="false" href="https://www.dreamstime.com/illustration/digital-communication.html" aria-label="Digital communication illustrations" target="_blank" itemtype="http://schema.org/relatedLink" itemscope > <h3 class="related-searches__keyword">Digital Communication</h3> </a> </li> <li class="swipe-row__item js-swipe-row-item"><a class="js-related-searches-item related-searches__item related-searches__item--plain" draggable="false" href="https://www.dreamstime.com/illustration/graphic-design.html" aria-label="Graphic design illustrations" target="_blank" itemtype="http://schema.org/relatedLink" itemscope > <h3 class="related-searches__keyword">Graphic Design</h3> </a> </li> <li class="swipe-row__item js-swipe-row-item"><a class="js-related-searches-item related-searches__item related-searches__item--plain" draggable="false" href="https://www.dreamstime.com/illustration/heart-pencil-imagery.html" aria-label="Heart pencil imagery illustrations" target="_blank" itemtype="http://schema.org/relatedLink" itemscope > <h3 class="related-searches__keyword">Heart Pencil Imagery</h3> </a> </li> </ul> <div class="swipe-row__item swipe-row__item--btn-mask js-swipe-row-btn-mask"></div> </div> <div class="swipe-row__nav js-swipe-row-button-wrapper swipe-row__nav--prev" data-state="hidden" data-direction="prev" data-swiper-id="swiper-row-6ae572879be9d" > <button type="button" class="js-swipe-row-button" aria-label="Scroll previous" aria-controls="swiper-row-6ae572879be9d" ><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 6 10"><path fill-rule="nonzero" d="M6 8.694 4.757 10 1.243 6.306 0 5l1.243-1.306L4.757 0 6 1.306 2.486 5 6 8.694Z"/></svg></button> </div> <div class="swipe-row__nav js-swipe-row-button-wrapper swipe-row__nav--next swipe-row__nav--next-mask" data-direction="next" data-swiper-id="swiper-row-6ae572879be9d" > <button type="button" class="js-swipe-row-button" aria-label="Scroll next" aria-controls="swiper-row-6ae572879be9d" data-dt-id="swiper-row" data-dt-on-click="" data-dt-show-loading="" data-dt-loading-type="area" data-dt-loading-theme="light" data-dt-loading-size="sml" data-pos="" ><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 6 10"><path fill-rule="nonzero" d="M-.003 8.694 1.24 10l3.515-3.694L5.997 5 4.755 3.694 1.24 0-.003 1.306 3.511 5-.003 8.694Z"/></svg></button> </div> </div> </div> <div class="row"> <div class="col-sm-12 col-md-4 order-md-1"> <a class="next-button js-next-page-button" href="https://www.dreamstime.com/illustration/code-programming-interface.html?pg=59" title="Page 59" data-dt-id="next-page-button" data-dt-root="" data-dt-on-document-key-arrowright="" data-dt-dispatch-target="original" data-dt-js="44"> <div class="next-button__keynav"></div> <div class="next-button__label">Next page</div> <svg class="next-button__big" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 26 26"><path fill-rule="evenodd" d="M24.87 14.82 2.947 25.78A2.037 2.037 0 0 1 0 23.96V2.036A2.037 2.037 0 0 1 2.947.215L24.87 11.176a2.037 2.037 0 0 1 0 3.644Z"/></svg></a> </div> <div class="col-sm-12 col-md-8"> <nav class="pagination pagination--list" aria-label="Pagination"> <a class="pagination__item pagination__item--prev js-pagination-prev" href="https://www.dreamstime.com/illustration/code-programming-interface.html?pg=57" title="Page 57" ><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 6 10"><path fill-rule="nonzero" d="M6 8.694 4.757 10 1.243 6.306 0 5l1.243-1.306L4.757 0 6 1.306 2.486 5 6 8.694Z"/></svg></a> <ul class="pagination__list js-pagination-list" > <li> <a class="pagination__item pagination__item--page js-pg-list-item" href="https://www.dreamstime.com/illustration/code-programming-interface.html?pg=54" title="Go to Page 54" >54</a> </li> <li> <a class="pagination__item pagination__item--page js-pg-list-item" href="https://www.dreamstime.com/illustration/code-programming-interface.html?pg=55" title="Go to Page 55" >55</a> </li> <li> <a class="pagination__item pagination__item--page js-pg-list-item" href="https://www.dreamstime.com/illustration/code-programming-interface.html?pg=56" title="Go to Page 56" >56</a> </li> <li> <a class="pagination__item pagination__item--page js-pg-list-item" href="https://www.dreamstime.com/illustration/code-programming-interface.html?pg=57" title="Go to Page 57" >57</a> </li> <li> <a class="pagination__item pagination__item--page js-pg-list-item" href="https://www.dreamstime.com/illustration/code-programming-interface.html?pg=58" title="Current page, Page 58" aria-current="page" data-state="active" >58</a> </li> <li> <a class="pagination__item pagination__item--page js-pg-list-item" href="https://www.dreamstime.com/illustration/code-programming-interface.html?pg=59" title="Go to Page 59" >59</a> </li> <li> <a class="pagination__item pagination__item--page js-pg-list-item" href="https://www.dreamstime.com/illustration/code-programming-interface.html?pg=60" title="Go to Page 60" >60</a> </li> <li> <a class="pagination__item pagination__item--page js-pg-list-item" href="https://www.dreamstime.com/illustration/code-programming-interface.html?pg=61" title="Go to Page 61" >61</a> </li> <li> <a class="pagination__item pagination__item--page js-pg-list-item" href="https://www.dreamstime.com/illustration/code-programming-interface.html?pg=62" title="Go to Page 62" >62</a> </li> <li> <a class="pagination__item pagination__item--page js-pg-list-item" href="https://www.dreamstime.com/illustration/code-programming-interface.html?pg=63" title="Go to Page 63" >63</a> </li> </ul> <a class="pagination__item pagination__item--next js-pagination-next" href="https://www.dreamstime.com/illustration/code-programming-interface.html?pg=59" title="Page 59" ><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 6 10"><path fill-rule="nonzero" d="M-.003 8.694 1.24 10l3.515-3.694L5.997 5 4.755 3.694 1.24 0-.003 1.306 3.511 5-.003 8.694Z"/></svg></a> </nav> </div> </div> </div> </div> <div class="share-btn-wrapper share-btn-wrapper--icn search-share"> <button type="button" class="share-btn js-share-btn" data-dt-id="share-btn" data-dt-on-click="" data-dt-show-loading="" data-dt-loading-type="area" data-dt-loading-theme="dark" data-dt-loading-relative="" data-dt-loading-size="sml" data-dt-root="" data-dt-css="45,46,47,48,49,50,51,52,53" data-dt-js="54,29,30,55,56" aria-label="Share" > <svg xmlns="http://www.w3.org/2000/svg" xml:space="preserve" viewBox="0 0 22 16"><path d="M12.7 0 14 1.1l7.3 6.3.7.5-.6.5-7.4 6.4-1.3 1.1v-4.8h-2c-4 0-6.9 1.1-9.2 3.3L0 16l.4-2.3v-.3c.4-2.2 1.5-4.1 3.2-5.6l.2-.2C6 5.8 8.9 4.8 12.5 4.8h.3L12.7 0zm1.6 3.3v3h-.8c-3.6-.2-6.6.7-8.7 2.4l-.2.2c-.9.8-1.5 1.7-2 2.7l-.1.2.2-.2c2.1-1.3 4.7-2 7.7-2H14.3v3L19.7 8l-5.4-4.7z"/></svg> </button> </div> </main> <div data-state="hidden" data-dt-id="popup-freetrial" data-dt-root="" data-dt-on-document-mouseleave="" data-dt-priority="high" data-dt-dispatch-target="document" data-dt-js="4,6,65" data-dt-js-order="8,9" data-dt-css="10,11,66"></div> <div class = "js-signup-popup-interaction" data-state="hidden" data-deps="{"js":"4,5,6,7","js-order":"8,9","css":"10,11,12"}" data-dt-id="signup-popup-interaction" data-dt-root="" data-dt-on-document-mousemove="" data-dt-on-document-touchstart="" data-dt-on-window-scroll="" data-dt-on-click="" data-dt-on-keypress="" data-dt-js="67"></div> <footer > <div class="footer-main"> <div class="container"> <div class="row"> <div class="col-md-1 col-sm-12"> <a class="footer-logo" name="Dreamstime" href="https://www.dreamstime.com/" aria-label="Dreamstime homepage"> <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 32 31"><path fill-rule="evenodd" clip-rule="evenodd" fill="#50a901" d="M28.7 6.3c-6.1-9-19.2-7.4-25-.7C.8 8.9-.3 13.5.1 17.7.5 21 1.7 24 3.4 26c4.5 5.5 12.3 6.1 17.4 2.6 7.2-5 6.7-13.1 2.8-17.6-7-8-19-.1-14.5 9 1.1 2.2 3.6 3.4 5.9 3.4 3.2 0 5.7-3.8 4.2-6.1-1.5-2.4-4.1 0-3 1.8.9 1.4-1 2.2-1.8 2-2.1-.5-3.1-3.4-2.4-5.8.6-2.1 2.8-3.5 4.9-3.4 2.9.2 6.1 2.5 5.8 7.5-.7 8.1-11.3 9.6-15.5 3.8-6.6-9.3 1.2-21.8 13.1-18 6.1 2 10.6 9.2 7.8 16.9-1.1 2.9-1.7 4-1.8 5-.5 3.7 11.2-7.8 2.4-20.8z"/></svg> </a> </div> <div class="col-xl-8 col-md-11 col-sm-12"> <div class="footer-menu js-footer-menu-wrapper" data-list-initial="opened" data-state="opened"> <div class="row flex-sm-nowrap"> <div class="col-sm-3 col-6"> <div class="footer-menu__col"> <div class="footer-menu__title js-footer-menu-trigger" data-dt-id="footer-menu" data-dt-root="" data-dt-on-click="" data-dt-js="54" data-dt-js-order="1,68" data-dt-show-loading="" data-dt-loading-theme="light" data-dt-loading-type="area" data-dt-loading-relative="" data-dt-loading-size="sml" > <span>Support Center</span> <svg class="footer-menu__icn" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 10 6"><path fill-rule="nonzero" d="m8.69 0 1.306 1.243-3.694 3.514L4.996 6 3.69 4.757-.004 1.243 1.302 0l3.694 3.514L8.69 0Z"/></svg> </div> <div class="footer-menu__list js-footer-menu-list"> <ul> <li><a class="footer-menu__url" href="https://www.dreamstime.com/about-stock-image-licenses" title="About our photos">About our photos</a></li> <li><a class="footer-menu__url" href="https://www.dreamstime.com/terms" title="Legal / Terms of use">Legal / Terms of use</a></li> <li><a class="footer-menu__url" href="https://www.dreamstime.com/contact" title="Contact Us">Contact Us</a></li> <li><a class="footer-menu__url" href="https://www.dreamstime.com/faq" title="Frequently asked questions">FAQ</a></li> <li><a class="footer-menu__url" href="https://www.dreamstime.com/sitemap" title="Sitemap">Sitemap</a></li> <li><a class="footer-menu__url" href="https://www.dreamstime.com/privacy" title="Privacy policy">Privacy policy</a></li> <li><a class="footer-menu__url" href="https://www.dreamstime.com/credits" title="Plans & Pricing">Plans & Pricing</a></li> </ul> </div> </div> </div> <div class="col-sm-3 col-6"> <div class="footer-menu__col"> <div class="footer-menu__title js-footer-menu-trigger" data-dt-id="footer-menu" data-dt-root="" data-dt-on-click="" data-dt-js="54" data-dt-js-order="1,68" data-dt-show-loading="" data-dt-loading-theme="light" data-dt-loading-type="area" data-dt-loading-relative="" data-dt-loading-size="sml" > <span>Dreamstime</span> <svg class="footer-menu__icn" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 10 6"><path fill-rule="nonzero" d="m8.69 0 1.306 1.243-3.694 3.514L4.996 6 3.69 4.757-.004 1.243 1.302 0l3.694 3.514L8.69 0Z"/></svg> </div> <div class="footer-menu__list js-footer-menu-list"> <ul> <li><a class="footer-menu__url" href="https://www.dreamstime.com/new-stock-photos-images" title="Latest Pictures">Latest Pictures</a></li> <li><a class="footer-menu__url" href="https://www.dreamstime.com/extended-stock-photography-licenses" title="Exclusive rights">Exclusive rights</a></li> <li><a class="footer-menu__url" href="https://www.dreamstime.com/about" title="About us">About us</a></li> <li><a class="footer-menu__url" href="https://www.dreamstime.com/media-room" title="Media Room">Media Room</a></li> <li><a class="footer-menu__url" href="https://www.dreamstime.com/careers" title="Careers">Careers</a></li> <li><a class="footer-menu__url" href="https://www.dreamstime.com/merchandise" title="Dreamstime Merchandise">Merchandise</a></li> </ul> </div> </div> </div> <div class="col-sm-3 col-6"> <div class="footer-menu__col"> <div class="footer-menu__title js-footer-menu-trigger" data-dt-id="footer-menu" data-dt-root="" data-dt-on-click="" data-dt-js="54" data-dt-js-order="1,68" data-dt-show-loading="" data-dt-loading-theme="light" data-dt-loading-type="area" data-dt-loading-relative="" data-dt-loading-size="sml" > <span>Community</span> <svg class="footer-menu__icn" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 10 6"><path fill-rule="nonzero" d="m8.69 0 1.306 1.243-3.694 3.514L4.996 6 3.69 4.757-.004 1.243 1.302 0l3.694 3.514L8.69 0Z"/></svg> </div> <div class="footer-menu__list js-footer-menu-list"> <ul> <li><a class="footer-menu__url" href="https://www.dreamstime.com/sell-stock-photos-images" title="Sell your images">Sell your images</a></li> <li><a class="footer-menu__url" href="https://www.dreamstime.com/blog" title="Photography blogs">Blog</a></li> <li><a class="footer-menu__url" href="https://www.dreamstime.com/boards" title="Photography forum">Message boards</a></li> <li><a class="footer-menu__url" href="https://www.dreamstime.com/social-networking" title="Social media feeds">Social hub</a></li> <li><a class="footer-menu__url" href="https://www.dreamstime.com/upload" title="Upload image">Upload image</a></li> <li><a data-dt-id="footer-menu-api-url" data-dt-root="" data-dt-on-click="" data-dt-on-auxclick="" data-dt-on-click-preventdefault="" data-dt-js="69" class="footer-menu__url footer-menu__url--highlighted js-footer-menu-url-api" href="https://www.dreamstime.com/dreamstime-api" title="API">API</a> <span class="footer-menu__sep">/</span> <a class="footer-menu__url footer-menu__url--highlighted" href="https://www.dreamstime.com/affiliate-referral-program" title="Referral program">Referral program</a></li> <li><a class="footer-menu__url" href="https://www.dreamstime.com/contest" title="Contest">Contest</a></li> </ul> </div> </div> </div> <div class="col-sm-3 col-6"> <div class="footer-menu__col"> <div class="footer-menu__title js-footer-menu-trigger" data-dt-id="footer-menu" data-dt-root="" data-dt-on-click="" data-dt-js="54" data-dt-js-order="1,68" data-dt-show-loading="" data-dt-loading-theme="light" data-dt-loading-type="area" data-dt-loading-relative="" data-dt-loading-size="sml" > <span>Tools</span> <svg class="footer-menu__icn" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 10 6"><path fill-rule="nonzero" d="m8.69 0 1.306 1.243-3.694 3.514L4.996 6 3.69 4.757-.004 1.243 1.302 0l3.694 3.514L8.69 0Z"/></svg> </div> <div class="footer-menu__list js-footer-menu-list"> <ul> <li><a class="footer-menu__url" href="https://www.dreamstime.com/corporate" title="Corporate accounts">Corporate accounts</a></li> <li><a class="footer-menu__url" href="https://www.dreamstime.com/world-stock-photos" title="Pictures from around the world">Photo map</a></li> <li><a class="footer-menu__url" href="https://www.dreamstime.com/free-photos" title="Free pictures">Free photos</a></li> <li><a class="footer-menu__url" href="https://www.dreamstime.com/free-public-domain-images" title="Public Domain Images">Public Domain Images</a></li> <li><a class="footer-menu__url" href="https://www.dreamstime.com/collections" title="Collections">Collections</a></li> <li><a class="footer-menu__url" href="https://www.dreamstime.com/photographers" title="Our photographers">Our photographers</a></li> <li><a class="footer-menu__url" href="https://www.dreamstime.com/photo-tools" title="Photo Tools">Photo Tools</a></li> </ul> </div> </div> </div> </div> </div> </div> <div class="col-xl-3 col-sm-12"> <div class="footer-tools"> <a class="footer-tools__item" href="https://www.dreamstime.com/affiliate-referral-program" title="Referral program"> <svg class="footer-tools__icn" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 20.002 19.246"><path fill="#3A7307" d="m.002 19.246 2.06-4.78a9.622 9.622 0 1 1 3.478 3.477L.002 19.246Zm7.9-13.3a2.936 2.936 0 0 0-2.813 2.221c-.533 2.16 1.321 4.593 4.961 6.507a.5.5 0 0 0 .059.026l.27.127.269-.126a.411.411 0 0 0 .06-.027c4.443-2.336 5.071-4.657 5.049-5.833V8.8a2.859 2.859 0 0 0-3.163-2.84 2.678 2.678 0 0 0-.671.156l-.02.007h-.009a2.857 2.857 0 0 0-1.246.916l-.011.013-.011.013a3.193 3.193 0 0 0-.22.337 6.438 6.438 0 0 0-.161-.22.339.339 0 0 1-.084-.078 2.885 2.885 0 0 0-2.259-1.16Z"/></svg> <span>Referral program</span> </a> <a class="footer-tools__item" href="https://www.dreamstime.com/upload" title="Upload & sell photos"> <svg class="footer-tools__icn" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 20 20"><path fill="#3A7307" d="M10 20a10 10 0 1 1 10-10 10.011 10.011 0 0 1-10 10Zm-4.466-6v2h9v-2Zm4.5-10-3.5 3.556h1.748V12h3.5V7.556h1.75L10.031 4Z"/></svg> <i class="icn icn--upload-f"></i> <span>Upload & sell photos</span> </a> </div> </div> </div> </div> </div> <div class="footer-bottom"> <div class="container"> <div class="row"> <div class="col-lg-3 col-sm-6"> <div class="footer-social"> <div class="social-links social-links--sg social-links--mdm" data-dt-id="social-row-analytics" data-dt-root="" data-dt-on-click="" data-dt-js="57"> <a class="social-links__item social-links__item--facebook js-social-link" target="_blank" data-name="Facebook" href="https://www.facebook.com/dreamstime" rel="noopener noreferrer"> <span class="social-links__wrapper"><svg class="social-links__icn" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 8 13" width="100%" height="100%"><path fill-rule="nonzero" d="M5.043 7.07h2.064l.31-2.31H5.042V3.283c0-.67.193-1.125 1.188-1.125H7.5V.09C7.28.063 6.527 0 5.651 0 3.821 0 2.57 1.077 2.57 3.055v1.704H.5v2.31h2.069V13h2.474V7.07Z"/></svg></span> <span class="screen-reader-text">Dreamstime Facebook</span> </a> <a class="social-links__item social-links__item--twitter js-social-link" target="_blank" data-name="X" href="https://x.com/dreamstime" rel="noopener noreferrer"> <span class="social-links__wrapper"><svg class="social-links__icn" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 14 14" width="100%" height="100%"><path fill-rule="nonzero" d="M8.054 5.928 13.092 0h-1.194L7.524 5.147 4.03 0H0l5.284 7.784L0 14h1.194l4.62-5.436L9.504 14h4.03l-5.48-8.072ZM6.42 7.852l-.535-.775L1.624.91h1.834l3.437 4.977.536.775 4.468 6.47h-1.834L6.42 7.852Z"/></svg></span> <span class="screen-reader-text">Dreamstime Twitter</span> </a> <a class="social-links__item social-links__item--pinterest js-social-link" target="_blank" data-name="Pinterest" href="https://www.pinterest.com/dreamstime/" rel="noopener noreferrer"> <span class="social-links__wrapper"><svg class="social-links__icn" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 14 14" width="100%" height="100%"><path fill-rule="evenodd" d="M6.997 0A6.994 6.994 0 0 0 0 6.997a7 7 0 0 0 4.446 6.52c-.063-.554-.115-1.406.023-2.01.127-.548.818-3.479.818-3.479s-.208-.42-.208-1.037c0-.973.565-1.699 1.267-1.699.6 0 .887.45.887.985 0 .6-.38 1.498-.581 2.333-.167.696.35 1.267 1.036 1.267 1.244 0 2.2-1.313 2.2-3.202 0-1.676-1.204-2.845-2.925-2.845C4.97 3.83 3.8 5.32 3.8 6.865c0 .599.23 1.244.518 1.595.058.069.064.132.046.201-.052.22-.173.697-.196.795-.028.127-.103.156-.236.092-.863-.414-1.405-1.693-1.405-2.718 0-2.206 1.601-4.233 4.625-4.233 2.424 0 4.313 1.728 4.313 4.043 0 2.413-1.52 4.354-3.628 4.354-.708 0-1.376-.369-1.601-.806l-.438 1.664c-.155.61-.581 1.37-.87 1.837A7.028 7.028 0 0 0 7.004 14 6.997 6.997 0 0 0 14 7.003C13.994 3.133 10.861 0 6.997 0"/></svg></span> <span class="screen-reader-text">Dreamstime Pinterest</span> </a> <a class="social-links__item social-links__item--instagram js-social-link" target="_blank" data-name="Instagram" href="https://www.instagram.com/dreamstime" rel="noopener noreferrer"> <span class="social-links__wrapper"><svg class="social-links__icn" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 14 14" width="100%" height="100%"><path fill-rule="evenodd" d="M7.883.005c1.119.003 1.39.014 2 .042.745.033 1.254.152 1.699.325.46.179.85.418 1.24.807.388.389.627.78.806 1.24.173.444.292.953.325 1.698.03.645.04.91.042 2.195v1.38c-.001.88-.007 1.281-.02 1.654l-.005.172-.017.37c-.033.744-.152 1.253-.325 1.698a3.43 3.43 0 0 1-.807 1.24 3.43 3.43 0 0 1-1.24.807c-.444.173-.953.29-1.698.325l-.37.016-.171.006c-.373.013-.775.018-1.654.02h-1.38c-1.285-.003-1.55-.013-2.195-.042-.745-.034-1.254-.152-1.699-.325a3.43 3.43 0 0 1-1.24-.808 3.43 3.43 0 0 1-.807-1.239c-.173-.445-.29-.954-.325-1.699-.028-.61-.038-.88-.041-2v-1.77c.003-1.119.013-1.39.041-2 .034-.745.152-1.254.325-1.699.18-.46.418-.85.808-1.24A3.43 3.43 0 0 1 2.414.373C2.859.199 3.368.08 4.113.047c.61-.028.88-.039 2-.042Zm-.64 1.26h-.716l-.398.001c-.732.002-1.09.007-1.427.018l-.168.006-.364.016c-.682.031-1.053.145-1.3.241-.326.127-.56.279-.804.523a2.168 2.168 0 0 0-.523.805c-.096.247-.21.617-.241 1.3-.006.134-.012.25-.016.364l-.006.168c-.012.336-.017.695-.018 1.426v.399l-.001.47v.869c.002.732.007 1.09.019 1.427l.006.168.016.364c.03.682.145 1.053.24 1.3.128.326.28.56.524.804.245.245.478.396.805.523.246.096.617.21 1.3.241l.363.016.168.006c.365.013.755.017 1.618.019h1.356a50.112 50.112 0 0 0 1.617-.019l.168-.006.364-.016c.683-.03 1.053-.145 1.3-.24.327-.128.56-.28.805-.524.244-.245.396-.478.523-.805.096-.246.21-.617.24-1.3l.017-.363.006-.168c.012-.365.017-.755.018-1.618V6.324a50.118 50.118 0 0 0-.018-1.617l-.006-.168-.016-.364c-.031-.683-.145-1.053-.241-1.3a2.168 2.168 0 0 0-.523-.805 2.168 2.168 0 0 0-.805-.523c-.247-.096-.617-.21-1.3-.24a61.756 61.756 0 0 0-.364-.017l-.168-.006a44.89 44.89 0 0 0-1.426-.018h-.869Zm-.26 2.152a3.593 3.593 0 1 1 0 7.187 3.593 3.593 0 0 1 0-7.187Zm0 1.26a2.333 2.333 0 1 0 0 4.666 2.333 2.333 0 0 0 0-4.665Zm3.746-2.233a.84.84 0 1 1 0 1.68.84.84 0 0 1 0-1.68Z"/></svg></span> <span class="screen-reader-text">Dreamstime Instagram</span> </a> <a class="social-links__item social-links__item--linkedin js-social-link" target="_blank" data-name="LinkedIn" href="https://www.linkedin.com/company/dreamstime" rel="noopener noreferrer"> <span class="social-links__wrapper"><svg class="social-links__icn" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 14 14" width="100%" height="100%"><path fill-rule="evenodd" d="M11.93 11.93H9.855V8.68c0-.774-.015-1.77-1.08-1.77-1.08 0-1.245.843-1.245 1.715v3.305H5.455V5.249h1.992v.912h.027c.277-.525.955-1.079 1.965-1.079 2.103 0 2.49 1.384 2.49 3.183v3.665ZM3.114 4.335a1.204 1.204 0 1 1 0-2.408 1.204 1.204 0 0 1 0 2.408ZM2.076 11.93h2.076V5.249H2.076v6.68ZM12.964 0H1.034C.463 0 0 .452 0 1.01v11.98C0 13.547.463 14 1.033 14h11.93c.572 0 1.037-.453 1.037-1.01V1.01C14 .451 13.535 0 12.964 0Z"/></svg></span> <span class="screen-reader-text">Dreamstime Linkedin</span> </a> <a class="social-links__item social-links__item--youtube js-social-link" target="_blank" data-name="Youtube" href="https://www.youtube.com/@dreamstime?sub_confirmation=1" rel="noopener noreferrer"> <span class="social-links__wrapper"><svg class="social-links__icn" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 17 11" width="100%" height="100%"><path fill-rule="evenodd" d="M8.29.001c.501.003 1.603.013 2.745.052l.49.018c1.142.047 2.243.126 2.743.257.69.181 1.232.714 1.416 1.39.298 1.089.33 3.23.334 3.693v.178c-.003.463-.036 2.604-.334 3.693a1.987 1.987 0 0 1-1.416 1.39c-1.107.29-5.163.324-6.075.328h-.367c-.912-.004-4.969-.038-6.075-.328a1.987 1.987 0 0 1-1.416-1.39C.05 8.238.007 6.228 0 5.656v-.312c.006-.572.049-2.582.334-3.626A1.987 1.987 0 0 1 1.75.328c.5-.131 1.6-.21 2.743-.257l.49-.018C6.125.013 7.227.003 7.728 0ZM6.461 3.234v4.714l4.162-2.357L6.46 3.234Z"/></svg></span> <span class="screen-reader-text">Dreamstime Youtube</span> </a> </div> </div> </div> <div class="col-lg-3 order-lg-3 col-sm-6"> <div class="footer-language"> <div class="language-select"> <label class="language-select__label" for="footer-lang-select"> Language </label> <button class="language-select__btn js-lang-select-trigger" id="footer-lang-select" type="button" aria-haspopup="menu" aria-expanded="false" aria-label="Toggle language select modal" data-loading-theme="light" data-dt-id="footer-lang-select" data-dt-root="" data-dt-on-click="" data-dt-js="70"> <span class="language-select__flag" aria-hidden="true"> <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 21 14"><g fill="none" fill-rule="evenodd"><path fill="#B22234" d="M0 14h21V0H0z"/><path fill="#FFF" d="M0 6.462h21V5.385H0zm0-2.154h21V3.231H0zm0-2.154h21V1.077H0zm0 6.461h21V7.538H0zm0 4.308h21v-1.077H0zm0-2.154h21V9.692H0z"/><path fill="#3C3B6E" d="M0 7.538h10.64V0H0z"/><path fill="#FFF" d="M.887.323.79.621H.477L.73.805l-.097.297.254-.184.253.184-.097-.297.253-.184H.983zm0 1.508-.097.297H.477l.253.184-.097.298.254-.184.253.184-.097-.298.253-.184H.983zm0 1.507-.097.298H.477l.253.184-.097.298.254-.184.253.184-.097-.298.253-.184H.983zm0 1.508-.097.298H.477l.253.184-.097.297.254-.184.253.184-.097-.297.253-.184H.983zm.096 1.805-.096-.297-.097.297H.477l.253.184-.097.298.254-.184.253.184-.097-.298.253-.184zm.79-5.574-.096.298h-.313l.253.184-.097.297.253-.184.254.184-.097-.297.253-.184H1.87zm0 1.508-.096.297h-.313l.253.184-.097.298.253-.184.254.184-.097-.298.253-.184H1.87zm0 1.507-.096.298h-.313l.253.184-.097.298.253-.184.254.184-.097-.298.253-.184H1.87zm.097 1.806L1.773 5.6l-.096.298h-.313l.253.184-.097.297.253-.184.254.184-.097-.297.253-.184zM2.66.323l-.097.298H2.25l.254.184-.097.297.253-.184.253.184-.097-.297.254-.184h-.313zm0 1.508-.097.297H2.25l.254.184-.097.298.253-.184.253.184-.097-.298.254-.184h-.313zm0 1.507-.097.298H2.25l.254.184-.097.298.253-.184.253.184-.097-.298.254-.184h-.313zm0 1.508-.097.298H2.25l.254.184-.097.297.253-.184.253.184-.097-.297.254-.184h-.313zm.097 1.805-.097-.297-.097.297H2.25l.254.184-.097.298.253-.184.253.184-.097-.298.254-.184zm.79-5.574-.097.298h-.313l.253.184-.097.297.254-.184.253.184-.097-.297.253-.184h-.313zm0 1.508-.097.297h-.313l.253.184-.097.298.254-.184.253.184-.097-.298.253-.184h-.313zm0 1.507-.097.298h-.313l.253.184-.097.298.254-.184.253.184-.097-.298.253-.184h-.313zm.096 1.806L3.547 5.6l-.097.298h-.313l.253.184-.097.297.254-.184.253.184-.097-.297.253-.184zm.79-5.575-.096.298h-.313l.253.184-.097.297.253-.184.254.184L4.59.805l.253-.184H4.53zm0 1.508-.096.297h-.313l.253.184-.097.298.253-.184.254.184-.097-.298.253-.184H4.53zm0 1.507-.096.298h-.313l.253.184-.097.298.253-.184.254.184-.097-.298.253-.184H4.53zm0 1.508-.096.298h-.313l.253.184-.097.297.253-.184.254.184-.097-.297.253-.184H4.53zm.097 1.805-.097-.297-.096.297h-.313l.253.184-.097.298.253-.184.254.184-.097-.298.253-.184zm.79-5.574-.097.298H4.91l.254.184-.097.297.253-.184.253.184-.097-.297.254-.184h-.313zm0 1.508-.097.297H4.91l.254.184-.097.298.253-.184.253.184-.097-.298.254-.184h-.313zm0 1.507-.097.298H4.91l.254.184-.097.298.253-.184.253.184-.097-.298.254-.184h-.313zm.097 1.806L5.32 5.6l-.097.298H4.91l.254.184-.097.297.253-.184.253.184-.097-.297.254-.184zm.79-5.575L6.11.621h-.313l.253.184-.097.297.254-.184.253.184-.097-.297.253-.184h-.313zm0 1.508-.097.297h-.313l.253.184-.097.298.254-.184.253.184-.097-.298.253-.184h-.313zm0 1.507-.097.298h-.313l.253.184-.097.298.254-.184.253.184-.097-.298.253-.184h-.313zm0 1.508-.097.298h-.313l.253.184-.097.297.254-.184.253.184-.097-.297.253-.184h-.313zm.096 1.805-.096-.297-.097.297h-.313l.253.184-.097.298.254-.184.253.184-.097-.298.253-.184zm.79-5.574-.096.298h-.313l.253.184-.097.297.253-.184.254.184-.097-.297.253-.184H7.19zm0 1.508-.096.297h-.313l.253.184-.097.298.253-.184.254.184-.097-.298.253-.184H7.19zm0 1.507-.096.298h-.313l.253.184-.097.298.253-.184.254.184-.097-.298.253-.184H7.19zm.097 1.806L7.093 5.6l-.096.298h-.313l.253.184-.097.297.253-.184.254.184-.097-.297.253-.184zM7.98.323l-.097.298H7.57l.254.184-.097.297.253-.184.253.184-.097-.297.254-.184h-.313zm0 1.508-.097.297H7.57l.254.184-.097.298.253-.184.253.184-.097-.298.254-.184h-.313zm0 1.507-.097.298H7.57l.254.184-.097.298.253-.184.253.184-.097-.298.254-.184h-.313zm0 1.508-.097.298H7.57l.254.184-.097.297.253-.184.253.184-.097-.297.254-.184h-.313zm.097 1.805-.097-.297-.097.297H7.57l.254.184-.097.298.253-.184.253.184-.097-.298.254-.184zm.79-5.574-.097.298h-.313l.253.184-.097.297.254-.184.253.184-.097-.297.253-.184h-.313zm0 1.508-.097.297h-.313l.253.184-.097.298.254-.184.253.184-.097-.298.253-.184h-.313zm0 1.507-.097.298h-.313l.253.184-.097.298.254-.184.253.184-.097-.298.253-.184h-.313zm.096 1.806L8.867 5.6l-.097.298h-.313l.253.184-.097.297.254-.184.253.184-.097-.297.253-.184zM9.597.805l-.097.297.253-.184.254.184L9.91.805l.253-.184H9.85L9.753.323l-.096.298h-.313zm.156 1.026-.096.297h-.313l.253.184-.097.298.253-.184.254.184-.097-.298.253-.184H9.85zm0 1.507-.096.298h-.313l.253.184-.097.298.253-.184.254.184-.097-.298.253-.184H9.85zm0 1.508-.096.298h-.313l.253.184-.097.297.253-.184.254.184-.097-.297.253-.184H9.85zm.097 1.805-.097-.297-.096.297h-.313l.253.184-.097.298.253-.184.254.184-.097-.298.253-.184z"/></g></svg> </span> <span class="language-select__lang">English</span> <span class="language-select__icon js-lang-select-icon" aria-hidden="true"> <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 6 10"><path fill-rule="nonzero" d="M-.003 8.694 1.24 10l3.515-3.694L5.997 5 4.755 3.694 1.24 0-.003 1.306 3.511 5-.003 8.694Z"/></svg> </span> </button> </div> </div> </div> <div class="col-lg-6 order-lg-2 col-sm-12"> <div class="footer-copy"> Copyright © 2000-2026 Dreamstime. All rights reserved. </div> </div> </div> </div> </div> </footer> <template data-state="hidden" data-dt-id="form-switch" data-dt-root="" data-dt-on-ready="" data-dt-js="71"></template> <template data-dt-id="item-similars-link" data-dt-root="" data-dt-css="58,72" data-dt-js="60" data-dt-js-order="61,62,63,73" ></template> <template class="js-item-lightbox-add-btn-config" data-aria-label-add="Add to lightbox" data-aria-label-remove="Remove from lightbox" data-dt-id="item-lightbox-btn" data-dt-root="" data-dt-css="58,72,45,46" data-dt-js="60,54,29,30,55" data-dt-js-order="61,62,63,74,75" ></template> <script type="application/ld+json"> [{ "@context":"https://schema.org", "@type":"WebSite", "url":"https://www.dreamstime.com/", "potentialAction":{ "@type":"SearchAction", "target":"https://www.dreamstime.com/search.php?srh_field={search_term}&s_all=y&s_ph=y&s_il=y&s_video=y&s_audio=y", "query-input":"required name=search_term" } }, { "@context":"https://schema.org", "@type":"Organization", "name":"Dreamstime", "url":"https://www.dreamstime.com/", "logo":"https://www.dreamstime.com/img/logo-dreamstime-400x102.png", "sameAs":[ "https://www.facebook.com/dreamstime", "https://x.com/dreamstime", "https://www.pinterest.com/dreamstime/", "https://www.instagram.com/dreamstime/", "https://www.linkedin.com/company/dreamstime", "https://www.youtube.com/@dreamstime?sub_confirmation=1" ] } ] </script><script type="application/ld+json"> { "@context": "https://schema.org", "@type": "ItemList", "itemListElement": [ { "@context":"https://schema.org", "@type":"ListItem", "position": 1, "name":"Modern laptop displaying code on screen. The image features a sleek, modern laptop with a silver body and black keyboard. The laptop is open, displaying a screen", "url": "https://www.dreamstime.com/image-features-sleek-modern-laptop-silver-body-black-keyboard-laptop-open-displaying-screen-lines-image433851523" },{ "@context":"https://schema.org", "@type":"ListItem", "position": 2, "name":"Binary Code, Digital Interface, and Eye Symbol Technology, Cybersecurity, and Data Monitoring Concepts. Cybersecurity, data monitoring, digital interfaces", "url": "https://www.dreamstime.com/binary-code-digital-interface-eye-symbol-technology-cybersecurity-data-monitoring-concepts-cybersecurity-data-monitoring-image450619791" },{ "@context":"https://schema.org", "@type":"ListItem", "position": 3, "name":"Digital globe with code and data technology network. A dark, futuristic scene with a glowing blue digital globe at the center, surrounded by a network of lines", "url": "https://www.dreamstime.com/digital-globe-code-data-technology-network-dark-futuristic-scene-glowing-blue-center-surrounded-lines-image441867884" },{ "@context":"https://schema.org", "@type":"ListItem", "position": 4, "name":"Web Development and Programming Icon Set. A vibrant collection of flat design icons representing various aspects of web development and programming. The set", "url": "https://www.dreamstime.com/vibrant-collection-flat-design-icons-representing-various-aspects-web-development-programming-set-includes-symbols-image431694346" },{ "@context":"https://schema.org", "@type":"ListItem", "position": 5, "name":"AI Code Gen Robot Laptop Logo Automation Technology Coding Enterprise Solution. AI Code Gen Robot Laptop logo provides a robust identity for companies", "url": "https://www.dreamstime.com/web-image478316411" },{ "@context":"https://schema.org", "@type":"ListItem", "position": 6, "name":"Minimalist Solid Software Development Programming Code Web Application Icon Set. Collection of minimalist solid black glyph icons depicting software engineering", "url": "https://www.dreamstime.com/minimalist-solid-software-development-programming-code-web-application-icon-set-collection-minimalist-solid-black-glyph-icons-image479051362" },{ "@context":"https://schema.org", "@type":"ListItem", "position": 7, "name":"Web Development and Programming Interface Elements Vector Illustration Set for Landing Pages. Set of web development interface elements HTML code, gear settings", "url": "https://www.dreamstime.com/set-web-development-interface-elements-html-code-gear-settings-equalizer-sliders-landing-page-banners-software-image467875527" },{ "@context":"https://schema.org", "@type":"ListItem", "position": 8, "name":"Digital Communication, Binary Code, Speech Input, Chat Bubbles, Writing Pencil, and Heart Shape Icons. Graphic design, digital tools, technology interface", "url": "https://www.dreamstime.com/digital-communication-binary-code-speech-input-chat-bubbles-writing-pencil-heart-shape-icons-graphic-design-tools-technology-image430685988" },{ "@context":"https://schema.org", "@type":"ListItem", "position": 9, "name":"Code Development File Icon with Clock Symbol for Programming Deadline Projects. A flat black vector icon depicting a source code file document with a clock or", "url": "https://www.dreamstime.com/flat-black-vector-icon-depicting-source-code-file-document-clock-timer-symbol-code-development-file-icon-clock-image479728267" },{ "@context":"https://schema.org", "@type":"ListItem", "position": 10, "name":"Binary Code Speech Bubble Vector Illustration for Technology and Cloud Computing Web Banners. Binary code inside a speech bubble with cloud and lightning icons", "url": "https://www.dreamstime.com/binary-code-speech-bubble-vector-illustration-technology-cloud-computing-web-banners-inside-lightning-icons-landing-image468842439" },{ "@context":"https://schema.org", "@type":"ListItem", "position": 11, "name":"Minimalist Solid Black Software Programming And Web Development Glyph Icon Set. Collection of black glyph icons for computer programming, software coding", "url": "https://www.dreamstime.com/collection-black-glyph-icons-computer-programming-software-coding-database-management-web-development-user-interface-image479055748" },{ "@context":"https://schema.org", "@type":"ListItem", "position": 12, "name":"Programming Laptop Code Symbol Icon Set. Vol 27216", "url": "https://www.dreamstime.com/programming-laptop-code-symbol-icon-set-vol-image447266469" },{ "@context":"https://schema.org", "@type":"ListItem", "position": 13, "name":"Coding the Future. A close-up shot focuses on a dark-skinned hand interacting with a laptop screen displaying a complex interface. The screen is filled with", "url": "https://www.dreamstime.com/close-up-hand-laptop-coding-overlay-image411825900" },{ "@context":"https://schema.org", "@type":"ListItem", "position": 14, "name":"Orange Compact Car with Gear Symbol and Software Interface Automotive Technology Innovation. Automotive technology, electric vehicles, programming, software", "url": "https://www.dreamstime.com/orange-compact-car-gear-symbol-software-interface-automotive-technology-innovation-automotive-technology-electric-image480441296" },{ "@context":"https://schema.org", "@type":"ListItem", "position": 15, "name":"Futuristic Technology Abstract Clean White Circuit Board with Computer Screen Displaying Code. A stylized 3D rendering depicts a computer screen displaying code", "url": "https://www.dreamstime.com/stylized-d-rendering-depicts-computer-screen-displaying-code-centrally-positioned-minimalist-white-circuit-board-design-image425580055" },{ "@context":"https://schema.org", "@type":"ListItem", "position": 16, "name":"Code programmer coding software development. Computer screen displaying lines of code and programming symbols. Illustrates software development, digital", "url": "https://www.dreamstime.com/code-programmer-coding-software-development-computer-screen-displaying-lines-programming-symbols-illustrates-digital-image413547631" },{ "@context":"https://schema.org", "@type":"ListItem", "position": 17, "name":"Binary Code in Speech Bubble With Abstract Line Elements for Technology and Communication Themes. Speech bubble displaying binary code alongside abstract lines", "url": "https://www.dreamstime.com/speech-bubble-displaying-binary-code-alongside-abstract-lines-representing-data-transmission-coding-digital-communication-image445740008" },{ "@context":"https://schema.org", "@type":"ListItem", "position": 18, "name":"Infinity Symbol Shape Made of Programming Code Syntax and Software Development. A creative infinity loop shape composed of various programming syntax characters", "url": "https://www.dreamstime.com/infinity-symbol-shape-made-programming-code-syntax-software-development-creative-loop-composed-various-characters-coding-image479855120" },{ "@context":"https://schema.org", "@type":"ListItem", "position": 19, "name":"Software Development and Digital Finance Vector Illustration with Laptop and Smartphone. Workers building a website interface on a laptop screen with binary code", "url": "https://www.dreamstime.com/workers-building-website-interface-laptop-screen-binary-code-puzzle-pieces-vector-illustration-programming-web-image471630341" },{ "@context":"https://schema.org", "@type":"ListItem", "position": 20, "name":"Binary Code Data Flow Vector Illustration with Directional Arrows for Technology Web Banners. Binary code inside a speech bubble with directional arrows for", "url": "https://www.dreamstime.com/binary-code-data-flow-vector-illustration-directional-arrows-technology-web-banners-inside-speech-bubble-landing-page-image476208954" },{ "@context":"https://schema.org", "@type":"ListItem", "position": 21, "name":"User Profile Icon with Coding Symbols and Interface Elements for Digital Identity and Development. Digital identity, coding, web development, interface design", "url": "https://www.dreamstime.com/user-profile-icon-coding-symbols-interface-elements-digital-identity-development-web-design-software-engineering-image469792536" },{ "@context":"https://schema.org", "@type":"ListItem", "position": 22, "name":"Coding Interface and Gesture Control Concept with Software Interaction and Virtual Collaboration. Software development, coding education, virtual collaboration", "url": "https://www.dreamstime.com/software-development-coding-education-virtual-collaboration-gesture-control-user-interface-design-programming-guidance-interactive-image476697072" },{ "@context":"https://schema.org", "@type":"ListItem", "position": 23, "name":"HTML Coding Web Development Landing Page Banner Set with Folder and Binary Code Illustration. HTML coding web development landing page banner a folder with", "url": "https://www.dreamstime.com/html-coding-web-development-landing-page-banner-folder-binary-code-software-engineering-programming-language-website-image476861915" },{ "@context":"https://schema.org", "@type":"ListItem", "position": 24, "name":"Programming Interface with Gear Icon and Smiling Human, Conceptualizing Collaboration and Development. Software development, teamwork, coding, UI design, IT", "url": "https://www.dreamstime.com/programming-interface-gear-icon-smiling-human-conceptualizing-collaboration-development-software-development-teamwork-image449633446" },{ "@context":"https://schema.org", "@type":"ListItem", "position": 25, "name":"Web Development Icons Set Cloud Computing Symbol HTML Code Block and Circular Puzzle Diagram. For landing page banner. Programming, software engineering, cloud", "url": "https://www.dreamstime.com/web-development-icons-set-cloud-computing-symbol-html-code-block-circular-puzzle-diagram-web-development-icons-set-cloud-image479128926" },{ "@context":"https://schema.org", "@type":"ListItem", "position": 26, "name":"Software Development and Gaming Concept Vector Illustration for Web Landing Page Banner Design. Vector illustration code brackets and a game controller for a web", "url": "https://www.dreamstime.com/software-development-gaming-concept-vector-illustration-web-landing-page-banner-design-code-brackets-game-controller-image467430618" },{ "@context":"https://schema.org", "@type":"ListItem", "position": 27, "name":"Minimalist Black Solid Programming Icon Set For Web Development Symbol Collection. A clean set of black solid programming and software development icons on white", "url": "https://www.dreamstime.com/clean-set-black-solid-programming-software-development-icons-white-background-suitable-web-design-tech-apps-user-image479053071" },{ "@context":"https://schema.org", "@type":"ListItem", "position": 28, "name":"Software Bug Vector Illustration Set for Web Landing Page Design and Programming Development. A set of vector illustrations a computer bug, a tree, and binary", "url": "https://www.dreamstime.com/software-bug-vector-illustration-set-web-landing-page-design-programming-development-illustrations-computer-tree-image481345056" },{ "@context":"https://schema.org", "@type":"ListItem", "position": 29, "name":"A Futuristic Digital Interface Showing An AI Agent Connected To Various Services. This conceptual digital visualization features a central AI agent icon within a", "url": "https://www.dreamstime.com/conceptual-digital-visualization-features-central-ai-agent-icon-glass-morphism-style-interface-branching-out-to-image471120078" },{ "@context":"https://schema.org", "@type":"ListItem", "position": 30, "name":"Programming Development Web Design Icons Set for Landing Page Banner and UI Interface Elements. Programming development icons code brackets, growth arrows, and", "url": "https://www.dreamstime.com/programming-development-web-design-icons-set-landing-page-banner-ui-interface-elements-code-brackets-growth-arrows-data-image468725740" },{ "@context":"https://schema.org", "@type":"ListItem", "position": 31, "name":"SEO search engine optimization icon code programming red background. Vector", "url": "https://www.dreamstime.com/seo-search-engine-optimization-icon-code-programming-red-background-vector-image284470774" },{ "@context":"https://schema.org", "@type":"ListItem", "position": 32, "name":"Artificial Intelligence in Website Development and Content Creation with Code and Media Elements. Technology, programming, content creation, web development, AI", "url": "https://www.dreamstime.com/technology-programming-content-creation-web-development-ai-tools-automation-laptop-screen-displaying-html-code-media-elements-image482196008" },{ "@context":"https://schema.org", "@type":"ListItem", "position": 33, "name":"Streaming data display shifting in virtual dashboard, showing 3D grid, purple cube, code, 2. 01%. Neon, holographic, wireframe, interface, cyberspace", "url": "https://www.dreamstime.com/streaming-data-display-shifting-virtual-dashboard-showing-d-grid-purple-cube-code-neon-holographic-wireframe-interface-image452598936" },{ "@context":"https://schema.org", "@type":"ListItem", "position": 34, "name":"Programming Handbook Code Symbol Icon Set. Vol 27222", "url": "https://www.dreamstime.com/programming-handbook-code-symbol-icon-set-vol-image447266513" },{ "@context":"https://schema.org", "@type":"ListItem", "position": 35, "name":"AI and Human Connection Visualization with Holographic Data Interface. Evocative digital artwork showing the meeting point between human and artificial", "url": "https://www.dreamstime.com/ai-human-connection-visualization-holographic-data-interface-evocative-digital-artwork-showing-meeting-point-image423510596" },{ "@context":"https://schema.org", "@type":"ListItem", "position": 36, "name":"HTML Coding Development Landing Page Banner Set with Programmer Hands Holding Tablet and Code. Hands holding a tablet with HTML code and interface elements for a", "url": "https://www.dreamstime.com/html-coding-development-landing-page-banner-set-programmer-hands-holding-tablet-code-hands-holding-tablet-html-image477939710" },{ "@context":"https://schema.org", "@type":"ListItem", "position": 37, "name":"Modern workspace with computer, coding interface, and development tools. A clean, organized workspace featuring a desktop computer displaying a coding interface", "url": "https://www.dreamstime.com/modern-workspace-computer-coding-interface-development-tools-clean-organized-featuring-desktop-displaying-tablet-image427910276" },{ "@context":"https://schema.org", "@type":"ListItem", "position": 38, "name":"Laptop Showing Web Development Tools with Code, Content Files, Media Assets, and Debugging Bug Icon. Web development, coding, software testing, programming", "url": "https://www.dreamstime.com/laptop-showing-web-development-tools-code-content-files-media-assets-debugging-bug-icon-web-development-coding-software-image457545904" },{ "@context":"https://schema.org", "@type":"ListItem", "position": 39, "name":"Woman Analyzing Binary Code Data Vector Illustration for Technology Website Landing Page Banner. A woman examines binary code on a digital gauge for a technology", "url": "https://www.dreamstime.com/woman-analyzing-binary-code-data-vector-illustration-technology-website-landing-page-banner-examines-digital-gauge-image470171384" },{ "@context":"https://schema.org", "@type":"ListItem", "position": 40, "name":"Person Coding on Laptop with Digital Interface. Close-up of a person working on a laptop, surrounded by digital code and design elements. The image suggests", "url": "https://www.dreamstime.com/close-up-person-working-laptop-surrounded-digital-code-design-elements-image-suggests-programming-software-image405804425" },{ "@context":"https://schema.org", "@type":"ListItem", "position": 41, "name":"Laptop Computer with Programming Code and Business Analysis Icons Vector Illustration. Laptop with code, magnifying glass, and gear icons vector illustration", "url": "https://www.dreamstime.com/laptop-computer-programming-code-business-analysis-icons-vector-illustration-magnifying-glass-gear-software-development-image475031720" },{ "@context":"https://schema.org", "@type":"ListItem", "position": 42, "name":"A close-up view of computer code on a screen. A blurry close-up view of lines of computer code in various colors on a dark background. the code appears to be", "url": "https://www.dreamstime.com/close-up-view-computer-code-screen-blurry-lines-various-colors-dark-background-appears-to-be-written-programming-image443892412" },{ "@context":"https://schema.org", "@type":"ListItem", "position": 43, "name":"Ai integration interface configuration panel. A detailed interface showcasing AI integration options with various file and programming language support", "url": "https://www.dreamstime.com/ai-integration-interface-configuration-panel-detailed-showcasing-options-various-file-programming-language-support-image427263721" },{ "@context":"https://schema.org", "@type":"ListItem", "position": 44, "name":"A holographic programming interface floats in mid air with interactive code panels. A bunch of screens with a dark background showing a holographic programming", "url": "https://www.dreamstime.com/holographic-programming-interface-floats-mid-air-interactive-code-panels-bunch-screens-dark-background-image457491139" },{ "@context":"https://schema.org", "@type":"ListItem", "position": 45, "name":"Software Development and Programming Education Vector Illustration for Web Landing Page Banner. A woman kneeling and holding a code block next to books for a web", "url": "https://www.dreamstime.com/woman-kneeling-holding-code-block-next-to-books-web-landing-page-banner-education-software-development-programming-image482656979" },{ "@context":"https://schema.org", "@type":"ListItem", "position": 46, "name":"Laptop with code stickers and programming icons. Colorful stickers and icons related to coding and software development are arranged around a laptop displaying", "url": "https://www.dreamstime.com/laptop-code-stickers-programming-icons-colorful-related-to-coding-software-development-arranged-around-displaying-image415538764" },{ "@context":"https://schema.org", "@type":"ListItem", "position": 47, "name":"Digital Art and Binary Code Vector Illustration Set for Creative Technology Landing Page Banners. A set of vector illustrations a paintbrush, magnifying glass", "url": "https://www.dreamstime.com/digital-art-binary-code-vector-illustration-set-creative-technology-landing-page-banners-illustrations-paintbrush-image470180559" },{ "@context":"https://schema.org", "@type":"ListItem", "position": 48, "name":"Displaying central red code window scrolling code text on monitor screen, with hex HUD overlays. Interface, dashboard, console, futuristic, cybersecurity", "url": "https://www.dreamstime.com/displaying-central-red-code-window-scrolling-text-monitor-screen-hex-hud-overlays-interface-dashboard-console-futuristic-image452549126" },{ "@context":"https://schema.org", "@type":"ListItem", "position": 49, "name":"Developer Engaging in Coding Process with Pickaxe, Global Connectivity, and Code Elements Visualization. Software development, coding process, global", "url": "https://www.dreamstime.com/software-development-coding-process-global-connectivity-data-mining-programming-tools-digital-innovation-person-code-pickaxe-image427779237" },{ "@context":"https://schema.org", "@type":"ListItem", "position": 50, "name":"Displaying holographic petal-style pie-chart floating on grid plane, with code, gauge, panels. Futuristic, neon, analytics, dashboard, visualization, interface", "url": "https://www.dreamstime.com/displaying-holographic-petal-style-pie-chart-floating-grid-plane-code-gauge-panels-futuristic-neon-analytics-dashboard-image449810172" },{ "@context":"https://schema.org", "@type":"ListItem", "position": 51, "name":"Programming Development and Financial Growth Vector Illustration Set for Web Landing Page Design. Programming code and financial growth bar chart icons for web", "url": "https://www.dreamstime.com/programming-code-financial-growth-bar-chart-icons-web-landing-page-banner-software-development-business-analytics-digital-image473567383" },{ "@context":"https://schema.org", "@type":"ListItem", "position": 52, "name":"Computer browser window with code symbol surrounded by virus bacteria. Digital security concept illustrating malicious code infecting software interface. Flat", "url": "https://www.dreamstime.com/computer-browser-window-code-symbol-surrounded-virus-bacteria-digital-security-concept-illustrating-malicious-infecting-image455447783" },{ "@context":"https://schema.org", "@type":"ListItem", "position": 53, "name":"Artificial Intelligence Access Control and Software Development Landing Page Vector Illustration. A person using biometric facial recognition to unlock a door", "url": "https://www.dreamstime.com/person-using-biometric-facial-recognition-to-unlock-door-software-code-interface-landing-page-banner-cybersecurity-image475236232" },{ "@context":"https://schema.org", "@type":"ListItem", "position": 54, "name":"Programming Development Landing Page Vector Illustration with Coding and Data Analysis Elements. Woman kneeling and interacting with digital code and data", "url": "https://www.dreamstime.com/programming-development-landing-page-vector-illustration-coding-data-analysis-elements-woman-kneeling-interacting-digital-image482473960" },{ "@context":"https://schema.org", "@type":"ListItem", "position": 55, "name":"Futuristic Computer Screen with Code and Data Visualization in Neon Lighting. A modern computer monitor displays lines of code and data visualizations, bathed in", "url": "https://www.dreamstime.com/modern-computer-monitor-displays-lines-code-data-visualizations-bathed-vibrant-neon-blue-purple-light-background-image403102152" },{ "@context":"https://schema.org", "@type":"ListItem", "position": 56, "name":"Artificial Intelligence Robot Analyzing Data Charts and HTML Code Web Landing Page Banner Design. A robot holding a magnifying glass examines digital data charts", "url": "https://www.dreamstime.com/artificial-intelligence-robot-analyzing-data-charts-html-code-web-landing-page-banner-design-holding-magnifying-glass-image478704367" },{ "@context":"https://schema.org", "@type":"ListItem", "position": 57, "name":"Command prompt interface with multicolored code grid on dark background. A command prompt interface displayed on a dark blue background with a white border", "url": "https://www.dreamstime.com/command-prompt-interface-multicolored-code-grid-dark-background-displayed-blue-white-border-features-like-arrangement-image440344591" },{ "@context":"https://schema.org", "@type":"ListItem", "position": 58, "name":"Stylized High-Contrast Laptop Displaying Programming Code. A minimalist, high-contrast black and white illustration of a laptop screen filled with software code", "url": "https://www.dreamstime.com/stylized-high-contrast-laptop-displaying-programming-code-minimalist-black-white-illustration-screen-filled-software-image458439625" },{ "@context":"https://schema.org", "@type":"ListItem", "position": 59, "name":"Displaying central code and binary cluster flowing over green grid, with UI glyphs and waves. Lattice, matrix, neon, cyber, visualization, circuitry, interface", "url": "https://www.dreamstime.com/displaying-central-code-binary-cluster-flowing-over-green-grid-ui-glyphs-waves-lattice-matrix-neon-cyber-visualization-image449608900" },{ "@context":"https://schema.org", "@type":"ListItem", "position": 60, "name":"Website Development and Design Concept with HTML Code, Lightbulb for Ideas, and Collaboration Handshake. Web development, software coding, teamwork, idea", "url": "https://www.dreamstime.com/website-development-design-concept-html-code-lightbulb-ideas-collaboration-handshake-web-software-coding-teamwork-image472675335" },{ "@context":"https://schema.org", "@type":"ListItem", "position": 61, "name":"Coding screens with blue code and data streams. Close up of bright blue computer screens displaying programming code and data streams in a tech workspace", "url": "https://www.dreamstime.com/close-up-bright-blue-computer-screens-displaying-programming-code-data-streams-tech-workspace-coding-screens-blue-image432983817" },{ "@context":"https://schema.org", "@type":"ListItem", "position": 62, "name":"Computer Monitors Displaying Programming Code. Three computer monitors display lines of code in shades of blue and orange. A keyboard and mouse are partially", "url": "https://www.dreamstime.com/computer-monitors-displaying-programming-code-three-display-lines-shades-blue-orange-keyboard-mouse-partially-image435711508" },{ "@context":"https://schema.org", "@type":"ListItem", "position": 63, "name":"Web Development HTML Coding Landing Page Banner Set with Laptop and Programming Interface Elements. Laptop displaying website code and data charts for a", "url": "https://www.dreamstime.com/web-development-html-coding-landing-page-banner-set-laptop-programming-interface-elements-displaying-website-code-data-image467451411" },{ "@context":"https://schema.org", "@type":"ListItem", "position": 64, "name":"Set of Software Development and Programming Icons Featuring Code and Technology Concepts. A collection of black and white line art icons representing programming", "url": "https://www.dreamstime.com/set-software-development-programming-icons-featuring-code-technology-concepts-collection-black-white-line-art-image476820120" },{ "@context":"https://schema.org", "@type":"ListItem", "position": 65, "name":"Faint bluish orbs drifting in, translucent HUD elements pulsing, code sliding, encrypting data. Encryption, cybersecurity, dashboard, radar, visualization", "url": "https://www.dreamstime.com/faint-bluish-orbs-drifting-translucent-hud-elements-pulsing-code-sliding-encrypting-data-encryption-cybersecurity-dashboard-image465265000" },{ "@context":"https://schema.org", "@type":"ListItem", "position": 66, "name":"Software development laptop screen showing code with coffee cup nearby. A flat vector illustration of an open laptop displaying complex programming code on the", "url": "https://www.dreamstime.com/flat-vector-illustration-open-laptop-displaying-complex-programming-code-screen-accompanied-cup-coffee-dark-image453198646" },{ "@context":"https://schema.org", "@type":"ListItem", "position": 67, "name":"Laptop development icon, solid black glyph symbol for software development, coding and programming. A bold solid black laptop development icon in a clean glyph", "url": "https://www.dreamstime.com/bold-solid-black-laptop-development-icon-clean-glyph-style-symbol-features-simple-shapes-clear-silhouette-making-image482916171" },{ "@context":"https://schema.org", "@type":"ListItem", "position": 68, "name":"Digital Media Development and Coding Process with Web Content, Programming Elements, and User Interaction. Web development, coding, content creation, software", "url": "https://www.dreamstime.com/web-development-coding-content-creation-software-design-user-interface-digital-marketing-computer-media-files-html-code-image459911471" },{ "@context":"https://schema.org", "@type":"ListItem", "position": 69, "name":"Digital Technology Icons Set Voice Recognition Binary Code and 360 Degree View Vector Illustration. Set of digital technology icons including voice recognition", "url": "https://www.dreamstime.com/digital-technology-icons-set-voice-recognition-binary-code-degree-view-vector-illustration-set-digital-technology-icons-image468789767" },{ "@context":"https://schema.org", "@type":"ListItem", "position": 70, "name":"Computer Monitor with HTML Code and Mountain Image. A computer monitor displays HTML code on the left side, featuring tags nested within a black interface. The", "url": "https://www.dreamstime.com/computer-monitor-displays-html-code-left-side-featuring-tags-nested-black-interface-includes-typical-elements-like-image461385037" },{ "@context":"https://schema.org", "@type":"ListItem", "position": 71, "name":"Code and Data Visualization: The Future of Data Science. This image showcases a futuristic interface where hands type on a laptop, with code and data", "url": "https://www.dreamstime.com/code-data-visualization-future-science-image-showcases-futuristic-interface-where-hands-type-laptop-image405898542" },{ "@context":"https://schema.org", "@type":"ListItem", "position": 72, "name":"Black Location Pin Icon Combined With Code Angle Brackets Symbol Vector Illustration. A minimalist black vector icon featuring a location map marker nested", "url": "https://www.dreamstime.com/black-location-pin-icon-combined-code-angle-brackets-symbol-vector-illustration-minimalist-black-vector-icon-featuring-image477558814" },{ "@context":"https://schema.org", "@type":"ListItem", "position": 73, "name":"Glowing Neon Cloud Data Storage Hologram Projecting from Digital Tablet - Generative AI. A glowing neon blue and purple cloud hologram made of swirling fiber", "url": "https://www.dreamstime.com/glowing-neon-cloud-data-storage-hologram-projecting-digital-tablet-generative-ai-blue-purple-made-swirling-fiber-image482936731" },{ "@context":"https://schema.org", "@type":"ListItem", "position": 74, "name":"Advanced technology concept with code and gears. An image showcasing a futuristic technology interface with code, gears, and digital elements symbolizing", "url": "https://www.dreamstime.com/advanced-technology-concept-code-gears-image-showcasing-futuristic-interface-digital-elements-symbolizing-innovation-image431464668" },{ "@context":"https://schema.org", "@type":"ListItem", "position": 75, "name":"Code window displaying code icon vector stock image. Illustration of a programming code window. Flat style design featuring light blue and gray elements on a", "url": "https://www.dreamstime.com/code-window-displaying-icon-vector-stock-image-illustration-programming-flat-style-design-featuring-light-blue-gray-image446417673" },{ "@context":"https://schema.org", "@type":"ListItem", "position": 76, "name":"Computer Screen with AI Technology Graphics Digital Interface and Artificial Intelligence Concepts. Artificial intelligence, digital technology, programming", "url": "https://www.dreamstime.com/artificial-intelligence-digital-technology-programming-innovation-computer-interface-data-processing-large-screen-ai-chip-image475733179" },{ "@context":"https://schema.org", "@type":"ListItem", "position": 77, "name":"Teamwork Coding and Programming Concept Illustration. Developers collaborating on code with laptops and magnifying glass, surrounded by programming symbols", "url": "https://www.dreamstime.com/teamwork-coding-programming-concept-illustration-developers-collaborating-code-laptops-magnifying-glass-surrounded-image404249403" },{ "@context":"https://schema.org", "@type":"ListItem", "position": 78, "name":"Showing central luminous green ribbon flowing across dashboard, with hex icons, grid, code text. Sustainability, data, visualization, neon, interface", "url": "https://www.dreamstime.com/showing-central-luminous-green-ribbon-flowing-across-dashboard-hex-icons-grid-code-text-sustainability-data-visualization-image452549085" },{ "@context":"https://schema.org", "@type":"ListItem", "position": 79, "name":"Displaying composite dashboard filling frame on PC, showing bar charts, waveform, pie chart, code. Neon, analytics, visualization, telemetry, data, interface", "url": "https://www.dreamstime.com/displaying-composite-dashboard-filling-frame-pc-showing-bar-charts-waveform-pie-chart-code-neon-analytics-visualization-image449677806" },{ "@context":"https://schema.org", "@type":"ListItem", "position": 80, "name":"Cybersecurity code data analysis in dark tech environment with neon glow. Detailed view of programming code and cybersecurity data on a dark screen with neon", "url": "https://www.dreamstime.com/cybersecurity-code-data-analysis-dark-tech-environment-neon-glow-detailed-view-programming-screen-highlights-image449206422" } ] } </script><script id="json-html-share-modal-tpl" type="application/json">{"html":"<template class=\"js-modal-share-tpl\">\n <div\n class=\"modal js-modal js-modal-share modal--share\" aria-hidden=\"true\" data-state=\"closed\" data-name=\"share\" data-template=\"share\">\n <div class=\"modal__overlay js-modal-overlay\" tabindex=\"-1\">\n <div\n class=\"modal__container js-modal-container\"\n role=\"dialog\"\n aria-modal=\"true\"\n aria-labelledby=\"modal-share-title\"\n >\n\n <header class=\"modal__header js-modal-header\">\n <h2\n class=\"modal__title js-modal-title\"\n id=\"modal-share-title\"\n >Share this page<\/h2>\n \n <button\n class=\"close-btn close-btn--big close-btn--l-grey js-close-btn modal__close js-modal-close-icon js-modal-close-trigger\" type=\"button\" aria-label=\"Close\"><svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" viewBox=\"0 0 10 10\"><path d=\"M3.511 5 0 8.511 1.489 10 5 6.489 8.511 10 10 8.511 6.489 5 10 1.489 8.511 0 5 3.511 1.489 0 0 1.489z\"\/><\/svg><\/button>\n <\/header>\n \n <div class=\"modal__content js-modal-content\">\n <div class=\"share-list\">\n <div\n class=\"share-list social-links social-links--ss social-links--huge\" data-dt-id=\"social-row-analytics\" data-dt-root=\"\" data-dt-on-click=\"\" data-dt-js=\"57\">\n <a class=\"social-links__item social-links__item--facebook js-social-link\" data-name=\"Facebook\" href=\"https:\/\/www.facebook.com\/sharer\/sharer.php?u=https%3A%2F%2Fwww.dreamstime.com%2Fillustration%2Fcode-programming-interface.html%3Fpg%3D58&description=Download+Code+Programming+Interface+stock+photos+from+Dreamstime+Take+a+look+at+these+amazing+free+or+royalty-free+photos+on+Dreamstime.\" rel=\"noopener noreferrer\" target=\"_blank\">\n <span class=\"social-links__wrapper\"><svg class=\"social-links__icn\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\" viewBox=\"0 0 8 13\" width=\"100%\" height=\"100%\"><path fill-rule=\"nonzero\" d=\"M5.043 7.07h2.064l.31-2.31H5.042V3.283c0-.67.193-1.125 1.188-1.125H7.5V.09C7.28.063 6.527 0 5.651 0 3.821 0 2.57 1.077 2.57 3.055v1.704H.5v2.31h2.069V13h2.474V7.07Z\"\/><\/svg><\/span>\n <span class=\"screen-reader-text\">Facebook<\/span>\n <\/a>\n <a class=\"social-links__item social-links__item--twitter js-social-link\" data-name=\"X\" href=\"https:\/\/x.com\/intent\/post?related=dreamstime&text=Download+Code+Programming+Interface+stock+photos+from+Dreamstime+Take+a+look+at+these+amazing+free+or+royalty-free+photos+on+Dreamstime.&url=https%3A%2F%2Fwww.dreamstime.com%2Fillustration%2Fcode-programming-interface.html%3Fpg%3D58\" rel=\"noopener noreferrer\" target=\"_blank\">\n <span class=\"social-links__wrapper\"><svg class=\"social-links__icn\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\" viewBox=\"0 0 14 14\" width=\"100%\" height=\"100%\"><path fill-rule=\"nonzero\" d=\"M8.054 5.928 13.092 0h-1.194L7.524 5.147 4.03 0H0l5.284 7.784L0 14h1.194l4.62-5.436L9.504 14h4.03l-5.48-8.072ZM6.42 7.852l-.535-.775L1.624.91h1.834l3.437 4.977.536.775 4.468 6.47h-1.834L6.42 7.852Z\"\/><\/svg><\/span>\n <span class=\"screen-reader-text\">X<\/span>\n <\/a>\n <a class=\"social-links__item social-links__item--linkedin js-social-link\" data-name=\"LinkedIn\" href=\"https:\/\/www.linkedin.com\/shareArticle?mini=true&url=https%3A%2F%2Fwww.dreamstime.com%2Fillustration%2Fcode-programming-interface.html%3Fpg%3D58&summary=Download+Code+Programming+Interface+stock+photos+from+Dreamstime+Take+a+look+at+these+amazing+free+or+royalty-free+photos+on+Dreamstime.\" rel=\"noopener noreferrer\" target=\"_blank\">\n <span class=\"social-links__wrapper\"><svg class=\"social-links__icn\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\" viewBox=\"0 0 14 14\" width=\"100%\" height=\"100%\"><path fill-rule=\"evenodd\" d=\"M11.93 11.93H9.855V8.68c0-.774-.015-1.77-1.08-1.77-1.08 0-1.245.843-1.245 1.715v3.305H5.455V5.249h1.992v.912h.027c.277-.525.955-1.079 1.965-1.079 2.103 0 2.49 1.384 2.49 3.183v3.665ZM3.114 4.335a1.204 1.204 0 1 1 0-2.408 1.204 1.204 0 0 1 0 2.408ZM2.076 11.93h2.076V5.249H2.076v6.68ZM12.964 0H1.034C.463 0 0 .452 0 1.01v11.98C0 13.547.463 14 1.033 14h11.93c.572 0 1.037-.453 1.037-1.01V1.01C14 .451 13.535 0 12.964 0Z\"\/><\/svg><\/span>\n <span class=\"screen-reader-text\">LinkedIn<\/span>\n <\/a>\n <a class=\"social-links__item social-links__item--pinterest js-social-link\" data-name=\"Pinterest\" href=\"http:\/\/www.pinterest.com\/pin\/create\/button\/?url=https%3A%2F%2Fwww.dreamstime.com%2Fillustration%2Fcode-programming-interface.html%3Fpg%3D58&media=https%3A%2F%2Fthumbs.dreamstime.com%2Fb%2Fimage-features-sleek-modern-laptop-silver-body-black-keyboard-laptop-open-displaying-screen-lines-433851523.jpg&description=Download+Code+Programming+Interface+stock+photos+from+Dreamstime+Take+a+look+at+these+amazing+free+or+royalty-free+photos+on+Dreamstime.\" rel=\"noopener noreferrer\" target=\"_blank\">\n <span class=\"social-links__wrapper\"><svg class=\"social-links__icn\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\" viewBox=\"0 0 14 14\" width=\"100%\" height=\"100%\"><path fill-rule=\"evenodd\" d=\"M6.997 0A6.994 6.994 0 0 0 0 6.997a7 7 0 0 0 4.446 6.52c-.063-.554-.115-1.406.023-2.01.127-.548.818-3.479.818-3.479s-.208-.42-.208-1.037c0-.973.565-1.699 1.267-1.699.6 0 .887.45.887.985 0 .6-.38 1.498-.581 2.333-.167.696.35 1.267 1.036 1.267 1.244 0 2.2-1.313 2.2-3.202 0-1.676-1.204-2.845-2.925-2.845C4.97 3.83 3.8 5.32 3.8 6.865c0 .599.23 1.244.518 1.595.058.069.064.132.046.201-.052.22-.173.697-.196.795-.028.127-.103.156-.236.092-.863-.414-1.405-1.693-1.405-2.718 0-2.206 1.601-4.233 4.625-4.233 2.424 0 4.313 1.728 4.313 4.043 0 2.413-1.52 4.354-3.628 4.354-.708 0-1.376-.369-1.601-.806l-.438 1.664c-.155.61-.581 1.37-.87 1.837A7.028 7.028 0 0 0 7.004 14 6.997 6.997 0 0 0 14 7.003C13.994 3.133 10.861 0 6.997 0\"\/><\/svg><\/span>\n <span class=\"screen-reader-text\">Pinterest<\/span>\n <\/a>\n <a class=\"social-links__item social-links__item--whatsapp js-social-link\" data-name=\"WhatsApp\" href=\"https:\/\/api.whatsapp.com\/send\/?phone&text=https%3A%2F%2Fwww.dreamstime.com%2Fillustration%2Fcode-programming-interface.html%3Fpg%3D58\" rel=\"noopener noreferrer\" target=\"_blank\">\n <span class=\"social-links__wrapper\"><svg class=\"social-links__icn\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\" viewBox=\"0 0 13.995 13.996\" width=\"100%\" height=\"100%\"><path fill-rule=\"nonzero\" d=\"M10.204 8.387c-.174-.087-1.03-.506-1.19-.564-.16-.058-.275-.086-.392.087-.116.173-.45.564-.55.68-.102.115-.204.13-.378.043-.174-.087-.735-.27-1.4-.86a5.224 5.224 0 0 1-.969-1.2c-.102-.174-.01-.268.076-.354.079-.078.175-.203.262-.304.087-.101.116-.173.174-.289.058-.116.029-.217-.015-.304-.043-.086-.392-.94-.537-1.286-.141-.338-.285-.292-.391-.298a7.017 7.017 0 0 0-.334-.006.641.641 0 0 0-.464.217c-.16.173-.61.593-.61 1.446s.624 1.677.711 1.792c.087.116 1.228 1.866 2.975 2.617.415.178.74.285.992.365.417.132.797.113 1.097.069.334-.05 1.03-.42 1.175-.824.145-.405.145-.752.102-.824-.044-.073-.16-.116-.334-.203m-3.177 4.317h-.002a5.804 5.804 0 0 1-2.948-.803l-.212-.125-2.192.572.585-2.127-.137-.218a5.73 5.73 0 0 1-.886-3.068c.001-3.178 2.6-5.764 5.794-5.764 1.547 0 3.002.601 4.095 1.69A5.716 5.716 0 0 1 12.82 6.94c-.001 3.178-2.6 5.764-5.792 5.764m4.93-10.67A6.94 6.94 0 0 0 7.026 0C3.186 0 .06 3.111.058 6.935c0 1.222.32 2.415.93 3.467L0 13.996l3.694-.965a6.989 6.989 0 0 0 3.33.845h.003c3.84 0 6.967-3.112 6.968-6.936a6.877 6.877 0 0 0-2.039-4.906\"\/><\/svg><\/span>\n <span class=\"screen-reader-text\">WhatsApp<\/span>\n <\/a>\n <a class=\"social-links__item social-links__item--blogger js-social-link\" data-name=\"Blogger\" href=\"https:\/\/www.blogger.com\/blog-this.g?u=https%3A%2F%2Fwww.dreamstime.com%2Fillustration%2Fcode-programming-interface.html%3Fpg%3D58&t=Download+Code+Programming+Interface+stock+photos+from+Dreamstime+Take+a+look+at+these+amazing+free+or+royalty-free+photos+on+Dreamstime.\" rel=\"noopener noreferrer\" target=\"_blank\">\n <span class=\"social-links__wrapper\"><svg class=\"social-links__icn\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\" viewBox=\"0 0 14 14\" width=\"100%\" height=\"100%\"><path fill-rule=\"evenodd\" d=\"M13.999 9.48c0 2.496-2.038 4.52-4.55 4.52H4.55C2.037 14 0 11.976 0 9.48V4.52C0 2.025 2.037 0 4.55 0h2.297c2.513 0 4.55 2.024 4.55 4.52l.001.01c.033.47.427.84.908.84h.784c.502 0 .91.404.91.904l-.001 3.205ZM7.014 3.665H4.437a.872.872 0 0 0-.874.869c0 .48.391.869.874.869h2.577a.872.872 0 0 0 .875-.869.872.872 0 0 0-.875-.869Zm2.59 5.089H4.433a.825.825 0 0 0-.827.822c0 .454.37.822.827.822h5.173a.825.825 0 0 0 .827-.822.825.825 0 0 0-.827-.822Z\"\/><\/svg><\/span>\n <span class=\"screen-reader-text\">Blogger<\/span>\n <\/a>\n <a class=\"social-links__item social-links__item--tumblr js-social-link\" data-name=\"Tumblr\" href=\"https:\/\/www.tumblr.com\/share?u=https%3A%2F%2Fwww.dreamstime.com%2Fillustration%2Fcode-programming-interface.html%3Fpg%3D58&caption=Code+Programming+Interface+Photos+from+Dreamstime\" rel=\"noopener noreferrer\" target=\"_blank\">\n <span class=\"social-links__wrapper\"><svg class=\"social-links__icn\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\" viewBox=\"0 0 8 14\" width=\"100%\" height=\"100%\"><path fill-rule=\"evenodd\" d=\"M8 14H5.64c-2.125 0-3.709-1.083-3.709-3.675v-4.15H0V3.928C2.125 3.38 3.014 1.569 3.116 0h2.207v3.563h2.575v2.612H5.323V9.79c0 1.083.552 1.458 1.43 1.458H8V14Z\"\/><\/svg><\/span>\n <span class=\"screen-reader-text\">Tumblr<\/span>\n <\/a>\n <a class=\"social-links__item social-links__item--reddit js-social-link\" data-name=\"Reddit\" href=\"https:\/\/www.reddit.com\/submit?url=https%3A%2F%2Fwww.dreamstime.com%2Fillustration%2Fcode-programming-interface.html%3Fpg%3D58&title=Code+Programming+Interface+Photos+from+Dreamstime\" rel=\"noopener noreferrer\" target=\"_blank\">\n <span class=\"social-links__wrapper\"><svg class=\"social-links__icn\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\" viewBox=\"0 0 16 14\" width=\"100%\" height=\"100%\"><path fill-rule=\"evenodd\" d=\"M10.75 9.58c-.69 0-1.251-.552-1.251-1.229s.56-1.228 1.25-1.228S12 7.673 12 8.35a1.24 1.24 0 0 1-1.25 1.228m.22 2.017c-.854.837-2.49.902-2.97.902-.482 0-2.117-.065-2.97-.902a.314.314 0 0 1 0-.45.328.328 0 0 1 .459 0c.538.528 1.688.716 2.51.716.823 0 1.974-.188 2.513-.716a.329.329 0 0 1 .458 0 .314.314 0 0 1 0 .45M3.996 8.35c0-.677.561-1.228 1.251-1.228.69 0 1.25.55 1.25 1.228a1.24 1.24 0 0 1-1.25 1.228c-.69 0-1.25-.551-1.25-1.228M16 7.123c0-.95-.784-1.72-1.75-1.72-.473 0-.9.185-1.215.483-1.197-.848-2.846-1.396-4.683-1.459L9.15.742l2.606.544c.032.65.574 1.17 1.245 1.17.69 0 1.25-.55 1.25-1.228A1.24 1.24 0 0 0 13.001 0c-.492 0-.913.28-1.117.685L8.974.078a.315.315 0 0 0-.37.237l-.891 4.111c-1.864.05-3.54.6-4.751 1.457a1.76 1.76 0 0 0-1.211-.48C.784 5.403 0 6.173 0 7.123 0 7.82.425 8.42 1.035 8.69a3.32 3.32 0 0 0-.042.52c0 2.646 3.135 4.79 7.003 4.79C11.864 14 15 11.856 15 9.21a3.33 3.33 0 0 0-.042-.516A1.718 1.718 0 0 0 16 7.123\"\/><\/svg><\/span>\n <span class=\"screen-reader-text\">Reddit<\/span>\n <\/a>\n <a class=\"social-links__item social-links__item--mail js-social-link\" data-name=\"Email\" href=\"mailto:?subject=Code%20Programming%20Interface%20Images%20from%20Dreamstime&body=Hey%21%20I%20found%20some%20amazing%20photos%20related%20to%20Code%20Programming%20Interface%20on%20Dreamstime.%20Have%20a%20look%3A%20https%3A%2F%2Fwww.dreamstime.com%2Fillustration%2Fcode-programming-interface.html%3Fpg%3D58\" rel=\"noopener noreferrer\" target=\"_blank\">\n <span class=\"social-links__wrapper\"><svg class=\"social-links__icn\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\" viewBox=\"0 0 14 10\" width=\"100%\" height=\"100%\"><path fill-rule=\"evenodd\" d=\"M2.873 4.935 0 2.062v5.746l2.873-2.873Zm8.254 0L14 7.808V2.062l-2.873 2.873Zm-7.665.682L.004 9.076A1 1 0 0 0 1 10h12a1 1 0 0 0 .996-.924l-3.458-3.459-2.536 2.536A1.407 1.407 0 0 1 7 8.568c-.379 0-.734-.148-1.002-.415L3.462 5.617ZM13.975.779 7.413 7.341a.597.597 0 0 1-.825 0L.025.78A1 1 0 0 1 1 0h12a1 1 0 0 1 .975.78Z\"\/><\/svg><\/span>\n <span class=\"screen-reader-text\">Email<\/span>\n <\/a>\n<\/div>\n <\/div>\n <div\n class=\"copy-line js-copy-line\"\n>\n <div class=\"copy-line__icon\">\n <svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"14\" height=\"14\"><path fill=\"#656565\" fill-rule=\"evenodd\" d=\"M4.59 4.412a3.69 3.69 0 0 1 2.631-.282c1.263.328 2.06 1.466 2.195 1.67l.02.032-1.415 1.36s-.163-.828-1.01-1.185c-1.068-.45-1.785.155-1.912.275l-.02.02s-.595.585-1.251 1.239l-.608.607c-.543.546-1.013 1.027-1.084 1.129-.197.286-.76 1.739.382 2.536 1.28.893 2.454-.135 2.454-.135l.932-.933s.287.124.825.207c.538.084 1.491.049 1.491.049s-2.026 2.022-2.186 2.146c-.16.123-.532.5-1.102.681-.829.263-3.452.54-4.522-1.758-1.225-2.63.686-4.388.686-4.388l2.727-2.727c-.001 0 .569-.44.767-.543ZM7.81.953c.497-.594 3.208-1.884 5.114.148 2.306 2.574.191 4.98.191 4.98L11.262 7.96l-.047.045c-.236.233-1.315 1.289-1.54 1.415-1.605.893-2.487.607-3.451.281-.988-.333-1.693-1.488-1.693-1.488l1.39-1.36s.082.562.679.968c1.293.88 2.358-.162 2.358-.162l2.717-2.731s1.049-1.421-.035-2.51c-1.274-1.282-2.522-.171-2.682-.018l-.018.018-.894.899S7.738 3.17 7 3.037a3.215 3.215 0 0 0-1.243.01l-.032.009.045-.045.052-.052.254-.253C6.67 2.114 7.807.976 7.81.953Z\"\/><\/svg> <\/div>\n <div class=\"copy-line__content\">\n <span class=\"js-copy-line-content\">https:\/\/www.dreamstime.com\/illustration\/code-programming-interface.html?pg=58<\/span>\n <\/div>\n <button\n type=\"button\"\n class=\"copy-line__btn btn btn--green btn--big js-copy-line-btn\"\n data-tooltip-copied-txt=\"Copied to clipboard!\"\n data-dt-id=\"copy-line\" data-dt-root=\"\" data-dt-on-click=\"\" data-dt-show-loading=\"\" data-dt-loading-type=\"btn\" data-dt-loading-theme=\"dark\" data-dt-css=\"58,59\" data-dt-js=\"60\" data-dt-js-order=\"61,62,63,64\" >COPY LINK<\/button>\n<\/div>\n <\/div>\n\n \n <\/div>\n <\/div>\n<\/div>\n<\/template>\n"}</script> <script id="modal-deps" type="application/json">{"deps":{"css":"45,46","js":"54,29,30,55"}}</script> <script id="lang-select" type="application/json">{"langLinks":{"en":"https:\/\/www.dreamstime.com\/illustration\/code-programming-interface.html","pt":"https:\/\/pt.dreamstime.com\/illustration\/c\u00f3digo.html","de":"https:\/\/de.dreamstime.com\/illustration\/code.html","es":"https:\/\/es.dreamstime.com\/illustration\/c\u00f3digo.html","it":"https:\/\/it.dreamstime.com\/illustration\/codice.html","nl":"https:\/\/www.dreamstime.com\/nl\/illustration\/code.html","fr":"https:\/\/fr.dreamstime.com\/illustration\/code.html","ru":"https:\/\/ru.dreamstime.com\/illustration\/\u043a\u043e\u0434.html","gr":"https:\/\/gr.dreamstime.com\/illustration\/\u03ba\u03ce\u03b4\u03b9\u03ba\u03b1\u03c2.html","cn":"https:\/\/cn.dreamstime.com\/illustration\/\u7f16\u7801.html","pl":"https:\/\/pl.dreamstime.com\/illustration\/kod.html","se":"https:\/\/se.dreamstime.com\/illustration\/kod.html","ro":"https:\/\/ro.dreamstime.com\/illustration\/cod.html","sk":"https:\/\/sk.dreamstime.com\/illustration\/k\u00f3d.html","cz":"https:\/\/cz.dreamstime.com\/illustration\/k\u00f3d.html","jp":"https:\/\/www.dreamstime.com\/jp\/illustration\/\u30b3\u30fc\u30c9.html","kr":"https:\/\/www.dreamstime.com\/kr\/illustration\/\ucf54\ub4dc.html","ar":"https:\/\/ar.dreamstime.com\/illustration\/\u0634\u0641\u0631\u0629.html","hi":"https:\/\/hi.dreamstime.com\/illustration\/\u0915\u094b\u0921.html","tr":"https:\/\/tr.dreamstime.com\/illustration\/kod.html","id":"https:\/\/id.dreamstime.com\/illustration\/kode.html","dk":"https:\/\/dk.dreamstime.com\/illustration\/kode.html","no":"https:\/\/www.dreamstime.com\/no\/illustration\/kode.html","he":"https:\/\/www.dreamstime.com\/he\/illustration\/\u05e7\u05d5\u05d3.html"},"modalUrl":"https:\/\/www.dreamstime.com\/new\/components\/LanguageSelect\/modal_init.ajax.php"}</script> <noscript><iframe src="//www.googletagmanager.com/ns.html?id=GTM-PT44P2" height="0" width="0" style="display:none;visibility:hidden"></iframe></noscript> <script> const DT = { memberId: null, isAuth: false, usePrefetchWorker: true, prefetchWorkerUrl: '/new/js/prefetch_worker.min.js', useFetchPriority: true, cssVersion: 1283, jsVersion: 166205, cdnUrl: 'https://front.dreamstime.com/', siteUrl: 'https://www.dreamstime.com/', isDev: false, isRtl: false, isLtr: false, enableLog: false, assetsBasePath: 'new/process-assets/', ajaxBase: 'https://www.dreamstime.com/new/', componentsBasePath: 'https://www.dreamstime.com/new/components/', _loadedScriptsOnce: {'js/scheduler_polyfill.js': true,'js/scheduler.js': true,'js/core.js': true,'js/ui.js': true,'js/dt_loader.js': true,'pages/pages.js': true,'components/Toast/init.js': true,'components/PasswordShow/PasswordShow.js': true,'components/Search/puzzle_paste.js': true,'templates/header/SearchAutocomplete/SearchAutocomplete.js': true,'components/Banner/banner.js': true,'templates/search/filters/filters_search_functions.js': true,'pages/search/sort_same_url.js': true,'components/SearchListing/swipe_title.js': true,'components/SearchListing/drag.js': true,'components/Modal/init.js': true,'js/ajax_html.js': true,'components/LightboxBar/init.js': true,'https://client.px-cloud.net/PX2e972lwZ/main.min.js': true,'https://www.googletagmanager.com/gtm.js?id=GTM-PT44P2': true}, _loadedStyleSheetsOnce: {'css/core.css': true,'templates/header.css': true,'templates/header/header_not-logged.css': true,'components/PasswordShow/PasswordShow.css': true,'templates/header/header_menu.css': true,'templates/header/header_no-hero.css': true,'components/Search/Search.css': true,'components/Search/search_dropdown.css': true,'components/Select/Select_default.css': true,'components/Dropdown/Dropdown.css': true,'components/Dropdown/Dropdown_right.css': true,'components/Dropdown/Dropdown_btm.css': true,'templates/header/header_sticky.css': true,'pages/search/search.css': true,'components/Banner/FreeTrial/FreeTrial.css': true,'components/Banner/Default/Default.css': true,'components/Banner/Default/Default_big.css': true,'components/Banner/FreeTrial/FreeTrial_container.css': true,'components/Breadcrumbs/Breadcrumbs.css': true,'components/Swiper/Swiper.css': true,'components/Swiper/Swiper_fading.css': true,'components/CloseButton/CloseButton.css': true,'templates/search/filters/OptionGroup/OptionGroup.css': true,'components/Form/FormCheckbox.css': true,'templates/search/filters/ButtonList.css': true,'components/Form/FormInput.css': true,'components/Form/FormColor.css': true,'components/Form/FormSelect.css': true,'components/Form/FormSwitch.css': true,'components/Swiper/Swiper_list_buttons.css': true,'components/Swiper/Swiper_mask.css': true,'components/RelatedSearches/Item/Item_plain.css': true,'components/Swiper/Button.css': true,'components/SearchListing/SearchListing.css': true,'components/SearchListing/SearchIcons.css': true,'components/SearchListing/SearchListingItem.css': true,'components/SearchListing/SearchListingItemLoggedOut.css': true,'components/SearchListing/swipe_title.css': true,'components/SearchListing/rounded_corners.css': true,'components/SearchListing/SimilarsLink.css': true,'components/SearchListing/LightboxButton/LightboxButton.css': true,'components/Pagination/NextPageButton.css': true,'components/Pagination/Pagination.css': true,'components/Pagination/PaginationList.css': true,'pages/search/share_button.css': true,'components/Share/Button/Button.css': true,'templates/footer.css': true,'components/SocialRow/SocialRow.css': true,'components/SocialRow/SocialRow_sg.css': true,'components/SocialRow/SocialRow_mdm.css': true,'components/LanguageSelect/LanguageSelect.css': true}, components: {}, /* DT old site constants */ fullCpage: 'search.php', cpage: 'search', securitycheck: '1319f1eba5dc645331509bb9f0a47344', cacheDriver: 'ap', }; var securitycheck = '1319f1eba5dc645331509bb9f0a47344'; var isRtl = false; var isLtr = false; try { DT.htmlLazyDeps = {"1":"js\/breakpoints.js","2":"templates\/header\/header_login.js","3":"js\/register.js","4":"js\/functions_cookie.js","5":"js\/pwd_strength.js","6":"components\/Popup\/Popup.js","7":"components\/Popup\/PopupSignup\/PopupSignup.js","8":"js\/jquery.js","9":"js\/plugins\/tooltipster.bundle.min.js","10":"css\/plugins\/tooltipster.bundle.min.css","11":"css\/plugins\/tooltipster.themes.css","12":"components\/Popup\/PopupSignup\/PopupSignup.css","13":"js\/functions_auth.js","14":"templates\/header\/header_not-logged.init.js","15":"templates\/header\/login.js","16":"templates\/header\/header_mobile_menu.js","17":"templates\/header\/header_sticky.js","18":"js\/plugins\/hermite.js","19":"js\/lang_cts.js.php?l=en","20":"js\/plugins\/puzzle.js","21":"components\/Search\/Search.js","22":"components\/Search\/clear_input.js","23":"components\/Dropdown\/Dropdown.js","24":"components\/Dropdown\/Dropdown.init.js","25":"components\/Select\/Select.js","26":"components\/Select\/Select.init.js","27":"templates\/header\/SearchAutocomplete\/SearchAutocomplete2.css","28":"templates\/header\/SearchAutocomplete\/SearchAutocomplete_desktop.css","29":"js\/http.js","30":"js\/ajax_html.js","31":"components\/Swiper\/Swiper.js","32":"components\/Swiper\/Swiper.init.js","33":"templates\/search\/filters\/filters_search_functions.js","34":"templates\/search\/filters\/filters_search.js","35":"templates\/search\/filters\/filters_search_content_filters.js","36":"templates\/search\/filters\/filters.css","37":"templates\/search\/filters\/filters_search_people.js","38":"templates\/search\/filters\/filters_search_media.js","39":"components\/Form\/FormColor.js","40":"templates\/search\/filters\/filters_search_withinresults.js","41":"templates\/search\/filters\/filters_search_options.js","42":"templates\/search\/filters\/filters_search_safesearch.js","43":"components\/SearchListing\/SearchListingNew.js","44":"components\/Pagination\/NextPageButton.js","45":"components\/CloseButton\/CloseButton.css","46":"components\/Modal\/Modal.css","47":"components\/CopyLine\/CopyLine.css","48":"components\/CopyLine\/CopyLine_grey.css","49":"components\/CopyLine\/CopyLine_icon.css","50":"components\/Share\/Modal\/Modal.css","51":"components\/SocialRow\/SocialRow.css","52":"components\/SocialRow\/SocialRow_ss.css","53":"components\/SocialRow\/SocialRow_huge.css","54":"js\/animation.js","55":"components\/Modal\/Modal.js","56":"components\/Share\/Button\/Button.js","57":"components\/SocialRow\/SocialRow.js","58":"components\/Tooltip\/Tooltip.css","59":"components\/Tooltip\/Tooltip_green.css","60":"templates\/get_header_offset.js","61":"js\/floating_ui.js","62":"components\/Tooltip\/Tooltip.js","63":"components\/Tooltip\/Tooltip.init.js","64":"components\/CopyLine\/CopyLine.js","65":"components\/Popup\/PopupFreeTrial\/PopupFreeTrial.js","66":"components\/Popup\/PopupFreeTrial\/PopupFreeTrial.css","67":"templates\/footer\/popup_signup_interaction.js","68":"templates\/footer\/footer_toggle.js","69":"templates\/footer\/footer_menu.js","70":"components\/LanguageSelect\/LanguageSelect.js","71":"components\/Form\/FormSwitch.js","72":"components\/Tooltip\/Tooltip_grey.css","73":"components\/SearchListing\/SimilarsLink.js","74":"components\/SearchListing\/LightboxButton\/tooltip.js","75":"components\/SearchListing\/LightboxButton\/action.js"}; } catch (_) {}!function(){var i=["user-blocking","user-visible","background"];class t{constructor(){this.channel_=new MessageChannel,this.sendPort_=this.channel_.port2,this.messages_={},this.nextMessageHandle_=1,this.channel_.port1.onmessage=i=>this.onMessageReceived_(i)}queueCallback(i){var t=this.nextMessageHandle_++;return this.messages_[t]=i,this.sendPort_.postMessage(t),t}cancelCallback(i){delete this.messages_[i]}onMessageReceived_(i){var t=i.data;if(t in this.messages_){var e=this.messages_[t];delete this.messages_[t],e()}}}function e(){return e.instance_||(e.instance_=new t),e.instance_}class r{constructor(i,t,e){void 0===e&&(e=0),this.callback_=i,this.callbackType_=null,this.handle_=null,this.canceled_=!1,this.schedule_(t,e)}isIdleCallback(){return 0===this.callbackType_}isMessageChannelCallback(){return 2===this.callbackType_}cancel(){if(!this.canceled_)switch(this.canceled_=!0,this.callbackType_){case 0:cancelIdleCallback(this.handle_);break;case 1:clearTimeout(this.handle_);break;case 2:e().cancelCallback(this.handle_);break;default:throw new TypeError("Unknown CallbackType")}}schedule_(t,r){if(r&&r>0)return this.callbackType_=1,void(this.handle_=setTimeout((()=>{this.runCallback_()}),r));if(!i.includes(t))throw new TypeError("Invalid task priority : "+t);return"background"===t&&"function"==typeof requestIdleCallback?(this.callbackType_=0,void(this.handle_=requestIdleCallback((()=>{this.runCallback_()})))):"function"==typeof MessageChannel?(this.callbackType_=2,void(this.handle_=e().queueCallback((()=>{this.runCallback_()})))):(this.callbackType_=1,void(this.handle_=setTimeout((()=>{this.runCallback_()}))))}runCallback_(){this.canceled_||this.callback_()}}var s=0;class n{constructor(){this.head_=null,this.tail_=null}isEmpty(){return null==this.head_}push(i){if("object"!=typeof i)throw new TypeError("Task must be an Object");i.tq_sequence_=s++,this.isEmpty()?(i.tq_prev_=null,this.head_=i):(i.tq_prev_=this.tail_,this.tail_.tq_next_=i),i.tq_next_=null,this.tail_=i}takeNextTask(){if(this.isEmpty())return null;var i=this.head_;return this.remove_(i),i}merge(i,t){if("function"!=typeof t)throw new TypeError("Must provide a selector function.");if(null==i)throw new Error("sourceQueue cannot be null");for(var e=this.head_,r=null,s=i.head_;s;){var n=s;if(s=s.tq_next_,t(n)){for(i.remove_(n);e&&e.tq_sequence_<n.tq_sequence_;)r=e,e=e.tq_next_;this.insert_(n,r),r=n}}}toArray(){for(var i=this.head_,t=[];null!==i;)t.push(i),i=i.tq_next_;return t}insert_(i,t){if(t!=this.tail_){var e=t?t.tq_next_:this.head_;i.tq_next_=e,e.tq_prev_=i,i.tq_prev_=t,null!=t?t.tq_next_=i:this.head_=i}else this.push(i)}remove_(i){if(null==i)throw new Error("Expected task to be non-null");i===this.head_&&(this.head_=i.tq_next_),i===this.tail_&&(this.tail_=this.tail_.tq_prev_),i.tq_next_&&(i.tq_next_.tq_prev_=i.tq_prev_),i.tq_prev_&&(i.tq_prev_.tq_next_=i.tq_next_)}}class a extends Event{constructor(t,e){if(!e||!i.includes(e.previousPriority))throw new TypeError("Invalid task priority: '"+e.previousPriority+"'");super(t),this.previousPriority=e.previousPriority}}class l extends AbortController{constructor(t){if(void 0===t&&(t={}),super(),null==t&&(t={}),"object"!=typeof t)throw new TypeError("'init' is not an object");var e,r,s=void 0===t.priority?"user-visible":t.priority;if(!i.includes(s))throw new TypeError("Invalid task priority: '"+s+"'");this.priority_=s,this.isPriorityChanging_=!1,r=(e=this).signal,Object.defineProperties(r,{priority:{get:function(){return e.priority_},enumerable:!0},onprioritychange:{value:null,writable:!0,enumerable:!0}}),r.addEventListener("prioritychange",(i=>{r.onprioritychange&&r.onprioritychange(i)}))}setPriority(t){if(!i.includes(t))throw new TypeError("Invalid task priority: "+t);if(this.isPriorityChanging_)throw new DOMException("","NotAllowedError");if(this.signal.priority!==t){this.isPriorityChanging_=!0;var e=this.priority_;this.priority_=t;var r=new a("prioritychange",{previousPriority:e});this.signal.dispatchEvent(r),this.isPriorityChanging_=!1}}}void 0===self.scheduler?(self.scheduler=new class{constructor(){this.queues_={},i.forEach((i=>{this.queues_[i]=[new n,new n]})),this.pendingHostCallback_=null,this.signals_=new WeakMap}yield(i){return(i=Object.assign({},i)).signal&&"inherit"==i.signal&&delete i.signal,i.priority&&"inherit"==i.priority&&(i.priority="user-visible"),this.postTaskOrContinuation_((()=>{}),i,!0)}postTask(i,t){return this.postTaskOrContinuation_(i,t,!1)}postTaskOrContinuation_(t,e,r){if(void 0!==(e=Object.assign({},e)).signal){if(null===e.signal||!("aborted"in e.signal)||"function"!=typeof e.signal.addEventListener)return Promise.reject(new TypeError("'signal' is not a valid 'AbortSignal'"));if(e.signal&&e.signal.priority&&!i.includes(e.signal.priority))return Promise.reject(new TypeError("Invalid task priority: '"+e.signal.priority+"'"))}if(void 0!==e.priority&&(null===e.priority||!i.includes(e.priority)))return Promise.reject(new TypeError("Invalid task priority: '"+e.priority+"'"));if(void 0===e.delay&&(e.delay=0),e.delay=Number(e.delay),e.delay<0)return Promise.reject(new TypeError("'delay' must be a positive number."));var s={callback:t,options:e,resolve:null,reject:null,hostCallback:null,abortCallback:null,onTaskCompleted:function(){this.options.signal&&this.abortCallback&&(this.options.signal.removeEventListener("abort",this.abortCallback),this.abortCallback=null)},onTaskAborted:function(){this.hostCallback&&(this.hostCallback.cancel(),this.hostCallback=null),this.options.signal.removeEventListener("abort",this.abortCallback),this.abortCallback=null,this.reject(this.options.signal.reason)},isAborted:function(){return this.options.signal&&this.options.signal.aborted},isContinuation:r},n=new Promise(((i,t)=>{s.resolve=i,s.reject=t}));return this.schedule_(s),n}schedule_(i){var t=i.options.signal;if(t){if(t.aborted)return void i.reject(t.reason);i.abortCallback=()=>{i.onTaskAborted()},t.addEventListener("abort",i.abortCallback)}i.options.delay>0?i.hostCallback=new r((()=>{i.hostCallback=null,this.onTaskDelayExpired_(i)}),null,i.options.delay):(this.pushTask_(i),this.scheduleHostCallbackIfNeeded_())}onTaskDelayExpired_(i){this.pushTask_(i),this.pendingHostCallback_&&(this.pendingHostCallback_.cancel(),this.pendingHostCallback_=null),this.schedulerEntryCallback_()}onPriorityChange_(i){var t=this.signals_.get(i);if(void 0===t)throw new Error("Attempting to change priority on an unregistered signal");if(t!==i.priority){for(var e=0;e<2;e++)this.queues_[i.priority][e].merge(this.queues_[t][e],(t=>t.options.signal===i));this.signals_.set(i,i.priority)}}schedulerEntryCallback_(){this.pendingHostCallback_=null,this.runNextTask_(),this.scheduleHostCallbackIfNeeded_()}scheduleHostCallbackIfNeeded_(){var{priority:i}=this.nextTaskPriority_();null!=i&&("background"!==i&&this.pendingHostCallback_&&this.pendingHostCallback_.isIdleCallback()&&(this.pendingHostCallback_.cancel(),this.pendingHostCallback_=null),this.pendingHostCallback_||(this.pendingHostCallback_=new r((()=>{this.schedulerEntryCallback_()}),i,0)))}pushTask_(t){var e;if(!i.includes(e=t.options.priority?t.options.priority:t.options.signal&&t.options.signal.priority?t.options.signal.priority:"user-visible"))throw new TypeError("Invalid task priority: "+e);if(t.options.signal&&t.options.signal.priority){var r=t.options.signal;this.signals_.has(r)||(r.addEventListener("prioritychange",(()=>{this.onPriorityChange_(r)})),this.signals_.set(r,r.priority))}this.queues_[e][t.isContinuation?0:1].push(t)}runNextTask_(){var i=null;do{var{priority:t,type:e}=this.nextTaskPriority_();if(null==t)return;i=this.queues_[t][e].takeNextTask()}while(i.isAborted());try{var r=i.callback();i.resolve(r)}catch(t){i.reject(t)}finally{i.onTaskCompleted()}}nextTaskPriority_(){for(var t=0;t<i.length;t++)for(var e=i[t],r=0;r<2;r++)if(!this.queues_[e][r].isEmpty())return{priority:e,type:r};return{priority:null,type:0}}},self.TaskController=l,self.TaskPriorityChangeEvent=a):self.scheduler.yield||(self.scheduler.yield=function(i){var t=i=>i&&"user-visible"!=i?i:"user-blocking";if((i=Object.assign({},i)).signal&&"inherit"==i.signal&&delete i.signal,i.priority&&"inherit"==i.priority&&delete i.priority,i.signal&&i.signal.aborted)return Promise.reject(i.signal.reason);var e=i.priority;!e&&i.signal&&i.signal.priority&&(e=i.signal.priority),e=t(e);var r={inputSignal:i.signal,controller:new self.TaskController({priority:e}),abortCallback:null,priorityCallback:null,onTaskAborted:function(){this.controller.abort(this.inputSignal.reason),this.abortCallback=null},onPriorityChange:function(){this.controller.setPriority(t(this.inputSignal.priority))},onTaskCompleted:function(){this.abortCallback&&(this.inputSignal.removeEventListener("abort",this.abortCallback),this.abortCallback=null),this.priorityCallback&&(this.inputSignal.removeEventListener("prioritychange",this.priorityCallback),this.priorityCallback=null)}};i.signal&&(r.abortCallback=()=>{r.onTaskAborted()},i.signal.addEventListener("abort",r.abortCallback)),i.signal&&i.signal.priority&&!i.priority&&(r.priorityCallback=()=>{r.onPriorityChange()},i.signal.addEventListener("prioritychange",r.priorityCallback));var s=self.scheduler.postTask((()=>{}),{signal:r.controller.signal});return s.then((()=>{r.onTaskCompleted()})).catch((i=>{throw r.onTaskCompleted(),i})),s})}(); DT.Scheduler=(()=>{const postTask=(task,options={})=>window.scheduler.postTask(task,options),yieldToMain=()=>window.scheduler.yield(),isInputPending=()=>navigator?.scheduling?.isInputPending?.()??!1,waitForHighPriority=(options={})=>new Promise(((resolve,reject)=>{postTask(resolve,{priority:"user-blocking",...options}).catch(reject)})),waitForMediumPriority=(options={})=>new Promise(((resolve,reject)=>{postTask(resolve,{priority:"user-visible",...options}).catch(reject)})),waitForLowPriority=(options={})=>new Promise(((resolve,reject)=>{postTask(resolve,{priority:"background",...options}).catch(reject)})),yieldIfInputPending=async()=>{if(isInputPending())return yieldToMain()};return{postTask:postTask,yieldToMain:yieldToMain,isInputPending:isInputPending,yieldIfInputPending:yieldIfInputPending,waitForHighPriority:waitForHighPriority,waitForMediumPriority:waitForMediumPriority,waitForLowPriority:waitForLowPriority}})(); DT.isMobile=/Android|webOS|iPhone|iPad|iPod|BlackBerry|IEMobile|Opera Mini/i.test(navigator.userAgent),DT.isTouchDevice="ontouchstart"in window||navigator.maxTouchPoints>0||navigator.msMaxTouchPoints>0,DT.isMac=/Macintosh/.test(navigator.userAgent),DT.log=(type,...args)=>{if(DT.enableLog)try{type in console||(type="log"),console[type](...args)}catch(_err){}},DT.onReady=function(callback){"complete"===document.readyState||"interactive"===document.readyState||"loaded"===document.readyState?callback():document.addEventListener("DOMContentLoaded",callback)},DT.onReadyIdle=(callback,timeout=50)=>{DT.onReady((()=>{DT.onIdle(callback,timeout)}))},DT.onIdle=function(callback,timeout=50){return"requestIdleCallback"in window?window.requestIdleCallback(callback,{timeout:timeout}):setTimeout(callback,timeout)},DT.idle=function(timeout=50){return new Promise((resolve=>{DT.onIdle(resolve,timeout)}))},DT.isInputPending=()=>navigator?.scheduling?.isInputPending?.()??!1,DT.yieldIfInputPending=async()=>{DT.isInputPending()&&await DT.yieldToMain()},DT.onLoad=function(callback){"complete"===document.readyState?callback():window.addEventListener("load",callback)},DT.onLoadIdle=(callback,timeout=50)=>{DT.onLoad((()=>{DT.onIdle(callback,timeout)}))},DT.nextIter=(timeout=0)=>new Promise((resolve=>{setTimeout((()=>{resolve()}),timeout)})),DT.yieldToMain=async(timeout=0)=>{if(0===timeout&&"scheduler"in window&&"yield"in window.scheduler)try{return await window.scheduler.yield()}catch(_){}return new Promise((resolve=>{setTimeout(resolve,timeout)}))},DT.onNextIter=(callback,timeout=0)=>{setTimeout((()=>{callback()}),timeout)},DT.nextFrame=()=>new Promise((resolve=>{window.requestAnimationFrame(resolve)})),DT.onNextFrame=callback=>{window.requestAnimationFrame(callback)},DT.cancelNextFrame=id=>{id&&window.cancelAnimationFrame(id)},DT.isPage=(...pages)=>pages.some((page=>page===DT.cpage)),DT.import=DT.require=function(){const urls=Array.prototype.slice.call(arguments);return Promise.all(urls.map((url=>import(url))))},DT.importOrder=DT.requireOrder=function(){const urls=Array.prototype.slice.call(arguments);return urls.reduce(((promise,url)=>promise.then((()=>import(url)))),Promise.resolve())},DT.isDtUrl=function(url){return!!this.isRelativeUrl(url)||/^(https?:\/\/)?(?:[a-z0-9-]+\.)?dreamstime\./.test(url)},DT.isRelativeUrl=function(url){return/^(?!www\.|(?:http|ftp)s?:\/\/|[A-Za-z]:\\|\/\/(www\.)?|[a-zA-Z0-9\-\_]+\.[a-z]{1,3}).*/i.test(url)},DT.appendQueryString=function(url,queryString){const hasQueryString=undefined,separator=undefined;return`${url}${/\?/.test(url)?"&":"?"}${queryString}`},DT.processCssImportUrl=function(url){if(!this.isDtUrl(url))return url;if(this.isDev)return`/${this.assetsBasePath}${url}`;let newUrl=url;return this.isRelativeUrl(url)&&(newUrl=`${this.cdnUrl}${this.assetsBasePath}${url}`),this.appendQueryString(newUrl,`v=${this.cssVersion}`)},DT.processJsImportUrl=function(url){if(!this.isDtUrl(url))return url;if(this.isDev)return`/${this.assetsBasePath}${url}`;let newUrl=url;return this.isRelativeUrl(url)&&(newUrl=`${this.cdnUrl}${this.assetsBasePath}${url}`),this.appendQueryString(newUrl,`v=${this.jsVersion}`)},DT.loadScripts=function(){const scripts=Array.prototype.slice.call(arguments);return new Promise((async(resolve,reject)=>{let loaded=0;const head=document.getElementsByTagName("head")[0];function checkLoaded(){loaded++,loaded===scripts.length&&resolve()}for(let i=0;i<scripts.length;i++){const script=scripts[i];let scriptSrc,fetchPriority;"object"==typeof script?(scriptSrc=script.src,fetchPriority=script.fetchPriority):scriptSrc=script;const prefetchUrlPromise=DT.prefetchWorker.getPrefetchUrlPromise(scriptSrc);prefetchUrlPromise?await prefetchUrlPromise:DT.prefetchWorker.abortPrefetchUrls(scriptSrc);const createScript=()=>{const script=document.createElement("script");script.type="text/javascript",script.src=DT.processJsImportUrl(scriptSrc),fetchPriority&&DT.useFetchPriority&&script.setAttribute("fetchpriority",fetchPriority),script.onload=checkLoaded,script.onerror=reject,head.appendChild(script)};DT._preloadedLinks[scriptSrc]?DT._preloadedLinks[scriptSrc].then(createScript).catch(reject):createScript()}}))},DT.isScriptLoaded=function(scriptSrc){return!0===DT._loadedScriptsOnce[scriptSrc]},DT.loadScriptsOnce=function(){const scripts=Array.prototype.slice.call(arguments);return new Promise((async(resolve,reject)=>{let loaded=0;const head=document.getElementsByTagName("head")[0];function checkLoaded(){loaded++,loaded===scripts.length&&resolve()}const onScriptLoadError=error=>{DT.log("error","Failed to load script",error.target.src,error),reject(error)};for(let i=0;i<scripts.length;i++){const script=scripts[i];let scriptSrc,fetchPriority="";if("object"==typeof script?(scriptSrc=script.src,fetchPriority=script.fetchPriority):scriptSrc=script,DT._loadedScriptsOnce[scriptSrc]){!0===DT._loadedScriptsOnce[scriptSrc]?checkLoaded():DT._loadedScriptsOnce[scriptSrc].then(checkLoaded).catch(reject);continue}const prefetchUrlPromise=DT.prefetchWorker.getPrefetchUrlPromise(scriptSrc);prefetchUrlPromise?await prefetchUrlPromise:DT.prefetchWorker.abortPrefetchUrls(scriptSrc),DT._loadedScriptsOnce[scriptSrc]=new Promise(((resolve,reject)=>{const createScript=()=>{const script=document.createElement("script");script.type="text/javascript",script.src=DT.processJsImportUrl(scriptSrc),fetchPriority&&DT.useFetchPriority&&script.setAttribute("fetchpriority",fetchPriority),script.onload=function(){checkLoaded(),resolve()},script.onerror=error=>{reject(error),onScriptLoadError(error)},head.appendChild(script)};if(DT._preloadedLinks[scriptSrc])return DT._preloadedLinks[scriptSrc].then(createScript).catch(reject),void 0;createScript()})),DT._loadedScriptsOnce[scriptSrc].catch(reject)}}))},DT.loadScriptsInOrder=function(){const scripts=Array.prototype.slice.call(arguments);return new Promise(((resolve,reject)=>{const head=document.getElementsByTagName("head")[0];async function loadScript(index){if(index>=scripts.length)return resolve(),void 0;const script=scripts[index];if(Array.isArray(script))return DT.loadScriptsInOrder(...script).then((()=>{loadScript(index+1)})),void 0;let scriptSrc,fetchPriority;"object"==typeof script?(scriptSrc=script.src,fetchPriority=script.fetchPriority):scriptSrc=script;const prefetchUrlPromise=DT.prefetchWorker.getPrefetchUrlPromise(scriptSrc);prefetchUrlPromise?await prefetchUrlPromise:DT.prefetchWorker.abortPrefetchUrls(scriptSrc);const createScript=()=>{const script=document.createElement("script");script.type="text/javascript",script.src=DT.processJsImportUrl(scriptSrc),fetchPriority&&DT.useFetchPriority&&script.setAttribute("fetchpriority",fetchPriority),script.onload=function(){loadScript(index+1)},script.onerror=reject,head.appendChild(script)};if(DT._preloadedLinks[scriptSrc])return DT._preloadedLinks[scriptSrc].then(createScript).catch(reject),void 0;createScript()}loadScript(0)}))},DT.loadScriptsInOrderOnce=function(){const scripts=Array.prototype.slice.call(arguments);return new Promise(((resolve,reject)=>{const head=document.getElementsByTagName("head")[0],onScriptLoadError=error=>{DT.log("error","Failed to load script",error),reject(error)};async function loadScript(index){if(index>=scripts.length)return resolve(),void 0;const script=scripts[index];if(Array.isArray(script))return DT.loadScriptsInOrderOnce(...script).then((()=>{loadScript(index+1)})),void 0;let scriptSrc,fetchPriority;if("object"==typeof script?(scriptSrc=script.src,fetchPriority=script.fetchPriority):scriptSrc=script,DT._loadedScriptsOnce[scriptSrc])return!0===DT._loadedScriptsOnce[scriptSrc]?loadScript(index+1):DT._loadedScriptsOnce[scriptSrc].then((()=>{loadScript(index+1)})).catch(reject),void 0;const prefetchUrlPromise=DT.prefetchWorker.getPrefetchUrlPromise(scriptSrc);prefetchUrlPromise?await prefetchUrlPromise:DT.prefetchWorker.abortPrefetchUrls(scriptSrc),DT._loadedScriptsOnce[scriptSrc]=new Promise(((resolve,reject)=>{const createScript=()=>{const script=document.createElement("script");script.type="text/javascript",script.src=DT.processJsImportUrl(scriptSrc),fetchPriority&&DT.useFetchPriority&&script.setAttribute("fetchpriority",fetchPriority),script.onload=function(){loadScript(index+1),resolve()},script.onerror=error=>{reject(error),onScriptLoadError(error)},head.appendChild(script)};if(DT._preloadedLinks[scriptSrc])return DT._preloadedLinks[scriptSrc].then(createScript).catch(reject),void 0;createScript()}))}loadScript(0)}))},DT.loadCSS=function(){const urls=Array.prototype.slice.call(arguments);return new Promise((async function(resolve,reject){let loaded=0;function checkLoaded(){loaded++,loaded===urls.length&&DT.afterPaint().then((()=>{resolve()}))}for(let i=0;i<urls.length;i++){const urlSrc=urls[i];let url,fetchPriority,prefetchPromise;if("object"==typeof urlSrc?(url=urlSrc.url,fetchPriority=urlSrc.fetchPriority):url=urlSrc,DT._loadedStyleSheetsOnce[url]){!0===DT._loadedStyleSheetsOnce[url]?checkLoaded():DT._loadedStyleSheetsOnce[url].then(checkLoaded).catch(reject);continue}const prefetchUrlPromise=DT.prefetchWorker.getPrefetchUrlPromise(url);prefetchUrlPromise?prefetchPromise=prefetchUrlPromise:(prefetchPromise=new Promise((resolve=>{resolve()})),DT.prefetchWorker.abortPrefetchUrls(url)),DT._loadedStyleSheetsOnce[url]=prefetchPromise.then((()=>DT.addPreloadLink({href:url,as:"style",type:"text/css",fetchPriority:fetchPriority}))).then((preloadedLink=>{preloadedLink.setAttribute("rel","stylesheet"),preloadedLink.addEventListener("load",(()=>{checkLoaded()})),preloadedLink.addEventListener("error",(err=>{DT.log("error","Failed to load CSS",err),checkLoaded()}))})).catch((preloadedLink=>{preloadedLink?(preloadedLink.setAttribute("rel","stylesheet"),preloadedLink.addEventListener("load",(()=>{checkLoaded()})),preloadedLink.addEventListener("error",(err=>{DT.log("error","Failed to load CSS",err),checkLoaded()}))):checkLoaded()}))}}))},DT._preloadedLinks={},DT.addPreloadLink=({href:href,as:as,type:type="",media:media="",prefetch:prefetch="",fetchPriority:fetchPriority=""})=>new Promise((async resolve=>{if(DT._preloadedLinks[href])return!0===DT._preloadedLinks[href]?(resolve(),void 0):DT._preloadedLinks[href].then(resolve);if("script"===type&&DT._loadedScriptsOnce[href])return!0===DT._loadedScriptsOnce[href]?(resolve(),void 0):DT._loadedScriptsOnce[href].finally(resolve);if("style"===type&&DT._loadedStyleSheetsOnce[href])return!0===DT._loadedStyleSheetsOnce[href]?(resolve(),void 0):DT._loadedStyleSheetsOnce[href].finally(resolve);const prefetchUrlPromise=DT.prefetchWorker.getPrefetchUrlPromise(href);prefetchUrlPromise?await prefetchUrlPromise:DT.prefetchWorker.abortPrefetchUrls(href),DT._preloadedLinks[href]=new Promise((resolve=>{const preloadLink=document.createElement("link");preloadLink.setAttribute("rel","preload"),preloadLink.setAttribute("as",as);let processedHref=href;"script"===as?processedHref=DT.processJsImportUrl(href):"style"===as&&(processedHref=DT.processCssImportUrl(href)),preloadLink.setAttribute("href",processedHref),preloadLink.onload=()=>{preloadLink.onload=null,resolve(preloadLink)},preloadLink.onerror=err=>{DT.log("error","Failed to preload link",err),resolve(preloadLink)},type&&preloadLink.setAttribute("type",type),prefetch&&preloadLink.setAttribute("prefetch",prefetch),fetchPriority&&DT.useFetchPriority&&preloadLink.setAttribute("fetchpriority",fetchPriority);const head=document.getElementsByTagName("head")[0];return preloadLink.relList.supports("preload")?(head.appendChild(preloadLink),void 0):"style"===as?(preloadLink.setAttribute("rel","stylesheet"),head.appendChild(preloadLink),void 0):(resolve(preloadLink),void 0)})),DT._preloadedLinks[href].then((link=>{resolve(link)}))})),DT.addPreloadLinks=(...links)=>new Promise.all([...links.map((link=>DT.addPreloadLink(link)))]),DT._lastQueuePreloadLink=new Promise((resolve=>resolve())),DT.queuePreloadLink=async link=>{const prevLoad=DT._lastQueuePreloadLink;return DT._lastQueuePreloadLink=new Promise((async resolve=>{try{await prevLoad}catch(err){}DT.addPreloadLink(link).catch((reason=>{DT.log("error","Failed to preload link",reason)})).finally(resolve)})),DT._lastQueuePreloadLink},DT._lastQueueLoadDeps=new Promise((resolve=>resolve())),DT.queueLoadDeps=async loadDeps=>{if("function"!=typeof loadDeps)return;const prevLoad=DT._lastQueueLoadDeps;return DT._lastQueueLoadDeps=new Promise((async resolve=>{try{await prevLoad}catch(err){DT.log("error","Fail prev deps load",err)}await DT.idle();try{await loadDeps()}catch(err){DT.log("error","Failed to queue load deps",err)}resolve()})),DT._lastQueueLoadDeps},DT.queueDepsOnLoad=loadDeps=>new Promise((resolve=>{DT.onLoadIdle((async()=>{try{await DT.queueLoadDeps(loadDeps)}finally{resolve()}}))})),DT.loadDeps=({js:js=[],css:css=[]},priority="",{loadJs:loadJs=!0,loadCss:loadCss=!0}={})=>{const loadPromises=[];if(loadJs||loadCss||(loadJs=!0,loadCss=!0),loadJs){const loadScriptsOnce=[];for(let i=0;i<js.length;i++){const jsUrl=js[i];Array.isArray(jsUrl)?priority?loadPromises.push(DT.loadScriptsInOrderOnce(...jsUrl.map((url=>({src:url,fetchPriority:priority}))))):loadPromises.push(DT.loadScriptsInOrderOnce(...jsUrl)):priority?loadScriptsOnce.push({src:jsUrl,fetchPriority:priority}):loadScriptsOnce.push(jsUrl)}loadScriptsOnce.length&&loadPromises.push(DT.loadScriptsOnce(...loadScriptsOnce))}return loadCss&&css.length&&loadPromises.push(DT.loadCSS(...css)),Promise.all(loadPromises)},DT.createLoadDeps=(deps,priority="")=>(options={})=>DT.loadDeps(deps,priority,options),DT.loadLazyDeps=(lazyDeps,priority="")=>{const deps=DT.collectDeps(DT.parseLazyDeps(lazyDeps));return deps?DT.loadDeps(deps,priority):Promise.resolve()},DT.prefetchWorker={queuedUrls:{},fetchedUrlsFinished:{},fetchedUrls:{},worker:null,getPrefetchUrlPromise(url){return this.fetchedUrls[url]},log(data){DT.log(data.level,data.message)},onWorkerMessage(event){if("log"===event?.data?.type)return DT.prefetchWorker.log(event.data),void 0;event?.data&&"start_fetch"===event.data.type&&!DT.prefetchWorker.fetchedUrls[event.data.url]&&(DT.prefetchWorker.fetchedUrls[event.data.url]=new Promise((resolve=>{const startFetchUrl=event.data.url,handler=endFetchEvent=>{endFetchEvent?.data&&"end_fetch"===endFetchEvent.data.type&&endFetchEvent.data.url===startFetchUrl&&(DT.prefetchWorker.fetchedUrlsFinished[startFetchUrl]=!0,DT.prefetchWorker.worker.removeEventListener("message",handler),resolve())};DT.prefetchWorker.worker.addEventListener("message",handler)})))},processUrls:(urls=[])=>urls.map((url=>{if(!url)return null;const cleanUrl=url.split("?")[0];let processedUrl,contentType;switch(!0){case cleanUrl.endsWith(".js"):case cleanUrl.endsWith(".js.php"):processedUrl=DT.processJsImportUrl(url),contentType="text/javascript";break;case cleanUrl.endsWith(".css"):case cleanUrl.endsWith(".css.php"):processedUrl=DT.processCssImportUrl(url),contentType="text/css";break;default:processedUrl=url;break}return{originalUrl:url,url:processedUrl,contentType:contentType}})).filter((url=>null!==url)),prefetchUrls(urls,priority="auto"){if(!this.worker||!urls.length)return;const validUrls=urls.filter((url=>!(DT._preloadedLinks[url]||DT._loadedScriptsOnce[url]||DT._loadedStyleSheetsOnce[url]||this.queuedUrls[url]||this.abortedUrls[url]||this.fetchedUrlsFinished[url]))),processedUrls=this.processUrls(validUrls);processedUrls.length&&(processedUrls.forEach((url=>{this.queuedUrls[url.originalUrl]=!0})),this.worker.postMessage({type:"prefetchUrls",urls:processedUrls,priority:priority}))},queuePrefetchUrls(urls,priority="low"){if(!this.worker||!urls.length)return;const validUrls=urls.filter((url=>!(DT._preloadedLinks[url]||DT._loadedScriptsOnce[url]||DT._loadedStyleSheetsOnce[url]||this.queuedUrls[url]||this.abortedUrls[url]||this.fetchedUrlsFinished[url]))),processedUrls=this.processUrls(validUrls);processedUrls.length&&(processedUrls.forEach((url=>{this.queuedUrls[url.originalUrl]=!0})),this.worker.postMessage({type:"queuePrefetchUrls",urls:processedUrls,priority:priority}))},abortedUrls:{},abortPrefetchUrls(...urls){if(!this.worker||!urls.length)return;const validUrls=urls.filter((url=>!this.abortedUrls[url]&&!this.fetchedUrlsFinished[url])),processedUrls=this.processUrls(validUrls);processedUrls.length&&(processedUrls.forEach((url=>{this.abortedUrls[url.originalUrl]=!0})),this.worker.postMessage({type:"abortPrefetchUrls",urls:processedUrls}))},queuePrefetchUrlsOnReady(urls,priority="high"){DT.onReadyIdle((()=>{this.queuePrefetchUrls(urls,priority)}))},queuePrefetchUrlsOnLoad(urls,priority="low"){DT.onLoadIdle((()=>{this.queuePrefetchUrls(urls,priority)}))},init(){try{this.worker=new Worker(DT.prefetchWorkerUrl,{name:"DT Prefetch Worker"}),this.worker.addEventListener("message",this.onWorkerMessage)}catch(err){this.worker=null,DT.log("error","Failed to create Prefetch Worker",err)}}},DT.queuePrefetchDeps=({js:js=[],css:css=[]},priority="low",direct=!1)=>{const prefetchUrls=[],addNestedUrls=urls=>{for(let i=0;i<urls.length;i++){const url=urls[i];Array.isArray(url)?addNestedUrls(url):prefetchUrls.push(url)}};addNestedUrls(js),addNestedUrls(css),direct?DT.prefetchWorker.prefetchUrls(prefetchUrls,priority):DT.prefetchWorker.queuePrefetchUrls(prefetchUrls,priority)},DT.onReadyIdle((()=>{DT.usePrefetchWorker&&"undefined"!=typeof Worker&&null===DT.prefetchWorker.worker&&DT.prefetchWorker.init()})),DT.debounce=function(func,threshold=200,execAsap){var timeout;return function debounced(){var obj=this,args=arguments;function delayed(){execAsap||func.apply(obj,args),timeout=null}timeout?clearTimeout(timeout):execAsap&&func.apply(obj,args),timeout=setTimeout(delayed,threshold)}},DT.throttle=function(func,limit=200){var wait=!1;return function(){var obj=this,args=arguments;wait||(func.apply(obj,args),wait=!0,setTimeout((function(){wait=!1}),limit))}},DT._callbacksNotifyFirstMouseMove=[],DT._callbacksNotifyFirstMouseMoveTriggered=!1,DT.notifyFirstMouseMove=(...callbacks)=>{DT._callbacksNotifyFirstMouseMove.push(...callbacks)},DT.notifierOnFirstMouseMove=()=>{if(!DT._callbacksNotifyFirstMouseMoveTriggered){DT._callbacksNotifyFirstMouseMoveTriggered=!0,document.removeEventListener("scroll",DT.notifierOnFirstMouseMove),document.removeEventListener("mousemove",DT.notifierOnFirstMouseMove),DT.isMobile&&document.removeEventListener("touchmove",DT.notifierOnFirstMouseMove),document.removeEventListener("pointermove",DT.notifierOnFirstMouseMove);for(let i=0;i<DT._callbacksNotifyFirstMouseMove.length;i++)try{DT._callbacksNotifyFirstMouseMove[i]()}catch(_err){}}},DT.onReady((()=>{document.addEventListener("scroll",DT.notifierOnFirstMouseMove),document.addEventListener("mousemove",DT.notifierOnFirstMouseMove),DT.isMobile&&document.addEventListener("touchmove",DT.notifierOnFirstMouseMove),document.addEventListener("pointermove",DT.notifierOnFirstMouseMove)})),DT.loadHtml=async({element:element,url:url,asOuterHtml:asOuterHtml=!1,fetchOptions:fetchOptions,allowOnlyDtUrl:allowOnlyDtUrl=!0})=>{"string"==typeof element&&(element=document.querySelector(element));let htmlUrl=url;if(DT.isRelativeUrl(htmlUrl))0===htmlUrl.indexOf("/")&&(htmlUrl=htmlUrl.slice(1)),htmlUrl=`${DT.ajaxBase}${htmlUrl}`;else if(allowOnlyDtUrl&&!DT.isDtUrl(htmlUrl))return;const response=await fetch(htmlUrl,fetchOptions);if(!response.ok)throw new Error(`HTTP error: ${response.status}`);const html=await response.text();if("CheckLogin"===html)return location.reload(),void 0;asOuterHtml?element.outerHTML=html:element.innerHTML=html},DT.jsonData={},DT.parseJSONData=dataId=>{var oData=document.getElementById(dataId);return!(!oData||!oData.text)&&JSON.parse(oData.text)},DT.parseJsonHtml=templateName=>{let html=null;try{const data=DT.parseJSONData(`json-html-${templateName}`);if(!data)return null;html=data.html}catch(error){return DT.log("error","Failed to parse JSON template",error),null}if(!html)return null;const placeholder=document.createElement("div");return placeholder.innerHTML=html,placeholder.firstElementChild},DT.isNullish=value=>null==value,DT.toType=obj=>Object.prototype.toString.call(obj).slice(8,-1).toLowerCase(),DT.isObject=value=>"object"===DT.toType(value),DT.deepMerge=(...sources)=>{let returnValue={};for(const source of sources)if(Array.isArray(source))Array.isArray(returnValue)||(returnValue=[]),returnValue=[...returnValue,...source];else if(DT.isObject(source))for(let[key,value]of Object.entries(source))DT.isObject(value)&&key in returnValue&&(value=DT.deepMerge(returnValue[key],value)),returnValue={...returnValue,[key]:value};return returnValue},DT.setCookie=function(name,value,expires,path,domain,secure){expires||(expires=30);var today=new Date,expires2=new Date(today.getTime()+864e5*expires);document.cookie=name+"="+encodeURIComponent(value)+(expires?"; expires="+expires2.toGMTString():"")+(path?"; path="+path:"; path=/")+(domain?"; domain="+domain:"; domain=.dreamstime.com")+(secure?"; secure":"")},DT.getCookie=function(name){var dc=document.cookie,prefix=name+"=",begin=dc.indexOf("; "+prefix);if(-1==begin){if(0!=(begin=dc.indexOf(prefix)))return null}else begin+=2;var end=document.cookie.indexOf(";",begin);return-1==end&&(end=dc.length),decodeURIComponent(dc.substring(begin+prefix.length,end))},DT.deleteCookie=function(name,path,domain){DT.getCookie(name)&&(document.cookie=name+"="+(path?"; path="+path:"")+(domain?"; domain="+domain:"")+"; expires=Thu, 01-Jan-70 00:00:01 GMT")},DT.parseLazyDeps=deps=>{const parsedDeps={};for(const[key,value]of Object.entries(deps))parsedDeps[key]=value.toString().split(",").map((urlKey=>{const urlKeyTrimmed=urlKey.toString().trim(),deps=DT.htmlLazyDeps[urlKeyTrimmed];return deps||(DT.isDtUrl(urlKeyTrimmed)?urlKeyTrimmed:"")}));return parsedDeps},DT.isElement=element=>element instanceof Element||element instanceof Document,DT.getElement=selectorOrElement=>{try{return"string"==typeof selectorOrElement?document.querySelector(selectorOrElement):selectorOrElement}catch(_){return null}},DT.collectDeps=deps=>{const js=[],css=[];for(let[key,value]of Object.entries(deps))Array.isArray(value)||(value=[value]),key.startsWith("js-order")?js.push([...value]):key.startsWith("js")?js.push(...value):key.startsWith("css")&&css.push(...value);return{js:js,css:css}},DT.loadDepsFromTree=element=>{const elements=[...element.querySelectorAll("[data-lazy-deps]")];return element.dataset?.lazyDeps&&elements.push(element),elements.length?Promise.all(elements.map((element=>{const jsonDeps=element.dataset?.lazyDeps,parsedDeps=DT.parseLazyDeps(JSON.parse(jsonDeps)),deps=DT.collectDeps(parsedDeps);return DT.createLoadDeps(deps,"high")()}))):Promise.resolve()},DT.insertTemplate=async(templateOrSelector,elementOrSelector,position="append")=>{const template=DT.getElement(templateOrSelector),element=DT.getElement(elementOrSelector);if(!template||!element)return;const templateElement=template.content.cloneNode(!0);return await DT.loadDepsFromTree(templateElement),"append"===position?element.appendChild(templateElement):element.prepend(templateElement),templateElement},DT.afterPaint=async(callback=null)=>(await DT.nextFrame(),callback?(DT.onNextIter(callback),void 0):DT.nextIter()); DT.UI={loadingTimeouts:new WeakMap,showLoading({element:element,type:type="area",theme:theme="dark",size:size=null,positionRelative:positionRelative=!1,timeout:timeout=null,isPage:isPage=!1}){if(!(element=DT.getElement(element)))return;if(clearTimeout(this.loadingTimeouts.get(element)),"button"===type&&(type="btn"),!timeout)return this._showLoading({element:element,type:type,theme:theme,size:size,positionRelative:positionRelative,isPage:isPage}),DT.nextIter();const timeoutId=setTimeout((async()=>{await DT.yieldIfInputPending(),this._showLoading({element:element,type:type,theme:theme,size:size,positionRelative:positionRelative,isPage:isPage})}),timeout);return this.loadingTimeouts.set(element,timeoutId),DT.nextIter()},_showLoading({element:element,type:type="area",theme:theme="dark",size:size=null,positionRelative:positionRelative=!1,isPage:isPage=!1}){const elem=DT.getElement(element);if(!elem)return;const prevState=this.get(elem);if(elem.setAttribute("data-loading-type",type),"area"===type){const loadingArea=this.makeLoadingArea(isPage);elem.appendChild(loadingArea);const borderRadius=window.getComputedStyle(elem).borderRadius;borderRadius&&"0px"!==borderRadius&&loadingArea.style.setProperty("--loading-area-border-radius",borderRadius)}elem.setAttribute("data-loading",theme),size&&elem.setAttribute("data-loading-size",size),positionRelative&&elem.setAttribute("data-pos",""),prevState&&elem.setAttribute("data-loading-prev-state",prevState),this.unset(elem)},makeLoadingArea(isPage=!1){const element=document.createElement("div");return element.classList.add("loading","js-loading-area"),isPage&&element.setAttribute("data-page-loading",""),element},hideLoading(selectorOrElement){const element=DT.getElement(selectorOrElement);if(!element)return;const prevState=element.getAttribute("data-loading-prev-state"),area=element.querySelector(".js-loading-area");element.removeAttribute("data-loading-type"),element.removeAttribute("data-loading"),element.removeAttribute("data-loading-size"),element.removeAttribute("data-pos"),area?.remove(),prevState&&(this.set(element,prevState),element.removeAttribute("data-loading-prev-state")),clearTimeout(this.loadingTimeouts.get(element))},showPageLoading(theme="dark"){return this.showLoading({element:document.body,type:"area",theme:theme,isPage:!0})},hidePageLoading(){this.hideLoading(document.body)},isLoading:selectorOrElement=>DT.getElement(selectorOrElement)?.hasAttribute("data-loading"),set(selectorOrElement,state){DT.getElement(selectorOrElement)?.setAttribute("data-state",state)},unset(selectorOrElement){DT.getElement(selectorOrElement)?.removeAttribute("data-state")},unsetIf(selectorOrElement,state){this.is(selectorOrElement,state)&&this.unset(selectorOrElement)},get:selectorOrElement=>DT.getElement(selectorOrElement)?.getAttribute("data-state"),is(selectorOrElement,state){return this.get(selectorOrElement)===state},toggle(selectorOrElement,state){if(this.is(selectorOrElement,state))return this.unset(selectorOrElement),void 0;this.set(selectorOrElement,state)},toggleCustom(selectorOrElement,stateOn,stateOff){if(this.is(selectorOrElement,stateOn))return this.set(selectorOrElement,stateOff),void 0;this.set(selectorOrElement,stateOn)},setCustom(selectorOrElement,attribute,value){DT.getElement(selectorOrElement)?.setAttribute(`data-${attribute}`,value)},unsetCustom(selectorOrElement,attribute){DT.getElement(selectorOrElement)?.removeAttribute(`data-${attribute}`)},offset(element){const box=element.getBoundingClientRect(),scrollX=window.pageXOffset,scrollY=window.pageYOffset,clientTop=document.documentElement.clientTop,clientLeft=document.documentElement.clientLeft,left=box.left+scrollX-clientLeft,right=box.right+scrollX-clientLeft;return{top:box.top+scrollY-clientTop,left:left,right:right,bottom:box.bottom+scrollY-clientTop,inlineStart:DT.isRtl?right:left,inlineEnd:DT.isRtl?left:right}}}; DT.htmlLazyLoad={directPrefetch:!0,initializers:{},visibleMarginPx:100,events:new Set,deps:new Map,loading:new Set,loaded:new Set,loadingPromises:new Map,prefix:"data-dt-",broadcastTargets:{},getDepsUrls(element,attr,first=!1){const isAjax=this.hasAttr(element,"ajax"),urls=this.getAttr(element,attr)?.split(",").map((urlKey=>{const urlKeyTrimmed=urlKey.trim();return isAjax&&DT.isDtUrl(urlKeyTrimmed)?urlKeyTrimmed:DT.htmlLazyDeps[urlKeyTrimmed]}));return first?urls?.[0]:urls},setLoaded(id){this.loaded.add(id)},setLoading(id){this.loading.add(id)},createEvent:(eventName,detail)=>new CustomEvent(eventName,{detail:detail}),isOnDocumentEvent(eventName){return eventName.startsWith(`${this.prefix}on-document`)},isOnWindowEvent(eventName){return eventName.startsWith(`${this.prefix}on-window`)},broadcast(infix,ev,type=ev.type){try{const keyPrefix=`${infix}-`,keyDefault=`${keyPrefix}${type}`,keyKeyboard=ev instanceof KeyboardEvent?`${keyPrefix}key-${ev.key.toLowerCase()}`:null,elements=this.broadcastTargets[keyDefault],elementsKeyboard=keyKeyboard?this.broadcastTargets[keyKeyboard]:null;elements?.length&&elements.forEach((target=>{document.contains(target)&&this.dispatch(target,infix,ev)})),elementsKeyboard?.length&&elementsKeyboard.forEach((target=>{document.contains(target)&&this.dispatch(target,infix,ev)}))}catch(err){DT.log("error","Failed to broadcast",err)}},getAttr(element,attr){return element.getAttribute(`${this.prefix}${attr}`)},hasAttr(element,attr){return element.hasAttribute(`${this.prefix}${attr}`)},getRootElement(id){return document.querySelector(`[${this.prefix}id="${id}"][${this.prefix}root]`)},getDispatchTarget(element,id,ev){if(!this.hasAttr(element,"dispatch-target"))return element;try{const selector=this.getAttr(element,"dispatch-target");return"original"===selector?ev.target??element:"document"===selector?document.body:"window"===selector?window:"root"===selector?this.getRootElement(id):document.querySelector(selector)}catch(err){DT.log("error","Failed to get dispatchTarget, use element",err)}return element},doAction({id:id,element:element,ev:ev,eventName:eventName,isPreventDefault:isPreventDefault}){let action="dispatch";switch(this.hasAttr(element,`action${eventName}`)?action=this.getAttr(element,`action${eventName}`):this.hasAttr(element,"action")&&(action=this.getAttr(element,"action")),action){case"dispatch":{const dispatchTarget=this.getDispatchTarget(element,id,ev),customDispatchEvent=this.getAttr(element,"dispatch-event"),dispatchNextIter=()=>{try{if(customDispatchEvent&&customDispatchEvent!==ev.type)return dispatchTarget.dispatchEvent(new Event(customDispatchEvent,{bubbles:!0,cancelable:!0})),void 0;isPreventDefault?dispatchTarget.dispatchEvent(new ev.constructor(ev.type,{...ev,bubbles:!0,cancelable:!0})):dispatchTarget.dispatchEvent(ev)}catch(err){DT.log("error",`DT Loader failed to dispatch event ${ev.type} with name ${eventName} for id ${id}`,err)}};return DT.onNextIter(dispatchNextIter),void 0}case"call":{const obj=this.getAttr(element,"obj"),method=this.getAttr(element,"method"),objRoot=this.hasAttr(element,"obj-dt")?DT:window;try{if(obj){const objPath=obj.split(".");let object=objRoot;objPath.forEach((path=>object=object[path])),object[method](ev,element)}else objRoot[method](ev,element)}catch(err){DT.log("error","Failed to call obj method",err)}return}case"custom-dispatch":{const dispatchTarget=this.getDispatchTarget(element,id,ev),customEventName=this.getAttr(element,"dispatch-event")??ev.type,detail=this.getAttr(element,"dispatch-detail")??"";return DT.onNextIter((()=>{dispatchTarget.dispatchEvent(this.createEvent(customEventName,detail))})),void 0}case"init":{const initializer=this.getAttr(element,"init");try{DT.htmlLazyLoad.initializers[initializer](ev,element)}catch(err){DT.log("error","Failed to call init",err)}return}case"root":{const rootElement=this.getRootElement(id);if(rootElement===element)return;return this.doAction({id:id,element:rootElement,ev:ev,eventName:eventName,isPreventDefault:isPreventDefault}),void 0}default:return}},load:{async default({loadDeps:loadDeps}){await loadDeps()},async html({loadDeps:loadDeps,loader:loader,element:element}){const urlKey=loader.getAttr(element,"html"),url=DT.htmlLazyDeps[urlKey.trim()],loadTarget=loader.getAttr(element,"html-target")??element,asOuterHtml=loader.hasAttr(element,"html-outer");await loadDeps({loadJs:!1}),await DT.loadHtml({element:loadTarget,url:url,asOuterHtml:asOuterHtml}),await loadDeps({loadCss:!1})}},async getLoadingElemByBreakpoint(element){let loadingElem=element;const loadingBpAttrs=element.getAttributeNames().filter((attr=>attr.startsWith(`${this.prefix}loading-target-`)));return loadingBpAttrs.length?(await DT.loadScriptsOnce("js/breakpoints.js"),loadingBpAttrs.forEach((attr=>{const breakpoint=attr.replace(`${this.prefix}loading-target-`,"");DT.breakpoints.is(breakpoint)&&(loadingElem=document.querySelector(element.getAttribute(attr)))})),loadingElem):loadingElem},async displayLoading({element:element,eventName:eventName}){let isLoadingDisplayed=!1,loadingElem=null;if(!this.hasAttr(element,"show-loading"))return{isLoadingDisplayed:isLoadingDisplayed,loadingElem:loadingElem};if(this.hasAttr(element,"loading-for")){const loadingFor=this.getAttr(element,"loading-for"),eventNameClean=eventName.replace("-","");if(!loadingFor.includes(eventName)&&!loadingFor.includes(eventNameClean))return{isLoadingDisplayed:isLoadingDisplayed,loadingElem:loadingElem}}if(isLoadingDisplayed=!0,loadingElem=element,this.hasAttr(element,"loading-target")){const loadingElemType=this.getAttr(element,"loading-target");if("bp"===loadingElemType)loadingElem=await this.getLoadingElemByBreakpoint(element);else if(loadingElemType.startsWith("closest:")){const closestSelector=loadingElemType.replace("closest:","");loadingElem=element.closest(closestSelector)}else if(loadingElemType.startsWith("scope:")){const scopeSelector=loadingElemType.replace("scope:","");loadingElem=element.querySelector(`:scope ${scopeSelector}`)}else loadingElem=document.querySelector(loadingElemType)}return DT.UI.isLoading(loadingElem)||(DT.UI.showLoading({element:loadingElem,type:this.getAttr(element,"loading-type"),theme:this.getAttr(element,"loading-theme"),size:this.getAttr(element,"loading-size"),positionRelative:this.hasAttr(element,"loading-relative"),timeout:parseInt(this.getAttr(element,"loading-delay"),10)||null}),await DT.Scheduler.yieldToMain()),{isLoadingDisplayed:isLoadingDisplayed,loadingElem:loadingElem}},isAllowed({element:element,event:event}){switch(!0){case event instanceof PointerEvent:{if(!this.hasAttr(element,"mouse-button")||"mouse"!==event.pointerType)return!0;const mouseButton=undefined;return this.getAttr(element,"mouse-button").split(",").includes(event.button.toString())}default:return!0}},async displaySecondaryLoading(element,eventName,id){if(DT.UI.isLoading(element))return;const{isLoadingDisplayed:isLoadingDisplayed,loadingElem:loadingElem}=await this.displayLoading({element:element,eventName:eventName});if(isLoadingDisplayed)try{await this.loadingPromises.get(id)}finally{DT.UI.hideLoading(loadingElem)}},async dispatch(element,prefix="",ev){const id=this.getAttr(element,"id");if(!id||this.loaded.has(id))return;let eventName=`${prefix}-${ev.type}`;if(ev instanceof KeyboardEvent){const eventKey=ev.key.toLowerCase();this.hasAttr(element,`on${prefix}-key-${eventKey}`)&&(eventName=`${prefix}-key-${eventKey}`)}let isPreventDefault=!1;if(this.hasAttr(element,`on${eventName}-preventdefault`)&&(ev.preventDefault(),isPreventDefault=!0),!this.hasAttr(element,`on${eventName}`)||DT.isTouchDevice&&this.hasAttr(element,`on${eventName}-no-touch`)||!this.isAllowed({element:element,event:ev}))return;if(await DT.Scheduler.waitForHighPriority(),this.loading.has(id))return this.displaySecondaryLoading(element,eventName,id),void 0;this.loading.add(id);const elementDeps=this.deps.get(id),loadDeps=DT.createLoadDeps(elementDeps,"high"),{isLoadingDisplayed:isLoadingDisplayed,loadingElem:loadingElem}=await this.displayLoading({element:element,eventName:eventName});try{const loadDepsType=this.hasAttr(element,"html")?"html":"default",loadingPromise=this.load[loadDepsType]({loadDeps:loadDeps,element:element,loader:this});this.loadingPromises.set(id,loadingPromise),await loadingPromise,this.loaded.add(id),isLoadingDisplayed&&(DT.UI.hideLoading(loadingElem),await DT.afterPaint()),this.doAction({id:id,element:element,ev:ev,eventName:eventName,isPreventDefault:isPreventDefault})}catch(err){this.loaded.add(id),isLoadingDisplayed&&DT.UI.hideLoading(loadingElem),DT.log("error",`Failed to lazy load ${id} reason: ${err}`,err)}},processWindowEvent(ev){this.broadcast("-window",ev,ev.type)},async processDocumentEvent(ev){let type=ev.type,element=ev.target;for(this.broadcast("-document",ev,type);element&&element.getAttribute;)await this.dispatch(element,"",ev),element=ev.bubbles?element.parentElement:null},push(eventName){if(!eventName||this.events.has(eventName))return;let domEventName=eventName;eventName.startsWith("key-")&&(domEventName="keydown"),document.addEventListener(domEventName,this.processDocumentEvent.bind(this),{capture:!0,passive:!1}),window.addEventListener(domEventName,this.processWindowEvent.bind(this)),this.events.add(eventName)},addTree(rootElem){rootElem&&(this.add(rootElem),rootElem.querySelectorAll(`:scope [${this.prefix}id]`).forEach((elem=>this.add(elem))))},initMutationObserver(){this.mutationObserver=new MutationObserver((async mutations=>{await DT.Scheduler.waitForHighPriority(),mutations.forEach((mutation=>{"childList"===mutation.type&&mutation.addedNodes.forEach((node=>{node.nodeType===Node.ELEMENT_NODE&&(this.addTree(node),DT.loadDepsFromTree(node))}))}))})),this.mutationObserver.observe(document.body,{childList:!0,subtree:!0}),document.dispatchEvent(new Event("dt_loader:mutation-observer-init"))},getUrlsFromLazyDeps(lazyDeps){const parsedDeps=DT.parseLazyDeps(JSON.parse(lazyDeps));return Object.values(parsedDeps).flat(3)},prefetchLazyDeps(){DT.onLoad((()=>{const elements=[...document.querySelectorAll("[data-lazy-deps]")],templates=[...document.querySelectorAll("template")];elements?.forEach((element=>{try{DT.prefetchWorker.queuePrefetchUrls(this.getUrlsFromLazyDeps(element.dataset.lazyDeps))}catch(_){}})),templates?.forEach((template=>{const elements=undefined;[...template.content.querySelectorAll("[data-lazy-deps]")]?.forEach((element=>{try{DT.prefetchWorker.queuePrefetchUrls(this.getUrlsFromLazyDeps(element.dataset.lazyDeps))}catch(_){}}))}))}))},pushBroadcastTarget(broadcastPrefix,element,eventName){const key=`${broadcastPrefix}-${eventName}`;this.broadcastTargets[key]||(this.broadcastTargets[key]=[]),this.broadcastTargets[key].push(element)},add(element){const id=this.getAttr(element,"id");if(!id)return;const attributeNames=element.getAttributeNames(),elementEvents=attributeNames.filter((attr=>attr.startsWith(`${this.prefix}on`)));if((!elementEvents.length||elementEvents.some((ev=>!ev.endsWith("-preventdefault"))))&&(elementEvents.forEach((eventName=>{const domEvent=eventName.replace("-window","").replace("-document","").replace(`${this.prefix}on-`,"").replace("-preventdefault","");this.push(domEvent),this.isOnDocumentEvent(eventName)&&this.pushBroadcastTarget("-document",element,domEvent),this.isOnWindowEvent(eventName)&&this.pushBroadcastTarget("-window",element,domEvent),["ready","load"].includes(domEvent)&&this.pushBroadcastTarget("",element,domEvent)})),this.hasAttr(element,"root")&&!this.deps.has(id)))try{const js=[],css=[];let prefetchOnlyDeps=[];if(this.hasAttr(element,"js")){const urls=this.getDepsUrls(element,"js");js.push(...urls)}const jsOrderAttr=undefined;if(attributeNames.filter((attr=>attr.startsWith(`${this.prefix}js-order`))).forEach((attr=>{const urls=this.getDepsUrls(element,attr.replace(this.prefix,""));js.push([...urls])})),this.hasAttr(element,"css")){const urls=this.getDepsUrls(element,"css");css.push(...urls)}this.hasAttr(element,"prefetch-deps")&&(prefetchOnlyDeps=this.getDepsUrls(element,"prefetch-deps"));const priority=this.getAttr(element,"priority")??"low",prefetchOnlyDepsPriority=this.getAttr(element,"prefetch-deps-priority")??"low",prefetchOnlyDepsDirect=this.hasAttr(element,"prefetch-deps-direct"),elementDeps={js:js,css:css};this.deps.set(id,elementDeps);const doPrefetchOnlyDeps=async()=>{if(prefetchOnlyDeps?.length){if(await DT.nextIter(),prefetchOnlyDepsDirect)return DT.prefetchWorker.prefetchUrls(prefetchOnlyDeps,prefetchOnlyDepsPriority),void 0;DT.prefetchWorker.queuePrefetchUrls(prefetchOnlyDeps,prefetchOnlyDepsPriority)}};"load"===this.getAttr(element,"prefetch")?DT.onLoadIdle((()=>{DT.queuePrefetchDeps(elementDeps,priority,this.directPrefetch),doPrefetchOnlyDeps()})):(DT.queuePrefetchDeps(elementDeps,priority,this.directPrefetch),doPrefetchOnlyDeps())}catch(error){DT.log("error","Failed to lazy load from element",error)}},init(){DT.onReadyIdle((async()=>{const elements=document.querySelectorAll(`[${this.prefix}id]`);let processed=0;const PROCESSED_BREAK_TASK=25;for(const element of elements)this.add(element),processed++,processed>=25&&(await DT.Scheduler.yieldToMain(),processed=0);if(this.events.has("visible")){const results=document.querySelectorAll(`[${this.prefix}on-visible]`),observer=new IntersectionObserver((entries=>{for(const entry of entries)entry.isIntersecting&&(observer.unobserve(entry.target),this.dispatch(entry.target,"",this.createEvent("visible",entry)))}),{rootMargin:`${this.visibleMarginPx}px`});results.forEach((el=>observer.observe(el)))}if(this.events.has("not-visible")){const results=document.querySelectorAll(`[${this.prefix}on-not-visible]`),observer=new IntersectionObserver((entries=>{for(const entry of entries)entry.isIntersecting||(observer.unobserve(entry.target),this.dispatch(entry.target,"",this.createEvent("not-visible",entry)))}),{threshold:1});results.forEach((el=>observer.observe(el)))}this.events.has("ready")&&DT.onIdle((()=>this.broadcast("",this.createEvent("ready")))),this.events.has("load")&&DT.onLoadIdle((()=>this.broadcast("",this.createEvent("load")))),this.initMutationObserver(),this.prefetchLazyDeps(),DT.onNextIter((()=>{document.dispatchEvent(new Event("dt_loader:init"))}))}))}},DT.htmlLazyLoad.init(); DT.onLoad((()=>{DT.loadScriptsOnce("js/push.js")})); DT.onReady((()=>{if(void 0!==DT.toast)return;let isInitializing=!1,resolve,reject,initPromise=new Promise(((_resolve,_reject)=>{resolve=_resolve,reject=_reject}));const initializer=async(...params)=>{if(isInitializing)return initPromise.then((()=>{DT.toast?.(...params)}));isInitializing=!0;try{const initPromise=fetch(`${DT.componentsBasePath}Toast/init.ajax.php`),depsPromise=DT.loadScriptsOnce("js/ajax_html.js"),[response]=await Promise.all([initPromise,depsPromise]);if(!response.ok)return;return await DT.ajaxHtml.fromResponse(response,(html=>{html&&document.body.insertAdjacentHTML("beforeend",html)})),DT.toast===initializer?(DT.toast=null,void 0):DT.toast?.(...params)}catch(error){return DT.log("error","Failed to load toast component",error),()=>{}}finally{isInitializing=!1,resolve()}};DT.toast=initializer})); DT.onReadyIdle((()=>{document.addEventListener("click",(event=>{const button=event.target.closest(".js-password-toggle-btn");if(!button)return;event.preventDefault();const inputSelector=button.getAttribute("data-input"),input=document.querySelector(inputSelector);input&&("password"===input.type?(input.type="text",button.setAttribute("aria-pressed","true")):(input.type="password",button.setAttribute("aria-pressed","false")))}))})); document.addEventListener("paste",function(e){var t=e.target;if(t&&t.closest&&t.closest('.js-search-input, .js-header-search-input, input[name="srh_field"]')){var r=function(e){var t=e.clipboardData||window.clipboardData;if(!t)return null;var r=t.files;if(r&&r.length&&/^image\//.test(r[0].type))return r[0];for(var i=t.items||[],a=0;a<i.length;a++)if("file"==i[a].kind&&/^image\//.test(i[a].type)){var l=i[a].getAsFile();if(l)return l}return null}(e);if(r){var i=t.closest("form[data-puzzle]"),a=i?i.getAttribute("data-puzzle"):"off";if("off"!=a)if(e.preventDefault(),"register"!=a){try{t.value=""}catch(e){}DT.loadScriptsInOrderOnce("js/plugins/hermite.js","js/jquery.js","js/plugins/puzzle.js").then(function(){if("undefined"==typeof puzzle||!puzzle.searchFile)throw new Error("puzzle.searchFile is not available");puzzle.searchFile(r)}).catch(function(e){DT.log("error","Failed to load puzzle for a pasted image",e)})}else window.location.href=i.getAttribute("data-puzzle-register")}}}); DT.onReady((()=>{const combobox=document.querySelector(".js-search-combobox"),input=combobox.querySelector(".js-search-input"),wrapper=document.querySelector(".js-search-autocomplete"),content=wrapper.querySelector(".js-content"),accessibilityStatus=wrapper.querySelector(".js-accessibility-status"),isLogSelection=wrapper.hasAttribute("data-log-selection"),logUrl=wrapper.getAttribute("data-log-url"),searchForm=document.querySelector(".js-search-form");let suggestionsController=null,stateController=null,keyboardInteractionController=null,state="close",currentInputValue=input.value;const statusTexts={noSuggestions:wrapper.getAttribute("data-no-suggestions-text"),fetching:wrapper.getAttribute("data-fetching-text"),multipleResults:wrapper.getAttribute("data-multiple-results-text"),oneResult:wrapper.getAttribute("data-one-result-text")},fetchUrl=wrapper.getAttribute("data-fetch-url");let lazyDepsInitiated=!1;const initLazyDeps=async()=>{if(lazyDepsInitiated)return;let deps;try{const jsonDeps=wrapper.dataset?.lazyDeps,parsedDeps=DT.parseLazyDeps(JSON.parse(jsonDeps));deps=DT.collectDeps(parsedDeps)}catch(error){DT.log("warn","Failed to parse SearchAutocomplete lazy deps: ",error)}if(deps){try{await DT.createLoadDeps(deps,"high")()}catch(error){return DT.log("warn","Failed to load SearchAutocomplete lazy deps: ",error),void 0}lazyDepsInitiated=!0,wrapper.setAttribute("data-init","true")}},isOpen=()=>"open"===state,isClose=()=>"close"===state,abortPreviousStateTask=()=>{try{stateController?.abort("Abort previous state task"),stateController=null}catch(_){}},abortPreviousKeyboardInteractionTask=()=>{try{keyboardInteractionController?.abort("Abort previous keyboard interaction"),keyboardInteractionController=null}catch(_){}},abortScheduledTasks=()=>{abortPreviousStateTask(),abortPreviousSuggestionsTask(),abortPreviousKeyboardInteractionTask()},close=async()=>{if(abortScheduledTasks(),!isClose()){stateController=new TaskController;try{await DT.Scheduler.postTask((()=>{clearCurrentSuggestionFocus(),combobox.setAttribute("aria-expanded","false"),wrapper.setAttribute("data-state","closed"),state="close"}),{priority:"user-blocking",signal:stateController.signal})}catch(_){}}},open=async()=>{if(abortPreviousStateTask(),!isOpen()){stateController=new TaskController;try{await DT.Scheduler.postTask((()=>{combobox.setAttribute("aria-expanded","true"),wrapper.setAttribute("data-state","opened"),state="open",updateSuggestionsStatus()}),{priority:"user-blocking",signal:stateController.signal})}catch(_){}}},setStatus=message=>{accessibilityStatus.textContent=message},setFetchingStatus=()=>{setStatus(statusTexts.fetching)},setSuggestionsStatus=count=>{switch(!0){case count<1:setStatus(statusTexts.noSuggestions);break;case 1===count:setStatus(statusTexts.oneResult);break;case count>1:setStatus(statusTexts.multipleResults.replace("%d%",count));break;default:setStatus(statusTexts.noSuggestions);break}},querySuggestionsCategories=()=>content.querySelectorAll(".js-suggestions"),querySuggestions=()=>content.querySelectorAll(".js-suggestion"),logSelection=suggestion=>{isLogSelection&&DT.http.post(logUrl,{data:{search:suggestion.getAttribute("data-value"),category:suggestion.getAttribute("data-category")}}).catch((()=>{}))},isSuggestionFocused=suggestion=>"true"===suggestion.getAttribute("aria-selected"),setSuggestionFocus=suggestion=>{input.value=suggestion.getAttribute("data-value"),setSuggestionVisualFocus(suggestion)},scrollIntoView=suggestion=>{suggestion.hasAttribute("data-focus-prevent-scroll")||suggestion.scrollIntoView({block:"nearest",inline:"nearest"})},setSuggestionVisualFocus=suggestion=>{isSuggestionFocused(suggestion)||(clearCurrentSuggestionFocus(),scrollIntoView(suggestion),input.setAttribute("aria-activedescendant",suggestion.id),suggestion.setAttribute("aria-selected","true"),setStatus(suggestion.getAttribute("aria-label")))},clearCurrentSuggestionFocus=()=>{input.setAttribute("aria-activedescendant",""),document.querySelector('.js-suggestion[aria-selected="true"]')?.setAttribute("aria-selected","false")},appendSkipInputIfNeeded=suggestion=>{suggestion.hasAttribute("data-append-skip-input")&&searchForm.insertAdjacentHTML("afterbegin",'<input type="hidden" name="skip" value="yes">')},selectSuggestion=(suggestion,shouldDispatchEvent=!0)=>{input.value=suggestion.getAttribute("data-value"),appendSkipInputIfNeeded(suggestion),logSelection(suggestion),close(),shouldDispatchEvent&&document.dispatchEvent(new CustomEvent("search-autocomplete:select-suggestion"))},abortPreviousSuggestionsTask=()=>{try{suggestionsController?.abort("Abort previous suggestion task"),suggestionsController=null}catch(_){}},updateSuggestionsStatus=()=>{const suggestionsCategories=querySuggestionsCategories();let countSuggestions=0;suggestionsCategories.forEach((suggestions=>{const count=parseInt(suggestions.getAttribute("data-count"),10);countSuggestions+=isNaN(count)?0:count})),setSuggestionsStatus(countSuggestions)},displaySuggestions=async()=>{abortPreviousSuggestionsTask();const searchKeyword=input.value;if(!searchKeyword)return;suggestionsController=new AbortController;const signal=suggestionsController.signal;try{if(await DT.Scheduler.waitForHighPriority({signal:signal}),await initLazyDeps(),signal.aborted)return;setFetchingStatus();const response=await DT.http.get(fetchUrl,{data:{searchKeyword:searchKeyword},signal:signal});if(!response.ok)return;await DT.Scheduler.postTask((async()=>{await DT.ajaxHtml.fromResponse(response,(html=>{if(!signal.aborted){if(!html)return close().then((()=>{content.innerHTML=html})),setSuggestionsStatus(0),void 0;content.innerHTML=html,clearCurrentSuggestionFocus()}})),signal.aborted||(isClose()?open():updateSuggestionsStatus())}),{priority:"user-blocking",signal:signal})}catch(error){DT.log("warn","Error displaying autocomplete suggestions: ",error)}},debouncedDisplaySuggestions=DT.debounce(displaySuggestions,200),queryCurrentFocusedSuggestion=()=>content.querySelector('.js-suggestion[aria-selected="true"]'),focusFirstSuggestion=()=>{const suggestion=content.querySelector(".js-suggestion");suggestion&&setSuggestionFocus(suggestion)},focusLastSuggestion=()=>{const suggestions=content.querySelectorAll(".js-suggestion");if(!suggestions.length)return;const lastSuggestion=suggestions[suggestions.length-1];setSuggestionFocus(lastSuggestion)},cancelKeyboardNavigation=()=>{clearCurrentSuggestionFocus(),revertSuggestion(),updateSuggestionsStatus()},focusNextSuggestion=()=>{const currentFocused=queryCurrentFocusedSuggestion();if(!currentFocused)return focusFirstSuggestion(),void 0;const suggestions=querySuggestions(),suggestionsLength=suggestions.length;for(let i=0;i<suggestionsLength;i++){const suggestion=undefined;if(suggestions[i]===currentFocused&&i+1<suggestionsLength)return setSuggestionFocus(suggestions[i+1]),void 0}cancelKeyboardNavigation()},focusPreviousSuggestion=()=>{const currentFocused=queryCurrentFocusedSuggestion();if(!currentFocused)return focusLastSuggestion(),void 0;const suggestions=querySuggestions(),suggestionsLength=suggestions.length;for(let i=0;i<suggestionsLength;i++){const suggestion=undefined;if(suggestions[i]===currentFocused&&i-1>=0)return setSuggestionFocus(suggestions[i-1]),void 0}cancelKeyboardNavigation()},revertSuggestion=()=>{input.value=currentInputValue},handleSuggestionHover=event=>{const suggestion=event.target.closest(".js-suggestion");suggestion&&content.contains(suggestion)&&setSuggestionVisualFocus(suggestion)},handleUserInputChange=()=>{previousInputValue=currentInputValue,currentInputValue=input.value},handleKeydownPreventDefault=event=>{switch(event.key){case"ArrowDown":case"ArrowUp":case"PageUp":case"PageDown":event.preventDefault();break;default:break}},handleKeyboardInteraction=async event=>{abortPreviousKeyboardInteractionTask(),keyboardInteractionController=new TaskController;const signal=keyboardInteractionController.signal;switch(event.key){case"Enter":case"Escape":if(close(),"Escape"===event.key){try{await DT.Scheduler.waitForHighPriority(),revertSuggestion()}catch(_){}return}if("Enter"===event.key){const currentFocused=queryCurrentFocusedSuggestion();currentFocused&&selectSuggestion(currentFocused,!1)}break;case"ArrowDown":case"ArrowUp":case"PageUp":case"PageDown":if(isClose())return displaySuggestions(),void 0;try{await DT.Scheduler.waitForHighPriority({signal:signal})}catch(_){return}if(signal.aborted)return;if("PageUp"===event.key)return focusFirstSuggestion(),void 0;if("PageDown"===event.key)return focusLastSuggestion(),void 0;if("ArrowDown"===event.key)return focusNextSuggestion(),void 0;if("ArrowUp"===event.key)return focusPreviousSuggestion(),void 0;break;default:break}},handleInputBlur=async event=>{wrapper.contains(event.relatedTarget)||isClose()||(close(),await DT.Scheduler.waitForHighPriority(),revertSuggestion())},handleSuggestionClick=event=>{const suggestion=event.target.closest(".js-suggestion");suggestion&&DT.Scheduler.postTask((()=>{selectSuggestion(suggestion)}),{priority:"user-blocking"})},handleInput=()=>{if(handleUserInputChange(),""===input.value)return close(),void 0;debouncedDisplaySuggestions()},preventBlurIfClickInside=event=>{event.preventDefault()},clearFocusOnMouseOut=event=>{const suggestion=event.target.closest(".js-suggestion");suggestion&&content.contains(suggestion)&&isSuggestionFocused(suggestion)&&!suggestion.contains(event.relatedTarget)&&clearCurrentSuggestionFocus()};wrapper.addEventListener("mousedown",preventBlurIfClickInside),content.addEventListener("click",handleSuggestionClick),input.addEventListener("blur",handleInputBlur),input.addEventListener("input",handleInput),input.addEventListener("keydown",handleKeydownPreventDefault),input.addEventListener("keyup",handleKeyboardInteraction),content.addEventListener("mouseover",handleSuggestionHover),content.addEventListener("mouseout",clearFocusOnMouseOut)})); DT.onReadyIdle((async()=>{const waitLazyLoader=new Promise((resolve=>{document.addEventListener("dt_loader:mutation-observer-init",(()=>{resolve()}))}));await Promise.race([waitLazyLoader,DT.nextIter(200)]);const bannerPlaceholders=document.querySelectorAll(".js-banner-ajax-placeholder");bannerPlaceholders.length&&(DT.afterLcp&&await(DT.afterLcp?.()),bannerPlaceholders.forEach(((placeholder,index)=>{placeholder.innerHTML=DT.bannersToLoad[index]})),setTimeout((()=>{document.querySelectorAll(".js-banner-default").forEach((elem=>{elem.setAttribute("data-state",""),elem.setAttribute("data-loaded",""),DT.onNextIter((()=>{document.dispatchEvent(new CustomEvent("banner:loaded",{detail:{name:elem.getAttribute("data-name"),element:elem}}))}))}))}),0))}),100); function doNothing(){return!1}function doneEvent(){try{if(searchUrlWithPuzzle(document.querySelector('input[name="srh_field"]').value))return!1}catch(e){}return searchSubmitFilters(),!1}function checkShValue(e){var t=document.getElementById(e);return t.value=t.value.trim().replace(/[`~!@#$%^&*()_|+\-=?;:'",<>\{\}\[\]\\\/]/gi," ").toLowerCase(),0==t.value.length||t.value==dtl_SearchSubmit_000||t.value==dtl_SearchSubmit_001||t.value.indexOf(dtl_SearchSubmit_006)>=0?(DT.afterPaint(()=>{alert(dtl_SearchSubmit_002)}),t.focus(),t.select(),!1):t.value.length<2?(DT.afterPaint(()=>{alert(dtl_SearchSubmit_003)}),t.focus(),t.select(),!1):-1!=t.value.search(/[$\\@\\\#%\^\&\*\(\)\[\]\+\_\{\}\`\~\=\|]/)?(DT.afterPaint(()=>{alert(dtl_SearchSubmit_004+"\n\r\n\r@ $ % ^ & * # ( ) [ ] \\ { + } ` ~ = | \n\r\n\r"+dtl_SearchSubmit_005+"\n")}),t.focus(),t.select(),!1):t.value}function updateDisableClass(e,t=".people-filers-all"){document.querySelectorAll(t).forEach(t=>{e?(t.classList.add("fltr-content__group--disable"),t.setAttribute("inert",""),t.style.opacity="0.2",t.style.pointerEvents="none"):(t.classList.remove("fltr-content__group--disable"),t.removeAttribute("inert"),t.style.opacity="1",t.style.pointerEvents="auto")})}function bindChange(e,t,s){var r=document.getElementById(e);r&&r.addEventListener(t,function(){changeEvent(1);var e=document.getElementById(s);e&&(e.checked=!0)})}function changeEvent(e){var t=document.getElementById("changeEvent").value;return 1==e&&0==t?(document.getElementById("changeEvent").value="1",!1):"clear"==e&&1==t?(document.getElementById("changeEvent").value="0",!1):2==e?t:void 0}function setActiveSelection(e){"y"===varSHget[e]&&DT.UI.set("#"+e,"active")}function updateSingleSHFlag(e){const t=["s_ph","s_ed","s_il","s_video","s_audio","s_ad"];if(t.includes(e)){if("undefined"==typeof varSHget)return;t.forEach(e=>{varSHget[e]="n"}),varSHget[e]="y"}}function searchSubmitFilters(e){var t=checkShValue("srh_field");if(""===t)return!1;if(varSHget.srh_field=t,document.querySelector("#myonoffswitchwre").checked&&""!==srh_field){var s=checkShValue("srh_fieldwrs");if(""===s)return!1;varSHget.firstvalue=varSHget.srh_field,varSHget.srh_field=s,varSHget.srh_fieldwrs=s}varSHget.s_ph=document.getElementById("s_ph")&&document.getElementById("s_ph").checked?"y":"n",varSHget.s_ed=document.getElementById("s_ed")&&document.getElementById("s_ed").checked?"y":"n",varSHget.s_il=document.getElementById("s_il")&&document.getElementById("s_il").checked?"y":"n",varSHget.s_video=document.getElementById("s_video")&&document.getElementById("s_video").checked?"y":"n",varSHget.s_amusic=document.getElementById("s_amusic")&&document.getElementById("s_amusic").checked?"y":"n",varSHget.s_asfx=document.getElementById("s_asfx")&&document.getElementById("s_asfx").checked?"y":"n",varSHget.s_ad=document.getElementById("s_ad")&&document.getElementById("s_ad").checked?"y":"n",updateSingleSHFlag(e);var r=varSHget.site_adr+"search.php?securitycheck="+varSHget.securitycheck;varSHget.srh_field&&(r=r+"&srh_field="+varSHget.srh_field),varSHget.firstvalue&&(r=r+"&firstvalue="+varSHget.firstvalue),varSHget.lastsearchvalue&&(r=r+"&lastsearchvalue="+varSHget.lastsearchvalue),varSHget.srh_fieldwrs&&(r=r+"&srh_fieldwrs="+varSHget.srh_fieldwrs),varSHget.s_all&&(r+="&s_all=n"),varSHget.s_ph&&(r=r+"&s_ph="+varSHget.s_ph),varSHget.s_il&&(r=r+"&s_il="+varSHget.s_il),varSHget.s_video&&"y"!==varSHget.s_all&&"y"!==varSHget.s_audio&&(r=r+"&s_video="+varSHget.s_video),varSHget.s_audio&&"y"!==varSHget.s_all&&"y"!==varSHget.s_video&&"y"!==varSHget.s_ph&&"y"!==varSHget.s_ad&&"y"!==varSHget.s_ed&&"y"!==varSHget.s_il&&(r+="&s_audio=y"),varSHget.s_ad&&(r=r+"&s_ad="+varSHget.s_ad),varSHget.s_free&&(r=r+"&s_free="+varSHget.s_free),document.querySelector("#myonoffswitchwre").checked&&(r+="&s_st=wre"),document.querySelector("#morewec").checked&&"morewec_remvf"!==e&&(r+="&s_st=wec"),"y"==varSHget.s_wp&&"s_wp_remvf"!=e&&(r=r+"&s_wp="+varSHget.s_wp),"y"==varSHget.s_op&&"s_op_remvf"!=e&&(r=r+"&s_op="+varSHget.s_op,"y"==varSHget.s_mrc1&&(r=r+"&s_mrc1="+varSHget.s_mrc1),"y"==varSHget.s_mrc2&&(r=r+"&s_mrc2="+varSHget.s_mrc2),"y"==varSHget.s_mrc3&&(r=r+"&s_mrc3="+varSHget.s_mrc3),"y"==varSHget.s_mrc4&&(r=r+"&s_mrc4="+varSHget.s_mrc4),"y"==varSHget.s_mrc5&&(r=r+"&s_mrc5="+varSHget.s_mrc5),r=(r=r+"&s_mr="+varSHget.s_mr)+"&s_mrg="+varSHget.s_mrg,"y"==varSHget.s_mra1&&(r=r+"&s_mra1="+varSHget.s_mra1),"y"==varSHget.s_mra2&&(r=r+"&s_mra2="+varSHget.s_mra2),"y"==varSHget.s_mra3&&(r=r+"&s_mra3="+varSHget.s_mra3),"y"==varSHget.s_mra4&&(r=r+"&s_mra4="+varSHget.s_mra4),"y"==varSHget.s_mra5&&(r=r+"&s_mra5="+varSHget.s_mra5),"y"==varSHget.s_mra6&&(r=r+"&s_mra6="+varSHget.s_mra6),"y"==varSHget.s_mra7&&(r=r+"&s_mra7="+varSHget.s_mra7),"y"==varSHget.s_mra8&&(r=r+"&s_mra8="+varSHget.s_mra8),"y"==varSHget.s_mra9&&(r=r+"&s_mra9="+varSHget.s_mra9),"y"==varSHget.s_mrea&&(r=r+"&s_mrea="+varSHget.s_mrea),"y"==varSHget.s_mreb&&(r=r+"&s_mreb="+varSHget.s_mreb),"y"==varSHget.s_mreh&&(r=r+"&s_mreh="+varSHget.s_mreh),"y"==varSHget.s_mrem&&(r=r+"&s_mrem="+varSHget.s_mrem),"y"==varSHget.s_mrec&&(r=r+"&s_mrec="+varSHget.s_mrec),"y"==varSHget.s_mreo&&(r=r+"&s_mreo="+varSHget.s_mreo)),"y"==varSHget.s_sl0&&"s_sl_remvf"!=e&&(r=r+"&s_sl0="+varSHget.s_sl0),"y"==varSHget.s_sl1&&"s_sl_remvf"!=e&&(r=r+"&s_sl1="+varSHget.s_sl1),"y"==varSHget.s_sl2&&"s_sl_remvf"!=e&&(r=r+"&s_sl2="+varSHget.s_sl2),"y"==varSHget.s_sl3&&"s_sl_remvf"!=e&&(r=r+"&s_sl3="+varSHget.s_sl3),"y"==varSHget.s_sl4&&"s_sl_remvf"!=e&&(r=r+"&s_sl4="+varSHget.s_sl4),"y"==varSHget.s_sl5&&"s_sl_remvf"!=e&&(r=r+"&s_sl5="+varSHget.s_sl5),"y"==varSHget.s_rf&&"s_rf_remvf"!=e&&(r=r+"&s_rf="+varSHget.s_rf),"y"==varSHget.s_ed&&"s_ed_remvf"!=e&&(r=r+"&s_ed="+varSHget.s_ed),"y"==varSHget.s_ed&&"s_ed_remvf"===e&&(varSHget.s_ed="n",r+="&s_rf=y"),"y"==varSHget.s_exclusive&&"s_exclusive_remvf"!=e&&(r=r+"&s_exclusive="+varSHget.s_exclusive),"y"==varSHget.s_wel&&"s_wel_remvf"!=e&&(r=r+"&s_wel="+varSHget.s_wel),"y"==varSHget.s_pel&&"s_pel_remvf"!=e&&(r=r+"&s_pel="+varSHget.s_pel),"y"==varSHget.s_srel&&"s_srel_remvf"!=e&&(r=r+"&s_srel="+varSHget.s_srel),"y"==varSHget.s_orp&&"s_orp_remvf"!=e&&(r=r+"&s_orp="+varSHget.s_orp),"y"==varSHget.s_orl&&"s_orl_remvf"!=e&&(r=r+"&s_orl="+varSHget.s_orl),"y"==varSHget.s_ors&&"s_ors_remvf"!=e&&(r=r+"&s_ors="+varSHget.s_ors),"y"==varSHget.s_orw&&"s_orw_remvf"!=e&&(r=r+"&s_orw="+varSHget.s_orw),"y"==varSHget.s_clc&&"s_clc_remvf"!=e&&(r=r+"&s_clc="+varSHget.s_clc),"y"==varSHget.s_clm&&"s_clm_remvf"!=e&&(r=r+"&s_clm="+varSHget.s_clm);let a=document.querySelector("#s_color1");a&&(a=a.value.replace("#",""));let c=document.querySelector('select[name="form_select_id"]');c&&(c=Number(c.value));let n=document.querySelector("#s_color2");n&&(n=n.value.replace("#",""));let _=document.querySelector('select[name="form_select_id2"]');_&&(_=Number(_.value)),document.querySelector("#s_c1e")&&document.querySelector("#s_c1e").checked?varSHget.s_c1e="y":varSHget.s_c1e="",document.querySelector("#s_c2e")&&document.querySelector("#s_c2e").checked?varSHget.s_c2e="y":varSHget.s_c2e="","y"==varSHget.s_c1e&&null!=a&&null!=c&&"s_c1e_remvf"!=e&&(r=(r=(r=r+"&s_c1e="+varSHget.s_c1e)+"&s_color1="+a)+"&s_percent1="+c),"y"==varSHget.s_c2e&&null!=n&&null!=_&&"s_c2e_remvf"!=e&&(r=(r=(r=r+"&s_c2e="+varSHget.s_c2e)+"&s_color2="+n)+"&s_percent2="+_),""!==varSHget.s_rsf&&"MPsize_remvf"!=e&&(r=r+"&s_rsf="+varSHget.s_rsf),""!==varSHget.s_rst&&"MPsize_remvf"!=e&&(r=r+"&s_rst="+varSHget.s_rst),"on"!=varSHget.s_cf&&"off"!=varSHget.s_cf||(r=r+"&s_cf="+varSHget.s_cf),varSHget.memberid&&(document.querySelector("#s_amf").checked?varSHget.s_amf="y":varSHget.s_amf="","y"===varSHget.s_amf&&"s_amf_remvf"!==e&&(r+="&s_amf="+varSHget.s_amf));var l=document.querySelector("#s_sp").value.replace(/\s/g,"");""!==l&&"s_sp_remvf"!==e&&(!0===/^[0-9a-zA-Z \-_,]+$/.test(l)&&(l=encodeURIComponent(l),r+="&s_sp="+l));var d=document.querySelector("#s_exc").value.replace(/\s/g,"");""!==d&&"s_exc_remvf"!==e&&(!0===/^[0-9a-zA-Z \-_,]+$/.test(d)&&(d=encodeURIComponent(d),r+="&s_exc="+d));1==varSHget.s_exc_ai&&"s_exc_ai_remvf"!==e&&(r=r+"&s_exc_ai="+varSHget.s_exc_ai),1==varSHget.s_exc_ai&&"s_exc_ai_remvf"===e&&(varSHget.s_exc_ai=0,varSHget.s_onlyai="n"),"y"==varSHget.s_onlyai&&1!=varSHget.s_exc_ai&&"s_onlyai"!==e&&(r=r+"&s_onlyai="+varSHget.s_onlyai),"y"==varSHget.s_amusic&&"s_amusic_remvf"!==e&&(r=r+"&s_amusic="+varSHget.s_amusic),"y"==varSHget.s_asfx&&"s_asfx_remvf"!==e&&(r=r+"&s_asfx="+varSHget.s_asfx),"y"!=varSHget.s_sl1&&"y"!=varSHget.s_sl2&&"y"!=varSHget.s_sl3&&"y"!=varSHget.s_sl4&&"y"!=varSHget.s_sl4||1!=varSHget.s_zerogravityactiv||"s_sl_remvf"==e||setCookie2("dreamstime_slgravity","n",5),"y"==varSHget.s_sl0&&"y"!=varSHget.s_sl1&&"y"!=varSHget.s_sl2&&"y"!=varSHget.s_sl3&&"y"!=varSHget.s_sl4&&1==varSHget.s_zerogravityactiv&&"s_sl_remvf"!=e&&setCookie2("dreamstime_slgravity","",-5),varSHget.sortcriteria&&(r=r+"&sortcriteria="+varSHget.sortcriteria),r+="&nd=1",memorizeFilters(varSHget.s_ed,varSHget.s_exc_ai),setTimeout(()=>{window.location.href=r},30)}function myonoffswitch2(e){var t=document.URL,s=t.substr(t.length-5),r=new XMLHttpRequest;r.open("POST","../../ajax/memoptions.php"),r.setRequestHeader("Content-Type","application/x-www-form-urlencoded"),r.onload=function(){".html"===s?location.reload():searchSubmitFilters()},r.send("showcontentfiltered="+e+"&securitycheck="+varSHget.securitycheck)}function myonoffswitch3(e){var t=document.URL,s=t.substr(t.length-5),r=new XMLHttpRequest;r.open("POST","../../ajax/memoptions.php"),r.setRequestHeader("Content-Type","application/x-www-form-urlencoded"),r.onload=function(){".html"===s?location.reload():searchSubmitFilters()},r.send("exclude_ai="+e+"&securitycheck="+varSHget.securitycheck)}function resetContent(e){"y"===varSHget.s_audio&&"y"!==varSHget.s_all&&(document.getElementById("s_amusic").checked=!0,document.getElementById("s_asfx").checked=!0,varSHget.s_amusic="y",varSHget.s_asfx="y",varSHget.s_rf="y",document.getElementById("s_rf").checked=!0),"y"===varSHget.s_audio||"y"!=varSHget.s_all&&"y"!=varSHget.s_video&&"y"!=varSHget.s_ph&&"y"!=varSHget.s_ad&&"y"!=varSHget.s_ed&&"y"!=varSHget.s_il||(document.getElementById("s_ph").checked=!1,document.getElementById("s_ad").checked=!1,document.getElementById("s_video").checked=!1,document.getElementById("s_il").checked=!1,"y"==e.s_ph&&(document.getElementById("s_ph").checked=!0,varSHget.s_ph="y"),"y"==e.s_ad&&"y"!==e.s_video&&(document.getElementById("s_ad").checked=!0,varSHget.s_ad="y"),"y"==e.s_video&&(document.getElementById("s_video").checked=!0,varSHget.s_video="y",document.getElementById("s_ad").checked=!1,varSHget.s_ad="n"),"y"==e.s_il&&(document.getElementById("s_il").checked=!0,varSHget.s_il="y"),"y"==e.s_ed?(document.getElementById("s_ed").checked=!0,document.getElementById("s_ph").checked=!0,document.getElementById("s_video").checked=!0,document.getElementById("s_il").checked=!0,varSHget.s_ed="y",varSHget.s_ph="y",varSHget.s_il="y",varSHget.s_video="y"):(document.getElementById("s_ed").checked=!0,varSHget.s_ed="y"),document.getElementById("s_wel").checked=!1,document.getElementById("s_pel").checked=!1,document.getElementById("s_srel").checked=!1,varSHget.s_wel="n",varSHget.s_pel="n",varSHget.s_srel="n",DT.UI.set("#s_aiinclude","active"),DT.UI.unset("#s_exc_ai"),DT.UI.unset("#s_onlyai"),varSHget.s_onlyai="n",varSHget.s_exc_ai=1,document.querySelector(".js-s_pel").style.display="",updateDisableClass(!1,wclass=".js-option-s_ad"),desabled_S_ad(e),"y"!==e.s_ed?(varSHget.s_rf="y",document.getElementById("s_rf").checked=!0):(varSHget.s_rf="n",document.getElementById("s_rf").checked=!1)),document.getElementById("s_amf").checked=!1,document.getElementById("morewec").checked=!1,document.getElementById("s_exclusive").checked=!1,varSHget.s_amf="n",varSHget.morewec="n",varSHget.s_exclusive="n";var t=document.getElementById("s_sp"),s=document.getElementById("s_exc");t.value="",s.value="",changeEvent(1)}function resetPeople(){const e=["s_mrea","s_mreb","s_mreh","s_mrem","s_mrec","s_mreo"];(document.querySelector("#cnt-1").checked||document.querySelector("#nopeople").checked)&&(document.querySelector("#cnt-1").checked=!1,filtersClassAction(".numberppl","unset"),filtersClassAction(".genderppl","unset"),document.querySelector("#nopeople").checked=!1,varSHget.s_op="",varSHget.s_mr="",varSHget.s_wp="",varSHget.s_mrc1="y",varSHget.s_mrc2="y",varSHget.s_mrc3="y",varSHget.s_mrc4="y",varSHget.s_mrc5="y",varSHget.s_mrg="1",DT.UI.set("#s_mrca","active"),DT.UI.set("#s_mrg1","active"),filtersClassAction(".agerange","unset"),DT.UI.set("#s_mraany","active"),e.forEach(e=>{document.getElementById(e).checked=!0})),document.getElementById("includepeople").checked=!0,updateDisableClass(!0),changeEvent(1)}function resetFilters(){memorizeFilters("","",1).then(function(e){1===e&&setTimeout(()=>{document.querySelectorAll(".js-reset-searches").forEach(function(e){if(!e.checked)return;let t=e.id;varSHget.s_audio&&(t="s_audio"),"s_ph"===t&&document.getElementById("s_ed")?.checked||t&&SearchSubmit2024(t)})},20)})}function resetMedia(){"y"===varSHget.s_audio&&"y"!==varSHget.s_all&&((document.querySelector("#cnt-1").checked||document.querySelector("#nopeople").checked)&&(document.querySelector("#cnt-1").checked=!1,document.querySelector("#nopeople").checked=!1,varSHget.s_op="",varSHget.s_mr="",varSHget.s_wp=""),document.getElementById("includepeople").checked=!0,"active"!==document.getElementById("s_slany").getAttribute("data-state")&&(document.querySelectorAll(".levelp").forEach(function(e){DT.UI.unset(e)}),DT.UI.set("#s_slany","active"),varSHget.s_sl0="y",varSHget.s_sl1="y",varSHget.s_sl2="y",varSHget.s_sl3="y",varSHget.s_sl4="y",varSHget.s_sl5="y"));"y"===varSHget.s_audio||"y"!=varSHget.s_all&&"y"!=varSHget.s_video&&"y"!=varSHget.s_ph&&"y"!=varSHget.s_ad&&"y"!=varSHget.s_ed&&"y"!=varSHget.s_il||(document.getElementById("s_orp").checked=!0,document.getElementById("s_orp").dispatchEvent(new Event("change")),document.getElementById("s_orl").checked=!0,document.getElementById("s_orl").dispatchEvent(new Event("change")),document.getElementById("s_ors").checked=!0,document.getElementById("s_ors").dispatchEvent(new Event("change")),document.getElementById("s_orw").checked=!0,document.getElementById("s_orw").dispatchEvent(new Event("change")),DT.UI.set("#s_clany","active"),DT.UI.unset("#s_clc"),DT.UI.unset("#s_clm"),document.getElementById("s_color1").value="",document.getElementById("s_color1").dispatchEvent(new Event("change")),document.getElementById("s_color2").value="",document.getElementById("s_color2").dispatchEvent(new Event("change")),document.getElementById("s_c1e").checked=!1,document.getElementById("s_c2e").checked=!1,varSHget.s_orp="y",varSHget.s_orl="y",varSHget.s_ors="y",varSHget.s_orw="y",varSHget.s_clc="y",varSHget.s_clm="y",varSHget.s_color1="",varSHget.s_color2="",varSHget.s_rsf=0,varSHget.s_rst=7,DT.UI.set("#s_rstany","active"),DT.UI.unset("#s_rst5"),DT.UI.unset("#s_rst8"),DT.UI.unset("#s_rst15"),DT.UI.unset("#s_rst20"),"active"!==document.getElementById("s_slany").getAttribute("data-state")&&(document.querySelectorAll(".levelp").forEach(function(e){DT.UI.unset(e)}),DT.UI.set("#s_slany","active"),varSHget.s_sl0="y",varSHget.s_sl1="y",varSHget.s_sl2="y",varSHget.s_sl3="y",varSHget.s_sl4="y",varSHget.s_sl5="y"));changeEvent(1)}function filtersClassAction(e,t){const s=document.querySelectorAll(e);for(var r=0;r<s.length;r++)(function(e){const r=document.getElementById(s[e].id);"unset"==t&&DT.UI.unset(r)})(r)}function changeCheckboxValueWithCnt(e){document.getElementById(e).addEventListener("change",function(){document.getElementById("cnt-1").checked=!0;var t=new Event("change");document.getElementById("cnt-1").dispatchEvent(t),changeEvent(1),this.checked?varSHget[e]="y":varSHget[e]=""})}function setCheckedState(e,t){"y"===varSHget[t]&&(document.getElementById(e).checked=!0)}function cloaseAllFilters(){return DT.Scheduler.postTask(()=>{const e=document.getElementsByClassName("js-adv-filter-trigger");for(var t=0;t<e.length;t++)(function(t){const s=document.getElementById(e[t].getAttribute("data-dt-id"));DT.UI.set(s,"hidden"),e[t].setAttribute("data-state","")})(t)},{priority:"user-visible"})}async function zerogravitySwitch(e){await DT.Scheduler.waitForHighPriority(),"addcookie"==e?(changeEvent(1),setCookie2("dreamstime_slgravity","n",5),cloaseAllFilters(),searchSubmitFilters("s_sl_remvf")):"removecookie"==e&&(changeEvent(1),setCookie2("dreamstime_slgravity","",-5),searchSubmitFilters("s_sl_remvf"))}function desabled_S_ad(e){"y"===e.s_video&&"y"!==e.s_ph&&"y"!==e.s_il&&(e.s_ad="n",e.s_pel="n",document.getElementById("s_ad").checked=!1,document.getElementById("s_pel").checked=!1,document.querySelector(".js-s_pel").style.display="none",updateDisableClass(!0,wclass=".js-option-s_ad"))}function advSearchHideEx(){0==document.getElementById("s_ph").checked&&0==document.getElementById("s_il").checked&&0==document.getElementById("s_ad").checked?document.querySelector(".js-photo-ex-license").style.display="none":1!=document.getElementById("s_ph").checked&&1!=document.getElementById("s_il").checked&&1!=document.getElementById("s_ad").checked||(document.querySelector(".js-photo-ex-license").style.display="")}function handleCheckboxChange(e,t){changeEvent(1),e.target.checked?varSHget[t]="y":varSHget[t]="n"}function changeSearchLabel(e){if(["s_asfx","s_amusic"].includes(e))return;document.querySelector("form[name=searchfrm]").action=(document.querySelector("form[name=searchfrm]").action.split("?")[0].replace(/[^/]*$/,"")||"/")+"search.php";let t="",s="";var r,a;document.querySelectorAll("#s_ph, #s_ed, #s_il, #s_ad, #s_video, #s_audio").forEach(e=>{e.checked?(t+=document.querySelector(`label[for=${e.id}]`).innerHTML+", ",s+="Y"):s+="N"}),6===s.length&&(s+="NN"),t=t.slice(0,-2),r="#s_ad",a=!["NYNNNNNN","NYYYNNNN","NNYYNNNN","NYNYNNNN","NNNYNNNN","NYNNYNNN","NNNNYNNN"].includes(s),document.querySelector(r).parentElement.style.display=a?"":"none",document.querySelector(".js-select-selected-content").innerHTML=t}function addChangeHandler(e,t){e.forEach(e=>{const s=document.getElementById(e);s&&s.addEventListener("change",t)})}function memorizeFilters(e,t,s=0){return new Promise(function(r){var a,c=new XMLHttpRequest;c.open("POST","../../ajax/memoptions.php"),c.setRequestHeader("Content-Type","application/x-www-form-urlencoded"),c.timeout=200,c.onload=function(){if(200!==c.status)return r(0);try{var e=JSON.parse(c.responseText);return r(e&&"ok"===e.status?1:0)}catch(e){return r(1)}},c.onerror=function(){r(0)},c.ontimeout=function(){r(0)},a=0===s?"memorize_filters=1&s_ed="+encodeURIComponent(e)+"&s_exc_ai="+encodeURIComponent(t)+"&securitycheck="+encodeURIComponent(varSHget.securitycheck):"memorize_filters=1&clr_filters=1&securitycheck="+encodeURIComponent(varSHget.securitycheck),c.send(a)})} DT.onReady((()=>{const COOKIE_EXPIRES_DAYS=30,handleClick=async event=>{const button=event.currentTarget;if(!button)return;await DT.Scheduler.waitForHighPriority();const sortCriteria=button.getAttribute("data-sort");if(!sortCriteria)return;DT.setCookie("sortorder_same_url",`${sortCriteria}|${DT.fullCpage}`,30,"/",".dreamstime.com");const url=new URL(window.location.href);url.searchParams.delete("pg"),window.location.href=url.toString()};document.querySelectorAll(".js-search-sort-btn").forEach((button=>{button.addEventListener("click",handleClick)}))})); DT.onReady((()=>{const init=title=>{let isDragging=!1,allowClick=!0,startX,startY,scrollLeft,scrollTop;title.addEventListener("click",(e=>{allowClick||(e.preventDefault(),e.stopImmediatePropagation())}),{capture:!0,passive:!1}),title.addEventListener("dragstart",(e=>{e.preventDefault()})),title.addEventListener("dragdrop",(e=>{e.preventDefault()})),title.addEventListener("mousedown",(e=>{isDragging=!0,allowClick=!0,startX=e.pageX-title.offsetLeft,startY=e.pageY-title.offsetTop,scrollLeft=title.scrollLeft,scrollTop=title.scrollTop})),title.addEventListener("mouseleave",(()=>{isDragging=!1})),title.addEventListener("mouseup",(()=>{DT.onNextIter((()=>{allowClick=!0})),isDragging=!1})),title.addEventListener("mousemove",(e=>{if(!isDragging)return;e.preventDefault(),allowClick=!1;const x=e.pageX-title.offsetLeft,y=e.pageY-title.offsetTop,walkX=1*(x-startX),walkY=1*(y-startY);title.scrollLeft=scrollLeft-walkX,title.scrollTop=scrollTop-walkY}))},selector=".js-image-wall .js-listing-item .js-item-title";DT.onIdle((()=>{document.querySelectorAll(selector).forEach((title=>{init(title)}))})),new MutationObserver((mutations=>{mutations.forEach((mutation=>{"childList"===mutation.type&&mutation.addedNodes.forEach((node=>{if(node.nodeType===Node.ELEMENT_NODE){const titles=undefined;node.querySelectorAll(selector).forEach((title=>{init(title)}))}}))}))})).observe(document.body,{childList:!0,subtree:!0})})); DT.onReadyIdle((()=>{document.addEventListener("dragstart",(event=>{const item=event.target.closest(".js-listing-item");if(!item||!item.dataset.id)return;const data={type:"item",data:{id:item.dataset.id,type:item.dataset.type}};event.dataTransfer.setData("text/plain",JSON.stringify(data))}))})); DT.initModal=(()=>{const modalDeps=DT.parseJSONData("modal-deps")?.deps||[];DT.onReadyIdle((()=>{DT.prefetchWorker.prefetchUrls(modalDeps)}));const initModal=undefined;return async({url:url,params:params,loadData:loadData})=>{await DT.loadLazyDeps(modalDeps);const response=await DT.http.get(url,{data:loadData});if(!response.ok)throw new Error(`Failed to load modal content from ${url}: ${response.statusText}`);let modal;return await DT.ajaxHtml.fromResponse(response,(async html=>{if(!html)throw new Error(`Failed to load modal content from ${url}: Empty response`);modal=await DT.modal({content:html,...params||{}})})),modal}})(); DT.ajaxHtml=(()=>{const loadCss=async({css:css,js:js}={})=>{if(css){if(js?.url&&DT.prefetchWorker.prefetchUrls(js.url??[]),css.inline){let style=document.querySelector("style[data-dt-lazy]");if(style)return style.innerHTML+=css.inline,void 0;style=document.createElement("style"),style.setAttribute("data-dt-lazy",""),style.innerHTML=css.inline,document.head.appendChild(style)}css.url&&await DT.loadCSS(...css.url)}},loadJs=async({js:js}={})=>{if(js){if(await DT.nextIter(),js.inline){let script=document.querySelector("script[data-dt-lazy]");if(script)return script.innerHTML+=js.inline,void 0;script=document.createElement("script"),script.setAttribute("data-dt-lazy",""),script.innerHTML=js.inline,document.head.appendChild(script)}js.url&&await DT.loadScriptsInOrderOnce(...js.url)}},loadJson=({jsonData:jsonData}={})=>{if(jsonData)try{for(const key in jsonData)DT.jsonData[key]=jsonData[key]}catch(error){DT.log("error","Ajax html load json error",error)}},fromResponse=async(response,insertHtml)=>{try{const{html:html,assets:assets,...params}=await response.json();await loadCss(assets),loadJson(assets),await insertHtml(html,params??{}),await loadJs(assets)}catch(error){return DT.log("error","Ajax load from response error",error),void 0}},fromResponseData=async(data,insertHtml)=>{try{const{html:html,assets:assets,...params}=data;await loadCss(assets),loadJson(assets),await insertHtml(html,params??{}),await loadJs(assets)}catch(error){return DT.log("error","Ajax load from response error",error),void 0}};return{loadCss:loadCss,loadJs:loadJs,fromResponse:fromResponse,fromResponseData:fromResponseData}})(); DT.initLightboxBar=async()=>{if(await(DT.afterLcp?.()),await DT.Scheduler.waitForMediumPriority(),await DT.yieldIfInputPending(),document.querySelector(".js-lightbox-bar-root"))return;const response=await fetch(DT.lightboxBarInitUrl);document.querySelector(".js-lightbox-bar-root")||(response.ok||DT.log("error","Failed to fetch LightboxBar component",response),await(DT.ajaxHtml?.fromResponse(response,(html=>{html&&document.body.insertAdjacentHTML("beforeend",html)}))),DT.LightboxBar?.dispatchEvent("lightbox-bar:init"),document.dispatchEvent(new CustomEvent("lightbox-bar:init")))}; DT.bannersToLoad = []; DT.onReady(() => { var mres = window.location.hash.match(/\#res(\d+)/); if (mres) { var ref = document.referrer || ''; if (!ref) { dtrfr = ref; } if (ref && ref != '' && ref.indexOf('.dreamstime.com') == -1 ) { var img = new Image(); img.src = '/img404.php?ref=' + encodeURIComponent(ref); } } }); DT.onReady(() => { if (window.location.hash !== '') { DT.loadScriptsOnce('templates/footer/footer_ref.js'); } }); DT.onReadyIdle(async () => { window.oldDocumentWrite = document.write; document.write = function (node) { document.body.appendChild(node); }; try { await DT.loadScriptsOnce('https://www.googleadservices.com/pagead/conversion.js'); } catch (_err) {} document.write = window.oldDocumentWrite; }); const varSHget = { sortcriteria: "6", countsh: "0", s_st: "new", s_op: "", s_mr: "", s_wp: "", s_rf: "", s_ed: "", s_exclusive: "", s_wel: "", s_pel: "", s_srel: "", s_orp: "y", s_orl: "y", s_ors: "y", s_orw: "y", s_clc: "y", s_clm: "y", s_c1e: "", s_color1: "", s_percent1: "", s_c2e: "", s_color2: "", s_percent2: "", s_rsf: "0", s_rst: "7", s_amf: "", s_sp: "", s_exc: "", s_exc_ai: "0", s_onlyai: "", s_mrc1: "y", s_mrc2: "y", s_mrc3: "y", s_mrc4: "y", s_mrc5: "y", s_mrg: "1", s_mra1: "", s_mra2: "", s_mra3: "", s_mra4: "", s_mra5: "", s_mra6: "", s_mra7: "", s_mra8: "", s_mra9: "", s_mrea: "", s_mreb: "", s_mreh: "", s_mrem: "", s_mrec: "", s_mreo: "", s_sl0: "y", s_sl1: "y", s_sl2: "y", s_sl3: "y", s_sl4: "y", s_sl5: "y", srh_field: "code programming interface", firstvalue: "", lastsearchvalue: "code programming interface", s_all: "", s_ph: "", s_il: "y", s_video: "", s_audio: "", s_ad: "", s_free: "", securitycheck: "1319f1eba5dc645331509bb9f0a47344", s_cf: "0", s_mrca: "", site_adr: "https://www.dreamstime.com/", ico_close: '<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 10 10"><path d="M3.511 5 0 8.511 1.489 10 5 6.489 8.511 10 10 8.511 6.489 5 10 1.489 8.511 0 5 3.511 1.489 0 0 1.489z"/></svg>', memberid: '', srh_fieldwrs: '', s_amusic: "", s_asfx: "", s_zerogravity: "", s_zerogravityactiv: "0" }; DT.onReady(async () => { try { await DT.loadScriptsOnce('js/lang_cts.js.php?l=en'); } catch (_) {} DT.loadScripts('js/functions_cookie.js'); DT.loadScripts('components/Search/Search.js'); DT.loadScripts('templates/search/filters/filters_search_load.js'); }); DT.bannersToLoad.push("<div class=\"banner banner--freetrial banner--big js-banner js-banner-default js-banner-freetrial\" data-name=\"freetrial\" data-state=\"hidden\" data-inline=\"\" > <a href=\"https:\/\/www.dreamstime.com\/securecredits2.php?subscriptionid=816&packagetype=0\" class=\"banner__link banner__link--freetrial\" aria-label=\"Start your FREE trial\" ><\/a> <div class=\"banner__picture\"> <picture> <source type=\"image\/jpeg\" srcset=\"https:\/\/thumbs.dreamstime.com\/front\/img\/banners\/free-trial\/dt-freetrial-banner-background-500.jpg\" media=\"(max-width: 767.98px)\" width=\"500\" height=\"132\"><source type=\"image\/jpeg\" srcset=\"https:\/\/thumbs.dreamstime.com\/front\/img\/banners\/free-trial\/dt-freetrial-banner-background-900.jpg\" media=\"(min-width: 768px)\" width=\"900\" height=\"100\"><source type=\"image\/jpeg\" srcset=\"https:\/\/thumbs.dreamstime.com\/front\/img\/banners\/free-trial\/dt-freetrial-banner-background-1600.jpg\" media=\"(min-width: 1200px)\" width=\"1600\" height=\"100\"><img src=\"https:\/\/thumbs.dreamstime.com\/front\/img\/banners\/free-trial\/dt-freetrial-banner-background-1600.jpg\" width=\"1600\" height=\"100\" alt=\"Image for banner "Start your FREE trial"\"> <\/picture> <\/div> <div class=\"banner__content\"> <div class=\"banner__title\">Your first 15 images, free!<\/div> <div class=\"banner__description\">Cancel anytime.<\/div> <\/div> <div class=\"banner__btn-wrapper\"> <a href=\"https:\/\/www.dreamstime.com\/securecredits2.php?subscriptionid=816&packagetype=0\" class=\"banner__btn btn btn--pink btn--big\">Start your FREE trial<\/a> <\/div> <\/div>"); DT.lightboxBarActionsUrl = 'https://www.dreamstime.com/new/components/LightboxBar/actions.ajax.php'; DT.lightboxBarInitUrl = 'https://www.dreamstime.com/new/components/LightboxBar/actions.ajax.php?action=init_component'; try { window.openfreetrial = 0; window.popupsignup = 0; window.site_adr = 'https://www.dreamstime.com/'; window.dtrfr = ''; } catch (_err) {} </script> </body> </html>