1<!DOCTYPE html> 2<html lang="en"> 3 4<head> 5 6 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> 7 <title>Contact Us | IT Craft</title><link rel="preload" data-rocket-preload as="style" href="https://fonts.googleapis.com/css2?family=Montserrat:wght@400;500;700;800&display=swap" /><link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Montserrat:wght@400;500;700;800&display=swap" media="print" onload="this.media='all'" /><noscript><link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Montserrat:wght@400;500;700;800&display=swap" /></noscript> 8 <meta name='robots' content='index, follow, max-image-preview:large, max-snippet:-1, max-video-preview:-1' /> 9 10
10<script data-no-defer="1" data-ezscrex="false" data-cfasync="false" data-pagespeed-no-defer data-cookieconsent="ignore"> 11 var ctPublicFunctions = {"_ajax_nonce":"8567f49313","_rest_nonce":"eded12d050","_ajax_url":"\/wp-admin\/admin-ajax.php","_rest_url":"https:\/\/itechcraft.com\/wp-json\/","data__cookies_type":"none","data__ajax_type":"admin_ajax","text__wait_for_decoding":"Decoding the contact data, let us a few seconds to finish. Anti-Spam by CleanTalk","cookiePrefix":"","wprocket_detected":true,"host_url":"itechcraft.com"} 12 </script>
12 13 14
14<script data-no-defer="1" data-ezscrex="false" data-cfasync="false" data-pagespeed-no-defer data-cookieconsent="ignore"> 15 var ctPublic = {"_ajax_nonce":"8567f49313","settings__forms__check_internal":"0","settings__forms__check_external":"0","settings__forms__search_test":"0","settings__data__bot_detector_enabled":"0","blog_home":"https:\/\/itechcraft.com\/","pixel__setting":"0","pixel__enabled":false,"pixel__url":null,"data__email_check_before_post":"1","data__email_check_exist_post":0,"data__cookies_type":"none","data__key_is_ok":true,"data__visible_fields_required":true,"wl_brandname":"Anti-Spam by CleanTalk","wl_brandname_short":"CleanTalk","ct_checkjs_key":"736a140baa1965bc59bfd4f93371963d1f2c2d49bf25bebfffa877bd63455747","emailEncoderPassKey":"47d36ff1b6a0c4c64ded1d63223cec40","bot_detector_forms_excluded":"W10=","advancedCacheExists":true,"varnishCacheExists":false,"wc_ajax_add_to_cart":false} 16 </script>
16 17 18 <!-- This site is optimized with the Yoast SEO plugin v22.5 - https://yoast.com/wordpress/plugins/seo/ --> 19 <meta name="description" content="Get in touch with our software development company via this contact form. We contact back in one business day to discuss details." /> 20 <link rel="canonical" href="https://itechcraft.com/contact/" /> 21 <meta property="og:locale" content="en_GB" /> 22 <meta property="og:type" content="article" /> 23 <meta property="og:title" content="Contact Us" /> 24 <meta property="og:description" content="Get in touch with our software development company via this contact form. We contact back in one business day to discuss details." /> 25 <meta property="og:url" content="https://itechcraft.com/contact/" /> 26 <meta property="og:site_name" content="IT Craft" /> 27 <meta property="article:publisher" content="https://www.facebook.com/itechcraft" /> 28 <meta property="article:modified_time" content="2024-09-25T08:36:24+00:00" /> 29 <meta property="og:image" content="https://itechcraft.com/wp-content/uploads/2024/09/Contact-Us.jpg" /> 30 <meta property="og:image:width" content="1230" /> 31 <meta property="og:image:height" content="624" /> 32 <meta property="og:image:type" content="image/jpeg" /> 33 <meta name="twitter:card" content="summary_large_image" /> 34 <meta name="twitter:site" content="@itechcraftcom" /> 35
35<script type="application/ld+json" class="yoast-schema-graph">{"@context":"https://schema.org","@graph":[{"@type":"WebPage","@id":"https://itechcraft.com/contact/","url":"https://itechcraft.com/contact/","name":"Contact Us | IT Craft","isPartOf":{"@id":"https://itechcraft.com/#website"},"datePublished":"2012-05-02T11:10:54+00:00","dateModified":"2024-09-25T08:36:24+00:00","description":"Get in touch with our software development company via this contact form. We contact back in one business day to discuss details.","breadcrumb":{"@id":"https://itechcraft.com/contact/#breadcrumb"},"inLanguage":"en-GB","potentialAction":[{"@type":"ReadAction","target":["https://itechcraft.com/contact/"]}]},{"@type":"BreadcrumbList","@id":"https://itechcraft.com/contact/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https://itechcraft.com/"},{"@type":"ListItem","position":2,"name":"Contact"}]},{"@type":"WebSite","@id":"https://itechcraft.com/#website","url":"https://itechcraft.com/","name":"IT Craft","description":"Software Development Services","publisher":{"@id":"https://itechcraft.com/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https://itechcraft.com/?s={search_term_string}"},"query-input":"required name=search_term_string"}],"inLanguage":"en-GB"},{"@type":"Organization","@id":"https://itechcraft.com/#organization","name":"IT Craft","url":"https://itechcraft.com/","logo":{"@type":"ImageObject","inLanguage":"en-GB","@id":"https://itechcraft.com/#/schema/logo/image/","url":"https://itechcraft.com/wp-content/uploads/2023/10/logo.png","contentUrl":"https://itechcraft.com/wp-content/uploads/2023/10/logo.png","width":360,"height":160,"caption":"IT Craft"},"image":{"@id":"https://itechcraft.com/#/schema/logo/image/"},"sameAs":["https://www.facebook.com/itechcraft","https://x.com/itechcraftcom"]}]}</script>
35 36 <!-- / Yoast SEO plugin. --> 37 38 39<link href='https://fonts.gstatic.com' crossorigin rel='preconnect' /> 40<link rel="alternate" type="application/rss+xml" title="IT Craft » Contact Comments Feed" href="https://itechcraft.com/contact/feed/" /> 41<style type="text/css"> 42img.wp-smiley, 43img.emoji { 44 display: inline !important; 45 border: none !important; 46 box-shadow: none !important; 47 height: 1em !important; 48 width: 1em !important; 49 margin: 0 0.07em !important; 50 vertical-align: -0.1em !important; 51 background: none !important; 52 padding: 0 !important; 53} 54</style> 55 <style id='classic-theme-styles-inline-css' type='text/css'> 56/*! This file is auto-generated */ 57.wp-block-button__link{color:#fff;background-color:#32373c;border-radius:9999px;box-shadow:none;text-decoration:none;padding:calc(.667em + 2px) calc(1.333em + 2px);font-size:1.125em}.wp-block-file__button{background:#32373c;color:#fff;text-decoration:none} 58</style> 59<style id='global-styles-inline-css' type='text/css'> 60body{--wp--preset--color--black: #000000;--wp--preset--color--cyan-bluish-gray: #abb8c3;--wp--preset--color--white: #ffffff;--wp--preset--color--pale-pink: #f78da7;--wp--preset--color--vivid-red: #cf2e2e;--wp--preset--color--luminous-vivid-orange: #ff6900;--wp--preset--color--luminous-vivid-amber: #fcb900;--wp--preset--color--light-green-cyan: #7bdcb5;--wp--preset--color--vivid-green-cyan: #00d084;--wp--preset--color--pale-cyan-blue: #8ed1fc;--wp--preset--color--vivid-cyan-blue: #0693e3;--wp--preset--color--vivid-purple: #9b51e0;--wp--preset--gradient--vivid-cyan-blue-to-vivid-purple: linear-gradient(135deg,rgba(6,147,227,1) 0%,rgb(155,81,224) 100%);--wp--preset--gradient--light-green-cyan-to-vivid-green-cyan: linear-gradient(135deg,rgb(122,220,180) 0%,rgb(0,208,130) 100%);--wp--preset--gradient--luminous-vivid-amber-to-luminous-vivid-orange: linear-gradient(135deg,rgba(252,185,0,1) 0%,rgba(255,105,0,1) 100%);--wp--preset--gradient--luminous-vivid-orange-to-vivid-red: linear-gradient(135deg,rgba(255,105,0,1) 0%,rgb(207,46,46) 100%);--wp--preset--gradient--very-light-gray-to-cyan-bluish-gray: linear-gradient(135deg,rgb(238,238,238) 0%,rgb(169,184,195) 100%);
60--wp--preset--gradient--cool-to-warm-spectrum: linear-gradient(135deg,rgb(74,234,220) 0%,rgb(151,120,209) 20%,rgb(207,42,186) 40%,rgb(238,44,130) 60%,rgb(251,105,98) 80%,rgb(254,248,76) 100%);--wp--preset--gradient--blush-light-purple: linear-gradient(135deg,rgb(255,206,236) 0%,rgb(152,150,240) 100%);--wp--preset--gradient--blush-bordeaux: linear-gradient(135deg,rgb(254,205,165) 0%,rgb(254,45,45) 50%,rgb(107,0,62) 100%);--wp--preset--gradient--luminous-dusk: linear-gradient(135deg,rgb(255,203,112) 0%,rgb(199,81,192) 50%,rgb(65,88,208) 100%);--wp--preset--gradient--pale-ocean: linear-gradient(135deg,rgb(255,245,203) 0%,rgb(182,227,212) 50%,rgb(51,167,181) 100%);--wp--preset--gradient--electric-grass: linear-gradient(135deg,rgb(202,248,128) 0%,rgb(113,206,126) 100%);--wp--preset--gradient--midnight: linear-gradient(135deg,rgb(2,3,129) 0%,rgb(40,116,252) 100%);--wp--preset--font-size--small: 13px;--wp--preset--font-size--medium: 20px;--wp--preset--font-size--large: 36px;--wp--preset--font-size--x-large: 42px;--wp--preset--spacing--20: 0.44rem;--wp--preset--spacing--30: 0.67rem;--wp--preset--spacing--40: 1rem;--wp--preset--spacing--50: 1.5rem;--wp--preset--spacing--60: 2.25rem;--wp--preset--spacing--70: 3.38rem;--wp--preset--spacing--80: 5.06rem;--wp--preset--shadow--natural: 6px 6px 9px rgba(0, 0, 0, 0.2);--wp--preset--shadow--deep: 12px 12px 50px rgba(0, 0, 0, 0.4);--wp--preset--shadow--sharp: 6px 6px 0px rgba(0, 0, 0, 0.2);--wp--preset--shadow--outlined: 6px 6px 0px -3px rgba(255, 255, 255, 1), 6px 6px rgba(0, 0, 0, 1);--wp--preset--shadow--crisp: 6px 6px 0px rgba(0, 0, 0, 1);}:where(.is-layout-flex){gap: 0.5em;}:where(.is-layout-grid){gap: 0.5em;}body .is-layout-flow > .alignleft{float: left;margin-inline-start: 0;margin-inline-end: 2em;}body .is-layout-flow > .alignright{float: right;margin-inline-start: 2em;margin-inline-end: 0;}body .is-layout-flow > .aligncenter{margin-left: auto !important;margin-right: auto !important;}body .is-layout-constrained > .alignleft{float: left;margin-inline-start: 0;margin-inline-end: 2em;}body .is-layout-constrained > .alignright{float: right;margin-inline-start: 2em;margin-inline-end: 0;}body .is-layout-constrained > .aligncenter{margin-left: auto !important;margin-right: auto !important;}body .is-layout-constrained > :where(:not(.alignleft):not(.alignright):not(.alignfull)){max-width: var(--wp--style--global--content-size);margin-left: auto !important;margin-right: auto !important;}body .is-layout-constrained > .alignwide{max-width: var(--wp--style--global--wide-size);}body .is-layout-flex{display: flex;}body .is-layout-flex{flex-wrap: wrap;align-items: center;}body .is-layout-flex > *{margin: 0;}body .is-layout-grid{display: grid;}body .is-layout-grid > *{margin: 0;}:where(.wp-block-columns.is-layout-flex){gap: 2em;}:where(.wp-block-columns.is-layout-grid){gap: 2em;}:where(.wp-block-post-template.is-layout-flex){gap: 1.25em;}:where(.wp-block-post-template.is-layout-grid){gap: 1.25em;}.has-black-color{color: var(--wp--preset--color--black) !important;}.has-cyan-bluish-gray-color{color: var(--wp--preset--color--cyan-bluish-gray) !important;}.has-white-color{color: var(--wp--preset--color--white) !important;}.has-pale-pink-color{color: var(--wp--preset--color--pale-pink) !important;}.has-vivid-red-color{color: var(--wp--preset--color--vivid-red) !important;}.has-luminous-vivid-orange-color{color: var(--wp--preset--color--luminous-vivid-orange) !important;}.has-luminous-vivid-amber-color{color: var(--wp--preset--color--luminous-vivid-amber) !important;}.has-light-green-cyan-color{color: var(--wp--preset--color--light-green-cyan) !important;}.has-vivid-green-cyan-color{color: var(--wp--preset--color--vivid-green-cyan) !important;}.has-pale-cyan-blue-color{color: var(--wp--preset--color--pale-cyan-blue) !important;}.has-vivid-cyan-blue-color{color: var(--wp--preset--color--vivid-cyan-blue) !important;}.has-vivid-purple-color{color: var(--wp--preset--color--vivid-purple) !important;}.has-black-background-color{background-color: var(--wp--preset--color--black) !important;}.has-cyan-bluish-gray-background-color{background-color: var(--wp--preset--color--cyan-bluish-gray) !important;}.has-white-background-color{background-color: var(--wp--preset--color--white) !important;}.has-pale-pink-background-color{background-color: var(--wp--preset--color--pale-pink) !important;}.has-vivid-red-background-color{background-color: var(--wp--preset--color--vivid-red) !important;}.has-luminous-vivid-orange-background-color{background-color: var(--wp--preset--color--luminous-vivid-orange) !important;}.has-luminous-vivid-amber-background-color{background-color: var(--wp--preset--color--luminous-vivid-amber) !important;}.has-light-green-cyan-background-color{background-color: var(--wp--preset--color--light-green-cyan) !important;}.has-vivid-green-cyan-background-color{background-color: var(--wp--preset--color--vivid-green-cyan) !important;}.has-pale-cyan-blue-background-color{background-color: var(--wp--preset--color--pale-cyan-blue) !important;}.has-vivid-cyan-blue-background-color{background-color: var(--wp--preset--color--vivid-cyan-blue) !important;}.has-vivid-purple-background-color{background-color: var(--wp--preset--color--vivid-purple) !important;}.has-black-border-color{border-color: var(--wp--preset--color--black) !important;}.has-cyan-bluish-gray-border-color{border-color: var(--wp--preset--color--cyan-bluish-gray) !important;}.has-white-border-color{border-color: var(--wp--preset--color--white) !important;}.has-pale-pink-border-color{border-color: var(--wp--preset--color--pale-pink) !important;}.has-vivid-red-border-color{border-color: var(--wp--preset--color--vivid-red) !important;}.has-luminous-vivid-orange-border-color{border-color: var(--wp--preset--color--luminous-vivid-orange) !important;}.has-luminous-vivid-amber-border-color{border-color: var(--wp--preset--color--luminous-vivid-amber) !important;}.has-light-green-cyan-border-color{border-color: var(--wp--preset--color--light-green-cyan) !important;}.has-vivid-green-cyan-border-color{border-color: var(--wp--preset--color--vivid-green-cyan) !important;}.has-pale-cyan-blue-border-color{border-color: var(--wp--preset--color--pale-cyan-blue) !important;}.has-vivid-cyan-blue-border-color{border-color: var(--wp--preset--color--vivid-cyan-blue) !important;}.has-vivid-purple-border-color{border-color: var(--wp--preset--color--vivid-purple) !important;}.has-vivid-cyan-blue-to-vivid-purple-gradient-background{background: var(--wp--preset--gradient--vivid-cyan-blue-to-vivid-purple) !important;}.has-light-green-cyan-to-vivid-green-cyan-gradient-background{background: var(--wp--preset--gradient--light-green-cyan-to-vivid-green-cyan) !important;}.has-luminous-vivid-amber-to-luminous-vivid-orange-gradient-background{background: var(--wp--preset--gradient--luminous-vivid-amber-to-luminous-vivid-orange) !important;}.has-luminous-vivid-orange-to-vivid-red-gradient-background{background: var(--wp--preset--gradient--luminous-vivid-orange-to-vivid-red) !important;}
60.has-very-light-gray-to-cyan-bluish-gray-gradient-background{background: var(--wp--preset--gradient--very-light-gray-to-cyan-bluish-gray) !important;}.has-cool-to-warm-spectrum-gradient-background{background: var(--wp--preset--gradient--cool-to-warm-spectrum) !important;}.has-blush-light-purple-gradient-background{background: var(--wp--preset--gradient--blush-light-purple) !important;}.has-blush-bordeaux-gradient-background{background: var(--wp--preset--gradient--blush-bordeaux) !important;}.has-luminous-dusk-gradient-background{background: var(--wp--preset--gradient--luminous-dusk) !important;}.has-pale-ocean-gradient-background{background: var(--wp--preset--gradient--pale-ocean) !important;}.has-electric-grass-gradient-background{background: var(--wp--preset--gradient--electric-grass) !important;}.has-midnight-gradient-background{background: var(--wp--preset--gradient--midnight) !important;}.has-small-font-size{font-size: var(--wp--preset--font-size--small) !important;}.has-medium-font-size{font-size: var(--wp--preset--font-size--medium) !important;}.has-large-font-size{font-size: var(--wp--preset--font-size--large) !important;}.has-x-large-font-size{font-size: var(--wp--preset--font-size--x-large) !important;} 61.wp-block-navigation a:where(:not(.wp-element-button)){color: inherit;} 62:where(.wp-block-post-template.is-layout-flex){gap: 1.25em;}:where(.wp-block-post-template.is-layout-grid){gap: 1.25em;} 63:where(.wp-block-columns.is-layout-flex){gap: 2em;}:where(.wp-block-columns.is-layout-grid){gap: 2em;} 64.wp-block-pullquote{font-size: 1.5em;line-height: 1.6;} 65</style> 66 <link rel="preconnect" href="//consent.cookiefirst.com" /> 67 <link rel="dns-prefetch" href="//edge.cookiefirst.com" /> 68 <link rel="dns-prefetch" href="//api.cookiefirst.com" /> 69 <meta http-equiv="X-UA-Compatible" content="IE=edge"> 70 <meta name="viewport" content="width=device-width, initial-scale=1.0, user-scalable=no"> 71 <link rel="canonical" href="https://itechcraft.com/contact/"> 72 73 <link rel="apple-touch-icon" sizes="180x180" href="/content/images/apple-touch-icon.png"> 74 <link rel="icon" type="image/png" sizes="32x32" href="/content/images/favicon-32x32.png"> 75 <link rel="icon" type="image/png" sizes="16x16" href="/content/images/favicon-16x16.png"> 76 77 <link rel="mask-icon" href="/content/images/safari-pinned-tab.svg" color="#5bbad5"> 78 <meta name="msapplication-TileColor" content="#da532c"> 79 <meta name="theme-color" content="#ffffff"> 80 <link rel="shortcut icon" href="/content/images/favicon-48x48.ico"> 81 82 <link rel="preconnect" href="https://fonts.googleapis.com"> 83 <link rel="preconnect" href="https://fonts.gstatic.com" crossorigin> 84 85 86 <link data-minify="1" rel="stylesheet" href="https://itechcraft.com/wp-content/cache/min/1/content/new/css/basic55.css?ver=1791442966"> 87 <link data-minify="1" rel="stylesheet" href="https://itechcraft.com/wp-content/cache/min/1/content/new/css/main71.css?ver=1791442966"> 88 <meta property="fb:app_id" content="1144953099815358" /> 89</head> 90 91<body> 92 <div id="wrapper"> 93
93<script 94 src="https://js-de.sentry-cdn.com/10543bbeddcfb2dbd4a3b49f76db6a64.min.js" 95 crossorigin="anonymous" 96></script>
96 97<!-- ClickCease.com tracking-->
98<script type='text/javascript'>var script = document.createElement('script'); 99 script.async = true; script.type = 'text/javascript'; 100 var target = 'https://www.clickcease.com/monitor/stat.js'; 101 script.src = target;var elem = document.head;elem.appendChild(script); 102</script>
102 103<noscript> 104 <a href='https://www.clickcease.com' rel='nofollow'><img src='https://monitor.clickcease.com' alt='ClickCease'/></a> 105</noscript> 106<!-- ClickCease.com tracking--> 107 108<header id="header"> 109 <div class="container"> 110 <a href="https://itechcraft.com/" class="logo"> 111 <img class="logo-light" src="/content/new/images/ITCraft-logo.svg" width="85" height="40" alt="ITCraft"> 112 <img class="logo-dark" src="/content/new/images/ITCraft-logo-dark.svg" width="85" height="40" alt="ITCraft"> 113 </a> 114 <nav class="header-nav"> 115 <ul class="menu-list"> 116 <li class="has-submenu"> 117 <a href="https://itechcraft.com/services/">Services</a> 118 <a href="#" class="submenu-opener"><i class="icon-arrow-down"></i></a> 119 <div class="sub-menus-wrapper"> 120 <div class="sub-menus"> 121 <div class="sub-menu-col sub-menu-col-lg"> 122 <div class="sub-menu-group"> 123 <ul class="sub-menu"> 124 <li> 125 <a href="https://itechcraft.com/services/mobile-app-development/"> 126 <span class="link-title"><i class="icon-phone-multi"><span class="path1"></span><span class="path2"></span></i>Mobile App Development</span> 127 </a> 128 </li> 129 <li> 130 <a href="https://itechcraft.com/services/custom-software-development/"> 131 <span class="link-title"><i class="icon-settings-multi"><span class="path1"></span><span class="path2"></span></i>Custom Software Development</span> 132 </a> 133 </li> 134 135 <li> 136 <a href="https://itechcraft.com/web-development-consulting-services/"> 137 <span class="link-title"><i class="icon-laptop-multi"><span class="path1"></span><span class="path2"></span></i>Web Development Consulting</span> 138 </a> 139 </li> 140 <li> 141 <a href="https://itechcraft.com/services/web-application-development/"> 142 <span class="link-title"><i class="icon-global-multi"><span class="path1"></span><span class="path2"></span><span class="path3"></span><span class="path4"></span><span class="path5"></span><span class="path6"></span></i>Web App Development</span> 143 </a> 144 </li> 145 <li> 146 <a href="https://itechcraft.com/dedicated-software-development-teams/"> 147 <span class="link-title"><i class="icon-user-multiple-multi"><span class="path1"></span><span class="path2"></span><span class="path3"></span></i>Dedicated Team</span> 148 </a> 149 </li> 150 <li> 151 <a href="https://itechcraft.com/services/for-startups/"> 152 <span class="link-title"><i class="icon-lamp-multi"><span class="path1"></span><span class="path2"></span><span class="path3"></span></i>Full-cycle Development for Startups</span> 153 </a> 154 </li> 155 156 <li> 157 <a href="https://itechcraft.com/services/devops/">
158 <span class="link-title"><i class="icon-bare-console-multi"><span class="path1"></span><span class="path2"></span></i>DevOps Services and Consulting</span> 159 </a> 160 </li> 161 </ul> 162 </div> 163 </div> 164 <div class="sub-menu-col"> 165 <div class="header-review"> 166 <img src="/content/new/images/reviews-header.png" alt="Review"> 167 </div> 168 </div> 169 </div> 170 </div> 171 </li> 172 <li class="has-submenu"> 173 <a href="https://itechcraft.com/expertise/">Industries</a> 174 <a href="#" class="submenu-opener"><i class="icon-arrow-down"></i></a> 175 <div class="sub-menus-wrapper"> 176 <div class="sub-menus"> 177 <div class="sub-menu-col sub-menu-col-lg"> 178 <div class="sub-menu-group"> 179 180 <ul class="sub-menu"> 181 <li> 182 <a href="https://itechcraft.com/expertise/fantasy-sports/"> 183 <span class="link-title"><i class="icon-basketball-multi"><span class="path1"></span><span class="path2"></span><span class="path3"></span><span class="path4"></span><span class="path5"></span><span class="path6"></span></i>Fantasy Sports & Gaming</span> 184 </a> 185 </li> 186 <li> 187 <a href="https://itechcraft.com/fintech-software-development-services/"> 188 <span class="link-title"><i class="icon-card-money-multi"><span class="path1"></span><span class="path2"></span></i>FinTech</span> 189 </a> 190 </li> 191 <li> 192 <a href="https://itechcraft.com/custom-healthcare-software-development-services/"> 193 <span class="link-title"><i class="icon-stethoscope-multi"><span class="path1"></span><span class="path2"></span></i>HealthTech</span> 194 </a> 195 </li> 196 <li> 197 <a href="https://itechcraft.com/indoor-location-services/"> 198 <span class="link-title"><i class="icon-map-arrow-multi"><span class="path1"></span><span class="path2"></span></i>Indoor Navigation</span> 199 </a> 200 </li> 201 202 <li> 203 <a href="https://itechcraft.com/elearning-software-development-services/"> 204 <span class="link-title"><i class="icon-notebook-bookmark-multi"><span class="path1"></span><span class="path2"></span></i>
204eLearning Software Development</span> 205 </a> 206 </li> 207 <li> 208 <a href="https://itechcraft.com/logistics-software-development-services/"> 209 <span class="link-title"><i class="icon-location-multi"><span class="path1"></span><span class="path2"></span></i>Logistics Software Development</span> 210 </a> 211 </li> 212 <li> 213 <a href="https://itechcraft.com/ecommerce-development-services/"> 214 <span class="link-title"><i class="icon-cart-shopping-multi"><span class="path1"></span><span class="path2"></span></i>eCommerce Development</span> 215 </a> 216 </li> 217 218 219 </ul> 220 </div> 221 </div> 222 <div class="sub-menu-col"> 223 <div class="header-review"> 224 <img src="/content/new/images/reviews-header-2.png" alt="Review"> 225 </div> 226 </div> 227 </div> 228 </div> 229 </li> 230 <li class="has-submenu"> 231 <a href="https://itechcraft.com/technologies/">Technologies</a> 232 <a href="#" class="submenu-opener"><i class="icon-arrow-down"></i></a> 233 <div class="sub-menus-wrapper"> 234 <div class="sub-menus"> 235 <div class="sub-menu-col sub-menu-col-lg"> 236 <div class="sub-menu-group"> 237 <ul class="sub-menu cols-2"> 238 <li> 239 <a href="https://itechcraft.com/php-web-development-services/"> 240 <span class="link-title"><i class="icon-php-multi"></i>PHP</span> 241 </a> 242 </li> 243 <li> 244 <a href="https://itechcraft.com/net-development-services/"> 245 <span class="link-title"><i class="icon-dot-net-multi"></i>.NET</span> 246 </a> 247 </li> 248 <li> 249 <a href="https://itechcraft.com/react-js-development-services/"> 250 <span class="link-title"><i class="icon-react-js-multi"><span class="path1"></span><span class="path2"></span></i>React.JS</span> 251 </a> 252 </li> 253 254 <li> 255 <a href="https://itechcraft.com/vue-js-development-services/"> 256 <span class="link-title"><i class="icon-vuejs-multi"><span class="path1"></span><span class="path2"></span></i>Vue.JS</span> 257 </a> 258 </li> 259 <li> 260 <a href="https://itechcraft.com/angular-development-services/">
261 <span class="link-title"><i class="icon-angular-multi"><span class="path1"></span><span class="path2"></span><span class="path3"></span></i>Angular</span> 262 </a> 263 </li> 264 <li> 265 <a href="https://itechcraft.com/node-js-development-services/"> 266 <span class="link-title"><i class="icon-nodejs-multi"><span class="path1"></span><span class="path2"></span></i>Node.JS</span> 267 </a> 268 </li> 269 270 271 272 <li> 273 <a href="https://itechcraft.com/cross-platform-app-development-services/"> 274 <span class="link-title"><i class="icon-monitor-phone-multi"><span class="path1"></span><span class="path2"></span></i>Cross-Platform Development</span> 275 </a> 276 </li> 277 278 279 <li> 280 <a href="https://itechcraft.com/react-native-development-services/"> 281 <span class="link-title"><i class="icon-react-native-multi"><span class="path1"></span><span class="path2"></span></i>React Native</span> 282 </a> 283 </li> 284 <li> 285 <a href="https://itechcraft.com/ios-app-development-services/"> 286 <span class="link-title"><i class="icon-apple-multi"><span class="path1"></span><span class="path2"></span></i>iOS App Development</span> 287 </a> 288 </li> 289 <li> 290 <a href="https://itechcraft.com/technologies/android-app-development/"> 291 <span class="link-title"><i class="icon-android-multi"><span class="path1"></span><span class="path2"></span></i>Android App Development</span> 292 </a> 293 </li> 294 295 </ul> 296 </div> 297 </div> 298 <div class="sub-menu-col"> 299 <div class="header-review"> 300 <img src="/content/new/images/reviews-header-3.png" alt="Review"> 301 </div> 302 </div> 303 </div> 304 </div> 305 </li> 306 <li> 307 <a href="https://itechcraft.com/portfolio/">Portfolio</a> 308 </li> 309 <li class="has-submenu"> 310 <span>About Us</span> 311 <a href="#" class="submenu-opener"><i class="icon-arrow-down"></i></a> 312 <div class="sub-menus-wrapper"> 313 <div class="sub-menus"> 314 <div class="sub-menu-col">
315 <div class="sub-menu-group"> 316 <ul class="sub-menu"> 317 <li> 318 <a href="https://itechcraft.com/about-it-craft/"> 319 <span class="link-title"><i class="icon-info-square-multi"><span class="path1"></span><span class="path2"></span><span class="path3"></span></i>About Us</span> 320 </a> 321 </li> 322 <li> 323 <a href="https://career.itechcraft.com/" target="_blank" rel="nofollow"> 324 <span class="link-title"><i class="icon-case-multi"><span class="path1"></span><span class="path2"></span></i>Careers</span> 325 </a> 326 </li> 327 </ul> 328 </div> 329 </div> 330 <div class="sub-menu-col"> 331 <div class="header-awards"> 332 <img src="/content/new/images/header-awards.png" alt="Awards"> 333 </div> 334 </div> 335 </div> 336 </div> 337 </li> 338 <li> 339 <a href="https://itechcraft.com/blog/">Blog</a> 340 </li> 341 </ul> 342 <div class="contacts-wrapper"> 343 <div class="btn-holder"> 344 <a href="https://itechcraft.com/contact/" class="btn contact-us-btn">contact us</a> 345 </div> 346 <ul class="socials"> 347 <li> 348 <a href="https://www.facebook.com/itechcraft" target="_blank" rel="nofollow"> 349 <i class="icon-facebook-2"></i> 350 </a> 351 </li> 352 <li> 353 <a href="http://www.linkedin.com/company/it-craft/" target="_blank" rel="nofollow"> 354 <i class="icon-linkedin-2"></i> 355 </a> 356 </li> 357 <li> 358 <a href="https://twitter.com/itechcraftcom" target="_blank" rel="nofollow"> 359 <i class="icon-twitter"></i> 360 </a> 361 </li> 362 <li> 363 <a href="https://www.instagram.com/itechcraft/" target="_blank" rel="nofollow"> 364 <i class="icon-instagram-2"></i> 365 </a> 366 </li> 367 <li> 368 <a href="https://www.behance.net/itechcraft" target="_blank" rel="nofollow"> 369 <i class="icon-behance"></i> 370 </a> 371 </li> 372 </ul> 373 </div> 374 </nav> 375 <a href="#" class="menu-toggler"> 376 <span></span> 377 </a> 378 </div> 379 </header> 380 381
381<script type="text/javascript"> 382 document.addEventListener('copy', function(event) { 383 var selectedText = window.getSelection().toString(); 384 var sourceLink = 'https://itechcraft.com/contact/'; 385 var copiedText = selectedText + '\n\nRead more on: ' + sourceLink; 386 if (event.clipboardData) { 387 event.clipboardData.setData('text/plain', copiedText); 388 } else if (window.clipboardData) { 389 window.clipboardData.setData('Text', copiedText); 390 } 391 event.preventDefault(); 392 }); 393 </script>
393
393<script type="application/ld+json"> 394{ 395 "@context": "https://schema.org", 396 "@type": "ContactPage", 397 "mainEntityOfPage": { 398 "@type": "WebPage", 399 "@id": "https://itechcraft.com/contact/" 400 }, 401 "publisher": { 402 "@type": "LocalBusiness", 403 "@id": "https://itechcraft.com/", 404 "name": "IT Craft", 405 "address": { 406 "@type": "PostalAddress", 407 "streetAddress": "Panoramastrasse 1", 408 "addressLocality": "Berlin", 409 "postalCode": "10178", 410 "addressCountry": "GE" 411 }, 412 "logo": "https://itechcraft.com/content/images/ITCraft-logo.svg", 413 "telephone": "+1 845 213 3107", 414 "email": "[email protected]", 415 "url": "https://itechcraft.com/", 416 "image": "https://itechcraft.com/content/images/ITCraft-logo.svg", 417 "description": "Software Development Outsourcing Company in USA, Germany | Website Development Services | Software Programming Services" 418 } 419} 420</script>
420 421<main id="main"> 422 <section class="footer-form-section dark-bg contact-us-form"> 423 <div class="container"> 424 <div class="before-submit"> 425 <div class="contact-box"> 426 <div class="form-box"> 427 <form action="/" id="contact-form" class="footer-form" novalidate=""> 428 <div class="form-header contact-us-header"> 429 <h2 class="contact-us-title">Tell us about your Project</h2> 430 <div class="description-wrapper contact-us-descr"> 431 <p>Weâll contact you within 2 business days to schedule a meeting to discuss your goals.</p> 432 </div> 433 <div class="response-message"> 434 <div class="error-field success"> 435 <i class="icon-success-arrow"></i> 436 <p>Your email has been sent. We will get in touch with you soon.</p> 437 </div> 438 <div class="error-field danger"> 439 <i class="icon-allert"></i> 440 <p>We are sorry. Your email has not been sent. Please email us directly.</p> 441 </div> 442 </div> 443 </div> 444 <div class="form-row"> 445 <div class="form-field"> 446 <input type="text" name="first-name" class="form-control required" placeholder="First Name *"> 447 <div class="error-field danger"> 448 <i class="icon-allert"></i> 449 <p>Please fill in this field.</p> 450 </div> 451 </div> 452 <div class="form-field"> 453 <input type="text" name="last-name" class="form-control required" placeholder="Last Name *"> 454 <div class="error-field danger"> 455 <i class="icon-allert"></i> 456 <p>Please fill in this field.</p> 457 </div> 458 </div> 459 </div> 460 <div class="form-row"> 461 <div class="form-field"> 462 <input type="email" name="email" id="email" class="form-control required" autocomplete="off" placeholder="Business Email *"> 463 <div class="error-field danger"> 464 <i class="icon-allert"></i> 465 <p>Please type a valid email address.</p> 466 </div> 467 <div class="error-field warning"> 468 <i class="icon-allert"></i> 469 <p>Please fill in this field.</p> 470 </div> 471 </div> 472 <div class="form-field"> 473 <input type="tel" name="phone" id="phone" class="form-control required" autocomplete="off" placeholder="Phone *"> 474 <div class="error-field danger"> 475 <i class="icon-allert"></i> 476 <p>Please type a valid phone number.</p> 477 </div> 478 <div class="error-field warning"> 479 <i class="icon-allert"></i> 480 <p>Please fill in this field.</p> 481 </div> 482 </div> 483 </div> 484 <div class="form-row"> 485 <div class="form-field"> 486 <input type="text" name="company" id="company" class="form-control required" autocomplete="off" placeholder="Company Name *"> 487 <div class="error-field danger"> 488 <i class="icon-allert"></i> 489 <p>Please type a company name.</p> 490 </div> 491 <div class="error-field warning"> 492 <i class="icon-allert"></i> 493 <p>Please fill in this field.</p> 494 </div> 495 </div> 496 <div class="form-field"> 497 <input type="text" name="job" class="form-control" id="job" autocomplete="off" placeholder="Job Title"> 498 <div class="error-field danger"> 499 <i class="icon-allert"></i> 500 <p>Please type a job title.</p> 501 </div> 502 <div class="error-field warning"> 503 <i class="icon-allert"></i> 504 <p>Please fill in this field.</p> 505 </div> 506 </div> 507 </div> 508 <div class="form-row"> 509 <div class="form-field"> 510 <select class="jcf-select" name="budget"> 511 <option value="">What is your budget?</option> 512 <option value=">$25,000">>$25,000</option> 513 <option value="$25,000 - $50,000">$25,000 - $50,000</option> 514 <option value="$50,000 - $100,000">$50,000 - $100,000</option> 515 <option value="$50,000 - $100,000">$50,000 - $100,000</option> 516 <option value="$100,000+">$100,000+</option> 517 <option value="Can't Disclose/Not Sure">Can't Disclose/Not Sure</option> 518 </select> 519 </div> 520 <div class="form-field"> 521 <select class="jcf-select form-control required" name="hear"> 522 <option value="">How did you hear about us? *</option> 523 <option value="google">Google</option> 524 <option value="ads">Ads</option> 525 <option value="clutch">Listings (Clutch, GoodFirms, DesignRush, etc.)</option> 526 <option value="smm">SMM (LinkedIn, Facebook, Twitter/X, etc.)</option> 527 <option value="quara">Quora</option> 528 <option value="friend">From a Friend</option> 529 <option value="other">Other</option> 530 </select> 531 <div class="error-field danger"> 532 <i class="icon-allert"></i> 533 <p>Please fill in this field.</p> 534 </div> 535 <div class="error-field warning"> 536 <i class="icon-allert"></i> 537 <p>Please fill in this field.</p> 538 </div> 539 </div> 540 </div> 541 <input style="display:none;" type="text" name="ip" value="31.24.106.236" size="40"> 542 <input style="display:none;" type="text" id="itc-url" class="url" name="url" value="https://itechcraft.com/contact/" > 543 <input style="display:none;" type="text" id="itcreffer" class="url" name="itcreffer" value="" > 544 <input style="display:none;" type="text" id="fvisit" class="url" name="fvisit" value="" > 545 <input style="display:none;" type="text" id="lvisit" class="url" name="lvisit" value="" > 546 <div class="form-field file-wrapper"> 547 <input type="text" name="message" class="form-control required" autocomplete="off" placeholder="Message *"> 548 <div class="file-field"> 549 <button type="button" class="btn-file"></button> 550 <input type="file" name="file"> 551 </div> 552 <div class="error-field danger"> 553 <i class="icon-allert"></i> 554 <p>Please fill in this field.</p> 555 </div> 556 557 </div> 558 <p class="file-name"></p> 559 <div class="accept-row"> 560 <div class="accept-box"> 561 <label class="checkbox-label"> 562 <input type="checkbox" id="checkbox" class="required">
563 <span class="checkbox-mark"></span> I consent to IT Craft collecting and processing my personal data in order to fulfill my request, as per the <a href="https://itechcraft.com/cookie-policy/">Privacy Policy</a> and the <a href="https://itechcraft.com/agb/">Website Terms of Use</a>. 564 </label> 565 <div class="error-field danger"> 566 <i class="icon-allert"></i> 567 <p>These fields are required.</p> 568 </div> 569 </div> 570 </div> 571 <div class="error-field danger di-errors"> 572 <i class="icon-allert"></i> 573 <p>There is a problem with sending messages at the moment.<br>Please contact us via [email protected]</p> 574 </div> 575 <div class="btn-holder"> 576 <input type="submit" id="submit" class="btn submit " value="Submit"> 577 </div> 578 <p class="form-note">By submitting your email, you accept Website Terms of Use. We may send you occasionally marketing emails. You can unsubscribe <a href="https://itechcraft.com/unsubscribe/">here</a>.</p> 579 </form> 580 </div> 581 <div class="slider-box contact-us-box tablet-hidden"> 582 <h4 class="title-decor">See how we turn ideas into real life products.</h4> 583 <div class="reviews-slider reviews-slider-js"> 584 <div class="slider-item"> 585 <div class="cont"> 586 <p class="review-company">eLaundry</p> 587 <h3 class="review-name">Charles Sakkal, Founder</h3> 588 <div class="rating-stars"> 589 <span class="rating-value stars-white" style="width: 100%"></span> 590 </div> 591 <div class="review-txt"> 592 <p>âIT Craft is honest and straightforward. Theyâre a good partner to work with.â</p> 593 </div> 594 </div> 595 </div> 596 <div class="slider-item"> 597 <div class="cont"> 598 <p class="review-company">Spidel Tech Solutions</p> 599 <h3 class="review-name">Bruce Spidel, Owner</h3> 600 <div class="rating-stars"> 601 <span class="rating-value stars-white" style="width: 100%"></span> 602 </div> 603 <div class="review-txt"> 604 <p>âTheyâre great at communicating about technical concepts.â</p> 605 </div> 606 </div> 607 </div> 608 <div class="slider-item"> 609 <div class="cont"> 610 <p class="review-company">Flexwise</p> 611 <h3 class="review-name">Adam Orsi, VP of Development</h3> 612 <div class="rating-stars"> 613 <span class="rating-value stars-white" style="width: 100%"></span> 614 </div> 615 <div class="review-txt"> 616 <p>âThey have great project management skills and there haven't been any problems with onboarding.â</p> 617 </div> 618 </div> 619 </div> 620 </div> 621 </div> 622 </div> 623 </div> 624 625 </div> 626 </section> 627 628 629 630 631 632 <section class="trusted-by-section bg-white"> 633 <div class="container"> 634 <div class="txt-box"> 635 <div class="title-wrapper"> 636 <h2>Trusted by</h2> 637 </div> 638 </div> 639 <div class="scrollbar-hider"> 640 <div class="steps-list-wrapper"> 641 <ul class="logos-list contact-logos "> 642 <li> 643 <div class="img-box"> 644 <img src="/content/images/adorama-dark.svg" width="156" height="34" alt="Adorama"> 645 </div> 646 </li> 647 <li> 648 <div class="img-box"> 649 <img src="/content/images/limpid-dark.svg" width="156" height="59" alt="Limpid"> 650 </div> 651 </li> 652 <li> 653 <div class="img-box"> 654 <img src="/content/images/omni-dark.svg" width="156" height="59" alt="omniArena"> 655 </div> 656 </li> 657 <li> 658 <div class="img-box"> 659 <img src="/content/new/images/mycarrier-logo-dark.svg" width="156" height="59" alt="mycarrier"> 660 </div> 661 </li> 662 <li> 663 <div class="img-box"> 664 <img src="/content/images/arctrieval-dark.svg" width="156" height="59" alt="Arctrieval"> 665 </div> 666 </li> 667 <li> 668 <div class="img-box"> 669 <img src="/content/images/nandos-dark.svg" width="156" height="51" alt="Nandos"> 670 </div> 671 </li> 672 <li> 673 <div class="img-box"> 674 <img src="/content/images/rocket-dark.svg" width="156" height="41" alt="RocketRoute"> 675 </div> 676 </li> 677 <li> 678 <div class="img-box"> 679 <img src="/content/images/elaundry.svg" width="156" height="60" alt="elaundry"> 680 </div> 681 </li> 682 <li> 683 <div class="img-box"> 684 <img src="/content/images/fieldone-dark.svg" width="156" height="60" alt="Fielodne"> 685 </div> 686 </li> 687 <li> 688 <div class="img-box"> 689 <img src="/content/images/flexwise-dark.svg" width="156" height="53" alt="Flexwise"> 690 </div> 691 </li> 692 <li> 693 <div class="img-box"> 694 <img src="/content/images/jakstat-dark.svg" width="156" height="60" alt="jakStat"> 695 </div> 696 </li> 697 <li> 698 <div class="img-box"> 699 <img src="/content/images/diamonds-dark.svg" width="156" height="59" alt="Diamonds International"> 700 </div> 701 </li> 702 </ul> 703 </div> 704 </div> 705 706 </div> 707 </section> 708 709 <section class="who-section number-section dark-bg padding-bottom" id="who-section"> 710 <div class="container"> 711 <ul class="countries-block"> 712 <li class="country"> 713 <p class="flag-box usa"> 714 USA 715 </p> 716 <a class="number" href="tel:+18452133107">+1 845 213 3107</a> 717 </li> 718 <li class="country"> 719 <p class="flag-box germany"> 720 Germany 721 </p> 722 <a class="number" href="tel:+493031192061">+49 303 119 2061</a> 723 </li> 724 <li class="country"> 725 <p class="flag-box estonia"> 726 Estonia 727 </p> 728 <a class="number" href="tel:+3728801525">+372 880 1525</a> 729 </li> 730 <li class="country"> 731 <p class="flag-box ukraine"> 732 Ukraine 733 </p> 734 <a class="number" href="tel:+380577820119">+38 057 782 0119</a> 735 </li> 736 </ul> 737 </div> 738 <div class="map-box tablet-hidden"> 739 <div class="map-wrapper"> 740 <div class="map-holder"> 741 <img class="opacity-20" src="/content/images/map-dotted.svg" alt="Map"> 742 <ul class="pins"> 743 <li>
744 <span class="pin"></span> 745 <div class="pin-popup"> 746 <p>USA <br/> 747 <a href="tel:+18452133107">+1 845 213 3107</a> 748 </p> 749 </div> 750 </li> 751 <li> 752 <span class="pin"></span> 753 <div class="pin-popup"> 754 <p>Germany <br/> 755 <a href="tel:+493031192061">+49 303 119 2061</a> 756 </p></div> 757 </li> 758 <li> 759 <span class="pin"></span> 760 <div class="pin-popup"> 761 <p>Estonia <br/> 762 <a href="tel:+3728801525">+372 880 1525</a> 763 </p></div> 764 </li> 765 <li> 766 <span class="pin"></span> 767 <div class="pin-popup"> 768 <p>Ukraine <br/> 769 <a href="tel:+380577820119">+380577820119</a> 770 </p></div> 771 </li> 772 </ul> 773 </div> 774 </div> 775 </div> 776 </section> 777 778 </main> 779 <style type="text/css"> 780 .popup.popup-image.popup-download-book.popup-open { 781 display: none !important; 782} 783 </style> 784<!-- Matomo -->
785<script> 786 var _paq = window._paq = window._paq || []; 787 /* tracker methods like "setCustomDimension" should be called before "trackPageView" */ 788 _paq.push(['trackPageView']); 789 _paq.push(['enableLinkTracking']); 790 (function() { 791 var u="https://matomo.itechcraft.com/"; 792 _paq.push(['setTrackerUrl', u+'matomo.php']); 793 _paq.push(['setSiteId', '1']); 794 var d=document, g=d.createElement('script'), s=d.getElementsByTagName('script')[0]; 795 g.async=true; g.src=u+'matomo.js'; s.parentNode.insertBefore(g,s); 796 })(); 797</script>
797 798<!-- End Matomo Code --> 799 800 <div class="body-wrapper"> 801 <footer id="footer" class="body-wrapper"> 802 <div class="container"> 803 <div class="widget-wrapper"> 804 <ul class="widget-boxes"> 805 <li> 806 <a href="https://clutch.co/profile/it-craft" target="_blank" rel="nofollow"> 807 <img src="/content/new/images/clutch-logo-with-rating.svg" alt="Clutch logo" width="204" height="36"> 808 </a> 809 </li> 810 <li> 811 <a href="https://www.goodfirms.co/company/it-craft" target="_blank" rel="nofollow"> 812 <img src="/content/new/images/goodfirms-logo-with-rating-blue.svg" alt="Goodfirms logo" width="204" height="36"> 813 </a> 814 </li> 815 <li> 816 <a href="https://www.upwork.com/agencies/itcraft/" target="_blank" rel="nofollow"> 817 <img src="/content/new/images/upwork-logo-with-rating.svg" alt="Upwork logo" width="204" height="36"> 818 </a> 819 </li> 820 </ul> 821 <div class="info-box"> 822 <h5>Email</h5> 823 <a href="mailto:[email protected]">[email protected]</a> 824 </div> 825 <div class="info-box"> 826 <h5>Phone</h5> 827 <ul class="phone-list"> 828 <li>USA: <a href="tel:+18452133107">+1 845 213 3107</a></li> 829 <li>Germany: <a href="tel:+493031192061">+49 303 119 2061</a></li> 830 <li>Estonia: <a href="tel:+3728801525">+372 880 1525</a></li> 831 </ul> 832 </div> 833 <ul class="socials"> 834 <li> 835 <a href="https://www.facebook.com/itechcraft" target="_blank" rel="nofollow"> 836 <i class="icon-facebook-2"></i> 837 </a> 838 </li> 839 <li> 840 <a href="http://www.linkedin.com/company/it-craft/" target="_blank" rel="nofollow"> 841 <i class="icon-linkedin-2"></i> 842 </a> 843 </li> 844 <li> 845 <a href="https://twitter.com/itechcraftcom" target="_blank" rel="nofollow"> 846 <i class="icon-twitter"></i> 847 </a> 848 </li> 849 <li> 850 <a href="https://www.instagram.com/itechcraft/" target="_blank" rel="nofollow"> 851 <i class="icon-instagram-2"></i> 852 </a> 853 </li> 854 <li> 855 <a href="https://www.behance.net/itechcraft" target="_blank" rel="nofollow" rel="nofollow"> 856 <i class="icon-behance"></i> 857 </a> 858 </li> 859 <li> 860 <a href="#" target="_blank" rel="nofollow" rel="nofollow"> 861 <i class="icon-medium"></i> 862 </a> 863 </li> 864 </ul> 865 </div> 866 <ul class="footer-columns"> 867 <li> 868 <h4 class="title-decor">AI Services</h4> 869 <nav class="footer-nav"> 870 <ul> 871 <li><a href="https://itechcraft.com/chatgpt-development/">ChatGPT Development</a></li> 872 <li><a href="https://itechcraft.com/chatgpt-consulting/">ChatGPT Consulting</a></li> 873 <li><a href="https://itechcraft.com/ai-development/">AI Development</a></li> 874 <li><a href="https://itechcraft.com/ai-consulting/">AI Consulting</a></li> 875 </ul> 876 </nav> 877 </li> 878 <li> 879 <h4 class="title-decor">Solutions</h4> 880 <nav class="footer-nav"> 881 <ul> 882 <li><a href="https://itechcraft.com/application-modernization-services/">App Modernization</a></li> 883 <li><a href="https://itechcraft.com/services/staff-augmentation/">Staff Augmentation</a></li> 884 <li><a href="https:/services/project-rescue/">Project Rescue</a></li> 885 886 </ul> 887 </nav> 888 </li> 889 <li> 890 <h4 class="title-decor">Engineering</h4> 891 <nav class="footer-nav"> 892 <ul> 893 <li><a href="https://itechcraft.com/services/custom-software-development/">Software Development</a></li> 894 <li><a href="https://itechcraft.com/services/mobile-app-development/">Mobile App Development</a></li> 895 <li><a href="https://itechcraft.com/services/devops/">DevOps Services and Consulting</a></li> 896 <li><a href="https://itechcraft.com/web-development-consulting-services/">Web Development Consulting</a></li> 897 <li><a href="https://itechcraft.com/services/web-application-development/">Web App Development</a></li> 898 </ul> 899 </nav> 900 </li> 901 <li> 902 <h4 class="title-decor">For Startups</h4> 903 <nav class="footer-nav"> 904 <ul> 905 <li><a href="https://itechcraft.com/services/for-startups/">Full-cycle Development for Startups</a></li> 906 <li><a href="https://itechcraft.com/mvp-development-services/">MVP Development </a></li> 907 <li><a href="https://startups.itechcraft.com/" target="_blank" rel="nofollow">Startup Packages</a></li> 908 <li><a href="https://itechcraft.com/discovery-phase-services/">Discovery Phase</a></li> 909 <li><a href="https://itechcraft.com/dedicated-software-development-teams/">Dedicated Team</a></li> 910 </ul> 911 </nav> 912 </li> 913 <li> 914 <h4 class="title-decor">Industries</h4> 915 <nav class="footer-nav"> 916 <ul> 917 <li><a href="https://itechcraft.com/expertise/fantasy-sports/">Fantasy Sports & Gaming</a></li> 918 <li><a href="https://itechcraft.com/custom-healthcare-software-development-services/">HealthTech</a></li> 919 <li><a href="https://itechcraft.com/elearning-software-development-services/">eLearning</a></li> 920 <li><a href="https://itechcraft.com/logistics-software-development-services/">Logistics</a></li> 921 <li><a href="https://itechcraft.com/fintech-software-development-services/">FinTech</a></li> 922 <li><a href="https://itechcraft.com/hr-software-development-services/">HR</a></li> 923 </ul> 924 </nav> 925 </li> 926 <li> 927 <h4 class="title-decor">Competencies</h4> 928 <nav class="footer-nav"> 929 <ul> 930 <li><a href="https://itechcraft.com/on-demand-app-development-services/">On-Demand Apps</a></li> 931 <li><a href="https://itechcraft.com/indoor-location-services/">Indoor Navigation</a></li> 932 <li><a href="https://itechcraft.com/expertise/trading/">
932Trading Software</a></li> 933 <li><a href="https://itechcraft.com/ar-vr-app-development-services/">AR and VR Apps</a></li> 934 <li><a href="https://itechcraft.com/social-media-app-development-services/">Social Networks</a></li> 935 <li><a href="https://itechcraft.com/ibeacon-app-development-services/">iBeacon App</a></li> 936 <li><a href="https://itechcraft.com/ecommerce-development-services/">eCommerce</a></li> 937 <li><a href="https://itechcraft.com/expertise/pos-software-development/">POS Software Development</a></li> 938 </ul> 939 </nav> 940 </li> 941 <li class="column-lg "> 942 <h4 class="title-decor">Technologies</h4> 943 <nav class="footer-nav"> 944 <ul class="cols-2"> 945 <li><a href="https://itechcraft.com/node-js-development-services/">Node.JS</a></li> 946 <li><a href="https://itechcraft.com/react-js-development-services/">React.JS</a></li> 947 <li><a href="https://itechcraft.com/angular-development-services/">Angular</a></li> 948 <li><a href="https://itechcraft.com/vue-js-development-services/">Vue.JS</a></li> 949 <li><a href="https://itechcraft.com/net-development-services/">.NET</a></li> 950 <li><a href="https://itechcraft.com/php-web-development-services/">PHP</a></li> 951 <li><a href="https://startops.itechcraft.com/" target="_blank" rel="nofollow">DevOps Packages</a></li> 952 <li><a href="https://itechcraft.com/cross-platform-app-development-services/">Cross-Platform</a></li> 953 <li><a href="https://itechcraft.com/react-native-development-services/">React Native</a></li> 954 <li><a href="https://wp.itechcraft.com/" target="_blank" rel="nofollow">WordPress</a></li> 955 <li><a href="https://itechcraft.com/technologies/android-app-development/">Android</a></li> 956 <li><a href="https://itechcraft.com/ios-app-development-services/">iOS</a></li> 957 </ul> 958 </nav> 959 </li> 960 <li> 961 <h4 class="title-decor">Company</h4> 962 <nav class="footer-nav"> 963 <ul> 964 <li><a href="https://itechcraft.com/company/testimonials-awards/">Testimonials & Awards</a></li> 965 <li><a href="https://itechcraft.com/resource/">Resources</a></li> 966 <li><a href="https://itechcraft.com/about-it-craft/">About Us</a></li> 967 <li><a href="https://career.itechcraft.com/" target="_blank" rel="nofollow">Career</a></li> 968 <li><a href="https://itechcraft.com/itc-news/">News</a></li> 969 <li><a href="https://itechcraft.com/faqs/">FAQs</a></li> 970 <li><a href="https://itechcraft.com/blog/">Blog</a></li> 971 </ul> 972 </nav> 973 </li> 974 975 </ul> 976 <div class="footer-bottom"> 977 <div class="column"> 978 <p class="copyright"> © 2001-2026 IT Craft. All rights reserved. <a target="_blank" rel="nofollow" href="https://www.dmca.com/Protection/Status.aspx?ID=6b6e108a-2641-4090-9755-b255cef2e835&refurl=https://itechcraft.com/contact" title="DMCA.com Protection Status" class="dmca-badge"> 979 <img src="/content/new/images/dmca.jpg" width="97" height="20" alt="DMCA.com Protection Status"> 980 </a> 981 </p> 982 </div> 983 <div class="column"> 984 <nav class="copyright-links"> 985 <ul> 986 <li><a href="https://itechcraft.com/agb/">Website Terms of Use</a></li> 987 <li><a href="https://itechcraft.com/imprint/">Imprint</a></li> 988 <li><a href="https://itechcraft.com/datenschutz/">Data protection</a></li> 989 <li><a href="/cookie-policy/">Cookie policy</a></li> 990 <li><a href="https://itechcraft.com/sitemap/">Sitemap</a></li> 991 </ul> 992 </nav> 993 <div class="manage-cookies-box"> 994 <a href="#" class="btn btn-gray manage-cookies manege-cookies">
994Manage consent</a> 995 </div> 996 </div> 997 </div> 998 </div> 999 </footer> 1000</div> 1001<style type="text/css"> 1002 .footer-it { 1003 position: relative; 1004 font-size: 17px; 1005 padding-right: 50px; 1006} 1007.footer-it:after { 1008 content: ''; 1009 position: absolute; 1010 width: 20px; 1011 height: 20px; 1012 right: 0; 1013 background: url(https://itechcraft.com/wp-content/uploads/2022/09/Vector-1.png); 1014 background-repeat: no-repeat; 1015 top: 4px; 1016 background-position: 50%; 1017} 1018.footer-it.accordion-active:after { 1019 right: 0; 1020 top: 4px; 1021 -webkit-transform: rotate(180deg); 1022 -moz-transform: rotate(180deg); 1023 -ms-transform: rotate(180deg); 1024 -o-transform: rotate(180deg); 1025 transform: rotate(180deg); 1026} 1027.redesign-page .video-bg { 1028 -webkit-transform: translate(-50%, -43%); 1029 -ms-transform: translate(-50%, -43%); 1030 transform: translate(-50%, -43%); 1031} 1032</style> 1033
1033<script> 1034 document.addEventListener("DOMContentLoaded", function() { 1035 1036 function generateUniqueId() { 1037 return 'sess_' + Math.random().toString(36).substr(2, 9) + Date.now().toString(36); 1038 } 1039 1040 function getDeviceCategory() { 1041 const userAgent = navigator.userAgent.toLowerCase(); 1042 1043 if (/mobile|android|iphone|ipad|ipod/.test(userAgent)) { 1044 return 'mobile'; 1045 } else if (/tablet|ipad/.test(userAgent)) { 1046 return 'tablet'; 1047 } else { 1048 return 'desktop'; 1049 } 1050 } 1051 1052 1053 function sendDataToServer(sessionId) { 1054 var pageUrl = window.location.href; 1055 var pageTitle = document.title; 1056 var screenResolution = window.screen.width + 'x' + window.screen.height; 1057 const deviceCategory = getDeviceCategory(); 1058 1059 var xhr = new XMLHttpRequest(); 1060 xhr.open("POST", "/gtm.php", true); 1061 xhr.setRequestHeader("Content-Type", "application/x-www-form-urlencoded"); 1062 1063 var params = "session_id=" + encodeURIComponent(sessionId) + 1064 "&url=" + encodeURIComponent(pageUrl) + 1065 "&title=" + encodeURIComponent(pageTitle) + 1066 "&deviceCategory=" + encodeURIComponent(deviceCategory) + 1067 "&screen_resolution=" + encodeURIComponent(screenResolution); 1068 1069 xhr.onreadystatechange = function () { 1070 if (xhr.readyState === 4) { 1071 if (xhr.status === 200) { 1072 try { 1073 var response = JSON.parse(xhr.responseText); 1074 if (response.status === 'success') { 1075 console.log('Data sent successfully: ', response); 1076 } else { 1077 console.error('Error sending data: ' + response.message); 1078 } 1079 } catch (e) { 1080 console.error('Failed to parse JSON response: ', e); 1081 console.error('Response Text: ', xhr.responseText); 1082 } 1083 } else { 1084 console.error('Request failed with status: ' + xhr.status); 1085 } 1086 } 1087 }; 1088 xhr.send(params); 1089 } 1090 1091 1092 1093 function getCookieNew(name) { 1094 const value = `; ${document.cookie}`; 1095 const parts = value.split(`; ${name}=`); 1096 if (parts.length === 2) return parts.pop().split(';').shift(); 1097 return null; 1098 } 1099 1100 if (!getCookieNew('_ga')) { 1101 console.log('dd'); 1102 var sessionId = localStorage.getItem('session_id'); 1103 if (sessionId) { 1104 // sendDataToServer(sessionId); 1105 } else { 1106 setTimeout(function() { 1107 sessionId = generateUniqueId(); 1108 localStorage.setItem('session_id', sessionId); 1109 // sendDataToServer(sessionId); 1110 }, 1000); 1111 } 1112 } 1113 1114 1115 1116 1117 1118 }); 1119 </script>
1119 1120<!-- Modal video --> 1121<div class="modal-video"> 1122 <a href="#" class="back-row"> 1123 <span class="back-text">Go back</span> 1124 </a> 1125 <div class="video-box"> 1126 <iframe frameborder="0" allowfullscreen></iframe> 1127 </div> 1128</div> 1129 1130 1131</div> 1132<!-- ebook popup --> 1133 <div class="popup popup-image popup-download-book"> 1134 <div class="popup-content"> 1135 <div class="popup-overlay"></div> 1136 <div class="popup-wrapper"> 1137 <span class="popup-close"></span> 1138 <div class="popup-main"> 1139 <div class="image-holder"> 1140 <img src="/content/new/images/ebook-popup.png" width="392" height="471" alt="Ebook"> 1141 </div> 1142 <div class="content-info"> 1143 <img class="logo" src="/content/new/images/ITCraft-logo-dark.svg" width="94" height="44" alt="ITCraft"> 1144 <h3 class="popup-title">Want to know how to save time & budget <span class="text-blue">looking for the right team?</span></h3> 1145 <div class="blue-box"> 1146 <p>Learn how to save up to 50% of experts costs.</p> 1147 </div> 1148 <p class="desc">Get our step-by-step guide to finding, assessing, and hiring desired team.</p> 1149 <form id="download-book" action="/" novalidate=""> 1150 <div class="form-panel-info"> 1151 <div class="form-box"> 1152 <div class="form-field"> 1153 <input type="text" name="name" class="form-control required" placeholder="Full Name *" autocomplete="off"> 1154 <div class="error-field danger"> 1155 <i class="icon-allert"></i> 1156 <p>Please fill in this field.</p> 1157 </div> 1158 <div class="error-field warning"> 1159 <i class="icon-allert"></i> 1160 <p>Please type a valid email address.</p> 1161 </div> 1162 </div> 1163 <div class="form-field"> 1164 <input type="email" name="email" class="form-control required" placeholder="Email *" autocomplete="off"> 1165 <div class="error-field danger"> 1166 <i class="icon-allert"></i> 1167 <p>Please fill in this field.</p> 1168 </div> 1169 <div class="error-field warning"> 1170 <i class="icon-allert"></i> 1171 <p>Please type a valid email address.</p> 1172 </div> 1173 </div> 1174 </div> 1175 <p class="small-text">By Submitting Your Email, You Accept Terms And Conditions. We May Send You Occasionally Marketing Emails. You Can Unsubscribe <a href="https://itechcraft.com/unsubscribe/">Here</a>.</p> 1176 <div class="btn-box"> 1177 <input type="submit" class="btn btn-blue" value="Get The Ebook"> 1178 </div> 1179 </div> 1180 <input style="display:none;" type="text" id="itc-url" class="url" name="currentUrl" value="https://itechcraft.com/contact/" > 1181 </form> 1182 </div> 1183 <div class="thanks-box hidden"> 1184 <h3>thanks for your submission!</h3> 1185 <a target="_blank" href="https://itechcraft.com/content/pdf/Staff_Augmentation_Guide_by_IT_Craft.pdf" class="btn btn-blue" download="">Get The Ebook</a> 1186 </div> 1187 </div> 1188 </div> 1189 </div> 1190 </div> 1191 <style>.cffwyj,.cf29Bm { 1192 display: none !important; 1193}</style>
1194<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.6.0/jquery.min.js"></script>
vendor: 1 bytes, line 1194
1194
1195<script type="text/javascript"> 1196 jQuery.event.special.touchstart = { 1197 setup: function( _, ns, handle ) { 1198 this.addEventListener("touchstart", handle, { passive: !ns.includes("noPreventDefault") }); 1199 } 1200}; 1201jQuery.event.special.touchmove = { 1202 setup: function( _, ns, handle ) { 1203 this.addEventListener("touchmove", handle, { passive: !ns.includes("noPreventDefault") }); 1204 } 1205}; 1206jQuery.event.special.wheel = { 1207 setup: function( _, ns, handle ){ 1208 this.addEventListener("wheel", handle, { passive: true }); 1209 } 1210}; 1211jQuery.event.special.mousewheel = { 1212 setup: function( _, ns, handle ){ 1213 this.addEventListener("mousewheel", handle, { passive: true }); 1214 } 1215}; 1216</script>
vendor: 1 bytes, line 1216
1216
1217<script src="/content/new/js/jcf.js"></script>
vendor: 1 bytes, line 1217
1217
1218<script src="/content/new/js/jcf.select.js"></script>
vendor: 1 bytes, line 1218
1218
1219<script src="/content/new/js/showMore.min.js"></script>
vendor: 1 bytes, line 1219
1219
1220<script src="https://itechcraft.com/content/new/js/isotope.js"></script>
vendor: 1 bytes, line 1220
1220
1221<script src="/content/new/js/slick.min.js"></script>
1221 1222
1223<script src="/content/new/js/main23.js"></script>
vendor: 1 bytes, line 1223
1223
1224<script id="rocket-browser-checker-js-after" type="text/javascript"> 1225"use strict";var _createClass=function(){function defineProperties(target,props){for(var i=0;i<props.length;i++){var descriptor=props[i];descriptor.enumerable=descriptor.enumerable||!1,descriptor.configurable=!0,"value"in descriptor&&(descriptor.writable=!0),Object.defineProperty(target,descriptor.key,descriptor)}}return function(Constructor,protoProps,staticProps){return protoProps&&defineProperties(Constructor.prototype,protoProps),staticProps&&defineProperties(Constructor,staticProps),Constructor}}();function _classCallCheck(instance,Constructor){if(!(instance instanceof Constructor))throw new TypeError("Cannot call a class as a function")}var RocketBrowserCompatibilityChecker=function(){function RocketBrowserCompatibilityChecker(options){_classCallCheck(this,RocketBrowserCompatibilityChecker),this.passiveSupported=!1,this._checkPassiveOption(this),this.options=!!this.passiveSupported&&options}return _createClass(RocketBrowserCompatibilityChecker,[{key:"_checkPassiveOption",value:function(self){try{var options={get passive(){return!(self.passiveSupported=!0)}};window.addEventListener("test",null,options),window.removeEventListener("test",null,options)}catch(err){self.passiveSupported=!1}}},{key:"initRequestIdleCallback",value:function(){!1 in window&&(window.requestIdleCallback=function(cb){var start=Date.now();return setTimeout(function(){cb({didTimeout:!1,timeRemaining:function(){return Math.max(0,50-(Date.now()-start))}})},1)}),!1 in window&&(window.cancelIdleCallback=function(id){return clearTimeout(id)})}},{key:"isDataSaverModeOn",value:function(){return"connection"in navigator&&!0===navigator.connection.saveData}},{key:"supportsLinkPrefetch",value:function(){var elem=document.createElement("link");return elem.relList&&elem.relList.supports&&elem.relList.supports("prefetch")&&window.IntersectionObserver&&"isIntersecting"in IntersectionObserverEntry.prototype}},{key:"isSlowConnection",value:function(){return"connection"in navigator&&"effectiveType"in navigator.connection&&("2g"===navigator.connection.effectiveType||"slow-2g"===navigator.connection.effectiveType)}}]),RocketBrowserCompatibilityChecker}(); 1226</script>
vendor: 1 bytes, line 1226
1226
1227<script type='text/javascript' id='rocket-preload-links-js-extra'> 1228/* <![CDATA[ */ 1229var RocketPreloadLinksConfig = {"excludeUris":"\/(?:.+\/)?feed(?:\/(?:.+\/?)?)?$|\/(?:.+\/)?embed\/|\/(index.php\/)?(.*)wp-json(\/.*|$)|\/refer\/|\/go\/|\/recommend\/|\/recommends\/","usesTrailingSlash":"1","imageExt":"jpg|jpeg|gif|png|tiff|bmp|webp|avif|pdf|doc|docx|xls|xlsx|php","fileExt":"jpg|jpeg|gif|png|tiff|bmp|webp|avif|pdf|doc|docx|xls|xlsx|php|html|htm","siteUrl":"https:\/\/itechcraft.com","onHoverDelay":"100","rateThrottle":"3"}; 1230/* ]]> */ 1231</script>
vendor: 1 bytes, line 1231
1231
1232<script id="rocket-preload-links-js-after" type="text/javascript"> 1233(function() { 1234"use strict";var r="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},e=function(){function i(e,t){for(var n=0;n<t.length;n++){var i=t[n];i.enumerable=i.enumerable||!1,i.configurable=!0,"value"in i&&(i.writable=!0),Object.defineProperty(e,i.key,i)}}return function(e,t,n){return t&&i(e.prototype,t),n&&i(e,n),e}}();function i(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}var t=function(){function n(e,t){i(this,n),this.browser=e,this.config=t,this.options=this.browser.options,this.prefetched=new Set,this.eventTime=null,this.threshold=1111,this.numOnHover=0}return e(n,[{key:"init",value:function(){!this.browser.supportsLinkPrefetch()||this.browser.isDataSaverModeOn()||this.browser.isSlowConnection()||(this.regex={excludeUris:RegExp(this.config.excludeUris,"i"),images:RegExp(".("+this.config.imageExt+")$","i"),fileExt:RegExp(".("+this.config.fileExt+")$","i")},this._initListeners(this))}},{key:"_initListeners",value:function(e){-1<this.config.onHoverDelay&&document.addEventListener("mouseover",e.listener.bind(e),e.listenerOptions),document.addEventListener("mousedown",e.listener.bind(e),e.listenerOptions),document.addEventListener("touchstart",e.listener.bind(e),e.listenerOptions)}},{key:"listener",value:function(e){var t=e.target.closest("a"),n=this._prepareUrl(t);if(null!==n)switch(e.type){case"mousedown":case"touchstart":this._addPrefetchLink(n);break;case"mouseover":this._earlyPrefetch(t,n,"mouseout")}}},{key:"_earlyPrefetch",value:function(t,e,n){var i=this,r=setTimeout(function(){if(r=null,0===i.numOnHover)setTimeout(function(){return i.numOnHover=0},1e3);else if(i.numOnHover>i.config.rateThrottle)return;i.numOnHover++,i._addPrefetchLink(e)},this.config.onHoverDelay);t.addEventListener(n,function e(){t.removeEventListener(n,e,{passive:!0}),null!==r&&(clearTimeout(r),r=null)},{passive:!0})}},{key:"_addPrefetchLink",value:function(i){return this.prefetched.add(i.href),new Promise(function(e,t){var n=document.createElement("link");n.rel="prefetch",n.href=i.href,n.onload=e,n.onerror=t,document.head.appendChild(n)}).catch(function(){})}},{key:"_prepareUrl",value:function(e){if(null===e||"object"!==(void 0===e?"undefined":r(e))||!1 in e||-1===["http:","https:"].indexOf(e.protocol))return null;var t=e.href.substring(0,this.config.siteUrl.length),n=this._getPathname(e.href,t),i={original:e.href,protocol:e.protocol,origin:t,pathname:n,href:t+n};return this._isLinkOk(i)?i:null}},{key:"_getPathname",value:function(e,t){var n=t?e.substring(this.config.siteUrl.length):e;return n.startsWith("/")||(n="/"+n),this._shouldAddTrailingSlash(n)?n+"/":n}},{key:"_shouldAddTrailingSlash",value:function(e){return this.config.usesTrailingSlash&&!e.endsWith("/")&&!this.regex.fileExt.test(e)}},{key:"_isLinkOk",value:function(e){return null!==e&&"object"===(void 0===e?"undefined":r(e))&&(!this.prefetched.has(e.href)&&e.origin===this.config.siteUrl&&-1===e.href.indexOf("?")&&-1===e.href.indexOf("#")&&!this.regex.excludeUris.test(e.href)&&!this.regex.images.test(e.href))}}],[{key:"run",value:function(){"undefined"!=typeof RocketPreloadLinksConfig&&new n(new RocketBrowserCompatibilityChecker({capture:!0,passive:!0}),RocketPreloadLinksConfig).init()}}]),n}();t.run(); 1235}()); 1236</script>
1236 1237 1238<style> 1239 .popup.popup-image.popup-download-book.popup-open { 1240 display: none; 1241} 1242#simple-cookie-consent{height:100vh;width:100vw;position:fixed;top:0;left:0;resize:vertical;overflow:auto;z-index:999999999999999999999999999;background:rgba(0,0,0,.7)}#simple-cookie-consent .cookie-consent-container{position:absolute;bottom:0;left:0;right:0;margin:-100px auto 0;background:#fff;padding:20px;display:flex;align-items:center}#simple-cookie-consent .cookie-consent-selection{text-align:right;width:50%}#simple-cookie-consent button{border:none;padding:10px 20px;margin:10px 0 0 10px;background:0 0;font-size:1.1em}#simple-cookie-consent button.cookie-consent-allow{background-color:#1f62ff;color:#fff;width:100%;margin:0}#simple-cookie-consent button.cookie-consent-allow:focus,#simple-cookie-consent button.cookie-consent-allow:hover{background-color:#059862;cursor:pointer}#simple-cookie-consent button.cookie-consent-deny{padding:5px 0;font-size:.9em;opacity:.8}#simple-cookie-consent button.cookie-consent-deny:focus,button.cookie-consent-deny:hover{opacity:1;cursor:pointer}#simple-cookie-consent hr{margin:15px 0}.cookie-consent-notice{width:65%}.cookie-consent-notice span{font-size:21px;font-weight:700;margin-bottom:10px;display:block;text-transform:uppercase}@media screen and (max-width:768px){#simple-cookie-consent .cookie-consent-container{display:block}#simple-cookie-consent .cookie-consent-selection,.cookie-consent-notice{width:100%}} 1243</style> 1244
1244<script> 1245 $(document).ready(function() { 1246 1247 function popupNOEU() { 1248 1249 loadCookieFirstScript(); 1250 var css = '<style>' + 1251 '.cf1lHZ:nth-child(2n) {display: none !important;} .cf3Tgk .cf2MAH,.cf3nSz .cf2MAH{flex: 0 0 100% !important;max-width: 100% !important;} .cf1lHZ.cf2MAH:nth-child(3n) button {background: white !important;color: #0d56c9 !important;}' + 1252 '</style>'; 1253 $('body').append(css); 1254 } 1255 1256 1257 function loadCookieFirstScript() { 1258 var script = document.createElement('script'); 1259 script.src = 'https://consent.cookiefirst.com/sites/itechcraft.com-3a4f6c06-a8ac-4d46-b397-7f823e6e656e/consent.js'; 1260 script.setAttribute('data-cookiefirst-key', '3a4f6c06-a8ac-4d46-b397-7f823e6e656e'); 1261 document.head.appendChild(script); 1262 } 1263 1264 1265 1266 function setSessionCookie(name, value) { 1267 document.cookie = name + "=" + (value || "") + "; path=/"; 1268 } 1269 1270 function getCookie(name) { 1271 const nameEQ = name + "="; 1272 const ca = document.cookie.split(';'); 1273 for(let i = 0; i < ca.length; i++) { 1274 let c = ca[i]; 1275 while (c.charAt(0) === ' ') c = c.substring(1, c.length); 1276 if (c.indexOf(nameEQ) === 0) return c.substring(nameEQ.length, c.length); 1277 } 1278 return null; 1279 } 1280 1281 function getRegion() { 1282 $.ajax({ 1283 url: 'https://itechcraft.com/geoip/index.php', 1284 type: 'GET', 1285 success: function(data) { 1286 console.log(data); 1287 if (data === 'EU') { 1288 setSessionCookie('region', 'EU'); 1289 loadCookieFirstScript(); 1290 } else { 1291 setSessionCookie('region', 'non-EU'); 1292 popupNOEU(); 1293 } 1294 }, 1295 error: function(xhr, status, error) { 1296 console.error(status + ': ' + error); 1297 } 1298 }); 1299 } 1300 1301 const region = getCookie('region'); 1302 if (region) { 1303 1304 if (region === 'EU') { 1305 loadCookieFirstScript(); 1306 }else{ 1307 popupNOEU(); 1308 } 1309 1310 } else { 1311 getRegion(); 1312 } 1313 }); 1314 </script>
1314 1315 1316 1317 1318 1319
1319<script> 1320 1321 var referrer = document.referrer; 1322 var fullUrl = window.location.href; 1323 var urlObj = new URL(fullUrl); 1324 var urlWithoutParams = urlObj.origin + urlObj.pathname; 1325 1326 1327 if (!localStorage.getItem('referrer')) { 1328 localStorage.setItem('referrer', referrer); 1329 localStorage.setItem('fvisit', fullUrl); 1330 } 1331 localStorage.setItem('lvisit', referrer); 1332 1333 let rerform = localStorage.getItem('referrer'); 1334 let rerform2 = localStorage.getItem('fvisit'); 1335 let rerform3 = localStorage.getItem('lvisit'); 1336 1337 1338 document.querySelectorAll('#itcreffer, [name="itcreffer"]').forEach(el => el.value = rerform); 1339 document.querySelectorAll('#fvisit, [name="fvisit"]').forEach(el => el.value = rerform2); 1340 document.querySelectorAll('#lvisit, [name="lvisit"]').forEach(el => el.value = rerform3); 1341 1342 </script>
vendor: 1 bytes, line 1342
1342
1343<script type="text/javascript"> 1344 $(document).ready(function () { 1345 getFormValidation('#sub-form'); 1346 getFormValidation('#subscribe-form2'); 1347 getFormValidation('#budget-form'); 1348 getFormValidation('#footer-form'); 1349 getFormValidation('#contact-form'); 1350 getFormValidation('#comment-form'); 1351 getFormValidation('#calc-form'); 1352 getFormValidation('#unsubscribe-form'); 1353 getFormValidation('.download-form'); 1354 getFormValidation('#download-data-form'); 1355 getFormValidation('#download-book'); 1356 getFormValidation('.author-question-form'); 1357 getFormValidation('#intro-form'); 1358 1359 }) 1360 1361function getFormValidation(formName) { 1362 if (!$(formName).length) { 1363 return false; 1364 } 1365 const form = document.querySelector(formName); 1366 1367 const inputs = Array.from(form.elements).filter((el) => { 1368 if (el.classList.contains('required')) { 1369 return el; 1370 } 1371 }); 1372 1373 displayMessage(inputs, form); 1374 1375 form.addEventListener('submit', (e) => { 1376 e.preventDefault(); 1377 1378 let formNotValidArray = []; 1379 displayMessage(inputs, form); 1380 1381 for (let i = 0; i < inputs.length; i++) { 1382 formNotValidArray.push(inputs[i]); 1383 } 1384 1385 checkValueSubmitSend(inputs, form); 1386 1387 const formNotValid = formNotValidArray.some(i => i.classList.contains('is-error')); 1388 1389 if (formNotValid) { 1390 return; 1391 } 1392 1393 disableSubmit(form); 1394 1395 1396 1397 1398 1399 if (formName == '#footer-form') { 1400 submitFooterForm(); 1401 } 1402 if (formName == '#budget-form') { 1403 submitBudgetForm(); 1404 } 1405 if (formName == '#contact-form') { 1406 submitContactForm(); 1407 } 1408 if (formName == '#sub-form') { 1409 submitSubForm(); 1410 } 1411 if (formName == '#subscribe-form2') { 1412 submitSubForm2(); 1413 } 1414 1415 if (formName == '#download-form') { 1416 submitDownloadForm(); 1417 } 1418 if (formName == '#download-data-form') { 1419 submitDownloadPDF(); 1420 } 1421 if (formName == '#intro-form') { 1422 submitIntroForm(); 1423 } 1424 1425 $(formName).hasClass('download-form') && submitDownloadFormNew($(formName)); 1426 if (formName == '#calc-form') { 1427 submitCalcForm($(this)); 1428 } 1429 $(formName).attr('id') == 'unsubscribe-form' && submitUnsubscribeForm(); 1430 $(formName).attr('id') == 'download-book' && submitDownloadBookForm(); 1431 $(formName).hasClass('author-question-form') && submitAuthorQuestionForm($(formName)); 1432 1433 }) 1434} 1435 1436 1437function submitIntroForm() { 1438 1439 var introForm = $('#intro-form'); 1440 let contactForm = $('#intro-form'); 1441 1442 if (introForm.length) { 1443 1444 var introFormValue = introForm.serialize(), 1445 thanksMessage = introForm.find('.thanks-message'); 1446 1447 1448 1449 1450 1451 var thanksHolder = contactForm.find('.thanks-message'); 1452 1453 // popupForm.parents(".popup-features").removeClass("popup-open"); 1454 var formValue = contactForm.serialize(); 1455 1456 1457 1458 1459 let loaderHolder = contactForm.find('input[type="submit"]'); 1460 loaderHolder.addClass('loading'); 1461 1462 1463 var id = Math.random(); 1464 var form_data = new FormData(document.getElementById("intro-form")); 1465 $.ajax({ 1466 url: 'https://itechcraft.com/wp-content/themes/responsy-v3-5-2/ajax/contact-form.php', 1467 type: 'post', 1468 data: form_data, 1469 dataType: "json", 1470 contentType: false, 1471 cache: false, 1472 processData: false, 1473 success: function (res) { 1474 $('#intro-form')[0].reset();
1475 thanksHolder.html('Thank you! Your message was sent.'); 1476 thanksHolder.addClass('active'); 1477 loaderHolder.removeClass('loading'); 1478 var link = 'https://itechcraft.com/thank-you/?id=' + id; 1479 1480 window.location.replace(link); 1481 1482 }, 1483 error: function (jqXHR, textStatus, errorThrown) { 1484 console.error('AJAX error: ', textStatus, errorThrown); 1485 thanksHolder.html('There is a problem with sending messages at the moment. Please contact us via [email protected]'); 1486 thanksHolder.addClass('active'); 1487 loaderHolder.removeClass('loading'); 1488 } 1489 }); 1490 1491 // let loaderHolder = introForm.find('input[type="submit"]'); 1492 // loaderHolder.addClass('loading'); 1493 } 1494} 1495 1496function submitDownloadBookForm() { 1497 let downloadBookForm = $('#download-book'); 1498 1499 if (downloadBookForm.length > 0) { 1500 var formValue = downloadBookForm.serialize(); 1501 1502 1503 var form_data = new FormData(document.getElementById("download-book")); 1504 $.ajax({ 1505 url: 'https://itechcraft.com/wp-content/themes/responsy-v3-5-2/ajax/contact-ebook.php', 1506 type: 'post', 1507 data: form_data, 1508 dataType: "json", 1509 contentType: false, 1510 cache: false, 1511 processData: false, 1512 success: function (res) { 1513 1514 if (res.type == "success") { 1515 $(".content-info").addClass("hidden"); 1516 $(".thanks-box").removeClass("hidden"); 1517 } 1518 } 1519 }); 1520 } 1521 1522 1523 1524 1525} 1526 1527function submitAuthorQuestionForm(form) { 1528 1529 1530 1531 1532 1533 1534 if (form.length) { 1535 let formValue = form.serialize(); 1536 let thanksBox = form.find('.thanks-box'); 1537 1538 if (thanksBox.length) { 1539 thanksBox.removeClass('hidden'); 1540 form[0].reset(); 1541 form.find('.is-success').removeClass('is-success'); 1542 } 1543 1544 console.log('Author question form value: ', formValue); 1545 } 1546} 1547 1548 1549 function submitCalcForm() { 1550 1551 let calcForm = $('#calc-form'); 1552 1553 if (calcForm.length) { 1554 let formValue = calcForm.serialize(); 1555 let loaderHolder = calcForm.find('input[type="submit"]'); 1556 loaderHolder.addClass('loading'); 1557 1558 1559 if(calcForm.parents('.calculator-staff').length > 0) { 1560 if (!localStorage.getItem('referrer')) { 1561 1562 localStorage.setItem('referrer', referrer); 1563 } 1564 let rerform = localStorage.getItem('referrer'); 1565 let staffList = calcForm.find('.staff-list'); 1566 let selectedStaff = staffList.find('.staff-item.open'); 1567 let staffData = []; 1568 let name = $( "#staffname" ).val(); 1569 let name2 = $( "#staffname2" ).val(); 1570 let email = $( "#staffemail" ).val(); 1571 let mess = $( "#staffmess" ).val(); 1572 let dur = $('input[name="levelDur"]:checked').val();; 1573 selectedStaff.each(function(){ 1574 let item = { 1575 'specialist': $(this).find('.staff-title').text(), 1576 'level': $(this).find('select[name="level"]').val(), 1577 'tech-stack': $(this).find('select[name="tech-stack"]').val() || '', 1578 'amount': $(this).find('select[name="amount"]').val() 1579 } 1580 staffData.push(item) 1581 }); 1582 console.log(staffData); 1583 console.log(dur); 1584 $.ajax({ 1585 url: '/estimateApp2.php', 1586 method: 'post', 1587 dataType: 'html', 1588 data: {staffData:staffData,name:name,name2:name2,email:email,mess:mess,dur:dur,rerform:rerform}, 1589 success: function(data){ 1590 console.log(data); 1591 loaderHolder.removeClass('loading');
1592 calcForm.find('input:not(.btn-default)').val(''); 1593 calcForm.find('.thanks-message').addClass('active'); 1594 $('input').prop('checked', false); 1595 } 1596 }); 1597 } 1598 } 1599 1600 function calcStaffPrice (){ 1601 let dataStaff = { 1602 'front-end-engineer': { 1603 'react': { 1604 junior: 15, 1605 middle: 35, 1606 senior: 50 1607 }, 1608 'angular': { 1609 junior: 15, 1610 middle: 35, 1611 senior: 50 1612 }, 1613 'vie.js': { 1614 junior: 15, 1615 middle: 35, 1616 senior: 50 1617 } 1618 }, 1619 'back-end-engineer': { 1620 'node.js ': { 1621 junior: 17, 1622 middle: 35, 1623 senior: 55 1624 }, 1625 'symfony-php': { 1626 junior: 15, 1627 middle: 30, 1628 senior: 45 1629 }, 1630 'laravel-php': { 1631 junior: 15, 1632 middle: 30, 1633 senior: 45 1634 }, 1635 'wordpress': { 1636 junior: 15, 1637 middle: 30, 1638 senior: 35 1639 }, 1640 '.net': { 1641 junior: 15, 1642 middle: 35, 1643 senior: 55 1644 } 1645 }, 1646 'full-stack': { 1647 'javascript-developer': { 1648 junior: 17, 1649 middle: 35, 1650 senior: 55 1651 }, 1652 '.net': { 1653 junior: 15, 1654 middle: 35, 1655 senior: 55 1656 } 1657 }, 1658 'mobile-developer':{ 1659 'java': { 1660 junior: 15, 1661 middle: 35, 1662 senior: 55 1663 }, 1664 'ios': { 1665 junior: 15, 1666 middle: 35, 1667 senior: 50 1668 }, 1669 'android': { 1670 junior: 15, 1671 middle: 35, 1672 senior: 50 1673 }, 1674 'react-native': { 1675 junior: 15, 1676 middle: 35, 1677 senior: 50 1678 } 1679 }, 1680 'html-css-coder': { 1681 junior: 17, 1682 middle: 35, 1683 senior: 55 1684 }, 1685 'devops-engineer': { 1686 junior: 35, 1687 middle: 50, 1688 senior: 60 1689 }, 1690 'ba': { 1691 junior: 20, 1692 middle: 30, 1693 senior: 40 1694 }, 1695 'pm': { 1696 junior: 17, 1697 middle: 25, 1698 senior: 35 1699 }, 1700 'ui-ux-designer': { 1701 junior: 15, 1702 middle: 25, 1703 senior: 40 1704 }, 1705 'aqa': { 1706 junior: 15, 1707 middle: 30, 1708 senior: 45 1709 }, 1710 'manual-qa': { 1711 junior: 15, 1712 middle: 25, 1713 senior: 35 1714 }, 1715 'technical-support-specialists': { 1716 junior: 15, 1717 middle: 20, 1718 senior: 30 1719 }, 1720 } 1721 } 1722} 1723 1724 1725 function submitContactForm() { 1726 let contactForm = $('#contact-form'); 1727 1728 if (contactForm.length) { 1729 // $(".before-submit").addClass("hide"); 1730 //$(".after-submit").addClass("visible"); 1731 1732 let formValue = contactForm.serialize(), 1733 contactFile = contactForm.find('input[type="file"]')[0].files[0]; 1734 1735 let loaderHolder = contactForm.find('input[type="submit"]'); 1736 loaderHolder.addClass('loading'); 1737 var id = Math.random(); 1738 var form_data = new FormData(document.getElementById("contact-form")); 1739 $.ajax({ 1740 url: 'https://itechcraft.com/wp-content/themes/responsy-v3-5-2/ajax/contact-form.php', 1741 type: 'post', 1742 data: form_data, 1743 dataType: "json", 1744 contentType: false, 1745 cache: false, 1746 processData: false, 1747 success: function (res) { 1748 var id = Math.random(); 1749 var link = 'https://itechcraft.com/thank-you/?id=' + id; 1750 window.location.replace(link); 1751 }, 1752 error: function (jqXHR, textStatus, errorThrown) { 1753 console.error('AJAX error: ', textStatus, errorThrown); 1754 $(".di-errors").css("display", "flex"); 1755 } 1756 }); 1757 1758 1759 } 1760 } 1761 1762 function submitDownloadFormNew(form) { 1763 if (form.length) { 1764 let formValue = form.serialize(); 1765 1766 let loaderHolder = form.find('input[type="submit"], button'); 1767 loaderHolder.addClass('loading'); 1768 1769 let thanksBox = form.find('.thanks-box'); 1770 1771 if (thanksBox.length) { 1772 1773 form.parents('.with-form').find('.form-panel').addClass('hidden'); 1774 thanksBox.removeClass('hidden'); 1775 1776 var form_data = new FormData(document.getElementsByClassName("download-form")[0]); 1777 var currentUrl = window.location.href; 1778 1779 form_data.append('currentUrl', currentUrl); 1780 1781 $.ajax({ 1782 url: 'https://itechcraft.com/wp-content/themes/responsy-v3-5-2/ajax/contact-cta-new.php', 1783 type: 'post', 1784 data: form_data, 1785 dataType: "json", 1786 contentType: false, 1787 cache: false, 1788 processData: false, 1789 success: function (res) { 1790 console.log(res); 1791 }, 1792 error: function (xhr, status, error) { 1793 console.error('AJAX Error:', error); 1794 } 1795 }); 1796 } 1797 } 1798 } 1799 1800 function submitSubForm() {
1801 let contactForm = $('#sub-form'); 1802 1803 if(contactForm.length){ 1804 $(".before-submit").addClass("hide"); 1805 $(".after-submit").addClass("visible"); 1806 1807 let formValue = contactForm.serialize(); 1808 let loaderHolder = contactForm.find('input[type="submit"]'); 1809 loaderHolder.addClass('loading'); 1810 1811 var form_data = new FormData(document.getElementById("sub-form")); 1812 $.ajax({ 1813 url: 'https://itechcraft.com/wp-content/themes/responsy-v3-5-2/ajax/sub-form.php', 1814 type: 'post', 1815 data: form_data, 1816 dataType: "json", 1817 contentType: false, 1818 cache: false, 1819 processData: false, 1820 success: function(res) { 1821 if (res.type == "error") { 1822 1823 } 1824 if (res.type == "done") { 1825 $('#contact-form').trigger("reset"); 1826 $('#sub-form').trigger("reset"); 1827 $('.thanks-message').addClass("active"); 1828 loaderHolder.removeClass('loading'); 1829 } 1830 }, 1831 error: function() { 1832 $('#contact-form').trigger("reset"); 1833 $('#sub-form').trigger("reset"); 1834 $('.thanks-message').addClass("active"); 1835 loaderHolder.removeClass('loading'); 1836 } 1837 }); 1838 1839 1840 1841 1842 } 1843} 1844 1845 function submitSubForm2() {
1846 let contactForm = $('#subscribe-form2'); 1847 1848 if(contactForm.length){ 1849 $(".before-submit").addClass("hide"); 1850 $(".after-submit").addClass("visible"); 1851 1852 let formValue = contactForm.serialize(); 1853 let loaderHolder = contactForm.find('input[type="submit"]'); 1854 loaderHolder.addClass('loading'); 1855 1856 var form_data = new FormData(document.getElementById("subscribe-form2")); 1857 $.ajax({ 1858 url: 'https://itechcraft.com/wp-content/themes/responsy-v3-5-2/ajax/sub-form.php', 1859 type: 'post', 1860 data: form_data, 1861 dataType: "json", 1862 contentType: false, 1863 cache: false, 1864 processData: false, 1865 success: function(res) { 1866 if (res.type == "error") { 1867 1868 } 1869 if (res.type == "done") { 1870 1871 $('#subscribe-form2').trigger("reset"); 1872 $('.thanks-message').addClass("active"); 1873 loaderHolder.removeClass('loading'); 1874 } 1875 }, 1876 error: function() { 1877 1878 $('#subscribe-form2').trigger("reset"); 1879 $('.thanks-message').addClass("active"); 1880 loaderHolder.removeClass('loading'); 1881 } 1882 }); 1883 1884 1885 1886 1887 } 1888} 1889 1890 function submitFooterForm() { 1891 1892 let footerForm = $('#footer-form'), 1893 footerFormValue = footerForm.serialize(); 1894 1895 if (footerForm.length) { 1896 let loaderHolder = footerForm.find('input[type="submit"]'); 1897 loaderHolder.addClass('loading'); 1898 1899 console.log('Footer form value: ', footerFormValue); 1900 1901 var form_data = new FormData(document.getElementById("footer-form")); 1902 form_data.delete("file"); 1903 console.log('send'); 1904 1905 var id = Math.random(); 1906 1907 $.ajax({ 1908 url: 'https://itechcraft.com/wp-content/themes/responsy-v3-5-2/ajax/contact-form.php', 1909 type: 'post', 1910 data: form_data, 1911 dataType: "json", 1912 contentType: false, 1913 cache: false, 1914 processData: false, 1915 success: function (res) { 1916 var id = Math.random(); 1917 var link = 'https://itechcraft.com/thank-you/?id=' + id; 1918 window.location.replace(link); 1919 }, 1920 error: function (jqXHR, textStatus, errorThrown) { 1921 console.error('AJAX error: ', textStatus, errorThrown); 1922 $(".di-errors").css("display", "flex"); 1923 } 1924 }); 1925 1926 } 1927 } 1928 1929 function checkValueSubmitSend(input, form) { 1930 1931 for (let index = 0; index < input.length; index++) { 1932 const element = input[index]; 1933 1934 isActiveCheckbox(element, form); 1935 1936 if (element.value === '' && element.type !== 'button' && element.type !== 'file') { 1937 element.classList.add('is-error'); 1938 element.classList.remove('is-warning'); 1939 } 1940 1941 if (element.type === 'email') { 1942 validateEmail(element); 1943 } 1944 1945 if (element.type === 'tel') { 1946 validatePhoneNumber(element); 1947 } 1948 } 1949 } 1950 1951 function displayMessage(input, form) { 1952 1953 for (let index = 0; index < input.length; index++) { 1954 1955 input[index].addEventListener('focusout', (e) => { 1956 1957 if (e.target.type === 'text') { 1958 checkLengthTextInput(e.target); 1959 } 1960 1961 if (e.target.type === 'email') { 1962 validateEmail(e.target); 1963 } 1964 1965 if (e.target.type === 'tel') { 1966 validatePhoneNumber(e.target); 1967 } 1968 1969 disableSubmit(form); 1970 }); 1971 1972 input[index].addEventListener('change', (e) => { 1973 if (e.target.type === 'checkbox') { 1974 isActiveCheckbox(e.target, form); 1975 } 1976 1977 disableSubmit(form); 1978 }); 1979 } 1980} 1981function disableSubmit(form){ 1982 1983 let btnSubmit = form.querySelector('.btn.with-disabling'); 1984 let inputs = form.querySelectorAll('input.required'); 1985 1986 if(btnSubmit) { 1987 let errors = form.querySelectorAll('.is-error'); 1988 let formFilled = true; 1989 1990 for (let index = 0; index < inputs.length; index++) { 1991 1992 if( $(inputs[index]).prop('type') == 'checkbox' && !$(inputs[index]).is(':checked')){ 1993 formFilled = false 1994 } else { 1995 if( $(inputs[index]).val() == ''){ 1996 formFilled = false 1997 } 1998 } 1999 } 2000 2001 if(errors.length == 0 && formFilled){ 2002 btnSubmit.classList.remove('btn-disabled'); 2003 } else{ 2004 btnSubmit.classList.add('btn-disabled'); 2005 } 2006 } 2007} 2008 2009 function validateEmail(input) { 2010 let pattern = /^[^ ]+@[^ ]+\.[a-z]{2,3}$/; 2011 2012 isSuccess(input, pattern); 2013 isError(input, pattern); 2014 } 2015 2016 function checkLengthTextInput(input) { 2017 if (input.value.length > 0) { 2018 input.classList.remove('is-warning'); 2019 input.classList.remove('is-error'); 2020 input.classList.add('is-success'); 2021 } else { 2022 input.classList.remove('is-success'); 2023 input.classList.add('is-warning'); 2024 } 2025 } 2026 2027 function isActiveCheckbox(input, form) { 2028 2029 const acceptBox = form.querySelector('.accept-box'); 2030 2031 if (acceptBox) { 2032 const checkboxes = form.querySelectorAll('.accept-box input[type="checkbox"].required'); 2033 2034 if (input.type === 'checkbox' && !input.checked) { 2035 input.classList.add('is-error'); 2036 acceptBox.classList.add('is-error'); 2037 } else { 2038 input.classList.remove('is-error') 2039 } 2040 2041 const isUnchecked = Array.from(checkboxes).filter((el) => { 2042 if (el.classList.contains('is-error')) { 2043 return el; 2044 } 2045 }); 2046 2047 if (!isUnchecked.length) { 2048 acceptBox.classList.remove('is-error'); 2049 } 2050 } 2051 } 2052 2053 function validatePhoneNumber(input) { 2054 let pattern = /^[\+]?[(]?[0-9]{3}[)]?[-\s\.]?[0-9]{3}[-\s\.]?[0-9]{4,6}$/im; 2055 2056 isSuccess(input, pattern); 2057 isError(input, pattern); 2058 } 2059 2060 function isSuccess(input, pattern) { 2061 if (input.value !== '' && pattern.test(input.value.trim())) { 2062 input.classList.add('is-success'); 2063 input.classList.remove('is-warning'); 2064 input.classList.remove('is-error'); 2065 } 2066 } 2067 2068 function isError(input, pattern) { 2069 if (input.value.length > 0 && !pattern.test(input.value.trim())) { 2070 input.classList.add('is-error'); 2071 input.classList.remove('is-success'); 2072 input.classList.remove('is-warning'); 2073 } 2074 } 2075 2076 function initJCF() { 2077 var customSelect = $('.jcf-select'); 2078 2079 if (customSelect.length) { 2080 jcf.setOptions('Select', { 2081 wrapNative: false, 2082 wrapNativeOnMobile: false, 2083 fakeDropInBody: false, 2084 maxVisibleItems: 5 2085 }); 2086 2087 jcf.replace(customSelect); 2088 } 2089} 2090$(document).ready(function ($) {askAuthor();}); 2091function askAuthor() { 2092 $('.btn-ask-author').on('click', function () { 2093 var txtBox = $(this).parents('.author-details'); 2094 var formBox = $(this).parents('.intro-author').find('.author-question'); 2095 2096 txtBox.addClass('hidden'); 2097 formBox.removeClass('hidden'); 2098 }); 2099 2100 $('.ask-close').on('click', function () { 2101 var txtBox = $(this).parents('.intro-author').find('.author-details'); 2102 var formBox = $(this).parents('.author-question'); 2103 var thanksBox = formBox.find('.thanks-box'); 2104 2105 txtBox.removeClass('hidden'); 2106 thanksBox.addClass('hidden'); 2107 formBox.addClass('hidden'); 2108 }); 2109} 2110$(document).ready(function ($) {initJCF();}); 2111</script>
vendor: 1 bytes, line 2111
2111
2112<script type="text/javascript"> 2113 $(".manege-cookies").click(function () { 2114 $('#cf-root').click(); 2115 const CF = window.CookieFirst; 2116 CookieFirst.openPanel(); 2117 }); 2118</script>
2118 2119 2120<style type="text/css"> 2121 .cta-estimate-panel { 2122 display: none !important; 2123 } 2124 2125 2126 2127 .new-contact { 2128 background: #3eb4ff; 2129 font-family: Open Sans; 2130 font-style: normal; 2131 font-weight: 700; 2132 font-size: 15px; 2133 line-height: 20px; 2134 text-align: center; 2135 text-transform: uppercase; 2136 color: #fff; 2137 background: #3eb4ff; 2138 border-radius: 20px; 2139 padding: 7px 17px; 2140 display: block; 2141 margin-top: 12px; 2142 float: right; 2143 line-height: 23px; 2144 } 2145 2146 html.overflow { 2147 overflow: unset; 2148 overflow-x: hidden; 2149 } 2150 2151</style> 2152 2153<style> 2154 .error-field.danger.di-errors { 2155 margin: 0px 0 15px; 2156 background: red; 2157 border-radius: 15px; 2158 padding: 15px; 2159} 2160.form-note { 2161 color: rgba(255, 255, 255, .6); 2162 margin-top: 15px; 2163} 2164</style> 2165
2166<script type="text/javascript"> 2167 2168document.addEventListener('DOMContentLoaded', function() { 2169 2170 document.addEventListener('click', function(event) { 2171 2172 if (event.target.matches('[aria-label="Accept all"]')) { 2173 2174 const banner = document.querySelector('.cf2CeT.cf2DrG'); 2175 2176 2177 if (banner) { 2178 banner.style.opacity = '0'; 2179 } 2180 } 2181 }); 2182}); 2183 2184 2185</script>
2185 2186<style>[data-wpr-lazyrender] { 2187 content-visibility: unset !important; 2188}</style>
2189<script type="module" src="https://static.cloudflareinsights.com/beacon.min.js/v4bc70e2c01a94c73b74392e4234840661791215815920" integrity="sha512-L0ha0OXavK/8okipN9F8BtP84dg9DUhPERbBXzwI6dgTA55d2+yweo3pn5CSFYs45/r8md2+xvUPtTdvTNRfjA==" data-cf-beacon='{"version":"2024.11.0","token":"161bdda66472462696e160a1fe7b2c63","spa":2}' crossorigin="anonymous"></script>
vendor: 1 bytes, line 2189
2189
2190<script>(function(){function c(){var b=a.contentDocument||(a.contentWindow&&a.contentWindow.document);if(b){var d=b.createElement('script');d.innerHTML="window.__CF$cv$params={r:'a480a3569e619af3',t:'MTc5MTU4MzAxNQ=='};var a=document.createElement('script');a.src='/cdn-cgi/challenge-platform/scripts/jsd/main.js';document.getElementsByTagName('head')[0].appendChild(a);";b.getElementsByTagName('head')[0].appendChild(d)}}if(document.body){var a=document.createElement('iframe');a.height=1;a.width=1;a.style.position='absolute';a.style.top=0;a.style.left=0;a.style.border='none';a.style.visibility='hidden';document.body.appendChild(a);if('loading'!==document.readyState)c();else if(window.addEventListener)document.addEventListener('DOMContentLoaded',c);else{var e=document.onreadystatechange||function(){};document.onreadystatechange=function(b){e(b);'loading'!==document.readyState&&(document.onreadystatechange=e,c())}}}})();</script>
2190</body> 2191</html> 2192<!-- This website is like a Rocket, isn't it? Performance optimized by WP Rocket. Learn more: https://wp-rocket.me - Debug: cached@1791563297 -->
Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.