Browse through 21,476 developer coding interface illustrations & vectors or explore more interface elements or technology background vectors to complete your project with stunning visuals.

A person wearing a virtual reality headset interacting with a computer screen for a landing page banner. Cybersecurity, data protection, digital innovation, remote work, software, technology. User. Developer coding interface vectors
A person wearing a virtual reality headset interacting with a computer screen for a landing page banner. Cybersecurity, data protection, digital innovation, remote work, software, technology. User. Developer coding 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. Developer coding 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. Developer coding interface vectors
A charming illustration of a dog using a laptop in a futuristic technology background filled with glowing digital patterns, abstract circuits, and modern interface elements. The scene blends humor and innovation, portraying a smart, tech-savvy canine engaged in a digital workspace. It represents creativity, remote work culture, artificial intelligence themes, and the playful side of modern technology in a visually engaging and contemporary style. Developer coding interface illustrations
A charming illustration of a dog using a laptop in a futuristic technology background filled with glowing digital patterns, abstract circuits, and modern interface elements. The scene blends humor and innovation, portraying a smart, tech-savvy canine engaged in a digital workspace. It represents creativity, remote work culture, artificial intelligence themes, and the playful side of modern technology in a visually engaging and contemporary style. Developer coding interface illustrations
A charming illustration of a dog using a laptop in a futuristic technology background filled with glowing digital patterns, abstract circuits, and modern interface elements. The scene blends humor and innovation, portraying a smart, tech-savvy canine engaged in a digital workspace. It represents creativity, remote work culture, artificial intelligence themes, and the playful side of modern technology in a visually engaging and contemporary style. Developer coding interface illustrations
A charming illustration of a dog using a laptop in a futuristic technology background filled with glowing digital patterns, abstract circuits, and modern interface elements. The scene blends humor and innovation, portraying a smart, tech-savvy canine engaged in a digital workspace. It represents creativity, remote work culture, artificial intelligence themes, and the playful side of modern technology in a visually engaging and contemporary style. Developer coding interface illustrations
A charming illustration of a dog using a laptop in a futuristic technology background filled with glowing digital patterns, abstract circuits, and modern interface elements. The scene blends humor and innovation, portraying a smart, tech-savvy canine engaged in a digital workspace. It represents creativity, remote work culture, artificial intelligence themes, and the playful side of modern technology in a visually engaging and contemporary style. Developer coding interface illustrations
A charming illustration of a dog using a laptop in a futuristic technology background filled with glowing digital patterns, abstract circuits, and modern interface elements. The scene blends humor and innovation, portraying a smart, tech-savvy canine engaged in a digital workspace. It represents creativity, remote work culture, artificial intelligence themes, and the playful side of modern technology in a visually engaging and contemporary style. Developer coding interface illustrations
A charming illustration of a dog using a laptop in a futuristic technology background filled with glowing digital patterns, abstract circuits, and modern interface elements. The scene blends humor and innovation, portraying a smart, tech-savvy canine engaged in a digital workspace. It represents creativity, remote work culture, artificial intelligence themes, and the playful side of modern technology in a visually engaging and contemporary style. Developer coding interface illustrations
A charming illustration of a dog using a laptop in a futuristic technology background filled with glowing digital patterns, abstract circuits, and modern interface elements. The scene blends humor and innovation, portraying a smart, tech-savvy canine engaged in a digital workspace. It represents creativity, remote work culture, artificial intelligence themes, and the playful side of modern technology in a visually engaging and contemporary style. Developer coding interface illustrations
A charming illustration of a dog using a laptop in a futuristic technology background filled with glowing digital patterns, abstract circuits, and modern interface elements. The scene blends humor and innovation, portraying a smart, tech-savvy canine engaged in a digital workspace. It represents creativity, remote work culture, artificial intelligence themes, and the playful side of modern technology in a visually engaging and contemporary style. Developer coding interface illustrations
A charming illustration of a dog using a laptop in a futuristic technology background filled with glowing digital patterns, abstract circuits, and modern interface elements. The scene blends humor and innovation, portraying a smart, tech-savvy canine engaged in a digital workspace. It represents creativity, remote work culture, artificial intelligence themes, and the playful side of modern technology in a visually engaging and contemporary style. Developer coding interface illustrations
A sleek, open laptop on a minimalist desk displays programming code and futuristic holographic interface elements, including floating windows for requirements, user story, and value story, surrounded by a clean workspace with a wireless mouse and a geometric plant decoration. The scene is set in a professional, tech-focused environment with soft, warm lighting. Developer coding interface illustrations
A sleek, open laptop on a minimalist desk displays programming code and futuristic holographic interface elements, including floating windows for requirements, user story, and value story, surrounded by a clean workspace with a wireless mouse and a geometric plant decoration. The scene is set in a professional, tech-focused environment with soft, warm lighting. Developer coding interface illustrations
Dimly lit workspace shows multiple computer monitors displaying complex code lines creating a focused atmosphere Ideal for technology and programming concepts. Developer coding interface illustrations
Dimly lit workspace shows multiple computer monitors displaying complex code lines creating a focused atmosphere Ideal for technology and programming concepts. Developer coding interface illustrations
Woman holding a key icon and developer working on a smartphone screen vector illustration. Cybersecurity, software development, mobile app design, digital access, cryptocurrency, tech support. Person. Developer coding interface vectors
Woman holding a key icon and developer working on a smartphone screen vector illustration. Cybersecurity, software development, mobile app design, digital access, cryptocurrency, tech support. Person. Developer coding interface vectors
A developer working on code next to wheat stalks and a briefcase for a landing page banner. Software engineering, agricultural technology, digital farming, business growth, coding, innovation. Developer coding interface vectors
A developer working on code next to wheat stalks and a briefcase for a landing page banner. Software engineering, agricultural technology, digital farming, business growth, coding, innovation. Developer coding interface vectors
Gear icon and developer working on laptop vector illustration. Programming, technical support, software engineering, digital solutions, web development, system maintenance. Cogwheel symbol and coder. Developer coding interface vectors
Gear icon and developer working on laptop vector illustration. Programming, technical support, software engineering, digital solutions, web development, system maintenance. Cogwheel symbol and coder. Developer coding interface vectors
Programmer working on laptop with PHP elephant and MySQL dolphin vector illustration. Software engineering, database management, web development, coding, backend technology, growth. Developer coding. Developer coding interface vectors
Programmer working on laptop with PHP elephant and MySQL dolphin vector illustration. Software engineering, database management, web development, coding, backend technology, growth. Developer coding. Developer coding interface vectors
A scientist writing notes next to a developer building a digital currency symbol and CMS text vector illustration. Web development, software engineering, digital strategy, online business, data. Developer coding interface vectors
A scientist writing notes next to a developer building a digital currency symbol and CMS text vector illustration. Web development, software engineering, digital strategy, online business, data. Developer coding interface vectors
HTML programming language web banner set a woman character and potted plant for landing page design. Web development, coding, software engineering, digital education, tech skills, online learning. Developer coding interface vectors
HTML programming language web banner set a woman character and potted plant for landing page design. Web development, coding, software engineering, digital education, tech skills, online learning. Developer coding interface vectors
Man thinking near a calculator and a flying bug icon for a web landing page banner. Programming, software development, debugging, technical support, error tracking, problem solving. Developer. Developer coding interface illustrations
Man thinking near a calculator and a flying bug icon for a web landing page banner. Programming, software development, debugging, technical support, error tracking, problem solving. Developer. Developer coding interface illustrations
People working on software development and programming process vector illustration. Coding, web design, technical support, project management, digital solutions, creative workflow. Developers writing. Developer coding interface vectors
People working on software development and programming process vector illustration. Coding, web design, technical support, project management, digital solutions, creative workflow. Developers writing. Developer coding interface vectors
A top-down view of a creative workspace featuring two laptops, one displaying graphic design software with color palettes and geometric shapes, and the other showing lines of code. Essential tools like a desk lamp, eyeglasses, pencils, a color wheel, a potted plant, notebooks, and a cup of coffee are arranged on a wooden desk, symbolizing a productive environment for designers and developers. Developer coding interface illustrations
A top-down view of a creative workspace featuring two laptops, one displaying graphic design software with color palettes and geometric shapes, and the other showing lines of code. Essential tools like a desk lamp, eyeglasses, pencils, a color wheel, a potted plant, notebooks, and a cup of coffee are arranged on a wooden desk, symbolizing a productive environment for designers and developers. Developer coding interface illustrations
People using computers and password security vector illustration. Data protection, digital safety, account access, web development, online privacy, software engineering. Users managing login. Developer coding interface vectors
People using computers and password security vector illustration. Data protection, digital safety, account access, web development, online privacy, software engineering. Users managing login. Developer coding interface vectors
Glossy blue square button featuring a white programming tag symbol. This modern 3D icon represents software development, web engineering, and digital technology. Developer coding interface illustrations
Glossy blue square button featuring a white programming tag symbol. This modern 3D icon represents software development, web engineering, and digital technology. Developer coding interface illustrations
Futuristic dots background illustration displaying stipple cyber matrix grids for software interfaces, designed to highlight digital transformation and coding. Developer coding interface vectors
Futuristic dots background illustration displaying stipple cyber matrix grids for software interfaces, designed to highlight digital transformation and coding. Developer coding 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. Developer coding 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. Developer coding interface vectors
Laptop screen displaying code brackets with business planning and mute icons vector illustration. Software development, project management, digital communication, mute settings, coding, web design. Developer coding interface vectors
Laptop screen displaying code brackets with business planning and mute icons vector illustration. Software development, project management, digital communication, mute settings, coding, web design. Developer coding interface vectors
Cartoon illustration of a diverse team collaborating in a modern, open-plan office. A woman presents project details on a tablet and a large screen displaying a workflow diagram. Team members are engaged in various tasks, including coding, design, and brainstorming, fostering a dynamic and collaborative work environment. Ideal for illustrating teamwork, project management, and modern workplace concepts. Developer coding interface illustrations
Cartoon illustration of a diverse team collaborating in a modern, open-plan office. A woman presents project details on a tablet and a large screen displaying a workflow diagram. Team members are engaged in various tasks, including coding, design, and brainstorming, fostering a dynamic and collaborative work environment. Ideal for illustrating teamwork, project management, and modern workplace concepts. Developer coding interface illustrations
Programmer working with PHP elephant and MySQL dolphin vector illustration. Web development, database management, coding education, software engineering, backend technology, programming. Developer. Developer coding interface vectors
Programmer working with PHP elephant and MySQL dolphin vector illustration. Web development, database management, coding education, software engineering, backend technology, programming. Developer. Developer coding interface vectors
Wristwatch and developer working at a desk with AI chip icons vector illustration. Productivity, software engineering, machine learning, digital transformation, time tracking, innovation. Clock. Developer coding interface vectors
Wristwatch and developer working at a desk with AI chip icons vector illustration. Productivity, software engineering, machine learning, digital transformation, time tracking, innovation. Clock. Developer coding interface vectors
Heart icon and programmer working on a laptop vector illustration. Web development, user experience, digital design, coding, creative process, love for technology. Software engineer creating. Developer coding interface vectors
Heart icon and programmer working on a laptop vector illustration. Web development, user experience, digital design, coding, creative process, love for technology. Software engineer creating. Developer coding interface vectors
Programmer working with PHP elephant and MySQL dolphin icons alongside AI search tools vector illustration. Web development, database management, coding, machine learning, data analysis, innovation. Developer coding interface vectors
Programmer working with PHP elephant and MySQL dolphin icons alongside AI search tools vector illustration. Web development, database management, coding, machine learning, data analysis, innovation. Developer coding interface vectors
Flat vector illustration set a flying developer and team meeting for web landing page banners. Innovation, startup, programming, teamwork, debugging, productivity. Software engineer with jetpack. Developer coding interface vectors
Flat vector illustration set a flying developer and team meeting for web landing page banners. Innovation, startup, programming, teamwork, debugging, productivity. Software engineer with jetpack. Developer coding interface vectors
Programmer working with code and cloud computing icons vector banners. Productivity, software development, time management, cloud storage, coding, digital transformation. Developer managing tasks. Developer coding interface vectors
Programmer working with code and cloud computing icons vector banners. Productivity, software development, time management, cloud storage, coding, digital transformation. Developer managing tasks. Developer coding interface vectors
Programmer working with PHP elephant and MySQL dolphin icons near AI brain vector illustration. Web development, database management, artificial intelligence, coding, technology, programming. Developer coding interface vectors
Programmer working with PHP elephant and MySQL dolphin icons near AI brain vector illustration. Web development, database management, artificial intelligence, coding, technology, programming. Developer coding interface vectors
Factory icon and programmer working on a computer vector illustration. Manufacturing, software development, industrial technology, coding, digital infrastructure, web design. Plant symbol and coder. Developer coding interface vectors
Factory icon and programmer working on a computer vector illustration. Manufacturing, software development, industrial technology, coding, digital infrastructure, web design. Plant symbol and coder. Developer coding interface vectors
People interacting with digital interfaces and web elements vector illustration. Software development, user experience, website design, online shopping, data management, digital marketing. Users. Developer coding interface vectors
People interacting with digital interfaces and web elements vector illustration. Software development, user experience, website design, online shopping, data management, digital marketing. Users. Developer coding interface vectors
A close-up view of a developer's hands working on a sleek keyboard with a green screen in the background. The scene reflects a focused digital environment. Generative AI. Developer coding interface illustrations
A close-up view of a developer's hands working on a sleek keyboard with a green screen in the background. The scene reflects a focused digital environment. Generative AI. Developer coding interface illustrations
Developers working with PHP and MySQL database technology vector illustration. Web programming, software engineering, backend development, data management, coding, digital infrastructure. Programmers. Developer coding interface vectors
Developers working with PHP and MySQL database technology vector illustration. Web programming, software engineering, backend development, data management, coding, digital infrastructure. Programmers. Developer coding interface vectors
Magnifying glass icon with code symbol representing programming, debugging, and development search processes. Ideal for developers, coding tools, and software engineering platforms. Developer coding interface vectors
Magnifying glass icon with code symbol representing programming, debugging, and development search processes. Ideal for developers, coding tools, and software engineering platforms. Developer coding interface vectors
Customer support agent and software developer vector illustration. Technical assistance, remote work, programming, web development, online service, digital communication. Help desk operator and coder. Developer coding interface vectors
Customer support agent and software developer vector illustration. Technical assistance, remote work, programming, web development, online service, digital communication. Help desk operator and coder. Developer coding interface vectors
Person holding a heart icon and developer working on a laptop vector illustration. Social media, digital connection, web development, online dating, user experience, software engineering. User. Developer coding interface vectors
Person holding a heart icon and developer working on a laptop vector illustration. Social media, digital connection, web development, online dating, user experience, software engineering. User. Developer coding interface vectors
Software development and industrial automation vector illustration. Web programming, database management, mobile communication, smart factory, robotic assembly, digital technology. Coding process. Developer coding interface vectors
Software development and industrial automation vector illustration. Web programming, database management, mobile communication, smart factory, robotic assembly, digital technology. Coding process. Developer coding interface vectors
A close-up shot of hands typing on a glowing keyboard, with a computer screen displaying lines of code in the foreground. The background features blurred city lights, creating a futuristic and tech-focused atmosphere. The image conveys themes of programming, software development, cybersecurity, and the digital age. Developer coding interface illustrations
A close-up shot of hands typing on a glowing keyboard, with a computer screen displaying lines of code in the foreground. The background features blurred city lights, creating a futuristic and tech-focused atmosphere. The image conveys themes of programming, software development, cybersecurity, and the digital age. Developer coding interface illustrations
Bold purple brackets representing software development and computer programming. This sleek 3D icon serves as a modern visual metaphor for coding, web engineering, and digital technology. Developer coding interface illustrations
Bold purple brackets representing software development and computer programming. This sleek 3D icon serves as a modern visual metaphor for coding, web engineering, and digital technology. Developer coding interface illustrations
Black and white flat glyph icon set featuring mobile application development, coding, bug fixing, database, cloud sync, security shield, and rocket launch symbols. Developer coding interface vectors
Black and white flat glyph icon set featuring mobile application development, coding, bug fixing, database, cloud sync, security shield, and rocket launch symbols. Developer coding interface vectors
A person fixing a software bug with a lightbulb idea for a website landing page banner. Development, troubleshooting, coding, innovation, problem solving, technical support. Developer repairing. Developer coding interface vectors
A person fixing a software bug with a lightbulb idea for a website landing page banner. Development, troubleshooting, coding, innovation, problem solving, technical support. Developer repairing. Developer coding interface vectors
Blank paper scroll and people working on laptops vector illustration. Web development, online registration, digital services, remote work, internet technology, user interface. Empty parchment. Developer coding interface vectors
Blank paper scroll and people working on laptops vector illustration. Web development, online registration, digital services, remote work, internet technology, user interface. Empty parchment. Developer coding interface vectors
Glossy blue square button featuring a white code bracket symbol representing programming and software engineering. This clean 3D graphic is ideal for web interfaces, application icons, or technology-themed digital content. Developer coding interface illustrations
Glossy blue square button featuring a white code bracket symbol representing programming and software engineering. This clean 3D graphic is ideal for web interfaces, application icons, or technology-themed digital content. Developer coding interface illustrations
Collection of diverse icons and vector illustration. Education, health, programming, technology, happiness, lifestyle. Vitamin D structure, coder working on laptop, and cheerful orange emotion. Developer coding interface vectors
Collection of diverse icons and vector illustration. Education, health, programming, technology, happiness, lifestyle. Vitamin D structure, coder working on laptop, and cheerful orange emotion. Developer coding interface vectors
Vehicle selection, coding education, energy solutions, software management, data analysis, user decisions. Man holding a plug near ideas and coding elements. Data analysis and coding education. Developer coding interface illustrations
Vehicle selection, coding education, energy solutions, software management, data analysis, user decisions. Man holding a plug near ideas and coding elements. Data analysis and coding education. Developer coding interface illustrations
Person working at a computer with a CEX exchange and MySQL dolphin logo vector illustration. Software development, database management, cryptocurrency trading, coding, technology, web design. Developer coding interface vectors
Person working at a computer with a CEX exchange and MySQL dolphin logo vector illustration. Software development, database management, cryptocurrency trading, coding, technology, web design. Developer coding interface vectors
Illustration of a woman working on a laptop, likely a programmer or developer. She is sitting at a desk with a cup of coffee nearby. The laptop screen displays code symbols. The overall design is clean and modern, suitable for representing remote work, software development, or technology-related concepts. Developer coding interface illustrations
Illustration of a woman working on a laptop, likely a programmer or developer. She is sitting at a desk with a cup of coffee nearby. The laptop screen displays code symbols. The overall design is clean and modern, suitable for representing remote work, software development, or technology-related concepts. Developer coding interface illustrations
Illustration of a woman working on a laptop, surrounded by coding symbols and colorful geometric shapes. The image represents software development, programming, and technology. It's suitable for illustrating articles, websites, or presentations related to computer science, coding, web development, and women in tech. Developer coding interface illustrations
Illustration of a woman working on a laptop, surrounded by coding symbols and colorful geometric shapes. The image represents software development, programming, and technology. It's suitable for illustrating articles, websites, or presentations related to computer science, coding, web development, and women in tech. Developer coding interface illustrations
A black and white hand-drawn style outline icon representing programming code, featuring angle brackets and a forward slash symbol commonly used in coding. Developer coding interface vectors
A black and white hand-drawn style outline icon representing programming code, featuring angle brackets and a forward slash symbol commonly used in coding. Developer coding interface vectors
People building mobile applications and analyzing website data vector illustration. Software engineering, digital marketing, financial growth, user interface design, online business, profit. Developer coding interface vectors
People building mobile applications and analyzing website data vector illustration. Software engineering, digital marketing, financial growth, user interface design, online business, profit. Developer coding interface vectors
A close-up view shows a focused developer intently typing code on a laptop keyboard during dark hours. This scene perfectly captures the intensity of remote work and software development. Rendered by Ai, the warm backlight contrasts sharply with the blue screen glow, emphasizing dedication and productivity. The coder works efficiently creating new digital solutions. Developer coding interface illustrations
A close-up view shows a focused developer intently typing code on a laptop keyboard during dark hours. This scene perfectly captures the intensity of remote work and software development. Rendered by Ai, the warm backlight contrasts sharply with the blue screen glow, emphasizing dedication and productivity. The coder works efficiently creating new digital solutions. Developer coding 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 `<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. Developer coding 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. Developer coding 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 item70 item-photo js-listing-item" data-id="470860663" 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=speech+bubble+developer+working&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="470860663" 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/speech-bubble-developer-working-laptop-vector-illustration-messaging-programming-software-engineering-digital-communication-image470860663" class="item__url js-item-title-wrapper" aria-label="Communication and Software Development Icons Set Vector Illustration for Digital Projects. Speech bubble and developer working on laptop vector illustration" target="_blank"> <figure> <img class="item__thumb" src="https://thumbs.dreamstime.com/b/speech-bubble-developer-working-laptop-vector-illustration-messaging-programming-software-engineering-digital-communication-470860663.jpg" loading="lazy" alt="Speech bubble and developer working on laptop vector illustration. Messaging, programming, software engineering, digital communication, web development, remote work. Chat icon and coder. Developer coding interface vectors" srcset="https://thumbs.dreamstime.com/b/speech-bubble-developer-working-laptop-vector-illustration-messaging-programming-software-engineering-digital-communication-470860663.jpg?w=360 360w, https://thumbs.dreamstime.com/b/speech-bubble-developer-working-laptop-vector-illustration-messaging-programming-software-engineering-digital-communication-470860663.jpg?w=400 400w, https://thumbs.dreamstime.com/b/speech-bubble-developer-working-laptop-vector-illustration-messaging-programming-software-engineering-digital-communication-470860663.jpg?w=450 450w, https://thumbs.dreamstime.com/b/speech-bubble-developer-working-laptop-vector-illustration-messaging-programming-software-engineering-digital-communication-470860663.jpg?w=576 576w, https://thumbs.dreamstime.com/b/speech-bubble-developer-working-laptop-vector-illustration-messaging-programming-software-engineering-digital-communication-470860663.jpg?w=768 768w, https://thumbs.dreamstime.com/b/speech-bubble-developer-working-laptop-vector-illustration-messaging-programming-software-engineering-digital-communication-470860663.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">Speech bubble and developer working on laptop vector illustration. Messaging, programming, software engineering, digital communication, web development, remote work. Chat icon and coder. Developer coding interface vectors</figcaption> </figure> </a> <div class="item__info"> <p class="item__title js-item-title"> <a href="https://www.dreamstime.com/speech-bubble-developer-working-laptop-vector-illustration-messaging-programming-software-engineering-digital-communication-image470860663" > Communication and Software Development Icons Set Vector Illustration for Digital Projects. Speech bubble and developer working on laptop vector illustration. Speech bubble and developer working on laptop vector illustration. Messaging, programming, software engineering, digital communication, web development, remote work. Chat icon and coder </a> </p> </div> </article> <article class="item item71 item-photo js-listing-item" data-id="479687246" 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=vector+illustration+set+calendar&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="479687246" 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/web-development-project-management-landing-page-vector-illustration-set-software-planning-calendar-chat-bubbles-code-image479687246" class="item__url js-item-title-wrapper" aria-label="Web Development and Project Management Landing Page Vector Illustration Set for Software Planning. Vector illustration set a calendar, chat bubbles, and code" target="_blank"> <figure> <img class="item__thumb" src="https://thumbs.dreamstime.com/b/web-development-project-management-landing-page-vector-illustration-set-software-planning-calendar-chat-bubbles-code-479687246.jpg" loading="lazy" alt="Vector illustration set a calendar, chat bubbles, and code editor for a landing page banner. Project management, software development, team communication, scheduling, coding, workflow. Digital. Developer coding interface vectors" srcset="https://thumbs.dreamstime.com/b/web-development-project-management-landing-page-vector-illustration-set-software-planning-calendar-chat-bubbles-code-479687246.jpg?w=360 360w, https://thumbs.dreamstime.com/b/web-development-project-management-landing-page-vector-illustration-set-software-planning-calendar-chat-bubbles-code-479687246.jpg?w=400 400w, https://thumbs.dreamstime.com/b/web-development-project-management-landing-page-vector-illustration-set-software-planning-calendar-chat-bubbles-code-479687246.jpg?w=450 450w, https://thumbs.dreamstime.com/b/web-development-project-management-landing-page-vector-illustration-set-software-planning-calendar-chat-bubbles-code-479687246.jpg?w=576 576w, https://thumbs.dreamstime.com/b/web-development-project-management-landing-page-vector-illustration-set-software-planning-calendar-chat-bubbles-code-479687246.jpg?w=768 768w, https://thumbs.dreamstime.com/b/web-development-project-management-landing-page-vector-illustration-set-software-planning-calendar-chat-bubbles-code-479687246.jpg?w=992 992w, https://thumbs.dreamstime.com/b/web-development-project-management-landing-page-vector-illustration-set-software-planning-calendar-chat-bubbles-code-479687246.jpg?w=1200 1200w, https://thumbs.dreamstime.com/b/web-development-project-management-landing-page-vector-illustration-set-software-planning-calendar-chat-bubbles-code-479687246.jpg?w=1400 1400w" 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, (min-width: 768px) and (max-width: 991.98px) 992px, (min-width: 992px) and (max-width: 1199.98px) 1200px, 1400px"> <figcaption class="item__caption">Vector illustration set a calendar, chat bubbles, and code editor for a landing page banner. Project management, software development, team communication, scheduling, coding, workflow. Digital. Developer coding interface vectors</figcaption> </figure> </a> <div class="item__info"> <p class="item__title js-item-title"> <a href="https://www.dreamstime.com/web-development-project-management-landing-page-vector-illustration-set-software-planning-calendar-chat-bubbles-code-image479687246" > Web Development and Project Management Landing Page Vector Illustration Set for Software Planning. Vector illustration set a calendar, chat bubbles, and code. Vector illustration set a calendar, chat bubbles, and code editor for a landing page banner. Project management, software development, team communication, scheduling, coding, workflow. Digital </a> </p> </div> </article> <article class="item item72 item-photo js-listing-item" data-id="479049642" 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=minimalist+black+solid+silhouette&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="479049642" 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-solid-silhouette-programming-software-development-icon-set-symbol-collection-minimalist-black-solid-silhouette-image479049642" class="item__url js-item-title-wrapper" aria-label="Black Solid Silhouette Programming And Software Development Icon Set Symbol Collection. Minimalist black solid silhouette programming icon set featuring software" target="_blank"> <figure> <img class="item__thumb" src="https://thumbs.dreamstime.com/b/black-solid-silhouette-programming-software-development-icon-set-symbol-collection-minimalist-black-solid-silhouette-479049642.jpg" loading="lazy" alt="Minimalist black solid silhouette programming icon set featuring software development coding terminal bug database cloud network gear idea and rocket launch symbols. Developer coding interface vectors" srcset="https://thumbs.dreamstime.com/b/black-solid-silhouette-programming-software-development-icon-set-symbol-collection-minimalist-black-solid-silhouette-479049642.jpg?w=360 360w, https://thumbs.dreamstime.com/b/black-solid-silhouette-programming-software-development-icon-set-symbol-collection-minimalist-black-solid-silhouette-479049642.jpg?w=400 400w, https://thumbs.dreamstime.com/b/black-solid-silhouette-programming-software-development-icon-set-symbol-collection-minimalist-black-solid-silhouette-479049642.jpg?w=450 450w, https://thumbs.dreamstime.com/b/black-solid-silhouette-programming-software-development-icon-set-symbol-collection-minimalist-black-solid-silhouette-479049642.jpg?w=576 576w, https://thumbs.dreamstime.com/b/black-solid-silhouette-programming-software-development-icon-set-symbol-collection-minimalist-black-solid-silhouette-479049642.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">Minimalist black solid silhouette programming icon set featuring software development coding terminal bug database cloud network gear idea and rocket launch symbols. Developer coding interface vectors</figcaption> </figure> </a> <div class="item__info"> <p class="item__title js-item-title"> <a href="https://www.dreamstime.com/black-solid-silhouette-programming-software-development-icon-set-symbol-collection-minimalist-black-solid-silhouette-image479049642" > Black Solid Silhouette Programming And Software Development Icon Set Symbol Collection. Minimalist black solid silhouette programming icon set featuring software. Minimalist black solid silhouette programming icon set featuring software development coding terminal bug database cloud network gear idea and rocket launch symbols. </a> </p> </div> </article> <article class="item item73 item-photo js-listing-item" data-id="460680165" 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=man+glasses+using+laptop&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="460680165" 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/young-male-programmer-coding-working-laptop-digital-circuit-gear-elements-man-glasses-using-laptop-surrounded-image460680165" class="item__url js-item-title-wrapper" aria-label="Young Male Programmer Coding, Working on Laptop with Digital Circuit and Gear Elements. Man in glasses using laptop, surrounded by digital symbols, gears, and" target="_blank"> <figure> <img class="item__thumb" src="https://thumbs.dreamstime.com/b/young-male-programmer-coding-working-laptop-digital-circuit-gear-elements-man-glasses-using-laptop-surrounded-460680165.jpg" loading="lazy" alt="Man in glasses using laptop, surrounded by digital symbols, gears, and binary code visualization. Developer coding interface vectors" srcset="https://thumbs.dreamstime.com/b/young-male-programmer-coding-working-laptop-digital-circuit-gear-elements-man-glasses-using-laptop-surrounded-460680165.jpg?w=360 360w, https://thumbs.dreamstime.com/b/young-male-programmer-coding-working-laptop-digital-circuit-gear-elements-man-glasses-using-laptop-surrounded-460680165.jpg?w=400 400w, https://thumbs.dreamstime.com/b/young-male-programmer-coding-working-laptop-digital-circuit-gear-elements-man-glasses-using-laptop-surrounded-460680165.jpg?w=450 450w, https://thumbs.dreamstime.com/b/young-male-programmer-coding-working-laptop-digital-circuit-gear-elements-man-glasses-using-laptop-surrounded-460680165.jpg?w=576 576w, https://thumbs.dreamstime.com/b/young-male-programmer-coding-working-laptop-digital-circuit-gear-elements-man-glasses-using-laptop-surrounded-460680165.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">Man in glasses using laptop, surrounded by digital symbols, gears, and binary code visualization. Developer coding interface vectors</figcaption> </figure> </a> <div class="item__info"> <p class="item__title js-item-title"> <a href="https://www.dreamstime.com/young-male-programmer-coding-working-laptop-digital-circuit-gear-elements-man-glasses-using-laptop-surrounded-image460680165" > Young Male Programmer Coding, Working on Laptop with Digital Circuit and Gear Elements. Man in glasses using laptop, surrounded by digital symbols, gears, and. Man in glasses using laptop, surrounded by digital symbols, gears, and binary code visualization </a> </p> </div> </article> <article class="item item74 item-photo js-listing-item" data-id="413687445" 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=flat+design+vector+illustration&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="413687445" 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/modern-workspace-flat-design-illustration-web-design-flat-design-vector-illustration-modern-clean-workspace-image413687445" class="item__url js-item-title-wrapper" aria-label="Modern Workspace Flat Design Illustration for Web Design. A flat design vector illustration of a modern and clean workspace. The scene features a white desk with" target="_blank"> <figure> <img class="item__thumb" src="https://thumbs.dreamstime.com/b/modern-workspace-flat-design-illustration-web-design-flat-design-vector-illustration-modern-clean-workspace-413687445.jpg" loading="lazy" alt="A flat design vector illustration of a modern and clean workspace. The scene features a white desk with a computer displaying a website or application user interface, an orange desk lamp, books, and a potted plant. This image represents concepts such as web design, UI UX development, creative work, home office, freelancing, and e-learning. It's an ideal graphic for business presentations, website headers, or articles about technology, productivity, and the modern workplace, with ample copy space. Developer coding interface illustrations" srcset="https://thumbs.dreamstime.com/b/modern-workspace-flat-design-illustration-web-design-flat-design-vector-illustration-modern-clean-workspace-413687445.jpg?w=360 360w, https://thumbs.dreamstime.com/b/modern-workspace-flat-design-illustration-web-design-flat-design-vector-illustration-modern-clean-workspace-413687445.jpg?w=400 400w, https://thumbs.dreamstime.com/b/modern-workspace-flat-design-illustration-web-design-flat-design-vector-illustration-modern-clean-workspace-413687445.jpg?w=450 450w, https://thumbs.dreamstime.com/b/modern-workspace-flat-design-illustration-web-design-flat-design-vector-illustration-modern-clean-workspace-413687445.jpg?w=576 576w, https://thumbs.dreamstime.com/b/modern-workspace-flat-design-illustration-web-design-flat-design-vector-illustration-modern-clean-workspace-413687445.jpg?w=768 768w, https://thumbs.dreamstime.com/b/modern-workspace-flat-design-illustration-web-design-flat-design-vector-illustration-modern-clean-workspace-413687445.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 flat design vector illustration of a modern and clean workspace. The scene features a white desk with a computer displaying a website or application user interface, an orange desk lamp, books, and a potted plant. This image represents concepts such as web design, UI UX development, creative work, home office, freelancing, and e-learning. It's an ideal graphic for business presentations, website headers, or articles about technology, productivity, and the modern workplace, with ample copy space. Developer coding interface illustrations</figcaption> </figure> </a> <div class="item__info"> <p class="item__title js-item-title"> <a href="https://www.dreamstime.com/modern-workspace-flat-design-illustration-web-design-flat-design-vector-illustration-modern-clean-workspace-image413687445" > Modern Workspace Flat Design Illustration for Web Design. A flat design vector illustration of a modern and clean workspace. The scene features a white desk with. A flat design vector illustration of a modern and clean workspace. The scene features a white desk with a computer displaying a website or application user interface, an orange desk lamp, books, and a potted plant. This image represents concepts such as web design, UI UX development, creative work, home office, freelancing, and e-learning. It's an ideal graphic for business presentations, website headers, or articles about technology, productivity, and the modern workplace, with ample copy space. </a> </p> </div> </article> <article class="item item75 item-photo js-listing-item" data-id="427909865" 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=sleek+high+tech+workspace&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="427909865" 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/modern-multi-monitor-computer-setup-dark-room-futuristic-interface-sleek-high-tech-workspace-features-multiple-monitors-image427909865" class="item__url js-item-title-wrapper" aria-label="Modern multi-monitor computer setup in dark room with futuristic interface. A sleek, high-tech workspace features multiple monitors displaying futuristic" target="_blank"> <figure> <img class="item__thumb" src="https://thumbs.dreamstime.com/b/modern-multi-monitor-computer-setup-dark-room-futuristic-interface-sleek-high-tech-workspace-features-multiple-monitors-427909865.jpg" loading="lazy" alt="A sleek, high-tech workspace features multiple monitors displaying futuristic interfaces, a glowing keyboard, and a cozy ambiance with warm lighting and a steaming mug on a rainy night. A dynamic, immersive setup for productivity or gaming. Developer coding interface illustrations" srcset="https://thumbs.dreamstime.com/b/modern-multi-monitor-computer-setup-dark-room-futuristic-interface-sleek-high-tech-workspace-features-multiple-monitors-427909865.jpg?w=360 360w, https://thumbs.dreamstime.com/b/modern-multi-monitor-computer-setup-dark-room-futuristic-interface-sleek-high-tech-workspace-features-multiple-monitors-427909865.jpg?w=400 400w, https://thumbs.dreamstime.com/b/modern-multi-monitor-computer-setup-dark-room-futuristic-interface-sleek-high-tech-workspace-features-multiple-monitors-427909865.jpg?w=450 450w, https://thumbs.dreamstime.com/b/modern-multi-monitor-computer-setup-dark-room-futuristic-interface-sleek-high-tech-workspace-features-multiple-monitors-427909865.jpg?w=576 576w, https://thumbs.dreamstime.com/b/modern-multi-monitor-computer-setup-dark-room-futuristic-interface-sleek-high-tech-workspace-features-multiple-monitors-427909865.jpg?w=768 768w, https://thumbs.dreamstime.com/b/modern-multi-monitor-computer-setup-dark-room-futuristic-interface-sleek-high-tech-workspace-features-multiple-monitors-427909865.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 sleek, high-tech workspace features multiple monitors displaying futuristic interfaces, a glowing keyboard, and a cozy ambiance with warm lighting and a steaming mug on a rainy night. A dynamic, immersive setup for productivity or gaming. Developer coding interface illustrations</figcaption> </figure> </a> <div class="item__info"> <p class="item__title js-item-title"> <a href="https://www.dreamstime.com/modern-multi-monitor-computer-setup-dark-room-futuristic-interface-sleek-high-tech-workspace-features-multiple-monitors-image427909865" > Modern multi-monitor computer setup in dark room with futuristic interface. A sleek, high-tech workspace features multiple monitors displaying futuristic. A sleek, high-tech workspace features multiple monitors displaying futuristic interfaces, a glowing keyboard, and a cozy ambiance with warm lighting and a steaming mug on a rainy night. A dynamic, immersive setup for productivity or gaming </a> </p> </div> </article> <article class="item item76 item-photo js-listing-item" data-id="451381880" 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=visual+representation+app+development&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="451381880" 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/modern-app-development-coding-illustration-visual-representation-showcasing-code-laptop-screen-alongside-smartphone-image451381880" class="item__url js-item-title-wrapper" aria-label="Modern App Development and Coding Illustration. A visual representation of app development, showcasing code on a laptop screen alongside a smartphone displaying" target="_blank"> <figure> <img class="item__thumb" src="https://thumbs.dreamstime.com/b/modern-app-development-coding-illustration-visual-representation-showcasing-code-laptop-screen-alongside-smartphone-451381880.jpg" loading="lazy" alt="A visual representation of app development, showcasing code on a laptop screen alongside a smartphone displaying various app UI elements. Developer coding interface vectors" srcset="https://thumbs.dreamstime.com/b/modern-app-development-coding-illustration-visual-representation-showcasing-code-laptop-screen-alongside-smartphone-451381880.jpg?w=360 360w, https://thumbs.dreamstime.com/b/modern-app-development-coding-illustration-visual-representation-showcasing-code-laptop-screen-alongside-smartphone-451381880.jpg?w=400 400w, https://thumbs.dreamstime.com/b/modern-app-development-coding-illustration-visual-representation-showcasing-code-laptop-screen-alongside-smartphone-451381880.jpg?w=450 450w, https://thumbs.dreamstime.com/b/modern-app-development-coding-illustration-visual-representation-showcasing-code-laptop-screen-alongside-smartphone-451381880.jpg?w=576 576w, https://thumbs.dreamstime.com/b/modern-app-development-coding-illustration-visual-representation-showcasing-code-laptop-screen-alongside-smartphone-451381880.jpg?w=768 768w, https://thumbs.dreamstime.com/b/modern-app-development-coding-illustration-visual-representation-showcasing-code-laptop-screen-alongside-smartphone-451381880.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 visual representation of app development, showcasing code on a laptop screen alongside a smartphone displaying various app UI elements. Developer coding interface vectors</figcaption> </figure> </a> <div class="item__info"> <p class="item__title js-item-title"> <a href="https://www.dreamstime.com/modern-app-development-coding-illustration-visual-representation-showcasing-code-laptop-screen-alongside-smartphone-image451381880" > Modern App Development and Coding Illustration. A visual representation of app development, showcasing code on a laptop screen alongside a smartphone displaying. A visual representation of app development, showcasing code on a laptop screen alongside a smartphone displaying various app UI elements </a> </p> </div> </article> <article class="item item77 item-photo js-listing-item" data-id="474634967" 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=people+working+laptops+headsets&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="474634967" 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/customer-support-software-development-vector-illustration-set-business-technology-people-working-laptops-headsets-image474634967" class="item__url js-item-title-wrapper" aria-label="Customer Support and Software Development Vector Illustration Set for Business Technology. People working on laptops with headsets and coding icons vector" target="_blank"> <figure> <img class="item__thumb" src="https://thumbs.dreamstime.com/b/customer-support-software-development-vector-illustration-set-business-technology-people-working-laptops-headsets-474634967.jpg" loading="lazy" alt="People working on laptops with headsets and coding icons vector illustration. Remote work, technical support, software development, digital communication, global business, online services. Employees. Developer coding interface vectors" srcset="https://thumbs.dreamstime.com/b/customer-support-software-development-vector-illustration-set-business-technology-people-working-laptops-headsets-474634967.jpg?w=360 360w, https://thumbs.dreamstime.com/b/customer-support-software-development-vector-illustration-set-business-technology-people-working-laptops-headsets-474634967.jpg?w=400 400w, https://thumbs.dreamstime.com/b/customer-support-software-development-vector-illustration-set-business-technology-people-working-laptops-headsets-474634967.jpg?w=450 450w, https://thumbs.dreamstime.com/b/customer-support-software-development-vector-illustration-set-business-technology-people-working-laptops-headsets-474634967.jpg?w=576 576w, https://thumbs.dreamstime.com/b/customer-support-software-development-vector-illustration-set-business-technology-people-working-laptops-headsets-474634967.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">People working on laptops with headsets and coding icons vector illustration. Remote work, technical support, software development, digital communication, global business, online services. Employees. Developer coding interface vectors</figcaption> </figure> </a> <div class="item__info"> <p class="item__title js-item-title"> <a href="https://www.dreamstime.com/customer-support-software-development-vector-illustration-set-business-technology-people-working-laptops-headsets-image474634967" > Customer Support and Software Development Vector Illustration Set for Business Technology. People working on laptops with headsets and coding icons vector. People working on laptops with headsets and coding icons vector illustration. Remote work, technical support, software development, digital communication, global business, online services. Employees </a> </p> </div> </article> <article class="item item78 item-photo js-listing-item" data-id="472807071" 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=contemporary+office+desk+features&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="472807071" 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/contemporary-office-desk-features-large-computer-screen-portable-laptop-open-notebook-closed-tome-illuminated-soft-image472807071" class="item__url js-item-title-wrapper" aria-label="Modern software development workspace with computer monitor laptop and coding graphics. A contemporary office desk features a large computer screen, a portable" target="_blank"> <figure> <img class="item__thumb" src="https://thumbs.dreamstime.com/b/contemporary-office-desk-features-large-computer-screen-portable-laptop-open-notebook-closed-tome-illuminated-soft-472807071.jpg" loading="lazy" alt="A contemporary office desk features a large computer screen, a portable laptop, an open notebook, and a closed tome, illuminated by soft natural light from a window in a warm indoor setting. Glowing blue interface elements float in the air around the electronic devices while dark wooden shelves blur in the background. Developer coding interface illustrations" srcset="https://thumbs.dreamstime.com/b/contemporary-office-desk-features-large-computer-screen-portable-laptop-open-notebook-closed-tome-illuminated-soft-472807071.jpg?w=360 360w, https://thumbs.dreamstime.com/b/contemporary-office-desk-features-large-computer-screen-portable-laptop-open-notebook-closed-tome-illuminated-soft-472807071.jpg?w=400 400w, https://thumbs.dreamstime.com/b/contemporary-office-desk-features-large-computer-screen-portable-laptop-open-notebook-closed-tome-illuminated-soft-472807071.jpg?w=450 450w, https://thumbs.dreamstime.com/b/contemporary-office-desk-features-large-computer-screen-portable-laptop-open-notebook-closed-tome-illuminated-soft-472807071.jpg?w=576 576w, https://thumbs.dreamstime.com/b/contemporary-office-desk-features-large-computer-screen-portable-laptop-open-notebook-closed-tome-illuminated-soft-472807071.jpg?w=768 768w, https://thumbs.dreamstime.com/b/contemporary-office-desk-features-large-computer-screen-portable-laptop-open-notebook-closed-tome-illuminated-soft-472807071.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 contemporary office desk features a large computer screen, a portable laptop, an open notebook, and a closed tome, illuminated by soft natural light from a window in a warm indoor setting. Glowing blue interface elements float in the air around the electronic devices while dark wooden shelves blur in the background. Developer coding interface illustrations</figcaption> </figure> </a> <div class="item__info"> <p class="item__title js-item-title"> <a href="https://www.dreamstime.com/contemporary-office-desk-features-large-computer-screen-portable-laptop-open-notebook-closed-tome-illuminated-soft-image472807071" > Modern software development workspace with computer monitor laptop and coding graphics. A contemporary office desk features a large computer screen, a portable. A contemporary office desk features a large computer screen, a portable laptop, an open notebook, and a closed tome, illuminated by soft natural light from a window in a warm indoor setting. Glowing blue interface elements float in the air around the electronic devices while dark wooden shelves blur in the background </a> </p> </div> </article> <article class="item item79 item-photo js-listing-item" data-id="481977525" 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=minimalist+black+outline+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="481977525" 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/minimalist-outline-smartphone-coding-tag-programming-symbol-mobile-app-development-icon-black-depicting-modern-code-image481977525" class="item__url js-item-title-wrapper" aria-label="Minimalist Outline Smartphone Coding Tag Programming Symbol Mobile App Development Icon. Minimalist black outline icon depicting a modern smartphone with code" target="_blank"> <figure> <img class="item__thumb" src="https://thumbs.dreamstime.com/b/minimalist-outline-smartphone-coding-tag-programming-symbol-mobile-app-development-icon-black-depicting-modern-code-481977525.jpg" loading="lazy" alt="Minimalist black outline icon depicting a modern smartphone with code brackets and slash on screen representing mobile software development. Developer coding interface vectors" srcset="https://thumbs.dreamstime.com/b/minimalist-outline-smartphone-coding-tag-programming-symbol-mobile-app-development-icon-black-depicting-modern-code-481977525.jpg?w=360 360w, https://thumbs.dreamstime.com/b/minimalist-outline-smartphone-coding-tag-programming-symbol-mobile-app-development-icon-black-depicting-modern-code-481977525.jpg?w=400 400w, https://thumbs.dreamstime.com/b/minimalist-outline-smartphone-coding-tag-programming-symbol-mobile-app-development-icon-black-depicting-modern-code-481977525.jpg?w=450 450w, https://thumbs.dreamstime.com/b/minimalist-outline-smartphone-coding-tag-programming-symbol-mobile-app-development-icon-black-depicting-modern-code-481977525.jpg?w=576 576w, https://thumbs.dreamstime.com/b/minimalist-outline-smartphone-coding-tag-programming-symbol-mobile-app-development-icon-black-depicting-modern-code-481977525.jpg?w=768 768w, https://thumbs.dreamstime.com/b/minimalist-outline-smartphone-coding-tag-programming-symbol-mobile-app-development-icon-black-depicting-modern-code-481977525.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">Minimalist black outline icon depicting a modern smartphone with code brackets and slash on screen representing mobile software development. Developer coding interface vectors</figcaption> </figure> </a> <div class="item__info"> <p class="item__title js-item-title"> <a href="https://www.dreamstime.com/minimalist-outline-smartphone-coding-tag-programming-symbol-mobile-app-development-icon-black-depicting-modern-code-image481977525" > Minimalist Outline Smartphone Coding Tag Programming Symbol Mobile App Development Icon. Minimalist black outline icon depicting a modern smartphone with code. Minimalist black outline icon depicting a modern smartphone with code brackets and slash on screen representing mobile software development. </a> </p> </div> </article> <article class="item item80 item-photo js-listing-item" data-id="475756651" 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+web+development+icons&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="475756651" 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/web-development-targeting-icons-set-landing-page-banner-design-software-programming-concept-minimalist-web-development-image475756651" class="item__url js-item-title-wrapper" aria-label="Web Development Targeting Icons Set for Landing Page Banner Design and Software Programming Concept. Minimalist web development icons target and code brackets" target="_blank"> <figure> <img class="item__thumb" src="https://thumbs.dreamstime.com/b/web-development-targeting-icons-set-landing-page-banner-design-software-programming-concept-minimalist-web-development-475756651.jpg" loading="lazy" alt="Minimalist web development icons target and code brackets for landing page banner. Software engineering, programming, digital strategy, precision, coding, web design. Development symbols. Developer coding interface vectors" srcset="https://thumbs.dreamstime.com/b/web-development-targeting-icons-set-landing-page-banner-design-software-programming-concept-minimalist-web-development-475756651.jpg?w=360 360w, https://thumbs.dreamstime.com/b/web-development-targeting-icons-set-landing-page-banner-design-software-programming-concept-minimalist-web-development-475756651.jpg?w=400 400w, https://thumbs.dreamstime.com/b/web-development-targeting-icons-set-landing-page-banner-design-software-programming-concept-minimalist-web-development-475756651.jpg?w=450 450w, https://thumbs.dreamstime.com/b/web-development-targeting-icons-set-landing-page-banner-design-software-programming-concept-minimalist-web-development-475756651.jpg?w=576 576w, https://thumbs.dreamstime.com/b/web-development-targeting-icons-set-landing-page-banner-design-software-programming-concept-minimalist-web-development-475756651.jpg?w=768 768w, https://thumbs.dreamstime.com/b/web-development-targeting-icons-set-landing-page-banner-design-software-programming-concept-minimalist-web-development-475756651.jpg?w=992 992w, https://thumbs.dreamstime.com/b/web-development-targeting-icons-set-landing-page-banner-design-software-programming-concept-minimalist-web-development-475756651.jpg?w=1200 1200w, https://thumbs.dreamstime.com/b/web-development-targeting-icons-set-landing-page-banner-design-software-programming-concept-minimalist-web-development-475756651.jpg?w=1400 1400w" 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, (min-width: 768px) and (max-width: 991.98px) 992px, (min-width: 992px) and (max-width: 1199.98px) 1200px, 1400px"> <figcaption class="item__caption">Minimalist web development icons target and code brackets for landing page banner. Software engineering, programming, digital strategy, precision, coding, web design. Development symbols. Developer coding interface vectors</figcaption> </figure> </a> <div class="item__info"> <p class="item__title js-item-title"> <a href="https://www.dreamstime.com/web-development-targeting-icons-set-landing-page-banner-design-software-programming-concept-minimalist-web-development-image475756651" > Web Development Targeting Icons Set for Landing Page Banner Design and Software Programming Concept. Minimalist web development icons target and code brackets. Minimalist web development icons target and code brackets for landing page banner. Software engineering, programming, digital strategy, precision, coding, web design. Development symbols </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-6adade7e363bb" 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/smart-tech-savvy-canine.html" aria-label="Smart tech savvy canine illustrations" target="_blank" itemtype="http://schema.org/relatedLink" itemscope > <h3 class="related-searches__keyword">Smart Tech Savvy Canine</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/modern-technology.html" aria-label="Modern technology illustrations" target="_blank" itemtype="http://schema.org/relatedLink" itemscope > <h3 class="related-searches__keyword">Modern Technology</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/abstract-circuits.html" aria-label="Abstract circuits illustrations" target="_blank" itemtype="http://schema.org/relatedLink" itemscope > <h3 class="related-searches__keyword">Abstract Circuits</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/intelligence-themes.html" aria-label="Intelligence themes illustrations" target="_blank" itemtype="http://schema.org/relatedLink" itemscope > <h3 class="related-searches__keyword">Intelligence Themes</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/futuristic-technology-background.html" aria-label="Futuristic technology background illustrations" target="_blank" itemtype="http://schema.org/relatedLink" itemscope > <h3 class="related-searches__keyword">Futuristic Technology Background</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-workspace.html" aria-label="Digital workspace illustrations" target="_blank" itemtype="http://schema.org/relatedLink" itemscope > <h3 class="related-searches__keyword">Digital Workspace</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-patterns.html" aria-label="Digital patterns illustrations" target="_blank" itemtype="http://schema.org/relatedLink" itemscope > <h3 class="related-searches__keyword">Digital Patterns</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/artificial-intelligence-themes.html" aria-label="Artificial intelligence themes illustrations" target="_blank" itemtype="http://schema.org/relatedLink" itemscope > <h3 class="related-searches__keyword">Artificial Intelligence Themes</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/remote-work-culture.html" aria-label="Remote work culture illustrations" target="_blank" itemtype="http://schema.org/relatedLink" itemscope > <h3 class="related-searches__keyword">Remote Work Culture</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/savvy-canine.html" aria-label="Savvy canine illustrations" target="_blank" itemtype="http://schema.org/relatedLink" itemscope > <h3 class="related-searches__keyword">Savvy Canine</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-6adade7e363bb" > <button type="button" class="js-swipe-row-button" aria-label="Scroll previous" aria-controls="swiper-row-6adade7e363bb" ><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-6adade7e363bb" > <button type="button" class="js-swipe-row-button" aria-label="Scroll next" aria-controls="swiper-row-6adade7e363bb" 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/developer-coding-interface.html?pg=69" title="Page 69" 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/developer-coding-interface.html?pg=67" title="Page 67" ><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/developer-coding-interface.html?pg=64" title="Go to Page 64" >64</a> </li> <li> <a class="pagination__item pagination__item--page js-pg-list-item" href="https://www.dreamstime.com/illustration/developer-coding-interface.html?pg=65" title="Go to Page 65" >65</a> </li> <li> <a class="pagination__item pagination__item--page js-pg-list-item" href="https://www.dreamstime.com/illustration/developer-coding-interface.html?pg=66" title="Go to Page 66" >66</a> </li> <li> <a class="pagination__item pagination__item--page js-pg-list-item" href="https://www.dreamstime.com/illustration/developer-coding-interface.html?pg=67" title="Go to Page 67" >67</a> </li> <li> <a class="pagination__item pagination__item--page js-pg-list-item" href="https://www.dreamstime.com/illustration/developer-coding-interface.html?pg=68" title="Current page, Page 68" aria-current="page" data-state="active" >68</a> </li> <li> <a class="pagination__item pagination__item--page js-pg-list-item" href="https://www.dreamstime.com/illustration/developer-coding-interface.html?pg=69" title="Go to Page 69" >69</a> </li> <li> <a class="pagination__item pagination__item--page js-pg-list-item" href="https://www.dreamstime.com/illustration/developer-coding-interface.html?pg=70" title="Go to Page 70" >70</a> </li> <li> <a class="pagination__item pagination__item--page js-pg-list-item" href="https://www.dreamstime.com/illustration/developer-coding-interface.html?pg=71" title="Go to Page 71" >71</a> </li> <li> <a class="pagination__item pagination__item--page js-pg-list-item" href="https://www.dreamstime.com/illustration/developer-coding-interface.html?pg=72" title="Go to Page 72" >72</a> </li> <li> <a class="pagination__item pagination__item--page js-pg-list-item" href="https://www.dreamstime.com/illustration/developer-coding-interface.html?pg=73" title="Go to Page 73" >73</a> </li> </ul> <a class="pagination__item pagination__item--next js-pagination-next" href="https://www.dreamstime.com/illustration/developer-coding-interface.html?pg=69" title="Page 69" ><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":"Virtual Reality Technology Landing Page Banner with User Interacting with Digital Data Interface. A person wearing a virtual reality headset interacting with a", "url": "https://www.dreamstime.com/virtual-reality-technology-landing-page-banner-user-interacting-digital-data-interface-person-wearing-headset-computer-image473502614" },{ "@context":"https://schema.org", "@type":"ListItem", "position": 2, "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": 3, "name":"Dog in a Digital Workspace. A charming illustration of a dog using a laptop in a futuristic technology background filled with glowing digital patterns, abstract", "url": "https://www.dreamstime.com/dog-digital-workspace-charming-illustration-dog-using-laptop-futuristic-technology-background-filled-image429324611" },{ "@context":"https://schema.org", "@type":"ListItem", "position": 4, "name":"Dog in a Digital Workspace. A charming illustration of a dog using a laptop in a futuristic technology background filled with glowing digital patterns, abstract", "url": "https://www.dreamstime.com/dog-digital-workspace-charming-illustration-dog-using-laptop-futuristic-technology-background-filled-image429323693" },{ "@context":"https://schema.org", "@type":"ListItem", "position": 5, "name":"Dog in a Digital Workspace. A charming illustration of a dog using a laptop in a futuristic technology background filled with glowing digital patterns, abstract", "url": "https://www.dreamstime.com/dog-digital-workspace-charming-illustration-dog-using-laptop-futuristic-technology-background-filled-image429326372" },{ "@context":"https://schema.org", "@type":"ListItem", "position": 6, "name":"Dog in a Digital Workspace. A charming illustration of a dog using a laptop in a futuristic technology background filled with glowing digital patterns, abstract", "url": "https://www.dreamstime.com/dog-digital-workspace-charming-illustration-dog-using-laptop-futuristic-technology-background-filled-image429325762" },{ "@context":"https://schema.org", "@type":"ListItem", "position": 7, "name":"Dog in a Digital Workspace. A charming illustration of a dog using a laptop in a futuristic technology background filled with glowing digital patterns, abstract", "url": "https://www.dreamstime.com/dog-digital-workspace-charming-illustration-dog-using-laptop-futuristic-technology-background-filled-image429324865" },{ "@context":"https://schema.org", "@type":"ListItem", "position": 8, "name":"Command Prompt Terminal Icon Representing Programming and Software Development. A flat black and white terminal command prompt icon symbol for software", "url": "https://www.dreamstime.com/flat-black-white-terminal-command-prompt-icon-symbol-software-development-coding-command-prompt-terminal-icon-image479719652" },{ "@context":"https://schema.org", "@type":"ListItem", "position": 9, "name":"Lightning Bolt Inside Coding Brackets Vector Icon for Software Development and. A minimalist black vector icon featuring a lightning bolt symbol inside", "url": "https://www.dreamstime.com/lightning-bolt-inside-coding-brackets-vector-icon-software-development-minimalist-black-featuring-symbol-programming-image479697743" },{ "@context":"https://schema.org", "@type":"ListItem", "position": 10, "name":"Modern Laptop Displaying Code on Desk with Holographic UI Elements. A sleek, open laptop on a minimalist desk displays programming code and futuristic", "url": "https://www.dreamstime.com/modern-laptop-displaying-code-desk-holographic-ui-elements-sleek-open-minimalist-displays-programming-futuristic-image433928072" },{ "@context":"https://schema.org", "@type":"ListItem", "position": 11, "name":"Coding screens display programming code. Dimly lit workspace shows multiple computer monitors displaying complex code lines creating a focused atmosphere Ideal", "url": "https://www.dreamstime.com/coding-screens-display-programming-code-dimly-lit-workspace-shows-multiple-computer-monitors-displaying-complex-lines-creating-image462615328" },{ "@context":"https://schema.org", "@type":"ListItem", "position": 12, "name":"Web Development Icons Set in Line Style. A collection of web development icons in a line style, featuring various coding and browser symbols", "url": "https://www.dreamstime.com/collection-web-development-icons-line-style-featuring-various-coding-browser-symbols-web-development-icons-set-image459686330" },{ "@context":"https://schema.org", "@type":"ListItem", "position": 13, "name":"Digital Security and Mobile App Development Vector Illustration with Key and Smartphone. Woman holding a key icon and developer working on a smartphone screen", "url": "https://www.dreamstime.com/digital-security-mobile-app-development-vector-illustration-key-smartphone-woman-holding-icon-developer-working-image470117342" },{ "@context":"https://schema.org", "@type":"ListItem", "position": 14, "name":"Programming Development and Agriculture Vector Illustration Set for Web Landing Page Design. A developer working on code next to wheat stalks and a briefcase for", "url": "https://www.dreamstime.com/developer-working-code-next-to-wheat-stalks-briefcase-landing-page-banner-software-engineering-agricultural-image476204899" },{ "@context":"https://schema.org", "@type":"ListItem", "position": 15, "name":"Software Development and Technical Support Vector Illustration Set with Gear Icon. Gear icon and developer working on laptop vector illustration. Programming", "url": "https://www.dreamstime.com/software-development-technical-support-vector-illustration-set-gear-icon-gear-icon-developer-working-laptop-vector-image476797939" },{ "@context":"https://schema.org", "@type":"ListItem", "position": 16, "name":"PHP and MySQL Web Development Concept with Programmer and Elephant Vector Illustration. Programmer working on laptop with PHP elephant and MySQL dolphin vector", "url": "https://www.dreamstime.com/php-mysql-web-development-concept-programmer-elephant-vector-illustration-working-laptop-dolphin-software-engineering-image473153542" },{ "@context":"https://schema.org", "@type":"ListItem", "position": 17, "name":"Content Management System Development and Website Maintenance Vector Illustration. A scientist writing notes next to a developer building a digital currency", "url": "https://www.dreamstime.com/scientist-writing-notes-next-to-developer-building-digital-currency-symbol-cms-text-vector-illustration-web-development-image477525963" },{ "@context":"https://schema.org", "@type":"ListItem", "position": 18, "name":"HTML Programming Language Web Banner Set with Woman Character and Potted Plant Illustration. HTML programming language web banner set a woman character and", "url": "https://www.dreamstime.com/html-programming-language-web-banner-set-woman-character-potted-plant-illustration-html-programming-language-web-banner-image476969568" },{ "@context":"https://schema.org", "@type":"ListItem", "position": 19, "name":"Software Bug Debugging and Programming Error Vector Illustration for Web Landing Page Banner. Man thinking near a calculator and a flying bug icon for a web", "url": "https://www.dreamstime.com/man-thinking-near-calculator-flying-bug-icon-web-landing-page-banner-programming-software-development-debugging-image470683058" },{ "@context":"https://schema.org", "@type":"ListItem", "position": 20, "name":"Software Development and Programming Process Vector Illustration Set for Web Design. People working on software development and programming process vector", "url": "https://www.dreamstime.com/software-development-programming-process-vector-illustration-set-web-design-people-working-coding-technical-support-image469802682" },{ "@context":"https://schema.org", "@type":"ListItem", "position": 21, "name":"Creative Workspace: Design and Coding Setup. A top-down view of a creative workspace featuring two laptops, one displaying graphic design software with color", "url": "https://www.dreamstime.com/creative-workspace-design-coding-setup-top-down-view-featuring-two-laptops-one-displaying-graphic-software-color-image416250113" },{ "@context":"https://schema.org", "@type":"ListItem", "position": 22, "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": 23, "name":"Hands Typing on Laptop with Floating Cyber Security Icons. A close-up of a person s hands on a keyboard featuring a glowing blue interface with cloud, lock, and", "url": "https://www.dreamstime.com/hands-typing-laptop-floating-cyber-security-icons-close-up-person-s-keyboard-featuring-glowing-blue-interface-cloud-image448254693" },{ "@context":"https://schema.org", "@type":"ListItem", "position": 24, "name":"Cybersecurity and Password Protection Concept Vector Illustration with User and Developer. People using computers and password security vector illustration. Data", "url": "https://www.dreamstime.com/people-using-computers-password-security-vector-illustration-data-protection-digital-safety-account-access-web-development-image469017668" },{ "@context":"https://schema.org", "@type":"ListItem", "position": 25, "name":"3D glossy blue coding icon with brackets. Glossy blue square button featuring a white programming tag symbol. This modern 3D icon represents software development", "url": "https://www.dreamstime.com/glossy-blue-square-button-featuring-white-programming-tag-symbol-modern-d-icon-represents-software-development-web-image445350770" },{ "@context":"https://schema.org", "@type":"ListItem", "position": 26, "name":"Futuristic stipple background illustration displaying dots cyber matrix grids for software interfaces. Futuristic dots background illustration displaying stipple", "url": "https://www.dreamstime.com/futuristic-stipple-background-illustration-displaying-dots-cyber-matrix-grids-software-interfaces-designed-to-highlight-image468201087" },{ "@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":"Laptop Computer with Software Development Icons and Mute Symbol Vector Illustration. Laptop screen displaying code brackets with business planning and mute icons", "url": "https://www.dreamstime.com/laptop-computer-software-development-icons-mute-symbol-vector-illustration-screen-displaying-code-brackets-business-image475175606" },{ "@context":"https://schema.org", "@type":"ListItem", "position": 29, "name":"Cartoon Team Collaboration in Modern Office. Cartoon illustration of a diverse team collaborating in a modern, open-plan office. A woman presents project details", "url": "https://www.dreamstime.com/cartoon-illustration-diverse-team-collaborating-modern-open-plan-office-woman-presents-project-details-tablet-image416249084" },{ "@context":"https://schema.org", "@type":"ListItem", "position": 30, "name":"Minimalist Mobile App Development Coding Smartphone Setting Silhouette Glyph Icon. Black and white glyph icon showing mobile phone screen with programming code", "url": "https://www.dreamstime.com/black-white-glyph-icon-showing-mobile-phone-screen-programming-code-brackets-cogwheel-setting-notification-window-image480980719" },{ "@context":"https://schema.org", "@type":"ListItem", "position": 31, "name":"Software Development Concept with PHP Elephant and MySQL Dolphin Vector Illustration. Programmer working with PHP elephant and MySQL dolphin vector illustration", "url": "https://www.dreamstime.com/software-development-concept-php-elephant-mysql-dolphin-vector-illustration-programmer-working-web-database-management-image471351736" },{ "@context":"https://schema.org", "@type":"ListItem", "position": 32, "name":"Artificial Intelligence Development and Time Management Concept Vector Illustration. Wristwatch and developer working at a desk with AI chip icons vector", "url": "https://www.dreamstime.com/artificial-intelligence-development-time-management-concept-vector-illustration-wristwatch-developer-working-desk-ai-image475789633" },{ "@context":"https://schema.org", "@type":"ListItem", "position": 33, "name":"Software Development and User Experience Design Vector Illustration with Heart Icon. Heart icon and programmer working on a laptop vector illustration. Web", "url": "https://www.dreamstime.com/software-development-user-experience-design-vector-illustration-heart-icon-heart-icon-programmer-working-laptop-image476087962" },{ "@context":"https://schema.org", "@type":"ListItem", "position": 34, "name":"Software Development and Artificial Intelligence Technology Vector Illustration Set. Programmer working with PHP elephant and MySQL dolphin icons alongside AI", "url": "https://www.dreamstime.com/programmer-working-php-elephant-mysql-dolphin-icons-alongside-ai-search-tools-vector-illustration-web-development-image477527371" },{ "@context":"https://schema.org", "@type":"ListItem", "position": 35, "name":"C programming language logo on white button. This image shows a white button with the C++ logo on a black background. Featuring programming, language, coding", "url": "https://www.dreamstime.com/image-shows-white-button-c-logo-black-background-featuring-programming-language-coding-development-c-image431548014" },{ "@context":"https://schema.org", "@type":"ListItem", "position": 36, "name":"Business Growth and Software Development Vector Illustration Set for Web Landing Page Banners. Flat vector illustration set a flying developer and team meeting", "url": "https://www.dreamstime.com/flat-vector-illustration-set-flying-developer-team-meeting-web-landing-page-banners-innovation-startup-programming-image480173029" },{ "@context":"https://schema.org", "@type":"ListItem", "position": 37, "name":"Software Development Time Management Vector Banners with Programmer and Cloud Computing Icons. Programmer working with code and cloud computing icons vector", "url": "https://www.dreamstime.com/software-development-time-management-vector-banners-programmer-cloud-computing-icons-working-code-productivity-storage-image481434860" },{ "@context":"https://schema.org", "@type":"ListItem", "position": 38, "name":"Software Development Concept with PHP Elephant and MySQL Dolphin Vector Illustration. Programmer working with PHP elephant and MySQL dolphin icons near AI brain", "url": "https://www.dreamstime.com/software-development-concept-php-elephant-mysql-dolphin-vector-illustration-programmer-working-icons-near-ai-brain-web-image475829373" },{ "@context":"https://schema.org", "@type":"ListItem", "position": 39, "name":"Industrial Factory Icon and Software Developer Working on Laptop Vector Illustration. Factory icon and programmer working on a computer vector illustration", "url": "https://www.dreamstime.com/industrial-factory-icon-software-developer-working-laptop-vector-illustration-programmer-computer-manufacturing-image477599572" },{ "@context":"https://schema.org", "@type":"ListItem", "position": 40, "name":"Web Development and Digital Interface Design Vector Illustration Set for UI UX Projects. People interacting with digital interfaces and web elements vector", "url": "https://www.dreamstime.com/people-interacting-digital-interfaces-web-elements-vector-illustration-software-development-user-experience-website-image468966372" },{ "@context":"https://schema.org", "@type":"ListItem", "position": 41, "name":"Software developer typing on a modern computer keyboard. Generative AI. A close-up view of a developer s hands working on a sleek keyboard with a green screen in", "url": "https://www.dreamstime.com/software-developer-typing-modern-computer-keyboard-generative-ai-close-up-view-s-hands-working-sleek-green-screen-image459060456" },{ "@context":"https://schema.org", "@type":"ListItem", "position": 42, "name":"PHP and MySQL Database Development Concept with Elephant and Dolphin Vector Illustration. Developers working with PHP and MySQL database technology vector", "url": "https://www.dreamstime.com/php-mysql-database-development-concept-elephant-dolphin-vector-illustration-developers-working-technology-web-programming-image480193429" },{ "@context":"https://schema.org", "@type":"ListItem", "position": 43, "name":"Set of black linear software development and programming icons on white background. Collection of outline icons representing various software development, coding", "url": "https://www.dreamstime.com/set-black-linear-software-development-programming-icons-white-background-collection-outline-icons-representing-image476820097" },{ "@context":"https://schema.org", "@type":"ListItem", "position": 44, "name":"Magnifying Glass With Code Symbol Programming Search Development Debugging Concept. Magnifying glass icon with code symbol representing programming, debugging", "url": "https://www.dreamstime.com/magnifying-glass-code-symbol-programming-search-development-debugging-concept-icon-representing-processes-ideal-image451115174" },{ "@context":"https://schema.org", "@type":"ListItem", "position": 45, "name":"Customer Support and Software Development Vector Illustration Set with Checkmark Icon. Customer support agent and software developer vector illustration", "url": "https://www.dreamstime.com/customer-support-agent-software-developer-vector-illustration-technical-assistance-remote-work-programming-web-development-image475796571" },{ "@context":"https://schema.org", "@type":"ListItem", "position": 46, "name":"Programmer coding in C plus plus language on a modern laptop. A person is typing on a laptop displaying code and a glowing C plus plus icon with additional", "url": "https://www.dreamstime.com/programmer-coding-c-plus-language-modern-laptop-person-typing-displaying-code-glowing-icon-additional-virtual-image455511042" },{ "@context":"https://schema.org", "@type":"ListItem", "position": 47, "name":"Digital Love and Online Communication Vector Illustration Set People Using Technology. Person holding a heart icon and developer working on a laptop vector", "url": "https://www.dreamstime.com/digital-love-online-communication-vector-illustration-set-people-using-technology-person-holding-heart-icon-developer-image476994673" },{ "@context":"https://schema.org", "@type":"ListItem", "position": 48, "name":"Programmer Typing on Dual Keyboards with Code. Hands typing on two keyboards with coding screens", "url": "https://www.dreamstime.com/programmer-typing-dual-keyboards-code-hands-two-coding-screens-image426597123" },{ "@context":"https://schema.org", "@type":"ListItem", "position": 49, "name":"Programming Development and Automated Manufacturing Technology Vector Illustration Set. Software development and industrial automation vector illustration. Web", "url": "https://www.dreamstime.com/programming-development-automated-manufacturing-technology-vector-illustration-set-software-industrial-automation-web-database-image473828451" },{ "@context":"https://schema.org", "@type":"ListItem", "position": 50, "name":"Coding in the Neon City. A close-up shot of hands typing on a glowing keyboard, with a computer screen displaying lines of code in the foreground. The background", "url": "https://www.dreamstime.com/close-up-shot-hands-typing-glowing-keyboard-computer-screen-displaying-lines-code-foreground-background-image402482624" },{ "@context":"https://schema.org", "@type":"ListItem", "position": 51, "name":"3D Isometric Purple Code Programming Symbol. Bold purple brackets representing software development and computer programming. This sleek 3D icon serves as a", "url": "https://www.dreamstime.com/bold-purple-brackets-representing-software-development-computer-programming-sleek-d-icon-serves-as-modern-visual-image445350774" },{ "@context":"https://schema.org", "@type":"ListItem", "position": 52, "name":"Minimalist App Development And Programming Glyph Icon Set For Mobile Software Design. Black and white flat glyph icon set featuring mobile application", "url": "https://www.dreamstime.com/minimalist-app-development-programming-glyph-icon-set-mobile-software-design-black-white-flat-glyph-icon-set-featuring-image479048422" },{ "@context":"https://schema.org", "@type":"ListItem", "position": 53, "name":"Minimalist Outline Coding Laptop Computer Programmer Web Development Technology Icon. Minimalist line icon depicting a laptop computer with programming code", "url": "https://www.dreamstime.com/minimalist-line-icon-depicting-laptop-computer-programming-code-brackets-screen-software-development-web-design-image481852036" },{ "@context":"https://schema.org", "@type":"ListItem", "position": 54, "name":"Young male programmer working on laptop with coding and technology icons around him. Man focused on computer code with gears, binary numbers, and tech symbols", "url": "https://www.dreamstime.com/young-male-programmer-working-laptop-coding-technology-icons-around-him-man-focused-computer-code-gears-binary-numbers-image460680163" },{ "@context":"https://schema.org", "@type":"ListItem", "position": 55, "name":"Software Debugging and Programming Concept Vector Illustration for Web Landing Page Banner Design. A person fixing a software bug with a lightbulb idea for a", "url": "https://www.dreamstime.com/software-debugging-programming-concept-vector-illustration-web-landing-page-banner-design-person-fixing-bug-image470201688" },{ "@context":"https://schema.org", "@type":"ListItem", "position": 56, "name":"Blank Paper Scroll and People Working on Laptops Vector Illustration Set for Web Design. Blank paper scroll and people working on laptops vector illustration", "url": "https://www.dreamstime.com/blank-paper-scroll-people-working-laptops-vector-illustration-set-web-design-blank-paper-scroll-people-working-image474015536" },{ "@context":"https://schema.org", "@type":"ListItem", "position": 57, "name":"3D Blue Coding Icon for Software Development. Glossy blue square button featuring a white code bracket symbol representing programming and software engineering", "url": "https://www.dreamstime.com/d-blue-coding-icon-software-development-glossy-blue-square-button-featuring-white-code-bracket-symbol-representing-image445350750" },{ "@context":"https://schema.org", "@type":"ListItem", "position": 58, "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": 59, "name":"Set of Abstract Vector Illustrations Vitamin D Molecule, Software Developer, and Happy happy Face. Collection of diverse icons and vector illustration. Education", "url": "https://www.dreamstime.com/set-abstract-vector-illustrations-vitamin-d-molecule-software-developer-happy-happy-face-collection-diverse-icons-image469404387" },{ "@context":"https://schema.org", "@type":"ListItem", "position": 60, "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": 61, "name":"Data Analytics and Software Development Concept with Vehicle Checklist and Alternative Energy Design. Vehicle selection, coding education, energy solutions", "url": "https://www.dreamstime.com/vehicle-selection-coding-education-energy-solutions-software-management-data-analysis-user-decisions-man-holding-plug-near-ideas-image480395587" },{ "@context":"https://schema.org", "@type":"ListItem", "position": 62, "name":"Programmer Working on Computer with CEX Exchange and MySQL Database Vector Illustration. Person working at a computer with a CEX exchange and MySQL dolphin logo", "url": "https://www.dreamstime.com/programmer-working-computer-cex-exchange-mysql-database-vector-illustration-person-dolphin-logo-software-image475726765" },{ "@context":"https://schema.org", "@type":"ListItem", "position": 63, "name":"Female Programmer Working on Laptop. Illustration of a woman working on a laptop, likely a programmer or developer. She is sitting at a desk with a cup of coffee", "url": "https://www.dreamstime.com/illustration-woman-sitting-desk-coding-laptop-coffee-cup-nearby-showcasing-modern-work-environment-image413304335" },{ "@context":"https://schema.org", "@type":"ListItem", "position": 64, "name":"Female Programmer Working on Laptop Illustration. Illustration of a woman working on a laptop, surrounded by coding symbols and colorful geometric shapes. The", "url": "https://www.dreamstime.com/illustration-woman-focused-her-laptop-surrounded-various-coding-symbols-colorful-abstract-geometric-shapes-image413304356" },{ "@context":"https://schema.org", "@type":"ListItem", "position": 65, "name":"Outline Handdrawn Code Programming Symbol Icon. A black and white hand-drawn style outline icon representing programming code, featuring angle brackets and a", "url": "https://www.dreamstime.com/outline-handdrawn-code-programming-symbol-icon-black-white-hand-drawn-style-representing-featuring-angle-brackets-forward-image462502838" },{ "@context":"https://schema.org", "@type":"ListItem", "position": 66, "name":"Web Development and Digital Profit Strategy Vector Illustration Set for Business Growth. People building mobile applications and analyzing website data vector", "url": "https://www.dreamstime.com/web-development-digital-profit-strategy-vector-illustration-set-business-growth-people-building-mobile-applications-image477218191" },{ "@context":"https://schema.org", "@type":"ListItem", "position": 67, "name":"Set of Software Development and Programming Vector Icons for Technology and Web Projects. A collection of black and white line art icons representing various", "url": "https://www.dreamstime.com/set-software-development-programming-vector-icons-technology-web-projects-collection-black-white-line-art-image476866660" },{ "@context":"https://schema.org", "@type":"ListItem", "position": 68, "name":"A dedicated programmer codes late into the night. A close-up view shows a focused developer intently typing code on a laptop keyboard during dark hours. This", "url": "https://www.dreamstime.com/close-up-view-shows-focused-developer-intently-typing-code-laptop-keyboard-dark-hours-scene-perfectly-captures-image415938722" },{ "@context":"https://schema.org", "@type":"ListItem", "position": 69, "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": 70, "name":"Communication and Software Development Icons Set Vector Illustration for Digital Projects. Speech bubble and developer working on laptop vector illustration", "url": "https://www.dreamstime.com/speech-bubble-developer-working-laptop-vector-illustration-messaging-programming-software-engineering-digital-communication-image470860663" },{ "@context":"https://schema.org", "@type":"ListItem", "position": 71, "name":"Web Development and Project Management Landing Page Vector Illustration Set for Software Planning. Vector illustration set a calendar, chat bubbles, and code", "url": "https://www.dreamstime.com/web-development-project-management-landing-page-vector-illustration-set-software-planning-calendar-chat-bubbles-code-image479687246" },{ "@context":"https://schema.org", "@type":"ListItem", "position": 72, "name":"Black Solid Silhouette Programming And Software Development Icon Set Symbol Collection. Minimalist black solid silhouette programming icon set featuring software", "url": "https://www.dreamstime.com/black-solid-silhouette-programming-software-development-icon-set-symbol-collection-minimalist-black-solid-silhouette-image479049642" },{ "@context":"https://schema.org", "@type":"ListItem", "position": 73, "name":"Young Male Programmer Coding, Working on Laptop with Digital Circuit and Gear Elements. Man in glasses using laptop, surrounded by digital symbols, gears, and", "url": "https://www.dreamstime.com/young-male-programmer-coding-working-laptop-digital-circuit-gear-elements-man-glasses-using-laptop-surrounded-image460680165" },{ "@context":"https://schema.org", "@type":"ListItem", "position": 74, "name":"Modern Workspace Flat Design Illustration for Web Design. A flat design vector illustration of a modern and clean workspace. The scene features a white desk with", "url": "https://www.dreamstime.com/modern-workspace-flat-design-illustration-web-design-flat-design-vector-illustration-modern-clean-workspace-image413687445" },{ "@context":"https://schema.org", "@type":"ListItem", "position": 75, "name":"Modern multi-monitor computer setup in dark room with futuristic interface. A sleek, high-tech workspace features multiple monitors displaying futuristic", "url": "https://www.dreamstime.com/modern-multi-monitor-computer-setup-dark-room-futuristic-interface-sleek-high-tech-workspace-features-multiple-monitors-image427909865" },{ "@context":"https://schema.org", "@type":"ListItem", "position": 76, "name":"Modern App Development and Coding Illustration. A visual representation of app development, showcasing code on a laptop screen alongside a smartphone displaying", "url": "https://www.dreamstime.com/modern-app-development-coding-illustration-visual-representation-showcasing-code-laptop-screen-alongside-smartphone-image451381880" },{ "@context":"https://schema.org", "@type":"ListItem", "position": 77, "name":"Customer Support and Software Development Vector Illustration Set for Business Technology. People working on laptops with headsets and coding icons vector", "url": "https://www.dreamstime.com/customer-support-software-development-vector-illustration-set-business-technology-people-working-laptops-headsets-image474634967" },{ "@context":"https://schema.org", "@type":"ListItem", "position": 78, "name":"Modern software development workspace with computer monitor laptop and coding graphics. A contemporary office desk features a large computer screen, a portable", "url": "https://www.dreamstime.com/contemporary-office-desk-features-large-computer-screen-portable-laptop-open-notebook-closed-tome-illuminated-soft-image472807071" },{ "@context":"https://schema.org", "@type":"ListItem", "position": 79, "name":"Minimalist Outline Smartphone Coding Tag Programming Symbol Mobile App Development Icon. Minimalist black outline icon depicting a modern smartphone with code", "url": "https://www.dreamstime.com/minimalist-outline-smartphone-coding-tag-programming-symbol-mobile-app-development-icon-black-depicting-modern-code-image481977525" },{ "@context":"https://schema.org", "@type":"ListItem", "position": 80, "name":"Web Development Targeting Icons Set for Landing Page Banner Design and Software Programming Concept. Minimalist web development icons target and code brackets", "url": "https://www.dreamstime.com/web-development-targeting-icons-set-landing-page-banner-design-software-programming-concept-minimalist-web-development-image475756651" } ] } </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%2Fdeveloper-coding-interface.html%3Fpg%3D68&description=Download+Developer+Coding+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+Developer+Coding+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%2Fdeveloper-coding-interface.html%3Fpg%3D68\" 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%2Fdeveloper-coding-interface.html%3Fpg%3D68&summary=Download+Developer+Coding+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%2Fdeveloper-coding-interface.html%3Fpg%3D68&media=https%3A%2F%2Fthumbs.dreamstime.com%2Fb%2Fvirtual-reality-technology-landing-page-banner-user-interacting-digital-data-interface-person-wearing-headset-computer-473502614.jpg&description=Download+Developer+Coding+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%2Fdeveloper-coding-interface.html%3Fpg%3D68\" 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%2Fdeveloper-coding-interface.html%3Fpg%3D68&t=Download+Developer+Coding+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%2Fdeveloper-coding-interface.html%3Fpg%3D68&caption=Developer+Coding+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%2Fdeveloper-coding-interface.html%3Fpg%3D68&title=Developer+Coding+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=Developer%20Coding%20Interface%20Images%20from%20Dreamstime&body=Hey%21%20I%20found%20some%20amazing%20photos%20related%20to%20Developer%20Coding%20Interface%20on%20Dreamstime.%20Have%20a%20look%3A%20https%3A%2F%2Fwww.dreamstime.com%2Fillustration%2Fdeveloper-coding-interface.html%3Fpg%3D68\" 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\/developer-coding-interface.html?pg=68<\/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\/developer-coding-interface.html","pt":"https:\/\/pt.dreamstime.com\/illustration\/colaborador.html","de":"https:\/\/de.dreamstime.com\/illustration\/entwickler.html","es":"https:\/\/es.dreamstime.com\/illustration\/revelador.html","it":"https:\/\/it.dreamstime.com\/illustration\/sviluppatore.html","nl":"https:\/\/www.dreamstime.com\/nl\/illustration\/ontwikkelaar.html","fr":"https:\/\/fr.dreamstime.com\/illustration\/r\u00e9alisateur.html","ru":"https:\/\/ru.dreamstime.com\/illustration\/\u043f\u0440\u043e\u044f\u0432\u0438\u0442\u0435\u043b\u044c.html","gr":"https:\/\/gr.dreamstime.com\/illustration\/\u03c0\u03c1\u03bf\u03b3\u03c1\u03b1\u03bc\u03bc\u03b1\u03c4\u03b9\u03c3\u03c4\u03ae\u03c2.html","cn":"https:\/\/cn.dreamstime.com\/illustration\/\u5f00\u53d1\u5458.html","pl":"https:\/\/pl.dreamstime.com\/illustration\/deweloper.html","se":"https:\/\/se.dreamstime.com\/illustration\/b\u00e4rare.html","ro":"https:\/\/ro.dreamstime.com\/illustration\/dezvoltator.html","sk":"https:\/\/sk.dreamstime.com\/illustration\/v\u00fdvoj\u00e1r.html","cz":"https:\/\/cz.dreamstime.com\/illustration\/v\u00fdvoj\u00e1.html","jp":"https:\/\/www.dreamstime.com\/jp\/illustration\/\u958b\u767a\u8005.html","kr":"https:\/\/www.dreamstime.com\/kr\/illustration\/\uac1c\ubc1c\uc790.html","ar":"https:\/\/ar.dreamstime.com\/illustration\/\u0645\u0637\u0648\u0631.html","hi":"https:\/\/hi.dreamstime.com\/illustration\/\u0921\u0947\u0935\u0932\u092a\u0930.html","tr":"https:\/\/tr.dreamstime.com\/illustration\/gelitirici.html","id":"https:\/\/id.dreamstime.com\/illustration\/pengembang.html","dk":"https:\/\/dk.dreamstime.com\/illustration\/udvikler.html","no":"https:\/\/www.dreamstime.com\/no\/illustration\/utvikler.html","he":"https:\/\/www.dreamstime.com\/he\/illustration\/\u05de\u05e4\u05ea\u05d7.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: '6430b2b320655951b389d7f6993548f5', cacheDriver: 'ap', }; var securitycheck = '6430b2b320655951b389d7f6993548f5'; 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: "developer coding interface", firstvalue: "", lastsearchvalue: "developer coding interface", s_all: "", s_ph: "", s_il: "y", s_video: "", s_audio: "", s_ad: "", s_free: "", securitycheck: "6430b2b320655951b389d7f6993548f5", 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>